You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Hugo Trippaers <HT...@schubergphilis.com> on 2012/06/04 20:09:27 UTC

SDN integration with CloudStack

Heya All,

This week we will be working from the Nicira office on integrating SDN with CloudStack. In the recent discussion thread "making VM startup more fine-grained" one of our questions is already addressed.

Another more basic question is how do we get our NetworkGuru to be used/selected by CloudStack when we build a new network. Basically what we want to do is when a guest network is created it should call our NetworkGuru to create the logical switch in the SDN and when a VM is started it should plug the NIC into an lport. The code to get this done is looking straight forward (except for the vif uuid discussion mentioned earlier). What has me baffled is the way to "plug" the new guru into CloudStack, how do we do this?

I  was looking at code commited by Salvatore as the OVS GRE implementation looks similar to what I intend to do. It appears he is in the process of adding a Service "Connectivity", is this the way to do it?

In the end I want to be able to create one or two networkofferings for the SDN integration, so my Guru gets called when a new network is created. How do I do this?

Cheers,

Hugo

RE: SDN integration with CloudStack

Posted by Hugo Trippaers <HT...@schubergphilis.com>.
Hey Salvatore,

Thanks a lot for the review!  I'm already working on the things you and Chiradeep mentioned. I hope to have most of the feedback integrated this week.

The nicira-phase1 branch is the most update version and should contain everything to make it work already. It's just a bit messy, I'll make a new nicira-phase1-clean branch when I've split up the patches. That should make it easier to see what really changed.

Cheers,

Hugo

-----Original Message-----
From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com] 
Sent: Tuesday, June 19, 2012 6:24 PM
To: cloudstack-dev@incubator.apache.org
Subject: RE: SDN integration with CloudStack

Hugo,
I have reviewed your phase-1 patch.
I now understand this is just the client-side code for the Nicira API plus the Guru and the Element.
It looks great. I've left some comments on github and I look forward at looking at the code for the remaining part - which should be the integration with the Cloudstack network manager.

Thanks,
Salvatore

> -----Original Message-----
> From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> Sent: 19 June 2012 09:22
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hugo,
> I am starting to look at the patch, hopefully will be able to add 
> something on top of Chiradeep already-comprehensive review.
> 
> Just a curiosity: did you already split the patch as suggested by Chiradeep?
> For instance, I cannot find in the patch the changes to 
> com.cloud.network.PhysicalNetwork.IsolationMethod.
> Otherwise, can I just checkout the Nicira-phase-1 branch on your 
> github profile?
> 
> Thanks,
> Salvatore
> 
> > -----Original Message-----
> > From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> > Sent: 18 June 2012 11:23
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Hugo,
> >
> > Unfortunately I did not yet find some time to review this code. I 
> > have earmarked some time during this week to have a look at it.
> >
> > Cheers and thanks again for contributing this code, Salvatore
> >
> > > -----Original Message-----
> > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > Sent: 18 June 2012 08:28
> > > To: 'cloudstack-dev@incubator.apache.org'
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Hey Salvatore,
> > >
> > > Did you have a chance to look at my NiciraNVP code? I tried to 
> > > implement it with the same idea to use the isolation method to 
> > > determine which Guru will respond. It would be nice if our ideas 
> > > and code
> > are more or less aligned.
> > >
> > > Cheers,
> > >
> > > Hugo
> > >
> > > -----Original Message-----
> > > From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> > > Sent: Wednesday, June 06, 2012 5:48 PM
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Hugo,
> > >
> > > The Email thread Alex was referring to is "Open vSwitch tunnel 
> > > Manager (aka Cloudstack SDN) - community feedback required!"
> > > I actually started doing some work in this direction, but then 
> > > focused on something else.
> > >
> > > My goal was to get rid of the global configuration flag, in my 
> > > case sdn.ovs.controller, and leverage instead the "Isolation 
> > > method" for a physical network, modifying the network manager, the 
> > > network guru and possibly the network element in order to make this happen.
> > >
> > > As Alex says, the most important bit is having your own network 
> > > guru, and making sure that guru alone is invoked when your  
> > > physical network uses an external controller, which involves code 
> > > changes in the network manager itself. I hope the information in 
> > > the above mentioned thread might add something on top of the info 
> > > Alex provided in this thread. In the meanwhile, let me know if 
> > > there's anything else I can help
> > you with.
> > >
> > > Salvatore
> > >
> > >
> > > > -----Original Message-----
> > > > From: Alex Huang [mailto:Alex.Huang@citrix.com]
> > > > Sent: 05 June 2012 05:10
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: RE: SDN integration with CloudStack
> > > >
> > > > Hi Hugo,
> > > >
> > > > The isolation method/technology part is definitely more work 
> > > > because today it all assumes the technology is vlan.
> > > >
> > > > You will need to do the following:
> > > >
> > > > - Add a new column to physical network that says what is the 
> > > > supported isolation technology.  VLAN will be one value.  SDN 
> > > > will be
> > another.
> > > > - Add to NetworkGuru to retrieve the supported isolation technology.
> > > > - Make changes to the NetworkManager such that it selects the 
> > > > correct NetworkGuru based on the supported isolation technology 
> > > > and the isolation technology defined on the physical network.
> > > > - Make changes to the UI to allow different configurations when 
> > > > the isolation technology is VLAN vs SDN.
> > > >
> > > > By doing this then, cloudstack can be shipped with two different 
> > > > types of isolation technologies and the admin can choose which 
> > > > one they want to use for each zone.
> > > >
> > > > By changing the components.xml alone, assuming you commented out
> > the
> > > > other guest network gurus and only have the sdn one in means 
> > > > there will be a divergence in deployed configuration files.
> > > >
> > > > --Alex
> > > >
> > > > > -----Original Message-----
> > > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > > Sent: Monday, June 04, 2012 3:11 PM
> > > > > To: cloudstack-dev@incubator.apache.org
> > > > > Subject: RE: SDN integration with CloudStack
> > > > >
> > > > > Thanks Alex.
> > > > >
> > > > > I've edited components.xml and  I'm seeing my new guru being 
> > > > > accessed now.
> > > > >
> > > > > How do i go about adding the new isolation method, i've added 
> > > > > a new type to the IsolationMethod enum in PhysicalNetwork 
> > > > > called SDN, but i think that is not the only thing i need to 
> > > > > do. Can you give me some
> > > > pointers?
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Hugo
> > > > >
> > > > >
> > > > > ________________________________________
> > > > > From: Alex Huang [Alex.Huang@citrix.com]
> > > > > Sent: Monday, June 04, 2012 8:18 PM
> > > > > To: cloudstack-dev@incubator.apache.org
> > > > > Subject: RE: SDN integration with CloudStack
> > > > >
> > > > > You would make changes in the components.xml to make your
> > > > NetworkGuru
> > > > > the default.
> > > > >
> > > > > As I described to Salvatore in another email, the best way is 
> > > > > to add an isolation method parameter to physical network.  
> > > > > This isolation method will drive the selection of the 
> > > > > NetworkGuru for the guest network.  Right now, we assume the 
> > > > > isolation method is
> > always VLAN.
> > > > > But it would be best to add to the guest traffic type, the 
> > > > > isolation method used at the physical network level.  Then, 
> > > > > NetworkManager chooses the NetworkGuru depending on the
> physical
> > isolation used.
> > > > >
> > > > > --Alex
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > > > Sent: Monday, June 04, 2012 11:09 AM
> > > > > > To: 'cloudstack-dev@incubator.apache.org'
> > > > > > Subject: SDN integration with CloudStack
> > > > > >
> > > > > > Heya All,
> > > > > >
> > > > > > This week we will be working from the Nicira office on 
> > > > > > integrating SDN with CloudStack. In the recent discussion 
> > > > > > thread "making VM startup more fine- grained" one of our 
> > > > > > questions is
> > already addressed.
> > > > > >
> > > > > > Another more basic question is how do we get our NetworkGuru 
> > > > > > to be used/selected by CloudStack when we build a new network.
> > > > > > Basically what we want to do is when a guest network is 
> > > > > > created it should call our NetworkGuru to create the logical 
> > > > > > switch in the SDN and when a VM is started it should plug 
> > > > > > the NIC into an lport. The code to get this done is looking 
> > > > > > straight forward (except for the vif uuid discussion 
> > > > > > mentioned earlier). What has me baffled is the way to "plug" 
> > > > > > the new guru into CloudStack, how do
> > we do this?
> > > > > >
> > > > > > I  was looking at code commited by Salvatore as the OVS GRE 
> > > > > > implementation looks similar to what I intend to do. It 
> > > > > > appears he is in the process of adding a Service 
> > > > > > "Connectivity", is this the way to do
> > > > it?
> > > > > >
> > > > > > In the end I want to be able to create one or two 
> > > > > > networkofferings for the SDN integration, so my Guru gets 
> > > > > > called when a new network is created. How do I do this?
> > > > > >
> > > > > > Cheers,
> > > > > >
> > > > > > Hugo

RE: SDN integration with CloudStack

Posted by Salvatore Orlando <Sa...@eu.citrix.com>.
Hugo, 
I have reviewed your phase-1 patch.
I now understand this is just the client-side code for the Nicira API plus the Guru and the Element.
It looks great. I've left some comments on github and I look forward at looking at the code for the remaining part - which should be the integration with the Cloudstack network manager.

Thanks,
Salvatore

> -----Original Message-----
> From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> Sent: 19 June 2012 09:22
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hugo,
> I am starting to look at the patch, hopefully will be able to add something on
> top of Chiradeep already-comprehensive review.
> 
> Just a curiosity: did you already split the patch as suggested by Chiradeep?
> For instance, I cannot find in the patch the changes to
> com.cloud.network.PhysicalNetwork.IsolationMethod.
> Otherwise, can I just checkout the Nicira-phase-1 branch on your github
> profile?
> 
> Thanks,
> Salvatore
> 
> > -----Original Message-----
> > From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> > Sent: 18 June 2012 11:23
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Hugo,
> >
> > Unfortunately I did not yet find some time to review this code. I have
> > earmarked some time during this week to have a look at it.
> >
> > Cheers and thanks again for contributing this code, Salvatore
> >
> > > -----Original Message-----
> > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > Sent: 18 June 2012 08:28
> > > To: 'cloudstack-dev@incubator.apache.org'
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Hey Salvatore,
> > >
> > > Did you have a chance to look at my NiciraNVP code? I tried to
> > > implement it with the same idea to use the isolation method to
> > > determine which Guru will respond. It would be nice if our ideas and
> > > code
> > are more or less aligned.
> > >
> > > Cheers,
> > >
> > > Hugo
> > >
> > > -----Original Message-----
> > > From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> > > Sent: Wednesday, June 06, 2012 5:48 PM
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Hugo,
> > >
> > > The Email thread Alex was referring to is "Open vSwitch tunnel
> > > Manager (aka Cloudstack SDN) - community feedback required!"
> > > I actually started doing some work in this direction, but then
> > > focused on something else.
> > >
> > > My goal was to get rid of the global configuration flag, in my case
> > > sdn.ovs.controller, and leverage instead the "Isolation method" for
> > > a physical network, modifying the network manager, the network guru
> > > and possibly the network element in order to make this happen.
> > >
> > > As Alex says, the most important bit is having your own network
> > > guru, and making sure that guru alone is invoked when your  physical
> > > network uses an external controller, which involves code changes in
> > > the network manager itself. I hope the information in the above
> > > mentioned thread might add something on top of the info Alex
> > > provided in this thread. In the meanwhile, let me know if there's
> > > anything else I can help
> > you with.
> > >
> > > Salvatore
> > >
> > >
> > > > -----Original Message-----
> > > > From: Alex Huang [mailto:Alex.Huang@citrix.com]
> > > > Sent: 05 June 2012 05:10
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: RE: SDN integration with CloudStack
> > > >
> > > > Hi Hugo,
> > > >
> > > > The isolation method/technology part is definitely more work
> > > > because today it all assumes the technology is vlan.
> > > >
> > > > You will need to do the following:
> > > >
> > > > - Add a new column to physical network that says what is the
> > > > supported isolation technology.  VLAN will be one value.  SDN will
> > > > be
> > another.
> > > > - Add to NetworkGuru to retrieve the supported isolation technology.
> > > > - Make changes to the NetworkManager such that it selects the
> > > > correct NetworkGuru based on the supported isolation technology
> > > > and the isolation technology defined on the physical network.
> > > > - Make changes to the UI to allow different configurations when
> > > > the isolation technology is VLAN vs SDN.
> > > >
> > > > By doing this then, cloudstack can be shipped with two different
> > > > types of isolation technologies and the admin can choose which one
> > > > they want to use for each zone.
> > > >
> > > > By changing the components.xml alone, assuming you commented out
> > the
> > > > other guest network gurus and only have the sdn one in means there
> > > > will be a divergence in deployed configuration files.
> > > >
> > > > --Alex
> > > >
> > > > > -----Original Message-----
> > > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > > Sent: Monday, June 04, 2012 3:11 PM
> > > > > To: cloudstack-dev@incubator.apache.org
> > > > > Subject: RE: SDN integration with CloudStack
> > > > >
> > > > > Thanks Alex.
> > > > >
> > > > > I've edited components.xml and  I'm seeing my new guru being
> > > > > accessed now.
> > > > >
> > > > > How do i go about adding the new isolation method, i've added a
> > > > > new type to the IsolationMethod enum in PhysicalNetwork called
> > > > > SDN, but i think that is not the only thing i need to do. Can
> > > > > you give me some
> > > > pointers?
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Hugo
> > > > >
> > > > >
> > > > > ________________________________________
> > > > > From: Alex Huang [Alex.Huang@citrix.com]
> > > > > Sent: Monday, June 04, 2012 8:18 PM
> > > > > To: cloudstack-dev@incubator.apache.org
> > > > > Subject: RE: SDN integration with CloudStack
> > > > >
> > > > > You would make changes in the components.xml to make your
> > > > NetworkGuru
> > > > > the default.
> > > > >
> > > > > As I described to Salvatore in another email, the best way is to
> > > > > add an isolation method parameter to physical network.  This
> > > > > isolation method will drive the selection of the NetworkGuru for
> > > > > the guest network.  Right now, we assume the isolation method is
> > always VLAN.
> > > > > But it would be best to add to the guest traffic type, the
> > > > > isolation method used at the physical network level.  Then,
> > > > > NetworkManager chooses the NetworkGuru depending on the
> physical
> > isolation used.
> > > > >
> > > > > --Alex
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > > > Sent: Monday, June 04, 2012 11:09 AM
> > > > > > To: 'cloudstack-dev@incubator.apache.org'
> > > > > > Subject: SDN integration with CloudStack
> > > > > >
> > > > > > Heya All,
> > > > > >
> > > > > > This week we will be working from the Nicira office on
> > > > > > integrating SDN with CloudStack. In the recent discussion
> > > > > > thread "making VM startup more fine- grained" one of our
> > > > > > questions is
> > already addressed.
> > > > > >
> > > > > > Another more basic question is how do we get our NetworkGuru
> > > > > > to be used/selected by CloudStack when we build a new network.
> > > > > > Basically what we want to do is when a guest network is
> > > > > > created it should call our NetworkGuru to create the logical
> > > > > > switch in the SDN and when a VM is started it should plug the
> > > > > > NIC into an lport. The code to get this done is looking
> > > > > > straight forward (except for the vif uuid discussion mentioned
> > > > > > earlier). What has me baffled is the way to "plug" the new
> > > > > > guru into CloudStack, how do
> > we do this?
> > > > > >
> > > > > > I  was looking at code commited by Salvatore as the OVS GRE
> > > > > > implementation looks similar to what I intend to do. It
> > > > > > appears he is in the process of adding a Service
> > > > > > "Connectivity", is this the way to do
> > > > it?
> > > > > >
> > > > > > In the end I want to be able to create one or two
> > > > > > networkofferings for the SDN integration, so my Guru gets
> > > > > > called when a new network is created. How do I do this?
> > > > > >
> > > > > > Cheers,
> > > > > >
> > > > > > Hugo

RE: SDN integration with CloudStack

Posted by Salvatore Orlando <Sa...@eu.citrix.com>.
Hugo,
I am starting to look at the patch, hopefully will be able to add something on top of Chiradeep already-comprehensive review.

Just a curiosity: did you already split the patch as suggested by Chiradeep? For instance, I cannot find in the patch the changes to com.cloud.network.PhysicalNetwork.IsolationMethod.
Otherwise, can I just checkout the Nicira-phase-1 branch on your github profile?

Thanks,
Salvatore

> -----Original Message-----
> From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> Sent: 18 June 2012 11:23
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hugo,
> 
> Unfortunately I did not yet find some time to review this code. I have
> earmarked some time during this week to have a look at it.
> 
> Cheers and thanks again for contributing this code, Salvatore
> 
> > -----Original Message-----
> > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > Sent: 18 June 2012 08:28
> > To: 'cloudstack-dev@incubator.apache.org'
> > Subject: RE: SDN integration with CloudStack
> >
> > Hey Salvatore,
> >
> > Did you have a chance to look at my NiciraNVP code? I tried to
> > implement it with the same idea to use the isolation method to
> > determine which Guru will respond. It would be nice if our ideas and code
> are more or less aligned.
> >
> > Cheers,
> >
> > Hugo
> >
> > -----Original Message-----
> > From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> > Sent: Wednesday, June 06, 2012 5:48 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Hugo,
> >
> > The Email thread Alex was referring to is "Open vSwitch tunnel Manager
> > (aka Cloudstack SDN) - community feedback required!"
> > I actually started doing some work in this direction, but then focused
> > on something else.
> >
> > My goal was to get rid of the global configuration flag, in my case
> > sdn.ovs.controller, and leverage instead the "Isolation method" for a
> > physical network, modifying the network manager, the network guru and
> > possibly the network element in order to make this happen.
> >
> > As Alex says, the most important bit is having your own network guru,
> > and making sure that guru alone is invoked when your  physical network
> > uses an external controller, which involves code changes in the
> > network manager itself. I hope the information in the above mentioned
> > thread might add something on top of the info Alex provided in this
> > thread. In the meanwhile, let me know if there's anything else I can help
> you with.
> >
> > Salvatore
> >
> >
> > > -----Original Message-----
> > > From: Alex Huang [mailto:Alex.Huang@citrix.com]
> > > Sent: 05 June 2012 05:10
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Hi Hugo,
> > >
> > > The isolation method/technology part is definitely more work because
> > > today it all assumes the technology is vlan.
> > >
> > > You will need to do the following:
> > >
> > > - Add a new column to physical network that says what is the
> > > supported isolation technology.  VLAN will be one value.  SDN will be
> another.
> > > - Add to NetworkGuru to retrieve the supported isolation technology.
> > > - Make changes to the NetworkManager such that it selects the
> > > correct NetworkGuru based on the supported isolation technology and
> > > the isolation technology defined on the physical network.
> > > - Make changes to the UI to allow different configurations when the
> > > isolation technology is VLAN vs SDN.
> > >
> > > By doing this then, cloudstack can be shipped with two different
> > > types of isolation technologies and the admin can choose which one
> > > they want to use for each zone.
> > >
> > > By changing the components.xml alone, assuming you commented out
> the
> > > other guest network gurus and only have the sdn one in means there
> > > will be a divergence in deployed configuration files.
> > >
> > > --Alex
> > >
> > > > -----Original Message-----
> > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > Sent: Monday, June 04, 2012 3:11 PM
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: RE: SDN integration with CloudStack
> > > >
> > > > Thanks Alex.
> > > >
> > > > I've edited components.xml and  I'm seeing my new guru being
> > > > accessed now.
> > > >
> > > > How do i go about adding the new isolation method, i've added a
> > > > new type to the IsolationMethod enum in PhysicalNetwork called
> > > > SDN, but i think that is not the only thing i need to do. Can you
> > > > give me some
> > > pointers?
> > > >
> > > > Cheers,
> > > >
> > > > Hugo
> > > >
> > > >
> > > > ________________________________________
> > > > From: Alex Huang [Alex.Huang@citrix.com]
> > > > Sent: Monday, June 04, 2012 8:18 PM
> > > > To: cloudstack-dev@incubator.apache.org
> > > > Subject: RE: SDN integration with CloudStack
> > > >
> > > > You would make changes in the components.xml to make your
> > > NetworkGuru
> > > > the default.
> > > >
> > > > As I described to Salvatore in another email, the best way is to
> > > > add an isolation method parameter to physical network.  This
> > > > isolation method will drive the selection of the NetworkGuru for
> > > > the guest network.  Right now, we assume the isolation method is
> always VLAN.
> > > > But it would be best to add to the guest traffic type, the
> > > > isolation method used at the physical network level.  Then,
> > > > NetworkManager chooses the NetworkGuru depending on the physical
> isolation used.
> > > >
> > > > --Alex
> > > >
> > > > > -----Original Message-----
> > > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > > Sent: Monday, June 04, 2012 11:09 AM
> > > > > To: 'cloudstack-dev@incubator.apache.org'
> > > > > Subject: SDN integration with CloudStack
> > > > >
> > > > > Heya All,
> > > > >
> > > > > This week we will be working from the Nicira office on
> > > > > integrating SDN with CloudStack. In the recent discussion thread
> > > > > "making VM startup more fine- grained" one of our questions is
> already addressed.
> > > > >
> > > > > Another more basic question is how do we get our NetworkGuru to
> > > > > be used/selected by CloudStack when we build a new network.
> > > > > Basically what we want to do is when a guest network is created
> > > > > it should call our NetworkGuru to create the logical switch in
> > > > > the SDN and when a VM is started it should plug the NIC into an
> > > > > lport. The code to get this done is looking straight forward
> > > > > (except for the vif uuid discussion mentioned earlier). What has
> > > > > me baffled is the way to "plug" the new guru into CloudStack, how do
> we do this?
> > > > >
> > > > > I  was looking at code commited by Salvatore as the OVS GRE
> > > > > implementation looks similar to what I intend to do. It appears
> > > > > he is in the process of adding a Service "Connectivity", is this
> > > > > the way to do
> > > it?
> > > > >
> > > > > In the end I want to be able to create one or two
> > > > > networkofferings for the SDN integration, so my Guru gets called
> > > > > when a new network is created. How do I do this?
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Hugo

RE: SDN integration with CloudStack

Posted by Salvatore Orlando <Sa...@eu.citrix.com>.
Hugo,

Unfortunately I did not yet find some time to review this code. I have earmarked some time during this week to have a look at it.

Cheers and thanks again for contributing this code,
Salvatore

> -----Original Message-----
> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> Sent: 18 June 2012 08:28
> To: 'cloudstack-dev@incubator.apache.org'
> Subject: RE: SDN integration with CloudStack
> 
> Hey Salvatore,
> 
> Did you have a chance to look at my NiciraNVP code? I tried to implement it
> with the same idea to use the isolation method to determine which Guru will
> respond. It would be nice if our ideas and code are more or less aligned.
> 
> Cheers,
> 
> Hugo
> 
> -----Original Message-----
> From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com]
> Sent: Wednesday, June 06, 2012 5:48 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hugo,
> 
> The Email thread Alex was referring to is "Open vSwitch tunnel Manager (aka
> Cloudstack SDN) - community feedback required!"
> I actually started doing some work in this direction, but then focused on
> something else.
> 
> My goal was to get rid of the global configuration flag, in my case
> sdn.ovs.controller, and leverage instead the "Isolation method" for a physical
> network, modifying the network manager, the network guru and possibly
> the network element in order to make this happen.
> 
> As Alex says, the most important bit is having your own network guru, and
> making sure that guru alone is invoked when your  physical network uses an
> external controller, which involves code changes in the network manager
> itself. I hope the information in the above mentioned thread might add
> something on top of the info Alex provided in this thread. In the meanwhile,
> let me know if there's anything else I can help you with.
> 
> Salvatore
> 
> 
> > -----Original Message-----
> > From: Alex Huang [mailto:Alex.Huang@citrix.com]
> > Sent: 05 June 2012 05:10
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Hi Hugo,
> >
> > The isolation method/technology part is definitely more work because
> > today it all assumes the technology is vlan.
> >
> > You will need to do the following:
> >
> > - Add a new column to physical network that says what is the supported
> > isolation technology.  VLAN will be one value.  SDN will be another.
> > - Add to NetworkGuru to retrieve the supported isolation technology.
> > - Make changes to the NetworkManager such that it selects the correct
> > NetworkGuru based on the supported isolation technology and the
> > isolation technology defined on the physical network.
> > - Make changes to the UI to allow different configurations when the
> > isolation technology is VLAN vs SDN.
> >
> > By doing this then, cloudstack can be shipped with two different types
> > of isolation technologies and the admin can choose which one they want
> > to use for each zone.
> >
> > By changing the components.xml alone, assuming you commented out the
> > other guest network gurus and only have the sdn one in means there
> > will be a divergence in deployed configuration files.
> >
> > --Alex
> >
> > > -----Original Message-----
> > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > Sent: Monday, June 04, 2012 3:11 PM
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > Thanks Alex.
> > >
> > > I've edited components.xml and  I'm seeing my new guru being
> > > accessed now.
> > >
> > > How do i go about adding the new isolation method, i've added a new
> > > type to the IsolationMethod enum in PhysicalNetwork called SDN, but
> > > i think that is not the only thing i need to do. Can you give me
> > > some
> > pointers?
> > >
> > > Cheers,
> > >
> > > Hugo
> > >
> > >
> > > ________________________________________
> > > From: Alex Huang [Alex.Huang@citrix.com]
> > > Sent: Monday, June 04, 2012 8:18 PM
> > > To: cloudstack-dev@incubator.apache.org
> > > Subject: RE: SDN integration with CloudStack
> > >
> > > You would make changes in the components.xml to make your
> > NetworkGuru
> > > the default.
> > >
> > > As I described to Salvatore in another email, the best way is to add
> > > an isolation method parameter to physical network.  This isolation
> > > method will drive the selection of the NetworkGuru for the guest
> > > network.  Right now, we assume the isolation method is always VLAN.
> > > But it would be best to add to the guest traffic type, the isolation
> > > method used at the physical network level.  Then, NetworkManager
> > > chooses the NetworkGuru depending on the physical isolation used.
> > >
> > > --Alex
> > >
> > > > -----Original Message-----
> > > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > > Sent: Monday, June 04, 2012 11:09 AM
> > > > To: 'cloudstack-dev@incubator.apache.org'
> > > > Subject: SDN integration with CloudStack
> > > >
> > > > Heya All,
> > > >
> > > > This week we will be working from the Nicira office on integrating
> > > > SDN with CloudStack. In the recent discussion thread "making VM
> > > > startup more fine- grained" one of our questions is already addressed.
> > > >
> > > > Another more basic question is how do we get our NetworkGuru to be
> > > > used/selected by CloudStack when we build a new network. Basically
> > > > what we want to do is when a guest network is created it should
> > > > call our NetworkGuru to create the logical switch in the SDN and
> > > > when a VM is started it should plug the NIC into an lport. The
> > > > code to get this done is looking straight forward (except for the
> > > > vif uuid discussion mentioned earlier). What has me baffled is the
> > > > way to "plug" the new guru into CloudStack, how do we do this?
> > > >
> > > > I  was looking at code commited by Salvatore as the OVS GRE
> > > > implementation looks similar to what I intend to do. It appears he
> > > > is in the process of adding a Service "Connectivity", is this the
> > > > way to do
> > it?
> > > >
> > > > In the end I want to be able to create one or two networkofferings
> > > > for the SDN integration, so my Guru gets called when a new network
> > > > is created. How do I do this?
> > > >
> > > > Cheers,
> > > >
> > > > Hugo

RE: SDN integration with CloudStack

Posted by Hugo Trippaers <HT...@schubergphilis.com>.
Hey Salvatore,

Did you have a chance to look at my NiciraNVP code? I tried to implement it with the same idea to use the isolation method to determine which Guru will respond. It would be nice if our ideas and code are more or less aligned.

Cheers,

Hugo

-----Original Message-----
From: Salvatore Orlando [mailto:Salvatore.Orlando@eu.citrix.com] 
Sent: Wednesday, June 06, 2012 5:48 PM
To: cloudstack-dev@incubator.apache.org
Subject: RE: SDN integration with CloudStack

Hugo,

The Email thread Alex was referring to is "Open vSwitch tunnel Manager (aka Cloudstack SDN) - community feedback required!"
I actually started doing some work in this direction, but then focused on something else. 

My goal was to get rid of the global configuration flag, in my case sdn.ovs.controller, and leverage instead the "Isolation method" for a physical network, modifying the network manager, the network guru and possibly the network element in order to make this happen.

As Alex says, the most important bit is having your own network guru, and making sure that guru alone is invoked when your  physical network uses an external controller, which involves code changes in the network manager itself. I hope the information in the above mentioned thread might add something on top of the info Alex provided in this thread. In the meanwhile, let me know if there's anything else I can help you with.

Salvatore


> -----Original Message-----
> From: Alex Huang [mailto:Alex.Huang@citrix.com]
> Sent: 05 June 2012 05:10
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hi Hugo,
> 
> The isolation method/technology part is definitely more work because 
> today it all assumes the technology is vlan.
> 
> You will need to do the following:
> 
> - Add a new column to physical network that says what is the supported 
> isolation technology.  VLAN will be one value.  SDN will be another.
> - Add to NetworkGuru to retrieve the supported isolation technology.
> - Make changes to the NetworkManager such that it selects the correct 
> NetworkGuru based on the supported isolation technology and the 
> isolation technology defined on the physical network.
> - Make changes to the UI to allow different configurations when the 
> isolation technology is VLAN vs SDN.
> 
> By doing this then, cloudstack can be shipped with two different types 
> of isolation technologies and the admin can choose which one they want 
> to use for each zone.
> 
> By changing the components.xml alone, assuming you commented out the 
> other guest network gurus and only have the sdn one in means there 
> will be a divergence in deployed configuration files.
> 
> --Alex
> 
> > -----Original Message-----
> > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > Sent: Monday, June 04, 2012 3:11 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Thanks Alex.
> >
> > I've edited components.xml and  I'm seeing my new guru being 
> > accessed now.
> >
> > How do i go about adding the new isolation method, i've added a new 
> > type to the IsolationMethod enum in PhysicalNetwork called SDN, but 
> > i think that is not the only thing i need to do. Can you give me 
> > some
> pointers?
> >
> > Cheers,
> >
> > Hugo
> >
> >
> > ________________________________________
> > From: Alex Huang [Alex.Huang@citrix.com]
> > Sent: Monday, June 04, 2012 8:18 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > You would make changes in the components.xml to make your
> NetworkGuru
> > the default.
> >
> > As I described to Salvatore in another email, the best way is to add 
> > an isolation method parameter to physical network.  This isolation 
> > method will drive the selection of the NetworkGuru for the guest 
> > network.  Right now, we assume the isolation method is always VLAN.
> > But it would be best to add to the guest traffic type, the isolation 
> > method used at the physical network level.  Then, NetworkManager 
> > chooses the NetworkGuru depending on the physical isolation used.
> >
> > --Alex
> >
> > > -----Original Message-----
> > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > Sent: Monday, June 04, 2012 11:09 AM
> > > To: 'cloudstack-dev@incubator.apache.org'
> > > Subject: SDN integration with CloudStack
> > >
> > > Heya All,
> > >
> > > This week we will be working from the Nicira office on integrating 
> > > SDN with CloudStack. In the recent discussion thread "making VM 
> > > startup more fine- grained" one of our questions is already addressed.
> > >
> > > Another more basic question is how do we get our NetworkGuru to be 
> > > used/selected by CloudStack when we build a new network. Basically 
> > > what we want to do is when a guest network is created it should 
> > > call our NetworkGuru to create the logical switch in the SDN and 
> > > when a VM is started it should plug the NIC into an lport. The 
> > > code to get this done is looking straight forward (except for the 
> > > vif uuid discussion mentioned earlier). What has me baffled is the 
> > > way to "plug" the new guru into CloudStack, how do we do this?
> > >
> > > I  was looking at code commited by Salvatore as the OVS GRE 
> > > implementation looks similar to what I intend to do. It appears he 
> > > is in the process of adding a Service "Connectivity", is this the 
> > > way to do
> it?
> > >
> > > In the end I want to be able to create one or two networkofferings 
> > > for the SDN integration, so my Guru gets called when a new network 
> > > is created. How do I do this?
> > >
> > > Cheers,
> > >
> > > Hugo

RE: SDN integration with CloudStack

Posted by Salvatore Orlando <Sa...@eu.citrix.com>.
Hugo,

The Email thread Alex was referring to is "Open vSwitch tunnel Manager (aka Cloudstack SDN) - community feedback required!"
I actually started doing some work in this direction, but then focused on something else. 

My goal was to get rid of the global configuration flag, in my case sdn.ovs.controller, and leverage instead the "Isolation method" for a physical network, modifying the network manager, the network guru and possibly the network element in order to make this happen.

As Alex says, the most important bit is having your own network guru, and making sure that guru alone is invoked when your  physical network uses an external controller, which involves code changes in the network manager itself. I hope the information in the above mentioned thread might add something on top of the info Alex provided in this thread. In the meanwhile, let me know if there's anything else I can help you with.

Salvatore


> -----Original Message-----
> From: Alex Huang [mailto:Alex.Huang@citrix.com]
> Sent: 05 June 2012 05:10
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Hi Hugo,
> 
> The isolation method/technology part is definitely more work because today
> it all assumes the technology is vlan.
> 
> You will need to do the following:
> 
> - Add a new column to physical network that says what is the supported
> isolation technology.  VLAN will be one value.  SDN will be another.
> - Add to NetworkGuru to retrieve the supported isolation technology.
> - Make changes to the NetworkManager such that it selects the correct
> NetworkGuru based on the supported isolation technology and the isolation
> technology defined on the physical network.
> - Make changes to the UI to allow different configurations when the isolation
> technology is VLAN vs SDN.
> 
> By doing this then, cloudstack can be shipped with two different types of
> isolation technologies and the admin can choose which one they want to use
> for each zone.
> 
> By changing the components.xml alone, assuming you commented out the
> other guest network gurus and only have the sdn one in means there will be
> a divergence in deployed configuration files.
> 
> --Alex
> 
> > -----Original Message-----
> > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > Sent: Monday, June 04, 2012 3:11 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > Thanks Alex.
> >
> > I've edited components.xml and  I'm seeing my new guru being accessed
> > now.
> >
> > How do i go about adding the new isolation method, i've added a new
> > type to the IsolationMethod enum in PhysicalNetwork called SDN, but i
> > think that is not the only thing i need to do. Can you give me some
> pointers?
> >
> > Cheers,
> >
> > Hugo
> >
> >
> > ________________________________________
> > From: Alex Huang [Alex.Huang@citrix.com]
> > Sent: Monday, June 04, 2012 8:18 PM
> > To: cloudstack-dev@incubator.apache.org
> > Subject: RE: SDN integration with CloudStack
> >
> > You would make changes in the components.xml to make your
> NetworkGuru
> > the default.
> >
> > As I described to Salvatore in another email, the best way is to add
> > an isolation method parameter to physical network.  This isolation
> > method will drive the selection of the NetworkGuru for the guest
> > network.  Right now, we assume the isolation method is always VLAN.
> > But it would be best to add to the guest traffic type, the isolation
> > method used at the physical network level.  Then, NetworkManager
> > chooses the NetworkGuru depending on the physical isolation used.
> >
> > --Alex
> >
> > > -----Original Message-----
> > > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > > Sent: Monday, June 04, 2012 11:09 AM
> > > To: 'cloudstack-dev@incubator.apache.org'
> > > Subject: SDN integration with CloudStack
> > >
> > > Heya All,
> > >
> > > This week we will be working from the Nicira office on integrating
> > > SDN with CloudStack. In the recent discussion thread "making VM
> > > startup more fine- grained" one of our questions is already addressed.
> > >
> > > Another more basic question is how do we get our NetworkGuru to be
> > > used/selected by CloudStack when we build a new network. Basically
> > > what we want to do is when a guest network is created it should call
> > > our NetworkGuru to create the logical switch in the SDN and when a
> > > VM is started it should plug the NIC into an lport. The code to get
> > > this done is looking straight forward (except for the vif uuid
> > > discussion mentioned earlier). What has me baffled is the way to
> > > "plug" the new guru into CloudStack, how do we do this?
> > >
> > > I  was looking at code commited by Salvatore as the OVS GRE
> > > implementation looks similar to what I intend to do. It appears he
> > > is in the process of adding a Service "Connectivity", is this the way to do
> it?
> > >
> > > In the end I want to be able to create one or two networkofferings
> > > for the SDN integration, so my Guru gets called when a new network
> > > is created. How do I do this?
> > >
> > > Cheers,
> > >
> > > Hugo

RE: SDN integration with CloudStack

Posted by Alex Huang <Al...@citrix.com>.
Hi Hugo,

The isolation method/technology part is definitely more work because today it all assumes the technology is vlan.

You will need to do the following:

- Add a new column to physical network that says what is the supported isolation technology.  VLAN will be one value.  SDN will be another.
- Add to NetworkGuru to retrieve the supported isolation technology.
- Make changes to the NetworkManager such that it selects the correct NetworkGuru based on the supported isolation technology and the isolation technology defined on the physical network.
- Make changes to the UI to allow different configurations when the isolation technology is VLAN vs SDN.

By doing this then, cloudstack can be shipped with two different types of isolation technologies and the admin can choose which one they want to use for each zone.

By changing the components.xml alone, assuming you commented out the other guest network gurus and only have the sdn one in means there will be a divergence in deployed configuration files.

--Alex

> -----Original Message-----
> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> Sent: Monday, June 04, 2012 3:11 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> Thanks Alex.
> 
> I've edited components.xml and  I'm seeing my new guru being accessed
> now.
> 
> How do i go about adding the new isolation method, i've added a new type
> to the IsolationMethod enum in PhysicalNetwork called SDN, but i think that
> is not the only thing i need to do. Can you give me some pointers?
> 
> Cheers,
> 
> Hugo
> 
> 
> ________________________________________
> From: Alex Huang [Alex.Huang@citrix.com]
> Sent: Monday, June 04, 2012 8:18 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: RE: SDN integration with CloudStack
> 
> You would make changes in the components.xml to make your NetworkGuru
> the default.
> 
> As I described to Salvatore in another email, the best way is to add an
> isolation method parameter to physical network.  This isolation method will
> drive the selection of the NetworkGuru for the guest network.  Right now,
> we assume the isolation method is always VLAN.  But it would be best to add
> to the guest traffic type, the isolation method used at the physical network
> level.  Then, NetworkManager chooses the NetworkGuru depending on the
> physical isolation used.
> 
> --Alex
> 
> > -----Original Message-----
> > From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> > Sent: Monday, June 04, 2012 11:09 AM
> > To: 'cloudstack-dev@incubator.apache.org'
> > Subject: SDN integration with CloudStack
> >
> > Heya All,
> >
> > This week we will be working from the Nicira office on integrating SDN
> > with CloudStack. In the recent discussion thread "making VM startup
> > more fine- grained" one of our questions is already addressed.
> >
> > Another more basic question is how do we get our NetworkGuru to be
> > used/selected by CloudStack when we build a new network. Basically
> > what we want to do is when a guest network is created it should call
> > our NetworkGuru to create the logical switch in the SDN and when a VM
> > is started it should plug the NIC into an lport. The code to get this
> > done is looking straight forward (except for the vif uuid discussion
> > mentioned earlier). What has me baffled is the way to "plug" the new
> > guru into CloudStack, how do we do this?
> >
> > I  was looking at code commited by Salvatore as the OVS GRE
> > implementation looks similar to what I intend to do. It appears he is
> > in the process of adding a Service "Connectivity", is this the way to do it?
> >
> > In the end I want to be able to create one or two networkofferings for
> > the SDN integration, so my Guru gets called when a new network is
> > created. How do I do this?
> >
> > Cheers,
> >
> > Hugo

RE: SDN integration with CloudStack

Posted by Hugo Trippaers <HT...@schubergphilis.com>.
Thanks Alex.

I've edited components.xml and  I'm seeing my new guru being accessed now.

How do i go about adding the new isolation method, i've added a new type to the IsolationMethod enum in PhysicalNetwork called SDN, but i think that is not the only thing i need to do. Can you give me some pointers?  

Cheers,

Hugo


________________________________________
From: Alex Huang [Alex.Huang@citrix.com]
Sent: Monday, June 04, 2012 8:18 PM
To: cloudstack-dev@incubator.apache.org
Subject: RE: SDN integration with CloudStack

You would make changes in the components.xml to make your NetworkGuru the default.

As I described to Salvatore in another email, the best way is to add an isolation method parameter to physical network.  This isolation method will drive the selection of the NetworkGuru for the guest network.  Right now, we assume the isolation method is always VLAN.  But it would be best to add to the guest traffic type, the isolation method used at the physical network level.  Then, NetworkManager chooses the NetworkGuru depending on the physical isolation used.

--Alex

> -----Original Message-----
> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> Sent: Monday, June 04, 2012 11:09 AM
> To: 'cloudstack-dev@incubator.apache.org'
> Subject: SDN integration with CloudStack
>
> Heya All,
>
> This week we will be working from the Nicira office on integrating SDN with
> CloudStack. In the recent discussion thread "making VM startup more fine-
> grained" one of our questions is already addressed.
>
> Another more basic question is how do we get our NetworkGuru to be
> used/selected by CloudStack when we build a new network. Basically what
> we want to do is when a guest network is created it should call our
> NetworkGuru to create the logical switch in the SDN and when a VM is
> started it should plug the NIC into an lport. The code to get this done is
> looking straight forward (except for the vif uuid discussion mentioned
> earlier). What has me baffled is the way to "plug" the new guru into
> CloudStack, how do we do this?
>
> I  was looking at code commited by Salvatore as the OVS GRE implementation
> looks similar to what I intend to do. It appears he is in the process of adding a
> Service "Connectivity", is this the way to do it?
>
> In the end I want to be able to create one or two networkofferings for the
> SDN integration, so my Guru gets called when a new network is created. How
> do I do this?
>
> Cheers,
>
> Hugo

RE: SDN integration with CloudStack

Posted by Alex Huang <Al...@citrix.com>.
You would make changes in the components.xml to make your NetworkGuru the default.

As I described to Salvatore in another email, the best way is to add an isolation method parameter to physical network.  This isolation method will drive the selection of the NetworkGuru for the guest network.  Right now, we assume the isolation method is always VLAN.  But it would be best to add to the guest traffic type, the isolation method used at the physical network level.  Then, NetworkManager chooses the NetworkGuru depending on the physical isolation used.

--Alex

> -----Original Message-----
> From: Hugo Trippaers [mailto:HTrippaers@schubergphilis.com]
> Sent: Monday, June 04, 2012 11:09 AM
> To: 'cloudstack-dev@incubator.apache.org'
> Subject: SDN integration with CloudStack
> 
> Heya All,
> 
> This week we will be working from the Nicira office on integrating SDN with
> CloudStack. In the recent discussion thread "making VM startup more fine-
> grained" one of our questions is already addressed.
> 
> Another more basic question is how do we get our NetworkGuru to be
> used/selected by CloudStack when we build a new network. Basically what
> we want to do is when a guest network is created it should call our
> NetworkGuru to create the logical switch in the SDN and when a VM is
> started it should plug the NIC into an lport. The code to get this done is
> looking straight forward (except for the vif uuid discussion mentioned
> earlier). What has me baffled is the way to "plug" the new guru into
> CloudStack, how do we do this?
> 
> I  was looking at code commited by Salvatore as the OVS GRE implementation
> looks similar to what I intend to do. It appears he is in the process of adding a
> Service "Connectivity", is this the way to do it?
> 
> In the end I want to be able to create one or two networkofferings for the
> SDN integration, so my Guru gets called when a new network is created. How
> do I do this?
> 
> Cheers,
> 
> Hugo