[openstack-dev] [Neutron] Group Based Policy and the way forward
Robert Kukura
kukura at noironetworks.com
Tue Aug 5 17:13:39 UTC 2014
On 8/5/14, 11:04 AM, Gary Kotton wrote:
> Hi,
> Is there any description of how this will be consumed by Nova. My
> concern is this code landing there.
Hi Gary,
Initially, an endpoint's port_id is passed to Nova using "nova boot ...
--nic port-id=<port-uuid> ...", requiring no changes to Nova. Later,
slight enhancements to Nova would allow using commands such as "nova
boot ... --nic ep-id=<endpoint-uuid> ..." or "nova boot ... --nic
epg-id=<endpoint-group-uuid> ...".
-Bob
> Thanks
> Gary
>
> From: Robert Kukura <kukura at noironetworks.com
> <mailto:kukura at noironetworks.com>>
> Reply-To: OpenStack List <openstack-dev at lists.openstack.org
> <mailto:openstack-dev at lists.openstack.org>>
> Date: Tuesday, August 5, 2014 at 5:20 PM
> To: OpenStack List <openstack-dev at lists.openstack.org
> <mailto:openstack-dev at lists.openstack.org>>
> Subject: Re: [openstack-dev] [Neutron] Group Based Policy and the way
> forward
>
> On 8/4/14, 4:27 PM, Mark McClain wrote:
>> All-
>>
>> tl;dr
>>
>> * Group Based Policy API is the kind of experimentation we be should
>> attempting.
>> * Experiments should be able to fail fast.
>> * The master branch does not fail fast.
>> * StackForge is the proper home to conduct this experiment.
> The disconnect here is that the Neutron group-based policy sub-team
> that has been implementing this feature for Juno does not see this
> work as an experiment to gather data, but rather as an important
> innovative feature to put in the hands of early adopters in Juno and
> into widespread deployment with a stable API as early as Kilo.
>
> The group-based policy BP approved for Juno addresses the critical
> need for a more usable, declarative, intent-based interface for cloud
> application developers and deployers, that can co-exist with Neutron's
> current networking-hardware-oriented API and work nicely with all
> existing core plugins. Additionally, we believe that this declarative
> approach is what is needed to properly integrate advanced services
> into Neutron, and will go a long way towards resolving the
> difficulties so far trying to integrate LBaaS, FWaaS, and VPNaaS APIs
> into the current Neutron model.
>
> Like any new service API in Neutron, the initial group policy API
> release will be subject to incompatible changes before being declared
> "stable", and hence would be labeled "experimental" in Juno. This does
> not mean that it is an experiment where to "fail fast" is an
> acceptable outcome. The sub-team's goal is to stabilize the group
> policy API as quickly as possible, making any needed changes based on
> early user and operator experience.
>
> The L and M cycles that Mark suggests below to "revisit the status"
> are a completely different time frame. By the L or M cycle, we should
> be working on a new V3 Neutron API that pulls these APIs together into
> a more cohesive core API. We will not be in a position to do this
> properly without the experience of using the proposed group policy
> extension with the V2 Neutron API in production.
>
> If we were failing miserably, or if serious technical issues were
> being identified with the patches, some delay might make sense. But,
> other than Mark's -2 blocking the initial patches from merging, we are
> on track to complete the planned work in Juno.
>
> -Bob
>>
>>
>> Why this email?
>> ---------------
>> Our community has been discussing and working on Group Based Policy
>> (GBP) for many months. I think the discussion has reached a point
>> where we need to openly discuss a few issues before moving forward.
>> I recognize that this discussion could create frustration for those
>> who have invested significant time and energy, but the reality is we
>> need ensure we are making decisions that benefit all members of our
>> community (users, operators, developers and vendors).
>>
>> Experimentation
>> ----------------
>> I like that as a community we are exploring alternate APIs. The
>> process of exploring via real user experimentation can produce
>> valuable results. A good experiment should be designed to fail fast
>> to enable further trials via rapid iteration.
>>
>> Merging large changes into the master branch is the exact opposite of
>> failing fast.
>>
>> The master branch deliberately favors small iterative changes over
>> time. Releasing a new version of the proposed API every six months
>> limits our ability to learn and make adjustments.
>>
>> In the past, we've released LBaaS, FWaaS, and VPNaaS as experimental
>> APIs. The results have been very mixed as operators either shy away
>> from testing/offering the API or embrace the API with the expectation
>> that the community will provide full API support and migration. In
>> both cases, the experiment fails because we either could not get the
>> data we need or are unable to make significant changes without
>> accepting a non-trivial amount of technical debt via migrations or
>> draft API support.
>>
>> Next Steps
>> ----------
>> Previously, the GPB subteam used a Github account to host the
>> development, but the workflows and tooling do not align with
>> OpenStack's development model. I'd like to see us create a group
>> based policy project in StackForge. StackForge will host the code
>> and enable us to follow the same open review and QA processes we use
>> in the main project while we are developing and testing the API. The
>> infrastructure there will benefit us as we will have a separate
>> review velocity and can frequently publish libraries to PyPI. From a
>> technical perspective, the 13 new entities in GPB [1] do not require
>> any changes to internal Neutron data structures. The docs[2] also
>> suggest that an external plugin or service would work to make it
>> easier to speed development.
>>
>> End State
>> ---------
>> APIs require time to fully bake and right now it is too early to know
>> the final outcome. Using StackForge will allow the team to retain
>> all of its options including: merging the code into Neutron, adopting
>> the repository as sub-project of the Network Program, leaving the
>> project in StackForge project or learning that users want something
>> completely different. I would expect that we'll revisit the status
>> of the repo during the L or M cycles since the Kilo development cycle
>> does not leave enough time to experiment and iterate.
>>
>>
>> mark
>>
>> [1]
>> http://git.openstack.org/cgit/openstack/neutron-specs/tree/specs/juno/group-based-policy-abstraction.rst#n370
>> [2]
>> https://docs.google.com/presentation/d/1Nn1HjghAvk2RTPwvltSrnCUJkidWKWY2ckU7OYAVNpo/edit#slide=id.g12c5a79d7_4078
>> <https://urldefense.proofpoint.com/v1/url?u=https://docs.google.com/presentation/d/1Nn1HjghAvk2RTPwvltSrnCUJkidWKWY2ckU7OYAVNpo/edit%23slide%3Did.g12c5a79d7_4078&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=eH0pxTUZo8NPZyF6hgoMQu%2BfDtysg45MkPhCZFxPEq8%3D%0A&m=cIUH5RoLkViWURawHObcnSgnma3z8rgd7F6cm454AZA%3D%0A&s=8159972efd976c5b98ebb1ab48249c7a32c90d4ff5d5c23a04d140dc241ab1ae>
>>
>> [3]
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.orghttp://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140805/fcf6aa2f/attachment.html>
More information about the OpenStack-dev
mailing list