Merge "Implements blueprint separate-nova-volumeapi"
This commit is contained in:
47
bin/nova-api-os-compute
Executable file
47
bin/nova-api-os-compute
Executable file
@@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# vim: tabstop=4 shiftwidth=4 softtabstop=4
|
||||||
|
|
||||||
|
# Copyright 2010 United States Government as represented by the
|
||||||
|
# Administrator of the National Aeronautics and Space Administration.
|
||||||
|
# All Rights Reserved.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
"""Starter script for Nova OS API."""
|
||||||
|
|
||||||
|
import eventlet
|
||||||
|
eventlet.monkey_patch()
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(
|
||||||
|
sys.argv[0]), os.pardir, os.pardir))
|
||||||
|
if os.path.exists(os.path.join(possible_topdir, "nova", "__init__.py")):
|
||||||
|
sys.path.insert(0, possible_topdir)
|
||||||
|
|
||||||
|
|
||||||
|
from nova import flags
|
||||||
|
from nova import log as logging
|
||||||
|
from nova import service
|
||||||
|
from nova import utils
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
utils.default_flagfile()
|
||||||
|
flags.FLAGS(sys.argv)
|
||||||
|
logging.setup()
|
||||||
|
utils.monkey_patch()
|
||||||
|
server = service.WSGIService('osapi_compute')
|
||||||
|
service.serve(server)
|
||||||
|
service.wait()
|
||||||
@@ -42,6 +42,6 @@ if __name__ == '__main__':
|
|||||||
flags.FLAGS(sys.argv)
|
flags.FLAGS(sys.argv)
|
||||||
logging.setup()
|
logging.setup()
|
||||||
utils.monkey_patch()
|
utils.monkey_patch()
|
||||||
server = service.WSGIService('osapi')
|
server = service.WSGIService('osapi_volume')
|
||||||
service.serve(server)
|
service.serve(server)
|
||||||
service.wait()
|
service.wait()
|
||||||
@@ -827,7 +827,7 @@ class AuthManager(object):
|
|||||||
's3': 'http://%s:%s' % (s3_host, FLAGS.s3_port),
|
's3': 'http://%s:%s' % (s3_host, FLAGS.s3_port),
|
||||||
'os': '%s://%s:%s%s' % (FLAGS.osapi_scheme,
|
'os': '%s://%s:%s%s' % (FLAGS.osapi_scheme,
|
||||||
ec2_host,
|
ec2_host,
|
||||||
FLAGS.osapi_port,
|
FLAGS.osapi_compute_listen_port,
|
||||||
FLAGS.osapi_path),
|
FLAGS.osapi_path),
|
||||||
'user': user.name,
|
'user': user.name,
|
||||||
'nova': FLAGS.ca_file,
|
'nova': FLAGS.ca_file,
|
||||||
|
|||||||
@@ -32,14 +32,14 @@ Options can be strings, integers, floats, booleans, lists or 'multi strings':
|
|||||||
|
|
||||||
enabled_apis_opt = \
|
enabled_apis_opt = \
|
||||||
cfg.ListOpt('enabled_apis',
|
cfg.ListOpt('enabled_apis',
|
||||||
default=['ec2', 'osapi'],
|
default=['ec2', 'osapi_compute'],
|
||||||
help='List of APIs to enable by default')
|
help='List of APIs to enable by default')
|
||||||
|
|
||||||
DEFAULT_EXTENSIONS = [
|
DEFAULT_EXTENSIONS = [
|
||||||
'nova.api.openstack.contrib.standard_extensions'
|
'nova.api.openstack.contrib.standard_extensions'
|
||||||
]
|
]
|
||||||
osapi_extension_opt = \
|
osapi_compute_extension_opt = \
|
||||||
cfg.MultiStrOpt('osapi_extension',
|
cfg.MultiStrOpt('osapi_compute_extension',
|
||||||
default=DEFAULT_EXTENSIONS)
|
default=DEFAULT_EXTENSIONS)
|
||||||
|
|
||||||
Option schemas are registered with with the config manager at runtime, but
|
Option schemas are registered with with the config manager at runtime, but
|
||||||
@@ -55,7 +55,7 @@ before the option is referenced:
|
|||||||
...
|
...
|
||||||
|
|
||||||
def _load_extensions(self):
|
def _load_extensions(self):
|
||||||
for ext_factory in self.conf.osapi_extension:
|
for ext_factory in self.conf.osapi_compute_extension:
|
||||||
....
|
....
|
||||||
|
|
||||||
A common usage pattern is for each option schema to be defined in the module or
|
A common usage pattern is for each option schema to be defined in the module or
|
||||||
|
|||||||
@@ -309,19 +309,21 @@ DEFINE_integer('rabbit_max_retries', 0,
|
|||||||
'maximum rabbit connection attempts (0=try forever)')
|
'maximum rabbit connection attempts (0=try forever)')
|
||||||
DEFINE_string('control_exchange', 'nova', 'the main exchange to connect to')
|
DEFINE_string('control_exchange', 'nova', 'the main exchange to connect to')
|
||||||
DEFINE_boolean('rabbit_durable_queues', False, 'use durable queues')
|
DEFINE_boolean('rabbit_durable_queues', False, 'use durable queues')
|
||||||
DEFINE_list('enabled_apis', ['ec2', 'osapi', 'metadata'],
|
DEFINE_list('enabled_apis',
|
||||||
|
['ec2', 'osapi_compute', 'osapi_volume', 'metadata'],
|
||||||
'list of APIs to enable by default')
|
'list of APIs to enable by default')
|
||||||
DEFINE_string('ec2_host', '$my_ip', 'ip of api server')
|
DEFINE_string('ec2_host', '$my_ip', 'ip of api server')
|
||||||
DEFINE_string('ec2_dmz_host', '$my_ip', 'internal ip of api server')
|
DEFINE_string('ec2_dmz_host', '$my_ip', 'internal ip of api server')
|
||||||
DEFINE_integer('ec2_port', 8773, 'cloud controller port')
|
DEFINE_integer('ec2_port', 8773, 'cloud controller port')
|
||||||
DEFINE_string('ec2_scheme', 'http', 'prefix for ec2')
|
DEFINE_string('ec2_scheme', 'http', 'prefix for ec2')
|
||||||
DEFINE_string('ec2_path', '/services/Cloud', 'suffix for ec2')
|
DEFINE_string('ec2_path', '/services/Cloud', 'suffix for ec2')
|
||||||
DEFINE_multistring('osapi_extension',
|
DEFINE_multistring('osapi_compute_extension',
|
||||||
['nova.api.openstack.v2.contrib.standard_extensions'],
|
['nova.api.openstack.compute.contrib.standard_extensions'],
|
||||||
'osapi extension to load')
|
'osapi compute extension to load')
|
||||||
DEFINE_string('osapi_host', '$my_ip', 'ip of api server')
|
DEFINE_multistring('osapi_volume_extension',
|
||||||
|
['nova.api.openstack.volume.contrib.standard_extensions'],
|
||||||
|
'osapi volume extension to load')
|
||||||
DEFINE_string('osapi_scheme', 'http', 'prefix for openstack')
|
DEFINE_string('osapi_scheme', 'http', 'prefix for openstack')
|
||||||
DEFINE_integer('osapi_port', 8774, 'OpenStack API port')
|
|
||||||
DEFINE_string('osapi_path', '/v1.1/', 'suffix for openstack')
|
DEFINE_string('osapi_path', '/v1.1/', 'suffix for openstack')
|
||||||
DEFINE_integer('osapi_max_limit', 1000,
|
DEFINE_integer('osapi_max_limit', 1000,
|
||||||
'max number of items returned in a collection response')
|
'max number of items returned in a collection response')
|
||||||
|
|||||||
@@ -48,9 +48,10 @@ flags.DEFINE_integer('periodic_interval', 60,
|
|||||||
flags.DEFINE_string('ec2_listen', "0.0.0.0",
|
flags.DEFINE_string('ec2_listen', "0.0.0.0",
|
||||||
'IP address for EC2 API to listen')
|
'IP address for EC2 API to listen')
|
||||||
flags.DEFINE_integer('ec2_listen_port', 8773, 'port for ec2 api to listen')
|
flags.DEFINE_integer('ec2_listen_port', 8773, 'port for ec2 api to listen')
|
||||||
flags.DEFINE_string('osapi_listen', "0.0.0.0",
|
flags.DEFINE_string('osapi_compute_listen', "0.0.0.0",
|
||||||
'IP address for OpenStack API to listen')
|
'IP address for OpenStack API to listen')
|
||||||
flags.DEFINE_integer('osapi_listen_port', 8774, 'port for os api to listen')
|
flags.DEFINE_integer('osapi_compute_listen_port', 8774,
|
||||||
|
'list port for osapi compute')
|
||||||
flags.DEFINE_string('metadata_manager', 'nova.api.manager.MetadataManager',
|
flags.DEFINE_string('metadata_manager', 'nova.api.manager.MetadataManager',
|
||||||
'OpenStack metadata service manager')
|
'OpenStack metadata service manager')
|
||||||
flags.DEFINE_string('metadata_listen', "0.0.0.0",
|
flags.DEFINE_string('metadata_listen', "0.0.0.0",
|
||||||
@@ -59,6 +60,10 @@ flags.DEFINE_integer('metadata_listen_port', 8775,
|
|||||||
'port for metadata api to listen')
|
'port for metadata api to listen')
|
||||||
flags.DEFINE_string('api_paste_config', "api-paste.ini",
|
flags.DEFINE_string('api_paste_config', "api-paste.ini",
|
||||||
'File name for the paste.deploy config for nova-api')
|
'File name for the paste.deploy config for nova-api')
|
||||||
|
flags.DEFINE_string('osapi_volume_listen', "0.0.0.0",
|
||||||
|
'IP address for OpenStack Volume API to listen')
|
||||||
|
flags.DEFINE_integer('osapi_volume_listen_port', 8776,
|
||||||
|
'port for os volume api to listen')
|
||||||
|
|
||||||
|
|
||||||
class Launcher(object):
|
class Launcher(object):
|
||||||
|
|||||||
3
setup.py
3
setup.py
@@ -87,7 +87,8 @@ setup(name='nova',
|
|||||||
'bin/nova-api',
|
'bin/nova-api',
|
||||||
'bin/nova-api-ec2',
|
'bin/nova-api-ec2',
|
||||||
'bin/nova-api-metadata',
|
'bin/nova-api-metadata',
|
||||||
'bin/nova-api-os',
|
'bin/nova-api-os-compute',
|
||||||
|
'bin/nova-api-os-volume',
|
||||||
'bin/nova-compute',
|
'bin/nova-compute',
|
||||||
'bin/nova-console',
|
'bin/nova-console',
|
||||||
'bin/nova-dhcpbridge',
|
'bin/nova-dhcpbridge',
|
||||||
|
|||||||
Reference in New Issue
Block a user