Thank you for all your help Murali... So my Provider has been setup with isExternal = true this whole time. public static final Provider PaloAlto = new Provider("PaloAlto", true);
If I run a debugger and then create a guest network, I see it enter the 'design' function of the ExternalGuestNetworkGuru, but it does not do anything in there because the config is not null, but the config.getId() = -1, so it just returns the config (Network object) and doesn't really do anything. Apparently the 'implement' method doesn't get called until a VM is attempted to be launched on the network. I must be missing something because, every Isolated guest network I create on my provider is defaulting to the cidr of 10.1.1.0/24. Even if I have multiple Isolated networks associated with the same account, they all by default have that cidr. If the default behaviour of the ExternalGuestNetworkGuru is to create non-overlapping guest cidrs, why does it always default to the 10.1.1.0/24cidr when I create a new network? I can not specify a gateway or netmask because it is an external network (as you can see from the included screenshot). [image: Inline image 1] What am I missing here? Why am I unable to create non-overlapping cidrs with the ExternalGuestNetworkGuru? Thanks, Will On Fri, Mar 29, 2013 at 1:23 AM, Murali Reddy <murali.re...@citrix.com>wrote: > On 28/03/13 10:59 PM, "Will Stevens" <wstev...@cloudops.com> wrote: > > >I am trying to implement the non-overlapping cidrs right now and I have > >some questions. Does the ExternalGuestNetworkGuru create networks with > >non-overlapping cidrs by default? Or do I need to override it's 'design' > >and 'implement' methods to implement non overlapping cidrs? > > Will, yes, it does by default. You can just use > 'ExternalGuestNetworkGuru'. Just so that you know, there is check > 'networkIsConfiguredForExternalNetworking' in ExternalGuestNetworkGuru. > Which basically checks if provider is configured as service provider using > external physical appliances. So when you declare provider, mark > 'isExternal' as true in the provider constructor. > > > > >If I have to write my own methods, I think I understand how to > >override ExternalGuestNetworkGuru and then get it to run by adding it to > >the components.xml (or nonoss-components.xml) as well as the > >componentContext.xml.in. > > > >If I do not have to actually write the logic for the non-overlapping cidrs > >(which i am hoping is the case), and the ExternalGuestNetworkGuru actually > >implements that logic, how would I get the ExternalGuestNetworkGuru into > >my > >flow without actually overriding the class? I understand that the > >components are loaded through the components.xml stuff, but its not clear > >how you specify which NetworkGuru should be used in my specific flow. > > > >I am basically working from this > >document< > https://cwiki.apache.org/CLOUDSTACK/extending-cloudstack-networki > >ng.html>and > >the code. Is there any other resources I should be aware of for > >extending the CloudStack networking functionality? > > > >I have a good start on a Resource, ExternalFirewallElement and an > >ExternalFirewallService. I can currently set the Palo Alto as the > >provider > >of Firewall, SourceNat, StaticNat and Port Forwarding services. I can > >currently Add, List, Configure and Delete my Palo Alto provider. > > > >I am getting there, but I still feel like there are gaps in my knowledge > >when using the CS networking plugin functionality. > > Good the hear the progress. Feel free to ask any question. > > Thanks, > Murali > > > > >Thanks, > > > >Will > >