Re: [openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
Hi, There are mainly two things you need to know when proposing a new Neutron Plugin (or even any Openstack feature): - The process [0]; - The tools [1]. Although the above documents cover those two points pretty well, I can give you a high level overview of what the process looks like. I'll not cover the how to implement a plugin part since it looks like you are already past that :) In order to add a new plugin/feature to the neutron repo, you first need to propose it through our *specification process*. The first step is to file a blueprint on launchpad [2] (register a blueprint), in which you very briefly explain what you are trying to attempt. You can find many examples on how to write a blueprint in [2], but it'll more or less look like this: *name: ferryboat-l2-plugin**title: L2 Neutron Plugin for supporting Ferryboat framework* *Summary:* *This proposal tracks the implementation of a new Neutron core plugin which allows the user **to implement L2 networks on the Ferryboat technology. In its first release, the plugin will support:* *- Port, Subnet, Network APIs;* *- Router APIs;**- Floating IPs;* *Security group support is planned for further iterations.* Once you have filed the blueprint, you can publish your spec[3](look at Spec + Blueprints lifecycle section) in the spec repo[4]. To do that, follow the Gerrit Workflow ([1] for details). In a nutshell, you need to: - Clone the spec repository locally, - Write a specification following the template, it should be targeted to Kilo (specs/kilo) - Run git review so that it can be reviewed by the core dev team. Once you do that, you spec will be published for review in the Openstack's review board [5], where it'll have to wait for some core reviewer's attention in order to get approved. Now to the actual patch: When the specification gets approved (or even in parallel actually), you can publish you Ferryboat plugin code for review just like you did for the spec. GerritWorkflow[1] will provide you a very clear understanding on how to configure/use git in order to be able to do that. So, again, you'll have to clone the Neutron's repository, add your code in a local branch properly named, and then run git review so that it gets published in the review board. In order to get approved and finally merged in the main Neutron repo, your plugin needs to pass at least the following criteria: - Pass all the unit tests; - Its own unit tests have to be implemented! With as much code coverage as possible; - The Spec discussed above have to be approved and properly targeted; - A *Third party CI system [5] *needs to be in place and positively voting your patch; - At least 2 core developers need to approve the patch based on its compliance in terms of functionalities and code quality. For those who implement a Neutron plugin for the first time, the Third Party Ci system is usually the moment in which things get very hard! The documentation pointed in [5][6], plus participating the weakly CI meetings, should be enough for you to understand what needs to be done. Very rapidly, Neutron needs to make sure that your plugin actually works, and you want to make sure that no changes are trying to break your plugin! To reach the goal, you'll need to setup a continuous integration system at home which votes a rightful amount of patches in review in order to validate that your implementation is not broken. Without a CI in place you plugin won't be approved, and removed if already in tree. The above should cover roughly 60% of the whole process, there are other small details like the commit format, unit testing, and other things that would be useless to overload here. More than that, I suggest you to go on the IRC channels and look for help there. My IRC alias is ivar-lazzaro, feel free to contact me :) Last but not least, the first push in Openstack (especially if it's something so big as a vendor plugin) is always tough! You'll go through a TON of review rounds and nasty issues. But don't be discouraged! It gets way better once you grasp the whole process :) Cheers, Ivar. [0] https://wiki.openstack.org/wiki/NeutronDevelopment [1] https://wiki.openstack.org/wiki/Gerrit_Workflow [2] https://launchpad.net/neutron [3] https://wiki.openstack.org/wiki/Neutron/BlueprintTemplate [4] https://github.com/openstack/neutron-specs [5] https://review.openstack.org/#/q/status:open+project:openstack/neutron-specs,n,z [4] https://github.com/openstack/neutron https://github.com/openstack/neutron-specs [5] https://wiki.openstack.org/wiki/NeutronThirdPartyTesting [6] http://ci.openstack.org/third_party.html [7] https://wiki.openstack.org/wiki/IRC On Sun, Oct 5, 2014 at 9:51 PM, thanh le giang legiangth...@gmail.com wrote: Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page ( https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to
Re: [openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA512 On 06/10/14 06:51, thanh le giang wrote: Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page (https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to neutron repository. Could you please share me the process? Note that there are discussions to move all (or most) plugins outside the neutron tree (can't find the link atm, but it's mentioned in [1]). So in the end, your plugin may end up in a separate repository. [1]: https://etherpad.openstack.org/p/kilo-neutron-summit-topics /Ihar -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iQEaBAEBCgAGBQJUNDzwAAoJEC5aWaUY1u57O08H8Pwm93FbLr7SR9LUiVg114eJ 9jKsuhOBartQMidKHXMfCTxC6lYtqFkaZdjnHuZ6ADFAQsDEzucHxHiJZx0SmiIs uD0NJeqLrS3UR0RJZMya5InfF1wso7B3CAXuGejAuQB0D08K7qR3nSRNGqcUn3k5 RVn6JNJk5DicuXrtrOOzvlUuPNeHx9b1/YfKhiC2J1Bl1WttOXzedZMXcRhlTBGN wtWfyl4OzKLHPTvumUkT6NMoHyg0zHs/FBM7caOOzo3xsA+pq89E6q+mY5un6zUy KKQI36zhIBvVUE0eIqekm9zqV+2AJxQnb+H6U4vRrAFMxjArvjUpgnLDN70T =ow33 -END PGP SIGNATURE- ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
If you are thinking about adding a new neutron core plugin, please consider whether you could accomplish what you need with an ML2 MechanismDriver instead. Its a lot less code to write, review, and maintain. -Bob On 10/6/14 12:51 AM, thanh le giang wrote: Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page (https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to neutron repository. Could you please share me the process? Thanks and best regards, -- L.G.Thanh Email:legiangt...@gmail.com mailto:legiangth...@gmail.com lgth...@fit.hcmus.edu.vn mailto:lgth...@fit.hcmus.edu.vn ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
On Tue, Oct 7, 2014 at 2:20 PM, Ihar Hrachyshka ihrac...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA512 On 06/10/14 06:51, thanh le giang wrote: Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page (https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to neutron repository. Could you please share me the process? Note that there are discussions to move all (or most) plugins outside the neutron tree (can't find the link atm, but it's mentioned in [1]). So in the end, your plugin may end up in a separate repository. [1]: https://etherpad.openstack.org/p/kilo-neutron-summit-topics Yes, this is very likely to happen in Kilo and it's one of the refactoring related items the team will focus on in Kilo. I hope next week to have this more documented on an etherpad for folks to consume prior to the Summit. Thanks, Kyle /Ihar -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iQEaBAEBCgAGBQJUNDzwAAoJEC5aWaUY1u57O08H8Pwm93FbLr7SR9LUiVg114eJ 9jKsuhOBartQMidKHXMfCTxC6lYtqFkaZdjnHuZ6ADFAQsDEzucHxHiJZx0SmiIs uD0NJeqLrS3UR0RJZMya5InfF1wso7B3CAXuGejAuQB0D08K7qR3nSRNGqcUn3k5 RVn6JNJk5DicuXrtrOOzvlUuPNeHx9b1/YfKhiC2J1Bl1WttOXzedZMXcRhlTBGN wtWfyl4OzKLHPTvumUkT6NMoHyg0zHs/FBM7caOOzo3xsA+pq89E6q+mY5un6zUy KKQI36zhIBvVUE0eIqekm9zqV+2AJxQnb+H6U4vRrAFMxjArvjUpgnLDN70T =ow33 -END PGP SIGNATURE- ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
Re: [openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
I agree to @Kukura that implement as a driver to ML2 is recommend. Regards, Wei Wang 2014-10-08 3:57 GMT+08:00 Kyle Mestery mest...@mestery.com: On Tue, Oct 7, 2014 at 2:20 PM, Ihar Hrachyshka ihrac...@redhat.com wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA512 On 06/10/14 06:51, thanh le giang wrote: Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page (https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to neutron repository. Could you please share me the process? Note that there are discussions to move all (or most) plugins outside the neutron tree (can't find the link atm, but it's mentioned in [1]). So in the end, your plugin may end up in a separate repository. [1]: https://etherpad.openstack.org/p/kilo-neutron-summit-topics Yes, this is very likely to happen in Kilo and it's one of the refactoring related items the team will focus on in Kilo. I hope next week to have this more documented on an etherpad for folks to consume prior to the Summit. Thanks, Kyle /Ihar -BEGIN PGP SIGNATURE- Version: GnuPG/MacGPG2 v2.0.22 (Darwin) iQEaBAEBCgAGBQJUNDzwAAoJEC5aWaUY1u57O08H8Pwm93FbLr7SR9LUiVg114eJ 9jKsuhOBartQMidKHXMfCTxC6lYtqFkaZdjnHuZ6ADFAQsDEzucHxHiJZx0SmiIs uD0NJeqLrS3UR0RJZMya5InfF1wso7B3CAXuGejAuQB0D08K7qR3nSRNGqcUn3k5 RVn6JNJk5DicuXrtrOOzvlUuPNeHx9b1/YfKhiC2J1Bl1WttOXzedZMXcRhlTBGN wtWfyl4OzKLHPTvumUkT6NMoHyg0zHs/FBM7caOOzo3xsA+pq89E6q+mY5un6zUy KKQI36zhIBvVUE0eIqekm9zqV+2AJxQnb+H6U4vRrAFMxjArvjUpgnLDN70T =ow33 -END PGP SIGNATURE- ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
[openstack-dev] [Neutron] how to add a new plugin to the neutron repo?
Hi all I want to add a plugin to the Public Neutron Repository. Although I have read the gerrit workflow and Neutron Development page ( https://wiki.openstack.org/wiki/NeutronDevelopment), I don't know clearly how we can add our plugin to neutron repository. Could you please share me the process? Thanks and best regards, -- L.G.Thanh Email: legiangt...@gmail.com legiangth...@gmail.com lgth...@fit.hcmus.edu.vn ___ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev