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.