EC2 networking driver for Neutron

Bug #1638399 reported by Sachin
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Expired
Wishlist
Unassigned

Bug Description

OpenStack project is so far focused on private cloud management. This proposal together with a set of others for glance, cinder and nova aim to extend OpenStack for side-by-side management of Public cloud.

Enterprises are increasingly looking at hybrid and multi-cloud strategy as next phase of their datacenter environments. Public cloud offers flexible on-demand resource while private cloud gives the ability to run workloads securely. There is lack of standard when it comes to cloud management. These specs propose OpenStack API as the solution. Regardless of infrastructure — public or private and technology — KVM, VMware or Hyper-V cloud workloads can be deployed and managed with standard OpenStack API.

This driver will provide a mechanism to implement neutron networking on top of AWS. As was demoed in the Openstack Barcelona Summit in 2016, following constructs map nicely and work.
-- Creation of tenant networks and all operations
-- Creation of subnet
-- Creation of router to connect external (public) network to tenant network
-- Floating IPs.

The draft code is available here: https://github.com/platform9/openstack-omni/tree/master/neutron

Tags: rfe
Sachin (smanpathak)
tags: added: rfe
Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Kevin Benton (kevinbenton) wrote :

Can you provide more context of the use case here? I looked through the driver but didn't quite understand how it would bind ports for instances. Is it just taking an instance and connecting it to a different VPC network with the AWS API?

Revision history for this message
Pushkar Acharya (pacharya) wrote :

The neutron bind_port is populating the Amazon subnet-id and the fixed IP to use. These values are used in nova compute's spawn call. To create an instance using AWS API we need to specify the subnet-id and a free IP that should be used.
The relevant code is in-
https://github.com/platform9/openstack-omni/blob/master/nova/ec2/ec2driver.py
The subnet id and fixed ip are parsed on line 348 and subsequently passed to run_instances() on line 378 for creating instance using that subnet.
We have not implemented create_port and delete_port since AWS does not allow detaching and attaching networks for running VMs.

Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

I think this is a great application of the flexibility of the neutron framework. If there is any more flexibility required (hook points, callbacks, etc) we can discuss about those in this context, however, we won't be able to accept the code under neutron governance as the integration into AWS EC2 is into proprietary (non-open) components that would be difficult to validate on a continuous basis, and that is one of the basis for neutron governance acceptance. That said, the code itself could be hosted on the openstack namespace. More details can be found at:

https://docs.openstack.org/infra/manual/creators.html

Changed in neutron:
status: Confirmed → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.