Skip to content

Commit

Permalink
Fixed and re-enabled tests for vnc_endpoints and vnc_ingress
Browse files Browse the repository at this point in the history
Change-Id: I8b05ec96bdfc347566052cf65650de645027376c
Closes-Bug: #1735460
  • Loading branch information
adam-wierzbicki committed Nov 30, 2017
1 parent 4aec032 commit f1195e8
Show file tree
Hide file tree
Showing 5 changed files with 32 additions and 29 deletions.
4 changes: 2 additions & 2 deletions src/container/kube-manager/SConscript
Expand Up @@ -61,8 +61,8 @@ local_sources = [
'kube_manager/tests/vnc/db_mock.py',
'kube_manager/tests/vnc/test_case.py',
'kube_manager/tests/vnc/test_config_db.py',
# 'kube_manager/tests/vnc/test_vnc_endpoints.py', # Broken/disabled
# 'kube_manager/tests/vnc/test_vnc_ingress.py', # Broken/disabled
'kube_manager/tests/vnc/test_vnc_endpoints.py',
'kube_manager/tests/vnc/test_vnc_ingress.py',
'kube_manager/tests/vnc/test_vnc_kubernetes.py',
'kube_manager/tests/vnc/test_vnc_namespace.py',
'kube_manager/tests/vnc/test_vnc_pod.py',
Expand Down
26 changes: 12 additions & 14 deletions src/container/kube-manager/kube_manager/tests/vnc/test_case.py
Expand Up @@ -15,13 +15,13 @@
PolicyEntriesType, IdPermsType, SecurityGroup, VirtualNetwork,
VirtualNetworkType, NoIdError, VirtualMachine, VirtualMachineInterface,
InstanceIp, NetworkIpam, IpamSubnets, IpamSubnetType, VnSubnetsType,
KeyValuePair, KeyValuePairs, VirtualRouter)
VirtualRouter)
from kube_manager.common import args as kube_args
from kube_manager.vnc import vnc_kubernetes
from kube_manager.vnc import vnc_kubernetes_config as vnc_kube_config
from kube_manager.vnc.config_db import (
VirtualMachineInterfaceKM, InstanceIpKM, VirtualMachineKM, DBBaseKM,
VirtualRouterKM)
VirtualMachineInterfaceKM, InstanceIpKM, VirtualMachineKM, VirtualRouterKM)


class KMTestCase(test_common.TestCase):

Expand Down Expand Up @@ -299,22 +299,23 @@ def create_network(self, name, proj_obj, pod_subnet, service_subnet):
return vn_obj

@classmethod
def create_virtual_router(self, name, node_ip = None):
vrouter_node_ip = node_ip if node_ip else self.get_kubernetes_node_ip()
vrouter_obj = VirtualRouter(name,
virtual_router_ip_address = vrouter_node_ip)
def create_virtual_router(cls, name, node_ip=None):
vrouter_node_ip = node_ip if node_ip else cls.get_kubernetes_node_ip()
vrouter_obj = VirtualRouter(
name,
virtual_router_ip_address=vrouter_node_ip)
try:
vrouter_obj = self._vnc_lib.virtual_router_read(
vrouter_obj = cls._vnc_lib.virtual_router_read(
fq_name=vrouter_obj.get_fq_name())
except NoIdError:
self._vnc_lib.virtual_router_create(vrouter_obj)
cls._vnc_lib.virtual_router_create(vrouter_obj)
VirtualRouterKM.locate(vrouter_obj.uuid)
return vrouter_obj

@classmethod
def delete_virtual_router(self, vrouter_uuid):
def delete_virtual_router(cls, vrouter_uuid):
try:
self._vnc_lib.virtual_router_delete(id = vrouter_uuid)
cls._vnc_lib.virtual_router_delete(id=vrouter_uuid)
except NoIdError:
pass
VirtualRouterKM.delete(vrouter_uuid)
Expand All @@ -328,9 +329,6 @@ def create_virtual_machine(self, name, vn, ipaddress):
parent_type='virtual-machine', fq_name=[name, '0'])
vmi.set_virtual_machine(vm)
vmi.set_virtual_network(vn)
if DBBaseKM.is_nested():
vmi.set_virtual_machine_interface_bindings(
KeyValuePairs([KeyValuePair('host_id', 'WHATEVER')]))
self._vnc_lib.virtual_machine_interface_create(vmi)
VirtualMachineInterfaceKM.locate(vmi.uuid)

Expand Down
Expand Up @@ -30,6 +30,7 @@ def setUpClass(cls, *args, **kwargs):
super(VncEndpointsTestBase, cls).setUpClass(*args, **kwargs)
cls.kube_mock = MagicMock()
VncKubernetes._vnc_kubernetes.endpoints_mgr._kube = cls.kube_mock
cls.virtual_router = cls.create_virtual_router('endpoints-test-router')

@classmethod
def tearDownClass(cls):
Expand Down
Expand Up @@ -752,11 +752,9 @@ def _create_vrouters_for_all_service_instances(self, lb_uuid):
vrouter_uuids = []

for vm_dict in si.virtual_machine_back_refs:
vm = self._vnc_lib.virtual_machine_read(
id=vm_dict['uuid'],
fields=['virtual_machine_interface_back_refs'])
vm = self._vnc_lib.virtual_machine_read(id=vm_dict['uuid'])
vmi = self._vnc_lib.virtual_machine_interface_read(
id=vm.virtual_machine_interface_back_refs[0]['uuid'])
id=vm.get_virtual_machine_interface_back_refs()[0]['uuid'])
vrouter = self._create_vrouter_for_vm(vmi=vmi, vm=vm)
vrouter_uuids.append(vrouter.uuid)

Expand Down Expand Up @@ -859,5 +857,8 @@ def _delete_project(self, project_name):
for vn in project.get_virtual_networks() or ():
self._delete_virtual_network(vn['uuid'])

for np in project.get_network_policys() or ():
self._vnc_lib.network_policy_delete(id=np['uuid'])

self._vnc_lib.project_delete(fq_name=project_fq_name)
ProjectKM.delete(project.uuid)
21 changes: 12 additions & 9 deletions src/container/kube-manager/kube_manager/tests/vnc/test_vnc_pod.py
Expand Up @@ -36,13 +36,15 @@ def setUpClass(cls, extra_config_knobs=None):

cls.pod_name = 'test-pod'
cls.pod_status = {
'hostIP': cls.get_kubernetes_node_ip(),
'phase': 'created'
}

cn_dict = {'domain': cls.domain,
'project': cls.cluster_project,
'name': cls.vn_name}
'hostIP': cls.get_kubernetes_node_ip(),
'phase': 'created'
}

cn_dict = {
'domain': cls.domain,
'project': cls.cluster_project,
'name': cls.vn_name
}
cp_dict = {'project': cls.cluster_project}

kube_config.VncKubernetesConfig.args().cluster_project = repr(cp_dict)
Expand Down Expand Up @@ -184,7 +186,7 @@ def tearDown(self):
super(VncPodTestClusterProjectDefined, self).tearDown()

def _add_update_pod(self, action):
ns_name = self.ns_name + '_' + str(uuid.uuid4)
ns_name = self.ns_name + '_' + str(uuid.uuid4())
self._create_namespace(ns_name, None)

proj_fq_name = ['default-domain', self.cluster_project]
Expand Down Expand Up @@ -269,6 +271,7 @@ def test_delete_add_pod_after_kube_manager_is_killed(self):
vn_obj = VirtualNetworkKM.locate(vn_obj.uuid)
self.assertTrue(len(vn_obj.instance_ips) == 0)


class VncPodTestClusterProjectUndefined(VncPodTestClusterProjectDefined):
def setUp(self, extra_config_knobs=None):
super(VncPodTestClusterProjectUndefined, self).setUp(
Expand Down Expand Up @@ -355,6 +358,7 @@ def test_pod_add_delete_with_namespace_isolation_true(self):
vn_obj = VirtualNetworkKM.locate(vn_obj.uuid)
self.assertTrue(len(vn_obj.instance_ips) == 0)


class VncPodTestCustomNetworkAnnotation(VncPodTest):
def setUp(self, extra_config_knobs=None):
super(VncPodTestCustomNetworkAnnotation, self).setUp(
Expand All @@ -372,7 +376,6 @@ def setUpClass(cls, extra_config_knobs=None):
"name":"%s"}' % (cls.cluster_project,
cls.vn_name)


def test_pod_add_delete_with_namespace_custom_network_annotation(self):
proj_obj = self.create_project(self.cluster_project)
vn_obj = self._create_virtual_network(proj_obj, self.vn_name)
Expand Down

0 comments on commit f1195e8

Please sign in to comment.