From c4ac6f6475fe7a6b7ebceba1a7af3ee6af5138fe Mon Sep 17 00:00:00 2001 From: Periyasamy Palanisamy Date: Mon, 18 Jun 2018 12:30:55 +0200 Subject: Use Neutron API for attaching floating ip address The Nova API for attaching floating ip address with vm instance is removed in latest Openstack release. Hence moving to neutron API for attaching floating ip address with VM. JIRA: SDNVPN-217 Change-Id: If321191eca0915cfd816eabc8890b28ed79cefc7 Signed-off-by: Periyasamy Palanisamy --- sdnvpn/lib/openstack_utils.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sdnvpn/lib') diff --git a/sdnvpn/lib/openstack_utils.py b/sdnvpn/lib/openstack_utils.py index a7ac80b..29843f0 100644 --- a/sdnvpn/lib/openstack_utils.py +++ b/sdnvpn/lib/openstack_utils.py @@ -539,6 +539,18 @@ def create_floating_ip(neutron_client): return {'fip_addr': fip_addr, 'fip_id': fip_id} +def attach_floating_ip(neutron_client, port_id): + extnet_id = get_external_net_id(neutron_client) + props = {'floating_network_id': extnet_id, + 'port_id': port_id} + try: + return neutron_client.create_floatingip({'floatingip': props}) + except Exception as e: + logger.error("Error [Attach_floating_ip(neutron_client), %s]: %s" + % (port_id, e)) + return None + + def add_floating_ip(nova_client, server_id, floatingip_addr): try: nova_client.servers.add_floating_ip(server_id, floatingip_addr) -- cgit 1.2.3-korg