194 lines
7.1 KiB
Plaintext
194 lines
7.1 KiB
Plaintext
[DEFAULT]
|
|
# Print debugging output (set logging level to DEBUG instead
|
|
# of default WARNING level). (boolean value)
|
|
#debug=True
|
|
|
|
# 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 admin user name for authentication with Nova using Keystone
|
|
os_admin_user = user
|
|
|
|
# The admin password for authentication with Nova using Keystone
|
|
os_admin_password = userpassword
|
|
|
|
# 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/terracotta
|
|
|
|
# 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 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 network bandwidth in MB/s available for VM migration
|
|
network_migration_bandwidth = 10
|
|
|
|
# The time interval between subsequent invocations of the data
|
|
# collector in seconds
|
|
data_collector_interval = 300
|
|
|
|
[oslo_messaging_rabbit]
|
|
# The RabbitMQ broker address where a single node is used.
|
|
# (string value)
|
|
#rabbit_host=localhost
|
|
|
|
# The RabbitMQ broker port where a single node is used.
|
|
# (integer value)
|
|
#rabbit_port=5672
|
|
|
|
# RabbitMQ HA cluster host:port pairs. (list value)
|
|
#rabbit_hosts=$rabbit_host:$rabbit_port
|
|
|
|
# The RabbitMQ userid. (string value)
|
|
#rabbit_userid=guest
|
|
|
|
# The RabbitMQ password. (string value)
|
|
#rabbit_password=guest
|
|
|
|
[api]
|
|
# Terracotta API server host
|
|
host = 0.0.0.0
|
|
|
|
# Terracotta API server port
|
|
port = 9090
|
|
|
|
[global_manager]
|
|
# The message topic that the global_manager listens on. (string value)
|
|
#topic=global_manager
|
|
|
|
# Name of the global_manager node. This can be an opaque identifier.
|
|
# It is not necessarily a hostname, FQDN, or IP address.
|
|
# (string value)
|
|
#host=0.0.0.0
|
|
|
|
# The directory, where the VM instance data are stored
|
|
vm_instance_directory = /var/lib/nova/instances
|
|
|
|
# The admin tenant name for authentication with Nova using Keystone
|
|
os_admin_tenant_name = tenantname
|
|
|
|
# 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
|
|
|
|
# Whether to use block migration (includes disk migration)
|
|
block_migration = True
|
|
|
|
# The user name for connecting to the compute hosts to switch them
|
|
# into the sleep mode
|
|
compute_user = terracotta
|
|
|
|
# The password of the user account used for connecting to the compute
|
|
# hosts to switch them into the sleep mode
|
|
compute_password = terracottapassword
|
|
|
|
# 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 a VM placement algorithm
|
|
algorithm_vm_placement_factory = terracotta.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}
|
|
|
|
[local_manager]
|
|
# The message topic that the local_manager listens on. (string value)
|
|
#topic=local_manager
|
|
|
|
# Name of the local_manager node. This can be an opaque identifier.
|
|
# It is not necessarily a hostname, FQDN, or IP address.
|
|
# (string value)
|
|
#host=0.0.0.0
|
|
|
|
# The time interval between subsequent invocations of the local
|
|
# manager in seconds
|
|
local_manager_interval = 300
|
|
|
|
# The fully qualified name of a Python factory function that returns a
|
|
# function implementing an underload detection algorithm
|
|
#algorithm_underload_detection_factory = terracotta.locals.underload.trivial.threshold_factory
|
|
algorithm_underload_detection_factory = terracotta.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 = terracotta.locals.overload.trivial.threshold_factory
|
|
algorithm_overload_detection_factory = terracotta.locals.overload.mhod.core.mhod_factory
|
|
#algorithm_overload_detection_factory = terracotta.locals.overload.trivial.last_n_average_threshold_factory
|
|
#algorithm_overload_detection_factory = terracotta.locals.overload.statistics.loess_factory
|
|
#algorithm_overload_detection_factory = terracotta.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 = terracotta.locals.vm_selection.algorithms.minimum_migration_time_factory
|
|
algorithm_vm_selection_factory = terracotta.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}
|
|
|
|
[collector]
|
|
# 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 message topic that the collector listens on. (string value)
|
|
#topic=collector
|
|
|
|
# Name of the collector node. This can be an opaque identifier.
|
|
# It is not necessarily a hostname, FQDN, or IP address.
|
|
# (string value)
|
|
#host=0.0.0.0
|
|
|
|
[database]
|
|
# The host name and credentials for connecting to the MySQL database
|
|
# specified in the format supported by SQLAlchemy
|
|
sql_connection = mysql://terracotta:password@localhost:3306/terracotta
|
|
|
|
[pecan]
|
|
# Pecan root controller
|
|
root = terracotta.api.controllers.root.RootController
|
|
|
|
# A list of modules where pecan will search for applications.
|
|
modules = terracotta.api
|
|
|
|
# Enables the ability to display tracebacks in the
|
|
# browser and interactively debug during development.
|
|
debug = False
|
|
|
|
# Enables user authentication in pecan.
|
|
auth_enable = True |