diff options
author | Manuel Buil <mbuil@suse.com> | 2018-01-26 12:54:35 +0100 |
---|---|---|
committer | Brady Johnson <bjohnson@inocybe.com> | 2018-01-29 16:20:30 +0000 |
commit | d436fafbde49d78e2e39a8a63c31747799531ca1 (patch) | |
tree | d622ef2353ae90bbf1ef7ab80108199042818594 /sfc/lib/openstack_utils.py | |
parent | b3791d8df2a7666603148e771191e1f6e7f4a784 (diff) |
Fix problem to fetch the compute name of client VM
When migrating to SNAPs a bug was introduced and could be seen in logs as:
Error when waiting for classification rules: 'module' object has no attribute
'get_compute_client'
The cause is that get_compute_client is not a global function anymore but a
method inside a class. Besides, due to SNAPs, we need to fetch the compute
name in another way
Change-Id: I32007c83894281ba9514a121b7939b5bfe52f4bc
Signed-off-by: Manuel Buil <mbuil@suse.com>
Diffstat (limited to 'sfc/lib/openstack_utils.py')
-rw-r--r-- | sfc/lib/openstack_utils.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/sfc/lib/openstack_utils.py b/sfc/lib/openstack_utils.py index 28cfebe7..7257b126 100644 --- a/sfc/lib/openstack_utils.py +++ b/sfc/lib/openstack_utils.py @@ -156,8 +156,15 @@ class OpenStackSFC: ''' Return the compute where the client sits ''' - compute = nova_utils.get_server(self.nova, server_name='client') - return compute + for creator in self.creators: + # We want to filter the vm creators + if hasattr(creator, 'get_vm_info'): + vm_info = creator.get_vm_info() + # We want to fetch only the client + if vm_info['name'] == 'client': + return vm_info['OS-EXT-SRV-ATTR:host'] + + raise Exception("There is no client VM!!") def assign_floating_ip(self, router, vm, vm_creator): ''' |