Re: [openstack-dev] [ironic][neutron] ML2 plugin for Ironic needs

2016-10-11 Thread Jim Rollenhagen
On Mon, Oct 10, 2016 at 4:32 AM, Vasyl Saienko  wrote:
> Hello Community,
>
>
> Ironic and Neutron projects have become integrated even closer with
> multitenancy implementation in Ironic.
>
> There are 2 bugs that require separate ML2 driver specifically for Ironic
> needs:
>
>
> Booting ironic instance, Neutron port remains in down state [0]
>
> Ironic needs to synchronize port status change events with Neutron [1]
>
>
> I was told (commented) that keeping code in Neutron tree is not right
> approach [2]. Of course I agree that Neutron has powerful and flexible
> support of out-of-tree ML2 drivers and such functionality must be a separate
> ML2 plugin.
>
>
> So the question to consult with the whole community:
>
> Do we need a new networking-ironic-* ML2 driver?
>
>
> To fix [0] and [1] we can use existing networking-generic-switch [3] ML2
> driver [4,5]. It was designed specially for Ironic case. It already helps us
> to test Ironic multitenancy on the gates.
>
>
> My team would prefer supporting one driver without multiplying entities.

So I think I said before I'd prefer this to be a separate repo.

Thinking about it more, if we'll be doing [1] in the ML2 driver, this reinforces
it for me. Other ML2 drivers (like Arista's) may want to also make callbacks
to ironic, so I think it's best for the community if the callback bits
are a separate
library. Which means to me that it isn't much work to maintain a separate
driver to fix [0], since the code for [1] will be a library anyway.

That said, I'm still open to the fix for [0] being in networking-generic-switch,
if that's what the community prefers. As long as the callback mechanism
is a library so other vendors can use it. :)

I think I'd be fine with putting some/all of these under ironic governance,
so that the community can help maintain it, but we can have a separate
conversation about that.

// jim

>
>
> [0] https://bugs.launchpad.net/neutron/+bug/1599836
>
> [1] https://bugs.launchpad.net/ironic/+bug/1304673
>
> [2] https://bugs.launchpad.net/neutron/+bug/1610898
>
> [3] https://github.com/openstack/networking-generic-switch
>
> [4] https://review.openstack.org/357779
>
> [5] https://review.openstack.org/357780
>
>
>
> Sincerely,
> Vasyl Saienko
>
> __
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [ironic][neutron] ML2 plugin for Ironic needs

2016-10-11 Thread Ihar Hrachyshka

Vasyl Saienko  wrote:


Hello Community,

Ironic and Neutron projects have become integrated even closer with  
multitenancy implementation in Ironic.
There are 2 bugs that require separate ML2 driver specifically for Ironic  
needs:


• Booting ironic instance, Neutron port remains in down state [0]
• Ironic needs to synchronize port status change events with Neutron [1]

I was told (commented) that keeping code in Neutron tree is not right  
approach [2]. Of course I agree that Neutron has powerful and flexible  
support of out-of-tree ML2 drivers and such functionality must be a  
separate ML2 plugin.


So the question to consult with the whole community:
Do we need a new networking-ironic-* ML2 driver?

To fix [0] and [1] we can use existing networking-generic-switch [3] ML2  
driver [4,5]. It was designed specially for Ironic case. It already helps  
us to test Ironic multitenancy on the gates.


My team would prefer supporting one driver without multiplying entities.


If I understand the matter correctly, Ironic may want to adopt the existing  
repository as part of its official deliverables, so probably governance  
discussion should happen between ironic and networking-generic-switch core  
teams. (At the moment, the driver is not even part of Big Tent).  
Alternatively, Ironic may just declare dependency on that other project for  
its networking multi-tenancy.


What I see in the code, the ml2 driver just executes switch specific  
commands via ssh, so the device driver is just a declaration of those  
commands, with some substitution involved. Meaning, the switch specific  
code is really tiny, and should not be a huge burden to maintain for Ironic  
team if they choose so.


To answer your question, I don’t think we need another driver if an  
existing one may cover your needs, but governance should be considered.  
That said, seeing you in the core team of the existing driver repo, I  
believe it’s solvable.


Ihar

__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [ironic][neutron] ML2 plugin for Ironic needs

2016-10-10 Thread Vasyl Saienko
Hello Community,

Ironic and Neutron projects have become integrated even closer with
multitenancy implementation in Ironic.

There are 2 bugs that require separate ML2 driver specifically for Ironic
needs:


   -

   Booting ironic instance, Neutron port remains in down state [0]
   -

   Ironic needs to synchronize port status change events with Neutron [1]


I was told (commented) that keeping code in Neutron tree is not right
approach [2]. Of course I agree that Neutron has powerful and flexible
support of out-of-tree ML2 drivers and such functionality must be a
separate ML2 plugin.

So the question to consult with the whole community:

Do we need a new networking-ironic-* ML2 driver?

To fix [0] and [1] we can use existing networking-generic-switch [3] ML2
driver [4,5]. It was designed specially for Ironic case. It already helps
us to test Ironic multitenancy on the gates.

My team would prefer supporting one driver without multiplying entities.

[0] https://bugs.launchpad.net/neutron/+bug/1599836

[1] https://bugs.launchpad.net/ironic/+bug/1304673

[2] https://bugs.launchpad.net/neutron/+bug/1610898

[3] https://github.com/openstack/networking-generic-switch

[4] https://review.openstack.org/357779

[5] https://review.openstack.org/357780


Sincerely,
Vasyl Saienko
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev