diff options
Diffstat (limited to 'sfc/lib')
-rw-r--r-- | sfc/lib/config.py | 1 | ||||
-rw-r--r-- | sfc/lib/openstack_utils.py | 33 |
2 files changed, 21 insertions, 13 deletions
diff --git a/sfc/lib/config.py b/sfc/lib/config.py index 6ced2763..5ee3077a 100644 --- a/sfc/lib/config.py +++ b/sfc/lib/config.py @@ -31,7 +31,6 @@ class CommonConfig(object): def __init__(self): self.line_length = 30 - self.test_db = os.environ['TEST_DB_URL'] self.functest_repo_path = os.path.dirname(functest.__file__) self.functest_logging_api = os.path.join(self.functest_repo_path, "ci", "logging.ini") diff --git a/sfc/lib/openstack_utils.py b/sfc/lib/openstack_utils.py index 535870da..e127e8d2 100644 --- a/sfc/lib/openstack_utils.py +++ b/sfc/lib/openstack_utils.py @@ -30,7 +30,7 @@ import snaps.openstack.create_instance as cr_inst from snaps.config.vm_inst import VmInstanceConfig, FloatingIpConfig from snaps.openstack.utils import ( - nova_utils, neutron_utils, glance_utils, heat_utils, keystone_utils) + nova_utils, neutron_utils, heat_utils, keystone_utils) logger = logging.getLogger(__name__) DEFAULT_TACKER_API_VERSION = '1.0' @@ -44,8 +44,8 @@ class OpenStackSFC: self.creators = [] self.nova = nova_utils.nova_client(self.os_creds) self.neutron = neutron_utils.neutron_client(self.os_creds) - self.glance = glance_utils.glance_client(self.os_creds) self.heat = heat_utils.heat_client(self.os_creds) + self.keystone = keystone_utils.keystone_client(self.os_creds) def register_glance_image(self, name, url, img_format, public): image_settings = ImageConfig(name=name, img_format=img_format, url=url, @@ -159,11 +159,10 @@ class OpenStackSFC: ''' for creator in self.creators: # We want to filter the vm creators - if hasattr(creator, 'get_vm_info'): - vm_info = creator.get_vm_info() + if hasattr(creator, 'get_vm_inst'): # We want to fetch only the client - if vm_info['name'] == 'client': - return vm_info['OS-EXT-SRV-ATTR:host'] + if creator.get_vm_inst().name == 'client': + return creator.get_vm_inst().compute_host raise Exception("There is no client VM!!") @@ -187,14 +186,18 @@ class OpenStackSFC: ''' stacks = self.heat.stacks.list() fips = [] + project_name = 'admin' for stack in stacks: servers = heat_utils.get_stack_servers(self.heat, self.nova, self.neutron, - stack) + self.keystone, + stack, + project_name) sf_creator = cr_inst.generate_creator(self.os_creds, servers[0], - self.image_settings) + self.image_settings, + project_name) port_name = servers[0].ports[0].name name = servers[0].name + "-float" float_ip = FloatingIpConfig(name=name, @@ -206,13 +209,19 @@ class OpenStackSFC: return fips - def get_client_port_id(self, vm): + def get_client_port(self, vm, vm_creator): ''' Get the neutron port id of the client ''' - port_id = neutron_utils.get_port(self.neutron, - port_name=vm.name + "-port") - return port_id + port_name = vm.name + "-port" + port = vm_creator.get_port_by_name(port_name) + if port is not None: + return port + else: + logger.error("The VM {0} does not have any port" + " with name {1}".format(vm_name, port_name)) + raise Exception("Client VM does not have the desired port") + # TACKER SECTION # |