From ddd973c0548c73148e0c057063a22c10b777ecf6 Mon Sep 17 00:00:00 2001 From: Vedu Joshi Date: Thu, 4 Aug 2016 00:26:23 +0530 Subject: [PATCH] Make contrailapi.py usable as a vnc-api related library * OpenstackOrchestrator and VcenterOrchestrator will inherit from Orchestrator and not from ContrailApi * Rename ContrailApi to ContrailVncApi Change-Id: Ib965758b74e4bfbb2bfe5f0b26c712c9e751e2bb --- fixtures/contrailapi.py | 10 +++---- fixtures/openstack.py | 5 ++-- fixtures/orchestrator.py | 57 ++++++++++++++++++---------------------- fixtures/vcenter.py | 3 +-- 4 files changed, 34 insertions(+), 41 deletions(-) diff --git a/fixtures/contrailapi.py b/fixtures/contrailapi.py index 658b07c5d..14a0d0829 100644 --- a/fixtures/contrailapi.py +++ b/fixtures/contrailapi.py @@ -1,13 +1,13 @@ +import logging + from tcutils.util import * from vnc_api.vnc_api import * -from orchestrator import Orchestrator -class ContrailApi(Orchestrator): +class ContrailVncApi(): - def __init__(self, inputs, vnc, logger): - self._inputs = inputs + def __init__(self, vnc, logger=None): self._vnc = vnc - self._log = logger + self._log = logger or logging.getLogger(__name__) def get_policy(self, fq_name, **kwargs): return self._vnc.network_policy_read(fq_name=fq_name) diff --git a/fixtures/openstack.py b/fixtures/openstack.py index d1ee96314..870cc6383 100644 --- a/fixtures/openstack.py +++ b/fixtures/openstack.py @@ -1,13 +1,12 @@ import os from orchestrator import Orchestrator, OrchestratorAuth -from contrailapi import ContrailApi from nova_test import NovaHelper from quantum_test import QuantumHelper from keystone_tests import KeystoneCommands from common.openstack_libs import ks_exceptions from vcenter import VcenterAuth, VcenterOrchestrator -class OpenstackOrchestrator(ContrailApi): +class OpenstackOrchestrator(Orchestrator): def __init__(self, inputs, username, password, project_name, project_id, vnclib=None, logger=None, auth_server_ip=None): @@ -82,7 +81,7 @@ def delete_vm(self, vm_obj, **kwargs): return self.nova_h.delete_vm(vm_obj) def is_vm_deleted(self, vm_obj, **kwargs): - return self.nova_h.is_vm_deleted_in_nova_db(vm_obj, self._inputs.openstack_ip) + return self.nova_h.is_vm_deleted_in_nova_db(vm_obj, self.inputs.openstack_ip) def get_host_of_vm(self, vm_obj, **kwargs): return self.nova_h.get_nova_host_of_vm(vm_obj) diff --git a/fixtures/orchestrator.py b/fixtures/orchestrator.py index 536c852ba..cffde469e 100644 --- a/fixtures/orchestrator.py +++ b/fixtures/orchestrator.py @@ -1,10 +1,18 @@ +import logging from abc import ABCMeta, abstractmethod +from contrailapi import ContrailVncApi + class Orchestrator: """Base class for orchestrator.""" __metaclass__ = ABCMeta + def __init__(self, inputs, vnc_api_h, logger=None): + self.inputs = inputs + self.logger = logger or logging.getLogger(__name__) + self.vnc_h = ContrailVncApi(vnc_api_h, logger) + def is_feature_supported(self, feature): return True @@ -60,11 +68,6 @@ def get_vm_list(self, name_pattern='', **kwargs): '''Returns a list of VM object matching pattern.''' pass - @abstractmethod - def get_vn_list(self, **kwargs): - '''Returns a list of VM object matching pattern.''' - pass - @abstractmethod def get_vm_detail(self, vm_obj, **kwargs): '''Refreshes VM object.''' @@ -121,57 +124,49 @@ def get_vn_name(self, vn_obj, **kwargs): def get_vn_id(self, vn_obj, **kwargs): pass - @abstractmethod + def get_vn_list(self, **kwargs): + return self.vnc_h.get_vn_list(**kwargs) + def get_policy(self, fq_name, **kwargs): - pass + return self.vnc_h.get_policy(fq_name, **kwargs) - @abstractmethod def get_floating_ip(self, fip_id, **kwargs): - pass + return self.vnc_h.get_floating_ip(fip_id, **kwargs) - @abstractmethod def create_floating_ip(self, pool_vn_id, pool_obj, project_obj, **kwargs): - pass + return self.vnc_h.create_floating_ip(pool_vn_id, pool_obj, project_obj, + **kwargs) - @abstractmethod def delete_floating_ip(self, fip_id, **kwargs): - pass + return self.vnc_h.delete_floating_ip(fip_id, **kwargs) - @abstractmethod def assoc_floating_ip(self, fip_id, vm_id, **kwargs): - pass + return self.vnc_h.assoc_floating_ip(fip_id, vm_id, **kwargs) - @abstractmethod def disassoc_floating_ip(self, fip_id, **kwargs): - pass + return self.vnc_h.disassoc_floating_ip(fip_id, **kwargs) - @abstractmethod def add_security_group(self, vm_id, sg_id, **kwargs): - pass + return self.vnc_h.add_security_group(vm_id, sg_id, **kwargs) - @abstractmethod def remove_security_group(self, vm_id, sg_id, **kwargs): - pass + return self.vnc_h.remove_security_group(vm_id, sg_id, **kwargs) - @abstractmethod def create_security_group(self, sg_name, parent_fqname, sg_entries, **kwargs): - pass + return self.vnc_h.create_security_group(sg_name, parent_fqname, + sg_entries, **kwargs) - @abstractmethod def delete_security_group(self, sg_id, **kwargs): - pass + return self.vnc_h.delete_security_group(sg_id, **kwargs) - @abstractmethod def get_security_group_rules(self, sg_id, **kwargs): - pass + return self.vnc_h.get_security_group_rules(sg_id, **kwargs) - @abstractmethod def delete_security_group_rules(self, sg_id, **kwargs): - pass + return self.vnc_h.delete_security_group_rules(sg_id, **kwargs) - @abstractmethod def set_security_group_rules(self, sg_id, **kwargs): - pass + return self.vnc_h.set_security_group_rules(sg_id, **kwargs) class OrchestratorAuth: __metaclass__ = ABCMeta diff --git a/fixtures/vcenter.py b/fixtures/vcenter.py index 38630b2b3..eebaa0ef7 100644 --- a/fixtures/vcenter.py +++ b/fixtures/vcenter.py @@ -8,7 +8,6 @@ from fabric.api import run, env from fabric.operations import get, put from orchestrator import Orchestrator, OrchestratorAuth -from contrailapi import ContrailApi from tcutils.util import * from tcutils.cfgparser import parse_cfg_file from vnc_api.vnc_api import VncApi @@ -86,7 +85,7 @@ def allocate_vlan(self): def free_vlan(self, vlan): self._vlans.append(vlan) -class VcenterOrchestrator(ContrailApi): +class VcenterOrchestrator(Orchestrator): def __init__(self, inputs, host, port, user, pwd, dc_name, vnc, logger): super(VcenterOrchestrator, self).__init__(inputs, vnc, logger)