Skip to content

Commit

Permalink
Multiple vcenter server support in sanity
Browse files Browse the repository at this point in the history
Took care of the comments

Change-Id: Ibcd19cc527f991a6d5c55a61a493de665fb0074e
closes-bug: #1551882
  • Loading branch information
sandip-d committed Mar 16, 2016
1 parent 5d73203 commit fe053a1
Show file tree
Hide file tree
Showing 2 changed files with 49 additions and 30 deletions.
18 changes: 12 additions & 6 deletions fabfile/tasks/tester.py
Expand Up @@ -56,7 +56,7 @@ def setup_test_env():
'esxi_vms':[],
'hosts_ipmi': [],
'tor':[],
'vcenter':[],
'vcenter_servers':[],
'sriov':[],
}

Expand Down Expand Up @@ -205,12 +205,13 @@ def setup_test_env():
if env.has_key('hosts_ipmi'):
sanity_testbed_dict['hosts_ipmi'].append(env.hosts_ipmi)
#get vcenter info
vcenter_dc = ''
if env.has_key('vcenter_servers'):
# for sanity always use the first, multiple server not supported
vc_server = env.vcenter_servers.values()[0]
sanity_testbed_dict['vcenter'].append(vc_server)
vcenter_dc = vc_server['datacenter']
vcenter_info = {}
for k in env.vcenter_servers.keys():
vcenter_info[k] = env.vcenter_servers[k]
server = {}
server[k] = env.vcenter_servers[k]
sanity_testbed_dict['vcenter_servers'].append(server)
#get sriov info
if env.has_key('sriov'):
sanity_testbed_dict['sriov'].append(env.sriov)
Expand Down Expand Up @@ -268,9 +269,14 @@ def setup_test_env():
mail_server = env.mail_server
mail_port = env.mail_port

vcenter_dc = ''
if orch == 'vcenter':
public_tenant_name='vCenter'

if env.has_key('vcenter_servers'):
if env.vcenter_servers:
for k in env.vcenter_servers:
vcenter_dc = env.vcenter_servers[k]['datacenter']

sanity_params = sanity_ini_templ.safe_substitute(
{'__testbed_json_file__' : 'sanity_testbed.json',
Expand Down
61 changes: 37 additions & 24 deletions fabfile/utils/host.py
Expand Up @@ -102,40 +102,42 @@ def get_region_name_opt():
region_name = get_region_name()
return '--region_name %s' %(region_name)

def get_vcenter_item(key, default_value):
# For sanity purpose use first vcenter, multiple servers not supported
# in sanity
vc_server = {}
if env.has_key('vcenter_servers'):
vc_server = env.vcenter_servers.values()[0]
try:
val = vc_server[key]
except KeyError:
val = default_value
return val

def get_vcenter_ip():
return get_vcenter_item('server', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k,'server', None)

def get_vcenter_port():
return get_vcenter_item('port', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k,'port', None)

def get_vcenter_username():
return get_vcenter_item('username', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'username', None)

def get_vcenter_password():
return get_vcenter_item('password', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'password', None)

def get_vcenter_datacenter():
return get_vcenter_item('datacenter', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'datacenter', None)

def get_vcenter_compute():
return get_vcenter_item('vcenter_compute', None)
if env.has_key('vcenter_servers'):
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'vcenter_compute', None)

def get_authserver_ip(ignore_vip=False, openstack_node=None):
orch = getattr(env, 'orchestrator', 'openstack')
if orch == 'vcenter':
return get_vcenter_item('server', None)
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'server', None)
# openstack
if openstack_node:
openstack_host = get_control_host_string(openstack_node)
Expand All @@ -160,6 +162,15 @@ def get_authserver_ip(ignore_vip=False, openstack_node=None):
return internal_vip
return openstack_ip

def get_from_vcenter_dict(dictionary, key, default_value):

try:
val = env['vcenter_servers'][dictionary][key]
except KeyError:
val = default_value
return val


def get_from_testbed_dict( dictionary, key,default_value):
try:
val = env[dictionary][key]
Expand All @@ -170,7 +181,8 @@ def get_from_testbed_dict( dictionary, key,default_value):
def get_authserver_protocol():
orch = getattr(env, 'orchestrator', 'openstack')
if orch == 'vcenter':
return get_from_testbed_dict('vcenter', 'auth', 'https')
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'auth', 'https')
# openstack
return get_from_testbed_dict('keystone', 'auth_protocol','http')

Expand All @@ -180,7 +192,8 @@ def get_keystone_insecure_flag():
def get_authserver_port():
orch = getattr(env, 'orchestrator', 'openstack')
if orch == 'vcenter':
return get_from_testbed_dict('vcenter', 'port', 443)
for k in env.vcenter_servers.keys():
return get_from_vcenter_dict(k, 'port', 443)
# openstack
return get_from_testbed_dict('keystone', 'auth_port','35357')

Expand All @@ -201,17 +214,17 @@ def get_keystone_admin_token():
def get_authserver_admin_user():
orch = getattr(env, 'orchestrator', 'openstack')
if orch == 'vcenter':
# for vcenter orch case, only one vcenter is supported
return get_vcenter_item('username', None)
for k in env.vcenter_servers.keys():
return env.vcenter_servers[k]['username']
# openstack
ks_admin_user = getattr(testbed, 'keystone_admin_user','admin')
return get_from_testbed_dict('keystone', 'admin_user', ks_admin_user)

def get_authserver_admin_password():
orch = getattr(env, 'orchestrator', 'openstack')
if orch == 'vcenter':
# for vcenter orch case, only one vcenter is supported
return get_vcenter_item('password', None)
for k in env.vcenter_servers.keys():
return env.vcenter_servers[k]['password']
# openstack
os_admin_password = getattr(env,'openstack_admin_password', 'contrail123')
ks_admin_password = getattr(testbed,
Expand Down

0 comments on commit fe053a1

Please sign in to comment.