Beispiel #1
0
    def test_ha_router_failover(self):
        router_info = self.generate_router_info(enable_ha=True)
        ns_name = "%s%s%s" % (
                namespaces.RouterNamespace._get_ns_name(router_info['id']),
                self.NESTED_NAMESPACE_SEPARATOR, self.agent.host)
        mock.patch.object(namespaces.RouterNamespace, '_get_ns_name',
                return_value=ns_name).start()
        router1 = self.manage_router(self.agent, router_info)

        router_info_2 = copy.deepcopy(router_info)
        router_info_2[l3_constants.HA_INTERFACE_KEY] = (
            test_l3_agent.get_ha_interface(ip='169.254.192.2',
                                           mac='22:22:22:22:22:22'))

        ns_name = "%s%s%s" % (
                namespaces.RouterNamespace._get_ns_name(router_info_2['id']),
                self.NESTED_NAMESPACE_SEPARATOR, self.failover_agent.host)
        mock.patch.object(namespaces.RouterNamespace, '_get_ns_name',
                return_value=ns_name).start()
        router2 = self.manage_router(self.failover_agent, router_info_2)

        utils.wait_until_true(lambda: router1.ha_state == 'master')
        utils.wait_until_true(lambda: router2.ha_state == 'backup')

        device_name = router1.get_ha_device_name()
        ha_device = ip_lib.IPDevice(device_name, namespace=router1.ns_name)
        ha_device.link.set_down()

        utils.wait_until_true(lambda: router2.ha_state == 'master')
        utils.wait_until_true(lambda: router1.ha_state == 'backup')
Beispiel #2
0
    def test_ha_router_failover(self):
        router_info = self.generate_router_info(enable_ha=True)
        ns_name = "%s%s%s" % (namespaces.RouterNamespace._get_ns_name(
            router_info['id']), self.NESTED_NAMESPACE_SEPARATOR,
                              self.agent.host)
        mock.patch.object(namespaces.RouterNamespace,
                          '_get_ns_name',
                          return_value=ns_name).start()
        router1 = self.manage_router(self.agent, router_info)

        router_info_2 = copy.deepcopy(router_info)
        router_info_2[l3_constants.HA_INTERFACE_KEY] = (
            test_l3_agent.get_ha_interface(ip='169.254.192.2',
                                           mac='22:22:22:22:22:22'))

        ns_name = "%s%s%s" % (namespaces.RouterNamespace._get_ns_name(
            router_info_2['id']), self.NESTED_NAMESPACE_SEPARATOR,
                              self.failover_agent.host)
        mock.patch.object(namespaces.RouterNamespace,
                          '_get_ns_name',
                          return_value=ns_name).start()
        router2 = self.manage_router(self.failover_agent, router_info_2)

        utils.wait_until_true(lambda: router1.ha_state == 'master')
        utils.wait_until_true(lambda: router2.ha_state == 'backup')

        device_name = router1.get_ha_device_name()
        ha_device = ip_lib.IPDevice(device_name, namespace=router1.ns_name)
        ha_device.link.set_down()

        utils.wait_until_true(lambda: router2.ha_state == 'master')
        utils.wait_until_true(lambda: router1.ha_state == 'backup')
Beispiel #3
0
    def test_ha_router_failover(self):
        router_info = self.generate_router_info(enable_ha=True)
        router1 = self.manage_router(self.agent, router_info)

        router_info_2 = copy.deepcopy(router_info)
        router_info_2[l3_constants.HA_INTERFACE_KEY] = (
            test_l3_agent.get_ha_interface(ip='169.254.192.2',
                                           mac='22:22:22:22:22:22'))

        router2 = self.manage_router(self.failover_agent, router_info_2)

        helpers.wait_until_true(lambda: router1.ha_state == 'master')
        helpers.wait_until_true(lambda: router2.ha_state == 'backup')

        device_name = router1.get_ha_device_name(
            router1.router[l3_constants.HA_INTERFACE_KEY]['id'])
        ha_device = ip_lib.IPDevice(device_name, namespace=router1.ns_name)
        ha_device.link.set_down()

        helpers.wait_until_true(lambda: router2.ha_state == 'master')
        helpers.wait_until_true(lambda: router1.ha_state == 'fault')
Beispiel #4
0
    def test_ha_router_failover(self):
        router_info = self.generate_router_info(enable_ha=True)
        router1 = self.manage_router(self.agent, router_info)

        router_info_2 = copy.deepcopy(router_info)
        router_info_2[l3_constants.HA_INTERFACE_KEY] = (
            test_l3_agent.get_ha_interface(ip='169.254.192.2',
                                           mac='22:22:22:22:22:22'))

        router2 = self.manage_router(self.failover_agent, router_info_2)

        utils.wait_until_true(lambda: router1.ha_state == 'master')
        utils.wait_until_true(lambda: router2.ha_state == 'backup')

        device_name = router1.get_ha_device_name(
            router1.router[l3_constants.HA_INTERFACE_KEY]['id'])
        ha_device = ip_lib.IPDevice(device_name, namespace=router1.ns_name)
        ha_device.link.set_down()

        utils.wait_until_true(lambda: router2.ha_state == 'master')
        utils.wait_until_true(lambda: router1.ha_state == 'fault')