# 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. from cloudbaseinit.openstack.common import cfg from cloudbaseinit.utils import classloader opts = [ cfg.ListOpt( 'plugins', default=[ 'cloudbaseinit.plugins.windows.sethostname.SetHostNamePlugin', 'cloudbaseinit.plugins.windows.createuser.CreateUserPlugin', 'cloudbaseinit.plugins.windows.networkconfig.NetworkConfigPlugin', 'cloudbaseinit.plugins.windows.sshpublickeys.' 'SetUserSSHPublicKeysPlugin', 'cloudbaseinit.plugins.windows.extendvolumes.ExtendVolumesPlugin', 'cloudbaseinit.plugins.windows.userdata.UserDataPlugin', 'cloudbaseinit.plugins.windows.setuserpassword.SetUserPasswordPlugin', ], help='List of enabled plugin classes, ' 'to executed in the provided order'), ] CONF = cfg.CONF CONF.register_opts(opts) class PluginFactory(object): def load_plugins(self): plugins = []
# License for the specific language governing permissions and limitations # under the License. from cloudbaseinit.openstack.common import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.osutils import factory as osutils_factory from cloudbaseinit.plugins import base opts = [ cfg.StrOpt('username', default='Admin', help='User to be added to the ' 'system or updated if already existing'), cfg.ListOpt('groups', default=['Administrators'], help='List of local ' 'groups to which the user specified in \'username\' will ' 'be added'), cfg.BoolOpt('inject_user_password', default=True, help='Set the password ' 'provided in the configuration. If False or no password is ' 'provided, a random one will be set'), ] CONF = cfg.CONF CONF.register_opts(opts) LOG = logging.getLogger(__name__)
from cloudbaseinit.openstack.common import cfg from cloudbaseinit.openstack.common.gettextutils import _ from cloudbaseinit.openstack.common import jsonutils from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.openstack.common.rpc import amqp as rpc_amqp from cloudbaseinit.openstack.common.rpc import common as rpc_common LOG = logging.getLogger(__name__) qpid_opts = [ cfg.StrOpt('qpid_hostname', default='localhost', help='Qpid broker hostname'), cfg.StrOpt('qpid_port', default='5672', help='Qpid broker port'), cfg.ListOpt('qpid_hosts', default=['$qpid_hostname:$qpid_port'], help='Qpid HA cluster host:port pairs'), cfg.StrOpt('qpid_username', default='', help='Username for qpid connection'), cfg.StrOpt('qpid_password', default='', help='Password for qpid connection'), cfg.StrOpt('qpid_sasl_mechanisms', default='', help='Space separated list of SASL mechanisms to use for auth'), cfg.IntOpt('qpid_heartbeat', default=60, help='Seconds between connection keepalive heartbeats'), cfg.StrOpt('qpid_protocol', default='tcp',
import re from cloudbaseinit.openstack.common import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.plugins import base from cloudbaseinit.plugins.windows import vds ole32 = ctypes.windll.ole32 ole32.CoTaskMemFree.restype = None ole32.CoTaskMemFree.argtypes = [ctypes.c_void_p] opts = [ cfg.ListOpt('volumes_to_extend', default=None, help='List of volumes that need to be extended ' 'if contiguous space is available on the disk. By default ' 'all the available volumes can be extended. Volumes must ' 'be specified using a comma separated list of volume indexes, ' 'e.g.: "1,2"'), ] CONF = cfg.CONF CONF.register_opts(opts) LOG = logging.getLogger(__name__) class ExtendVolumesPlugin(base.BasePlugin): def _extend_volumes(self, pack, volume_idxs=None): enum = pack.QueryVolumes() while True:
default=64, help='Size of RPC thread pool'), cfg.IntOpt('rpc_conn_pool_size', default=30, help='Size of RPC connection pool'), cfg.IntOpt('rpc_response_timeout', default=60, help='Seconds to wait for a response from call or multicall'), cfg.IntOpt('rpc_cast_timeout', default=30, help='Seconds to wait before a cast expires (TTL). ' 'Only supported by impl_zmq.'), cfg.ListOpt('allowed_rpc_exception_modules', default=[ 'cloudbaseinit.openstack.common.exception', 'nova.exception', 'cinder.exception', ], help='Modules of exceptions that are permitted to be recreated' 'upon receiving exception data from an rpc call.'), cfg.BoolOpt('fake_rabbit', default=False, help='If passed, use a fake RabbitMQ provider'), # # The following options are not registered here, but are expected to be # present. The project using this library must register these options with # the configuration so that project-specific defaults may be defined. # #cfg.StrOpt('control_exchange', # default='nova', # help='AMQP exchange to connect to if using RabbitMQ or Qpid'), ]
'%(user)s %(tenant)s] %(instance)s' '%(message)s', help='format string to use for log messages with context'), cfg.StrOpt('logging_default_format_string', default='%(asctime)s %(process)d %(levelname)s %(name)s [-]' ' %(instance)s%(message)s', help='format string to use for log messages without context'), cfg.StrOpt('logging_debug_format_suffix', default='%(funcName)s %(pathname)s:%(lineno)d', help='data to append to log format when level is DEBUG'), cfg.StrOpt('logging_exception_prefix', default='%(asctime)s %(process)d TRACE %(name)s %(instance)s', help='prefix each line of exception output with this format'), cfg.ListOpt('default_log_levels', default=[ 'amqplib=WARN', 'sqlalchemy=WARN', 'boto=WARN', 'suds=INFO', 'keystone=INFO', 'eventlet.wsgi.server=WARN' ], help='list of logger=LEVEL pairs'), cfg.BoolOpt('publish_errors', default=False, help='publish error events'), cfg.BoolOpt('fatal_deprecations', default=False, help='make deprecations fatal'), # NOTE(mikal): there are two options here because sometimes we are handed # a full instance (and could include more information), and other times we # are just handed a UUID for the instance. cfg.StrOpt('instance_format', default='[instance: %(uuid)s] ', help='If an instance is passed with the log message, format ' 'it like this'), cfg.StrOpt('instance_uuid_format',
# 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. from cloudbaseinit.openstack.common import cfg from cloudbaseinit.openstack.common import context as req_context from cloudbaseinit.openstack.common.gettextutils import _ from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.openstack.common import rpc LOG = logging.getLogger(__name__) notification_topic_opt = cfg.ListOpt( 'notification_topics', default=['notifications', ], help='AMQP topic used for openstack notifications') CONF = cfg.CONF CONF.register_opt(notification_topic_opt) def notify(context, message): """Sends a notification via RPC""" if not context: context = req_context.get_admin_context() priority = message.get('priority', CONF.default_notification_level) priority = priority.lower() for topic in CONF.notification_topics: topic = '%s.%s' % (topic, priority)
# 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. from cloudbaseinit.openstack.common import cfg from cloudbaseinit.openstack.common import log as logging from cloudbaseinit.utils import classloader opts = [ cfg.ListOpt('metadata_services', default=[ 'cloudbaseinit.metadata.services.httpservice.HttpService', 'cloudbaseinit.metadata.services.configdrive.configdrive.' 'ConfigDriveService', 'cloudbaseinit.metadata.services.ec2service.EC2Service' ], help='List of enabled metadata service classes, ' 'to be tested fro availability in the provided order. ' 'The first available service will be used to retrieve ' 'metadata') ] CONF = cfg.CONF CONF.register_opts(opts) LOG = logging.getLogger(__name__) class MetadataServiceFactory(object): def get_metadata_service(self): # Return the first service that loads correctly
help='SSL key file (valid only if SSL enabled)'), cfg.StrOpt('kombu_ssl_certfile', default='', help='SSL cert file (valid only if SSL enabled)'), cfg.StrOpt('kombu_ssl_ca_certs', default='', help=('SSL certification authority file ' '(valid only if SSL enabled)')), cfg.StrOpt('rabbit_host', default='localhost', help='The RabbitMQ broker address where a single node is used'), cfg.IntOpt('rabbit_port', default=5672, help='The RabbitMQ broker port where a single node is used'), cfg.ListOpt('rabbit_hosts', default=['$rabbit_host:$rabbit_port'], help='RabbitMQ HA cluster host:port pairs'), cfg.BoolOpt('rabbit_use_ssl', default=False, help='connect over SSL for RabbitMQ'), cfg.StrOpt('rabbit_userid', default='guest', help='the RabbitMQ userid'), cfg.StrOpt('rabbit_password', default='guest', help='the RabbitMQ password'), cfg.StrOpt('rabbit_virtual_host', default='/', help='the RabbitMQ virtual host'), cfg.IntOpt('rabbit_retry_interval', default=1, help='how frequently to retry connecting with RabbitMQ'), cfg.IntOpt('rabbit_retry_backoff',