def _register_opts(self):
'''Register options'''
opts = []
option = cfg.StrOpt(self.opt_name_str, default=None, help=_('Valet API endpoint'))
opts.append(option)
option = cfg.IntOpt(self.opt_conn_timeout, default=3, help=_('Valet Plugin Connect Timeout'))
opts.append(option)
option = cfg.IntOpt(self.opt_read_timeout, default=5, help=_('Valet Plugin Read Timeout'))
opts.append(option)
opt_group = cfg.OptGroup(self.opt_group_str)
cfg.CONF.register_group(opt_group)
cfg.CONF.register_opts(opts, group=opt_group)
# TODO(JD): Keep stack param for now. We may need it again.
python类OptGroup()的实例源码
scheduler.py 文件源码
项目:Trusted-Platform-Module-nova
作者: BU-NU-CLOUD-SP16
项目源码
文件源码
阅读 29
收藏 0
点赞 0
评论 0
def register_opts(conf):
conf.register_opts(default_opts)
conf.register_opt(rpcapi_cap_opt, UPGRADE_GROUP_NAME)
trust_group = cfg.OptGroup(name=TRUSTED_GROUP_NAME,
title="Trust parameters")
conf.register_group(trust_group)
conf.register_opts(trusted_opts, group=trust_group)
conf.register_opts(metrics_weight_opts, group=METRICS_GROUP_NAME)
def acquire_service_pub_ip_info(self, spec_type, spec_lb_ip, project_id):
if spec_type != 'LoadBalancer':
return None
if spec_lb_ip:
user_specified_ip = spec_lb_ip.format()
res_id = self._drv_pub_ip.is_ip_available(user_specified_ip)
if res_id:
service_pub_ip_info = (obj_lbaas.LBaaSPubIp(
ip_id=res_id,
ip_addr=str(user_specified_ip),
alloc_method='user'))
return service_pub_ip_info
else:
# user specified IP is not valid
LOG.error("IP=%s is not available", user_specified_ip)
return None
else:
LOG.debug("Trying to allocate public ip from pool")
# get public subnet id from kuryr.conf
external_svc_subnet = config.CONF.neutron_defaults.external_svc_subnet
if not external_svc_subnet:
raise cfg.RequiredOptError('external_svc_subnet',
cfg.OptGroup('neutron_defaults'))
neutron = clients.get_neutron_client()
n_subnet = neutron.show_subnet(external_svc_subnet).get('subnet')
if not n_subnet:
LOG.error(
"No subnet found for external_svc_subnet=%s",
external_svc_subnet)
raise kl_exc.NoResourceException
public_network_id = n_subnet['network_id']
res_id, alloc_ip_addr = (self._drv_pub_ip.allocate_ip
(public_network_id,
external_svc_subnet,
project_id,
'kuryr_lb'))
service_pub_ip_info = obj_lbaas.LBaaSPubIp(ip_id=res_id,
ip_addr=alloc_ip_addr,
alloc_method='pool')
return service_pub_ip_info
def create(self, **kwargs):
"""
Handler to create Dashboard
:param kwargs:
:return: response for the request
"""
"""
CONF = cfg.CONF
opt_group = cfg.OptGroup(name='gapi', title='Options for the\
api service')
CONF.register_group(opt_group)
CONF.register_opts(API_SERVICE_OPTS, opt_group)
CONF.set_override('topic', CONF.gapi.topic, opt_group)
CONF.set_override('rabbitmq_host', CONF.gapi.rabbitmq_host, opt_group)
"""
names_list = None
search_string = None
search_type = None
exclude = 0
name = kwargs['name']
if not "names_list" in kwargs.keys() or kwargs['names_list'] is None:
search_type = kwargs['search_type']
search_string = kwargs['search_string']
if "exclude" in kwargs.keys() and kwargs["exclude"]:
#names_list = kwargs['search_type']+"!~"+kwargs['search_string']
exclude = 1
#else:
#names_list = kwargs['search_type']+"=~"+kwargs['search_string']
else:
names_list = ','.join(kwargs['names_list'])
metrics_list = ','.join(str(kwargs['metrics_list']))
d_url = os.getenv('renderer_endpoint') + name
status = "In Progress"
create_datetime = str(datetime.datetime.now())
sql_query = query_list.INSERT_INTO_DASHBOARD
params = [name, names_list, metrics_list, search_string, search_type, d_url, status,
create_datetime, create_datetime, exclude]
try:
conn = sql_helper.engine.connect()
conn.execute(sql_query, params)
except SQLAlchemyError as ex:
return "A database exception has been hit and dashboard creation\
has failed %s" % ex.message
log.info("Initializing a client connection")
try:
mq_client = client.Client(CONF.gapi.topic, CONF.gapi.rabbitmq_host)
ctxt = {}
log.info("Publishing message to rabbitmq")
mq_client.rpc_client.cast(ctxt, 'render_graph', message=kwargs)
except Exception as ex:
return "A messaging exception has been hit and dashboard creation\
has failed"
return "Dashboard creation request has been accepted and the new\
dashboard will be available @ %s" % d_url
def configure():
"""Register configuration."""
CONF.register_cli_opts(build_os_options())
CONF.register_opts(_COMMON)
monitors_grp = cfg.OptGroup('monitoring',
title='Monitoring',
help='Monitoring Driver/plugin to be used to '
'monitor compute nodes')
CONF.register_group(monitors_grp)
CONF.register_opts(_MONITORS, group='monitoring')
fencers_grp = cfg.OptGroup('fencer',
title='fencer Options',
help='fencer Driver/plugin to be used to '
'fence compute nodes')
CONF.register_group(fencers_grp)
CONF.register_opts(_FENCER, group='fencer')
# Evacuation Section :)
evacuators_grp = cfg.OptGroup('evacuation',
title='Evacuation Options',
help='Evacuation Driver/plugin opts to be '
'used to Evacuate compute nodes')
CONF.register_group(evacuators_grp)
CONF.register_opts(_EVACUATION, group='evacuation')
# Notification Section :)
notifiers_grp = cfg.OptGroup('notifiers',
title='Notification Options',
help='Notification Driver/plugin opts to be '
'used to Notify admins/users if failure '
'happens')
CONF.register_group(notifiers_grp)
CONF.register_opts(_NOTIFIERS, group='notifiers')
# Keystone Auth
keystone_grp = cfg.OptGroup('keystone_authtoken',
title='Keystone Auth Options',
help='OpenStack Credentials to call the nova '
'APIs to evacuate ')
CONF.register_group(keystone_grp)
CONF.register_opts(_KEYSTONE_AUTH_TOKEN, group='keystone_authtoken')
default_conf = cfg.find_config_files('freezer', 'freezer-dr', '.conf')
log.register_options(CONF)
CONF(args=sys.argv[1:],
project='freezer',
default_config_files=default_conf,
version=FREEZER_DR_VERSION)