Hi, I have a question on which component a network service provider for Cloudstack should be developing - is it a Network Guru or Network element? I know that it is definitely necessary to develop a network element. But I though that by default, Cloudstack virtual router will provide the basic NetGuru functions (IPAM, DHCP, DNS etc). So didn't see a need to develop the NetGuru API.
However, looking through a plugin implementation, I noticed that a vendor implemented all the methods of the Network Element as well as the "implement" method of the NetGuru. It seems like the only thing that the vendor was doing was to create a logical network in the NetGuru implement method. My question is whether this extra step is necessary. My understanding of the workflow for creating a network through a network provider is as follows - NetworkElement.Implement( ) - Create the specified network on the that specific Network element. This method is called when the first VM of the network is brought up. NetworkElement.Prepare( ) - Add the VM to the specified network. This method is called whenever a new VM boots up in that network NetworkElement.Release( ) - Remove the VM from the specified network. This method is called whenever a VM is shutdown. So can someone please clarify if this workflow seems right (and sufficient) and if there's anything that I'm missing? Really don't see why I need to implement the NetGuru. thanks! Sridhar