refactor-at-the-very-early-age
Change-Id: I327d1d646cae065896ad2caa40b68a951f9405ee
This commit is contained in:
parent
dbb69e5e51
commit
e7a701446b
@ -57,6 +57,14 @@ debug = False
|
|||||||
auth_enable = True
|
auth_enable = True
|
||||||
|
|
||||||
[global_manager]
|
[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
|
# The directory, where the VM instance data are stored
|
||||||
vm_instance_directory = /var/lib/nova/instances
|
vm_instance_directory = /var/lib/nova/instances
|
||||||
|
|
||||||
@ -96,6 +104,14 @@ algorithm_vm_placement_factory = terracotta.globals.vm_placement.bin_packing.bes
|
|||||||
algorithm_vm_placement_parameters = {"cpu_threshold": 0.8, "ram_threshold": 0.95, "last_n_vm_cpu": 2}
|
algorithm_vm_placement_parameters = {"cpu_threshold": 0.8, "ram_threshold": 0.95, "last_n_vm_cpu": 2}
|
||||||
|
|
||||||
[local_manager]
|
[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
|
# The time interval between subsequent invocations of the local
|
||||||
# manager in seconds
|
# manager in seconds
|
||||||
local_manager_interval = 300
|
local_manager_interval = 300
|
||||||
@ -142,6 +158,14 @@ algorithm_vm_selection_parameters = {"last_n": 2}
|
|||||||
# This is used for logging host overloads into the database.
|
# This is used for logging host overloads into the database.
|
||||||
host_cpu_overload_threshold = 0.8
|
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]
|
[database]
|
||||||
# The host name and credentials for connecting to the MySQL database
|
# The host name and credentials for connecting to the MySQL database
|
||||||
# specified in the format supported by SQLAlchemy
|
# specified in the format supported by SQLAlchemy
|
||||||
|
@ -1,18 +1,28 @@
|
|||||||
# The order of packages is significant, because pip processes them in the order
|
# The order of packages is significant, because pip processes them in the order
|
||||||
# of appearance. Changing the order has an impact on the overall integration
|
# of appearance. Changing the order has an impact on the overall integration
|
||||||
# process, which may cause wedges in the gate later.
|
# process, which may cause wedges in the gate later.
|
||||||
|
amqplib>=0.6.1 # This is not in global requirements (master branch)
|
||||||
|
kombu>=3.0.7
|
||||||
pbr>=0.6,!=0.7,<1.0
|
pbr>=0.6,!=0.7,<1.0
|
||||||
eventlet>=0.17.3
|
eventlet>=0.17.3
|
||||||
pecan>=0.8.0
|
pecan>=0.8.0
|
||||||
WSME>=0.6
|
WSME>=0.6
|
||||||
|
WebOb>=1.2.3
|
||||||
Babel>=1.3
|
Babel>=1.3
|
||||||
kombu>=3.0.7
|
|
||||||
oslo.config>=1.11.0 # Apache-2.0
|
oslo.config>=1.11.0 # Apache-2.0
|
||||||
oslo.db>=1.7.0 # Apache-2.0
|
oslo.db>=1.7.0 # Apache-2.0
|
||||||
|
oslo.log>=1.0.0 # Apache-2.0
|
||||||
oslo.messaging>=1.8.0 # Apache-2.0
|
oslo.messaging>=1.8.0 # Apache-2.0
|
||||||
oslo.utils>=1.4.0 # Apache-2.0
|
oslo.utils>=1.4.0 # Apache-2.0
|
||||||
python-novaclient>=2.22.0
|
python-novaclient>=2.22.0
|
||||||
|
python-keystoneclient>=1.3.0
|
||||||
six>=1.9.0
|
six>=1.9.0
|
||||||
SQLAlchemy>=0.9.7,<=0.9.99
|
SQLAlchemy>=0.9.7,<=0.9.99
|
||||||
stevedore>=1.3.0 # Apache-2.0
|
stevedore>=1.3.0 # Apache-2.0
|
||||||
keystonemiddleware>=1.5.0
|
keystonemiddleware>=1.5.0
|
||||||
|
libvirt-python>=1.2.5 # LGPLv2+
|
||||||
|
netaddr>=0.7.12
|
||||||
|
Mako>=0.4.0
|
||||||
|
numpy # This is not in global requirements
|
||||||
|
scipy # This is not in global requirements
|
||||||
|
netifaces>=0.10.4
|
||||||
|
@ -16,7 +16,6 @@ from oslo_config import cfg
|
|||||||
import pecan
|
import pecan
|
||||||
|
|
||||||
from terracotta.api import access_control
|
from terracotta.api import access_control
|
||||||
from terracotta import context as ctx
|
|
||||||
|
|
||||||
|
|
||||||
def get_pecan_config():
|
def get_pecan_config():
|
||||||
|
@ -45,6 +45,7 @@ from terracotta.globals import manager as global_mgr
|
|||||||
from terracotta import version
|
from terracotta import version
|
||||||
|
|
||||||
|
|
||||||
|
CONF = cfg.CONF
|
||||||
LOG = logging.getLogger(__name__)
|
LOG = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
@ -108,8 +109,8 @@ def launch_gm(transport):
|
|||||||
|
|
||||||
def launch_collector(transport):
|
def launch_collector(transport):
|
||||||
target = messaging.Target(
|
target = messaging.Target(
|
||||||
topic=cfg.CONF.local_collector.topic,
|
topic=cfg.CONF.collector.topic,
|
||||||
server=cfg.CONF.local_collector.host
|
server=cfg.CONF.collector.host
|
||||||
)
|
)
|
||||||
|
|
||||||
global_manager = collector.Collector()
|
global_manager = collector.Collector()
|
||||||
@ -119,8 +120,7 @@ def launch_collector(transport):
|
|||||||
transport,
|
transport,
|
||||||
target,
|
target,
|
||||||
endpoints,
|
endpoints,
|
||||||
executor='eventlet',
|
executor='eventlet'
|
||||||
serializer=ctx.RpcContextSerializer(ctx.JsonPayloadSerializer())
|
|
||||||
)
|
)
|
||||||
|
|
||||||
server.start()
|
server.start()
|
||||||
@ -168,7 +168,7 @@ def main():
|
|||||||
try:
|
try:
|
||||||
config.parse_args()
|
config.parse_args()
|
||||||
print_service_info()
|
print_service_info()
|
||||||
logging.setup(cfg.CONF, 'Terracotta')
|
logging.setup(CONF, 'Terracotta')
|
||||||
transport = rpc.get_transport()
|
transport = rpc.get_transport()
|
||||||
|
|
||||||
launch_any(transport, set(cfg.CONF.server))
|
launch_any(transport, set(cfg.CONF.server))
|
||||||
|
@ -95,6 +95,12 @@ use_debugger = cfg.BoolOpt(
|
|||||||
)
|
)
|
||||||
|
|
||||||
global_manager_opts = [
|
global_manager_opts = [
|
||||||
|
cfg.StrOpt('host', default='0.0.0.0',
|
||||||
|
help='Name of the global_manager node. This can be an opaque '
|
||||||
|
'identifier. It is not necessarily a hostname, '
|
||||||
|
'FQDN, or IP address.'),
|
||||||
|
cfg.StrOpt('topic', default='global_manager',
|
||||||
|
help='The message topic that the global_manager listens on.'),
|
||||||
cfg.StrOpt('vm_instance_directory', default='/var/lib/nova/instances',
|
cfg.StrOpt('vm_instance_directory', default='/var/lib/nova/instances',
|
||||||
help='The directory, where the VM instance data are stored'),
|
help='The directory, where the VM instance data are stored'),
|
||||||
cfg.StrOpt('os_admin_tenant_name', default='tenantname',
|
cfg.StrOpt('os_admin_tenant_name', default='tenantname',
|
||||||
@ -135,6 +141,12 @@ global_manager_opts = [
|
|||||||
]
|
]
|
||||||
|
|
||||||
local_manager_opts = [
|
local_manager_opts = [
|
||||||
|
cfg.StrOpt('host', default='0.0.0.0',
|
||||||
|
help='Name of the local_manager node. This can be an opaque '
|
||||||
|
'identifier. It is not necessarily a hostname, '
|
||||||
|
'FQDN, or IP address.'),
|
||||||
|
cfg.StrOpt('topic', default='local_manager',
|
||||||
|
help='The message topic that the local_manager listens on.'),
|
||||||
cfg.IntOpt('local_manager_interval', default=300,
|
cfg.IntOpt('local_manager_interval', default=300,
|
||||||
help='The time interval between subsequent invocations '
|
help='The time interval between subsequent invocations '
|
||||||
'of the local manager in seconds'),
|
'of the local manager in seconds'),
|
||||||
@ -183,7 +195,13 @@ collector_opts = [
|
|||||||
'of the physical CPU of a host, above which the host '
|
'of the physical CPU of a host, above which the host '
|
||||||
'is considered to be overloaded.'
|
'is considered to be overloaded.'
|
||||||
'This is used for logging host overloads into the'
|
'This is used for logging host overloads into the'
|
||||||
' database.')
|
' database.'),
|
||||||
|
cfg.StrOpt('host', default='0.0.0.0',
|
||||||
|
help='Name of the collector node. This can be an opaque '
|
||||||
|
'identifier. It is not necessarily a hostname, '
|
||||||
|
'FQDN, or IP address.'),
|
||||||
|
cfg.StrOpt('topic', default='collector',
|
||||||
|
help='The message topic that the collector listens on.'),
|
||||||
]
|
]
|
||||||
|
|
||||||
database_opts = [
|
database_opts = [
|
||||||
@ -209,6 +227,7 @@ CONF.register_cli_opt(launch_opt)
|
|||||||
|
|
||||||
|
|
||||||
def parse_args(args=None, usage=None, default_config_files=None):
|
def parse_args(args=None, usage=None, default_config_files=None):
|
||||||
|
logging.register_options(CONF)
|
||||||
CONF(
|
CONF(
|
||||||
args=args,
|
args=args,
|
||||||
project='terracotta',
|
project='terracotta',
|
||||||
|
@ -12,11 +12,11 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
from oslo import messaging
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_log import log as logging
|
from oslo_log import log as logging
|
||||||
from oslo_messaging.rpc import client
|
from oslo_messaging.rpc import client
|
||||||
|
|
||||||
from terracotta import context as auth_ctx
|
|
||||||
from terracotta import exceptions as exc
|
from terracotta import exceptions as exc
|
||||||
|
|
||||||
|
|
||||||
@ -96,7 +96,7 @@ def wrap_messaging_exception(method):
|
|||||||
return decorator
|
return decorator
|
||||||
|
|
||||||
|
|
||||||
class EngineClient(base.Engine):
|
class EngineClient():
|
||||||
"""RPC Engine client."""
|
"""RPC Engine client."""
|
||||||
|
|
||||||
def __init__(self, transport):
|
def __init__(self, transport):
|
||||||
@ -121,7 +121,7 @@ class LocalManagerServer(object):
|
|||||||
self._executor = manager
|
self._executor = manager
|
||||||
|
|
||||||
|
|
||||||
class ExecutorClient(base.Executor):
|
class ExecutorClient():
|
||||||
"""RPC Executor client."""
|
"""RPC Executor client."""
|
||||||
|
|
||||||
def __init__(self, transport):
|
def __init__(self, transport):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user