Hi Trey, Ideally speaking, yes, we would like Melange to be the IP management solution for Nova. But there are enough impediments to this, not the least of which is migration for existing nova deployments to use Melange. So to achieve step 3, we could refactor the current network managers to work with an IP management abstraction (something like an 'ip_driver' for lack of a better name). Then using Melange for all of nova-network would mean an alternate implementation of this ip_driver that redirects all calls to the Melange REST Api. While this is easier said than done, if we are able to get to this, then using Melange or the existing nova IPAM becomes just a configuration option. Then, as and when people see value in Melange, they can take the steps necessary to move to it. And then the community can take a call on wether nova's current IPAM scheme is useful enough to be retained.
Thanks, Rajaram On Thu, Jul 28, 2011 at 10:32 AM, Trey Morris <trey.mor...@rackspace.com>wrote: > Just so we are all on the same page: step 3 refers to refactoring the > existing network managers to use melange, is the ultimate goal here for > melange to replace the current nova ip management scheme entirely? > > On Wed, Jul 27, 2011 at 11:10 PM, Troy Toman <troy.to...@rackspace.com>wrote: > >> At the Diablo summit, one of the outcomes from the networking discussions >> was the decision to build a separate IP address management system (IPAM). >> The work to deliver on this requirement has been done under the project name >> Melange. Melange is envisioned to provide network information services that >> can track IP blocks, subnets, address allocation and also manage gateway and >> NAT'ing information. Our target has been to encapsulate the required IPAM >> features into a separate service with a RESTful API. This would provide a >> way to isolate IP management and also provide a future, centralized service >> for other OpenStack offerings. >> >> In discussions over the past few weeks with Vish and other Nova core >> devs, it was recommended that we bring the Melange effort into the Nova >> project. There were several reasons feels like right direction. First, there >> is a great deal of refactoring that needs to be done with Nova's current IP >> management code and this approach would prevent doing it twice. The project >> is small enough that it doesn't seem to warrant a full-scale incubated >> project in FutureStack. Nova core devs could oversee the evolution and >> commits for Melange to ensure consistency and adequate coverage for Nova's >> needs. >> >> Based on this feedback, we are proposing a plan with the following >> steps: >> >> 1. Bring Melange into a subfolder within Nova. It would not share any >> code with nova, but it does use ‘dev infrastructure’ like run_tests.sh and >> pip-installs of nova. There is no direct coupling between the two, Nova >> interacts with Melange through REST. Melange development stack is similar to >> glance. >> >> 2. Integrate Melange into a new "NetStack" network manager that would >> exploit both Melange and Quantum >> >> 3. Use Melange to refactor Nova features such as DHCP, Floating IPs, HA >> IP allocation, Shared IPs >> >> With these ideas in mind, we will be making a merge prop within the next >> week or two to address step 1. There will be ample time to review code and >> comment on the merge prop. But, I wanted to provide and opportunity to >> discuss this approach ahead of time and point you to some resources to find >> out more about Melange so that no one is unprepared. >> >> There is a current Launchpad branch for Melange that can be found here: >> >> https://code.launchpad.net/~raxnetworking/nova/melange >> >> A draft API specification (still needs more formatting work but it's a >> start!): >> http://wiki.openstack.org/MelangeAPIBase >> >> Initial blueprints: >> >> https://blueprints.launchpad.net/nova/+spec/melange-network-info-svcs >> https://blueprints.launchpad.net/nova/+spec/melange-ipam >> >> <https://blueprints.launchpad.net/nova/+spec/melange-api><https://blueprints.launchpad.net/nova/+spec/melange-api> >> https://blueprints.launchpad.net/nova/+spec/melange-api >> https://blueprints.launchpad.net/nova/+spec/melange-address-discovery >> >> Please let me know if there are any other questions that we can field >> while we finalize our current work to prepare the code for a move into Nova. >> >> Thank you, >> Troy Toman >> This email may include confidential information. If you received it in >> error, please delete it. >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~openstack >> Post to : openstack@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~openstack >> More help : https://help.launchpad.net/ListHelp >> >> > > _______________________________________________ > Mailing list: https://launchpad.net/~openstack > Post to : openstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~openstack > More help : https://help.launchpad.net/ListHelp > >
_______________________________________________ Mailing list: https://launchpad.net/~openstack Post to : openstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~openstack More help : https://help.launchpad.net/ListHelp