5cbd2831fb
For the nsxv plugin when using the dvs features, we should not repeat the dvs name information unless required, as the dvs moref may be set as part of the nsxv configuration. And if the dvs moref is set in the nsxv configuration then, we should use that to initialize DvsManager. Change-Id: Ibd81190aa91f255237c76f93e0fc15ab2659d6c7
79 lines
3.0 KiB
Python
79 lines
3.0 KiB
Python
# Copyright 2014 VMware, Inc.
|
|
#
|
|
# 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.
|
|
|
|
from oslo_config import cfg
|
|
from oslo_vmware import api
|
|
|
|
|
|
from vmware_nsx._i18n import _
|
|
|
|
dvs_opts = [
|
|
cfg.StrOpt('host_ip',
|
|
help='Hostname or IP address for connection to VMware vCenter '
|
|
'host.'),
|
|
cfg.PortOpt('host_port', default=443,
|
|
help='Port for connection to VMware vCenter host.'),
|
|
cfg.StrOpt('host_username',
|
|
help='Username for connection to VMware vCenter host.'),
|
|
cfg.StrOpt('host_password',
|
|
help='Password for connection to VMware vCenter host.',
|
|
secret=True),
|
|
cfg.FloatOpt('task_poll_interval',
|
|
default=0.5,
|
|
help='The interval used for polling of remote tasks.'),
|
|
cfg.StrOpt('ca_file',
|
|
help='Specify a CA bundle file to use in verifying the '
|
|
'vCenter server certificate.'),
|
|
cfg.BoolOpt('insecure',
|
|
default=False,
|
|
help='If true, the vCenter server certificate is not '
|
|
'verified. If false, then the default CA truststore is '
|
|
'used for verification. This option is ignored if '
|
|
'"ca_file" is set.'),
|
|
cfg.IntOpt('api_retry_count',
|
|
default=10,
|
|
help='The number of times we retry on failures, e.g., '
|
|
'socket error, etc.'),
|
|
cfg.StrOpt('dvs_name',
|
|
help='The name of the preconfigured DVS.'),
|
|
cfg.StrOpt('metadata_mode',
|
|
help=_("This value should not be set. It is just required for "
|
|
"ensuring that the DVS plugin works with the generic "
|
|
"NSX metadata code")),
|
|
]
|
|
|
|
CONF = cfg.CONF
|
|
CONF.register_opts(dvs_opts, 'dvs')
|
|
|
|
|
|
def dvs_is_enabled(dvs_id=None):
|
|
"""Returns the configured DVS status."""
|
|
return bool(CONF.dvs.host_ip and CONF.dvs.host_username and
|
|
CONF.dvs.host_password and (dvs_id or CONF.dvs.dvs_name))
|
|
|
|
|
|
def dvs_create_session():
|
|
return api.VMwareAPISession(CONF.dvs.host_ip,
|
|
CONF.dvs.host_username,
|
|
CONF.dvs.host_password,
|
|
CONF.dvs.api_retry_count,
|
|
CONF.dvs.task_poll_interval,
|
|
port=CONF.dvs.host_port,
|
|
cacert=CONF.dvs.ca_file,
|
|
insecure=CONF.dvs.insecure)
|
|
|
|
|
|
def dvs_name_get():
|
|
return CONF.dvs.dvs_name
|