-
Notifications
You must be signed in to change notification settings - Fork 24
/
neat.conf
150 lines (116 loc) · 6.23 KB
/
neat.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# Copyright 2012 Anton Beloglazov
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This is the default configuration file for OpenStack Neat
[DEFAULT]
# The directory, where log files will be created by the Neat services
log_directory = /var/log/neat
# The level of emitted log messages:
# 0 -- no logging
# 1 -- errors and warnings
# 2 -- errors, warnings, and information messages
# 3 -- errors, warnings, information messages, and debug messages
log_level = 3
# The directory, where the VM instance data are stored
vm_instance_directory = /var/lib/nova/instances
# The host name and credentials for connecting to the MySQL database
# specified in the format supported by SQLAlchemy
sql_connection = mysql://neat:neatpassword@controller/neat
# The admin tenant name for authentication with Nova using Keystone
os_admin_tenant_name = admin
# The admin user name for authentication with Nova using Keystone
os_admin_user = admin
# The admin password for authentication with Nova using Keystone
os_admin_password = adminpassword
# The OpenStack authentication URL
os_auth_url = http://controller:5000/v2.0/
# A coma-separated list of compute host names
compute_hosts = compute1, compute2, compute3, compute4
# The name of the host running the global manager
global_manager_host = controller
# The port of the REST web service exposed by the global manager
global_manager_port = 60080
# The time interval between subsequent invocations of the database
# cleaner in seconds
db_cleaner_interval = 7200
# The directory used by the data collector to store the data on the
# resource usage by the VMs running on the host
local_data_directory = /var/lib/neat
# The time interval between subsequent invocations of the local
# manager in seconds
local_manager_interval = 300
# The time interval between subsequent invocations of the data
# collector in seconds
data_collector_interval = 300
# The number of the latest data values stored locally by the data
# collector and passed to the underload / overload detection and VM
# placement algorithms
data_collector_data_length = 100
# The threshold on the overall (all cores) utilization of the physical
# CPU of a host, above which the host is considered to be overloaded.
# This is used for logging host overloads into the database.
host_cpu_overload_threshold = 0.8
# The threshold on the overall (all cores) utilization of the physical
# CPU of a host that can be allocated to VMs.
host_cpu_usable_by_vms = 1.0
# The user name for connecting to the compute hosts to switch them
# into the sleep mode
compute_user = neat
# The password of the user account used for connecting to the compute
# hosts to switch them into the sleep mode
compute_password = neatpassword
# Whether to use block migration (includes disk migration)
block_migration = False
# The network bandwidth in MB/s available for VM migration
network_migration_bandwidth = 10
# A shell command used to switch a host into the sleep mode, the
# compute_user must have permissions to execute this command
sleep_command = pm-suspend
# The network interface to send a magic packet from using ether-wake
ether_wake_interface = eth0
# The fully qualified name of a Python factory function that returns a
# function implementing an underload detection algorithm
#algorithm_underload_detection_factory = neat.locals.underload.trivial.threshold_factory
algorithm_underload_detection_factory = neat.locals.underload.trivial.last_n_average_threshold_factory
# A JSON encoded parameters, which will be parsed and passed to the
# specified underload detection algorithm factory
#algorithm_underload_detection_parameters = {"threshold": 0.3}
algorithm_underload_detection_parameters = {"threshold": 0.5, "n": 2}
# The fully qualified name of a Python factory function that returns a
# function implementing an overload detection algorithm
#algorithm_overload_detection_factory = neat.locals.overload.trivial.threshold_factory
algorithm_overload_detection_factory = neat.locals.overload.mhod.core.mhod_factory
#algorithm_overload_detection_factory = neat.locals.overload.trivial.last_n_average_threshold_factory
#algorithm_overload_detection_factory = neat.locals.overload.statistics.loess_factory
#algorithm_overload_detection_factory = neat.locals.overload.otf.otf_factory
# A JSON encoded parameters, which will be parsed and passed to the
# specified overload detection algorithm factory
#algorithm_overload_detection_parameters = {"threshold": 0.9}
algorithm_overload_detection_parameters = {"state_config": [0.8], "otf": 0.1, "history_size": 500, "window_sizes": [30, 40, 50, 60, 70, 80, 90, 100], "bruteforce_step": 0.5, "learning_steps": 10}
#algorithm_overload_detection_parameters = {"threshold": 0.95, "n": 2}
#algorithm_overload_detection_parameters = {"threshold": 0.8, "param": 1.0, "length": 30}
#algorithm_overload_detection_parameters = {"otf": 0.2, "threshold": 0.8, "limit": 10}
# The fully qualified name of a Python factory function that returns a
# function implementing a VM selection algorithm
#algorithm_vm_selection_factory = neat.locals.vm_selection.algorithms.minimum_migration_time_factory
algorithm_vm_selection_factory = neat.locals.vm_selection.algorithms.minimum_migration_time_max_cpu_factory
# A JSON encoded parameters, which will be parsed and passed to the
# specified VM selection algorithm factory
#algorithm_vm_selection_parameters = {}
algorithm_vm_selection_parameters = {"last_n": 2}
# The fully qualified name of a Python factory function that returns a
# function implementing a VM placement algorithm
algorithm_vm_placement_factory = neat.globals.vm_placement.bin_packing.best_fit_decreasing_factory
# A JSON encoded parameters, which will be parsed and passed to the
# specified VM placement algorithm factory
algorithm_vm_placement_parameters = {"cpu_threshold": 0.8, "ram_threshold": 0.95, "last_n_vm_cpu": 2}