Thanks Murali and Alena for the explanation! BrocadeNetworkGuru supports Isolated Guest Network in Advanced Zone. The isolation method supported is VLAN. Additionally, it needs to check the existence of configuration file providing Brocade Switches details.
ExternalNetworkGuru also supports isolated Guest network in Advanced Zone, The isolation method supported are GRE, L3 and VLAN. This makes the ExternalNetworkGuru conditions a superset of conditions supported by BrocadeNetworkGuru and hence selects both. I am adding a check in ExternalNetworkGuru that if the configuration file for Brocade VDX switches are available, then skip the design. Comments please! Thanks & Regards, Ritu S. -----Original Message----- From: Alena Prokharchyk [mailto:alena.prokharc...@citrix.com] Sent: Thursday, June 12, 2014 9:51 AM To: Murali Reddy; dev@cloudstack.apache.org; Chiradeep Vittal Cc: Sheng Yang; Jayapal Reddy Uradi Subject: Re: NetworkOrchestrator selects 2 NetworkGurus at one time.... The suggested fix would break the case when customer decides to create a regular Isolated network with the VR as a provider, in the same setup. I think the right fix would be - find out what is different between networks implemented by BrocadeNetworkGuru and ExternalNetwork guru, and modify the ExternalGuestNetworkGuru to skip brocade networks. Just like Murali suggested in his email. But canHandle shouldn¹t directly say ³if not brocade, skip². May be there are some services or isolation methods that only BrocadeNetworkGuru can support? -Alena. On 6/12/14, 12:53 AM, "Murali Reddy" <murali.re...@citrix.com> wrote: >On 12/06/14 12:13 AM, "Ritu Sabharwal" <rsabh...@brocade.com> wrote: > >>Thanks Chiradeep and Murali for the reply! >> >>I am thinking of explicitly telling ExternalNetworkGuru to skip design >>when Brocade plugin is designing the network. I don't want to disable >>ExternalNetworkGuru from default build when Brocade plugin is not >>present so won't exclude it from the spring class loader. > >Small correction, I did not mean to remove it from the build, but >remove bean from loading at run time. Unless any one has objection, >explicit check seems fine for now until design issue is fixed. > >> >>Thanks & Regards, >>Ritu S. >> >>-----Original Message----- >>From: Murali Reddy [mailto:murali.re...@citrix.com] >>Sent: Tuesday, June 10, 2014 10:54 PM >>To: Chiradeep Vittal; dev@cloudstack.apache.org >>Cc: Sheng Yang; Jayapal Reddy Uradi; Alena Prokharchyk >>Subject: Re: NetworkOrchestrator selects 2 NetworkGurus at one time.... >> >>This is know design issue. Unlike service orchestration (which has >>prescriptive way to tell which network elements to be called for with >>network offerings ) there is no such logic for network design. >>Orchestrator just loops through all the network guru's asking to >>design the network which can results in one or more networks. Hugo did >>a cleanup [1] but I believe it was not merged as there was no >>consensus. There is >>1-1 mapping between isolation type and Guru but In this case both >>Brocade Guru and ExternalNetworkGuru will attempt to design the VLAN >>isolated networks. >> >>One in-elegent solution is to hard code ExternalGuestNetworu guru to >>skip network deign when Brocade plug-in is supposed to do design the network. >>Other option could be exclude ExternalNetworkGuru bean from spring >>class loader. >> >>[1] >>https://www.mail-archive.com/dev@cloudstack.apache.org/msg17344.html >> >>From: Chiradeep Vittal >><chiradeep.vit...@citrix.com<mailto:chiradeep.vit...@citrix.com>> >>Date: Wednesday, 11 June 2014 6:24 AM >>To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" >><dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> >>Cc: Sheng Yang <sheng.y...@citrix.com<mailto:sheng.y...@citrix.com>>, >>Murali Reddy >><murali.re...@citrix.com<mailto:murali.re...@citrix.com>>, >>Jayapal Reddy Uradi >><jayapalreddy.ur...@citrix.com<mailto:jayapalreddy.ur...@citrix.com>>, >>Alena Prokharchyk >><alena.prokharc...@citrix.com<mailto:alena.prokharc...@citrix.com>> >>Subject: Re: NetworkOrchestrator selects 2 NetworkGurus at one time.... >> >>That is strange. Looks like a bug to me. That is because the >>ExternalGuestNetworkGuru returns 'true' for canHandle. >> >>From: Ritu Sabharwal >><rsabh...@brocade.com<mailto:rsabh...@brocade.com>> >>Reply-To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" >><dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> >>Date: Tuesday, June 10, 2014 at 11:02 AM >>To: "dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>" >><dev@cloudstack.apache.org<mailto:dev@cloudstack.apache.org>> >>Subject: NetworkOrchestrator selects 2 NetworkGurus at one time.... >> >>Hi, >> >>I am writing a Network Guru for automatically orchestrating Brocade >>VDX switches to provide tenant isolation via VLAN. In my NetworkGuru, >>I have implemented the canHandle() method for Guest isolated network >>in Advanced zone using VLAN isolation. When the NetworkOrchestrator >>selects the NetworkGuru, it selects my NetworkGuru and the >>ExternalGuestNetworkGuru also and I see 2 networks created. How do I >>make sure that ExternalGuestNetworkGuru is not selected by >>NetworkOrchestrator. >> >>Thanks & Regards, >>Ritu S. >> >> > >