Skip to content

Commit

Permalink
Merge "Make contrailapi.py usable as a vnc-api related library"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Aug 10, 2016
2 parents cdef9f4 + ddd973c commit 0f80974
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 41 deletions.
10 changes: 5 additions & 5 deletions 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)
Expand Down
5 changes: 2 additions & 3 deletions 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):
Expand Down Expand Up @@ -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)
Expand Down
57 changes: 26 additions & 31 deletions 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

Expand Down Expand Up @@ -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.'''
Expand Down Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions fixtures/vcenter.py
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 0f80974

Please sign in to comment.