Skip to content

Commit

Permalink
Merge "Consolidated commits #2 for vcenter"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Jul 13, 2015
2 parents 9332920 + e2bae73 commit 4f8a37c
Show file tree
Hide file tree
Showing 138 changed files with 2,113 additions and 1,050 deletions.
58 changes: 27 additions & 31 deletions common/connections.py
@@ -1,6 +1,4 @@
from quantum_test import *
from vnc_api_test import *
from nova_test import *
from tcutils.config.vnc_introspect_utils import *
from tcutils.control.cn_introspect_utils import *
from tcutils.agent.vna_introspect_utils import *
Expand All @@ -11,9 +9,9 @@
from tcutils.vdns.dns_introspect_utils import DnsAgentInspect
from tcutils.config.ds_introspect_utils import *
from tcutils.config.discovery_tests import *
from keystoneclient.v2_0 import client as ks_client
from tcutils.util import get_dashed_uuid
import os
from openstack import OpenstackAuth, OpenstackOrchestrator
from vcenter import VcenterAuth, VcenterOrchestrator

try:
from webui.ui_login import UILogin
Expand All @@ -33,28 +31,6 @@ def __init__(self, inputs,logger,
self.password = password
self.project_name = project_name

insecure = bool(os.getenv('OS_INSECURE', True))
self.ks_client = ks_client.Client(
username=username,
password=password,
tenant_name=project_name,
auth_url = os.getenv('OS_AUTH_URL') or \
'http://' + self.inputs.auth_ip + ':5000/v2.0',
insecure=insecure)
self.project_id = get_dashed_uuid(self.ks_client.tenant_id)

if self.inputs.verify_thru_gui():
self.ui_login = UILogin(self, self.inputs, project_name, username, password)
self.browser = self.ui_login.browser
self.browser_openstack = self.ui_login.browser_openstack
self.quantum_fixture = QuantumFixture(
username=username, inputs=self.inputs,
project_id=self.project_id,
password=password, cfgm_ip=self.inputs.cfgm_ip,
openstack_ip=self.inputs.openstack_ip)
self.quantum_fixture.setUp()
inputs.openstack_ip = self.inputs.openstack_ip

self.vnc_lib_fixture = VncLibFixture(
username=username, password=password,
domain=self.inputs.domain_name, project=project_name,
Expand All @@ -63,11 +39,31 @@ def __init__(self, inputs,logger,
self.vnc_lib_fixture.setUp()
self.vnc_lib = self.vnc_lib_fixture.get_handle()

self.nova_fixture = NovaFixture(inputs=inputs,
project_name=project_name,
username=username,
password=password)
self.nova_fixture.setUp()
self.nova_h = None
self.quantum_h = None
if self.inputs.orchestrator == 'openstack':
self.auth = OpenstackAuth(username, password, project_name, self.inputs, logger)
self.project_id = self.auth.get_project_id(self.inputs.domain_name, project_name)

if self.inputs.verify_thru_gui():
self.ui_login = UILogin(self, self.inputs, project_name, username, password)
self.browser = self.ui_login.browser
self.browser_openstack = self.ui_login.browser_openstack

self.orch = OpenstackOrchestrator(username=username, password=password,
project_id=self.project_id, project_name=project_name,
inputs=inputs, vnclib=self.vnc_lib, logger=logger)
self.nova_h = self.orch.nova_h
self.quantum_h = self.orch.quantum_h
else: # vcenter
self.auth = VcenterAuth(username, password, project_name, self.inputs)
self.orch = VcenterOrchestrator(user=username, pwd=password,
host=self.inputs.auth_ip,
port=self.inputs.auth_port,
dc_name=self.inputs.vcenter_dc,
vnc=self.vnc_lib,
inputs=self.inputs, logger=logger)

self.api_server_inspects = {}
self.dnsagent_inspect = {}
self.cn_inspect = {}
Expand Down
9 changes: 5 additions & 4 deletions common/contrail_test_init.py
Expand Up @@ -285,10 +285,7 @@ def setUp(self):
'supervisor-analytics', 'contrail-alarm-gen',
'contrail-snmp-collector', 'contrail-topology']
self.correct_states = ['active', 'backup']
if self.devstack:
self.mysql_token = 'contrail123'
else:
self.mysql_token = self.get_mysql_token()
self.mysql_token = self.get_mysql_token()
self.copy_fabfile_to_agents()
# end setUp

Expand Down Expand Up @@ -778,6 +775,10 @@ def run_provision_control(
# end run_provision_control

def get_mysql_token(self):
if self.orchestrator == 'vcenter':
return None
if self.devstack:
return 'contrail123'
username = self.host_data[self.openstack_ip]['username']
password = self.host_data[self.openstack_ip]['password']
cmd = 'cat /etc/contrail/mysql.token'
Expand Down
4 changes: 2 additions & 2 deletions common/ecmp/ecmp_traffic.py
Expand Up @@ -66,7 +66,7 @@ def start_traffic(self, src_vm, dst_vm_list, stream_list, src_ip=None, dst_ip=No
sender = {}
receiver = {}
tx_vm_node_ip = self.inputs.host_data[
self.nova_fixture.get_nova_host_of_vm(src_vm.vm_obj)]['host_ip']
self.nova_h.get_nova_host_of_vm(src_vm.vm_obj)]['host_ip']
tx_local_host = Host(
tx_vm_node_ip,
self.inputs.host_data[tx_vm_node_ip]['username'],
Expand All @@ -79,7 +79,7 @@ def start_traffic(self, src_vm, dst_vm_list, stream_list, src_ip=None, dst_ip=No

for dst_vm in dst_vm_list:
rx_vm_node_ip[dst_vm] = self.inputs.host_data[
self.nova_fixture.get_nova_host_of_vm(dst_vm.vm_obj)]['host_ip']
self.nova_h.get_nova_host_of_vm(dst_vm.vm_obj)]['host_ip']
rx_local_host[dst_vm] = Host(
rx_vm_node_ip[dst_vm],
self.inputs.host_data[rx_vm_node_ip[dst_vm]]['username'],
Expand Down
4 changes: 2 additions & 2 deletions common/ecmp/ecmp_verify.py
Expand Up @@ -40,7 +40,7 @@ def find_rt_in_ctrl_node(self, src_vn, src_vm, dst_vm, svm_ids):
assert count > 0, 'Some Problem with the setup. Pls chk XMPP connection'
svm_route_entry = {}
for svm_id in svm_ids:
svc_obj = self.nova_fixture.get_vm_by_id(
svc_obj = self.nova_h.get_vm_by_id(
svm_id, self.inputs.project_name)
left_ip[svm_id] = svc_obj.addresses[self.si_fixtures[0]
.left_vn_name.split(':')[2]][0]['addr']
Expand Down Expand Up @@ -160,6 +160,6 @@ def get_svms_in_si(self, si, proj_name):
svm_ids= si.svm_ids
svm_list= []
for svm_id in svm_ids:
svm_list.append(self.nova_fixture.get_vm_by_id(svm_id, proj_name))
svm_list.append(self.nova_h.get_vm_by_id(svm_id, proj_name))
return svm_list
#end get_svms_in_si
63 changes: 17 additions & 46 deletions common/isolated_creds.py
@@ -1,7 +1,6 @@
import project_test
from common.contrail_test_init import ContrailTestInit
from common.connections import ContrailConnections
from keystone_tests import KeystoneCommands
import os
import fixtures
from test import BaseTestCase
Expand Down Expand Up @@ -30,18 +29,23 @@ def __init__(self,project_name, inputs, ini_file=None, logger=None,
self.password = project_name
self.ini_file = ini_file
self.logger = logger
if self.inputs.orchestrator == 'vcenter':
self.project_name = self.inputs.stack_tenant
self.user = self.inputs.stack_user
self.password = self.inputs.stack_password

def setUp(self):
super(IsolatedCreds, self).setUp()
self.connections= ContrailConnections(self.inputs, self.logger)
self.vnc_lib= self.connections.vnc_lib
self.auth = self.connections.auth

def create_tenant(self):

self.project = None
time.sleep(4)
try:
self.project = project_test.ProjectFixture(project_name = self.project_name,
self.project = project_test.ProjectFixture(project_name = self.project_name, auth=self.auth,
vnc_lib_h= self.vnc_lib,username= self.user,password= self.password,
connections= self.connections)
self.project.setUp()
Expand All @@ -55,56 +59,23 @@ def delete_tenant(self):
self.project.cleanUp()

def delete_user(self,user=None):

if self.inputs.orchestrator == 'vcenter':
return
if user:
user = user
else:
user = self.user
insecure = bool(os.getenv('OS_INSECURE',True))
try:
self.auth_url = os.getenv('OS_AUTH_URL') or \
'http://' + self.inputs.openstack_ip + ':5000/v2.0'
self.key_stone_clients= KeystoneCommands(username= self.inputs.stack_user,
password= self.inputs.stack_password,
tenant= self.inputs.project_name,
auth_url= auth_url, insecure=insecure)

except Exception as e:
self.logger.warn("Failed - Keystone client instance")
self.key_stone_clients.delete_user(user)
self.auth.delete_user(user)

def create_and_attach_user_to_tenant(self,user = None , password=None):
insecure = bool(os.getenv('OS_INSECURE',True))
try:
auth_url = os.getenv('OS_AUTH_URL') or \
'http://' + self.inputs.openstack_ip + ':5000/v2.0'
self.key_stone_clients= KeystoneCommands(username= self.inputs.stack_user,
password= self.inputs.stack_password,
tenant= self.inputs.project_name,
auth_url= auth_url, insecure=insecure)

user = user if user else self.user
password = password if password else self.password
try:
self.key_stone_clients.create_user(user,password,
email='',tenant_name=self.inputs.stack_tenant,enabled=True)
except:
self.logger.info("%s user already created"%(self.user))

try:
self.key_stone_clients.add_user_to_tenant(self.project_name,user , 'admin')

except Exception as e:
self.logger.info("%s user already added to project"%(user))

try:
self.key_stone_clients.add_user_to_tenant(self.project_name,'admin' , 'admin')
except Exception as e:
self.logger.info("Admin user already added to project")

time.sleep(4)
except Exception as e:
self.logger.info("Failed - Keystone client instance")
if self.inputs.orchestrator == 'vcenter':
return
user = user if user else self.user
password = password if password else self.password
self.auth.create_user(user,password)
self.auth.add_user_to_project(user, self.project_name)
self.auth.add_user_to_project('admin', self.project_name)
time.sleep(4)

def get_inputs(self):

Expand Down

0 comments on commit 4f8a37c

Please sign in to comment.