Beispiel #1
0
    def test_associate_floating_ip_server(self, flow_mock,
                                          sync_point_mock,
                                          ensure_floating_ip_mock):
        fixed_ip_binding = "fixed-ip-{}".format(self.test_instance_uuid)

        flow = floating_ip.associate_floating_ip_server(
            self.context,
            self.test_address,
            self.fixed_ip_info,
            self.test_instance_uuid)

        flow_mock.assert_called_once_with("associate-floating-ip-{}-server-{}"
                                          .format(self.test_address,
                                                  self.test_instance_uuid))
        self.assertEqual(flow.add.call_args_list,
                         [call(sync_point_mock()),
                          call(ensure_floating_ip_mock())])
Beispiel #2
0
def restore_floating_ips(context, server_info):
    flow = unordered_flow.Flow("post-migration-{}".format(server_info["id"]))
    addresses = server_info["addresses"]
    for label in addresses:
        fixed_ip = addresses[label][0]
        for floating_ip in [addr["addr"] for addr in addresses[label]
                            if addr['OS-EXT-IPS:type'] == 'floating']:
            fip_retrieve = "floating-ip-{}-retrieve".format(floating_ip)
            if fip_retrieve in context.store:
                fip_flow = fip_tasks.associate_floating_ip_server(
                    context,
                    floating_ip, fixed_ip,
                    server_info["id"])
                flow.add(fip_flow)
            else:
                raise exceptions.NotFound()
    return flow