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

Fixed syntax error
Change-Id: Ibcd19cc527f991a6d5c55a61a493de665fb0074e
closes-bug: #1551882
  • Loading branch information
sandip-d committed Mar 18, 2016
1 parent d57a45a commit 33acc20
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 @@ -276,9 +277,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 33acc20

Please sign in to comment.