Yes, I am able to explain. I am still not getting the whole picture here. VR = virtual router
First condition: > if (dest.getCluster() != null) { > - If we are forcing a VR to a specific cluster, normally this happens when we are starting a router that was already deployed. If it is a new VR “dest.getCluster()” will return null( I think this is your case). - Then, we go for the “else” part of the code. In this block, we check if there is a default hypervisor configured, “_resourceMgr.getDefaultHypervisor”. - If there is not a default hypervisor, we load “_resourceMgr.getSupportedHypervisorTypes” all supported hypervisor in the given zone. And this will be the value of “hypervisors”. - After all that, at the method “com.cloud.network.router.NetworkHelperImpl.deployRouter(RouterDeploymentDefinition, boolean)”, we get the first hypervisor available and try to deploy a router in on of the available hosts for this hypervisor type. Was that clear for you? On Wed, Feb 22, 2017 at 9:14 AM, Engelmann Florian < florian.engelm...@everyware.ch> wrote: > Hi, > > after digging into the source code I wonder if > > https://github.com/apache/cloudstack/blob/master/server/ > src/com/cloud/network/router/NetworkHelperImpl.java > > line 453 > final List<HypervisorType> hypervisors = getHypervisors( > routerDeploymentDefinition); > > line 458 > for (final Iterator<HypervisorType> iter = hypervisors.iterator(); > iter.hasNext();) { > > ever gets more than one item in the list? In our case it looks like there > is only one item in this list (KVM) even if we got three clusters - one > with KVM and two with Xenserver and the VM gets deployed on Xenserver. > > Are you able to explain the following function to me? > > protected List<HypervisorType> getHypervisors(final > RouterDeploymentDefinition routerDeploymentDefinition) throws > InsufficientServerCapacityException { > final DeployDestination dest = routerDeploymentDefinition. > getDest(); > List<HypervisorType> hypervisors = new ArrayList<HypervisorType>(); > if (dest.getCluster() != null) { > if (dest.getCluster().getHypervisorType() == > HypervisorType.Ovm) { > hypervisors.add(getClusterToStartDomainRouterF > orOvm(dest.getCluster().getPodId())); > } else { > hypervisors.add(dest.getCluster().getHypervisorType()); > } > } else { > final HypervisorType defaults = _resourceMgr. > getDefaultHypervisor(dest.getDataCenter().getId()); > if (defaults != HypervisorType.None) { > hypervisors.add(defaults); > } else { > // if there is no default hypervisor, get it from the > cluster > hypervisors = > _resourceMgr.getSupportedHypervisorTypes(dest.getDataCenter().getId(), > true, routerDeploymentDefinition.getPlan().getPodId()); > } > } > > How will that function return a list? > > All the best, > Florian > > ________________________________________ > From: Engelmann Florian <florian.engelm...@everyware.ch> > Sent: Wednesday, February 22, 2017 12:24 PM > To: users@cloudstack.apache.org > Subject: Re: Ubuntu 16.04, Openvswitch networking issue > > Hi, > > this behavior was caused by the following setting: > > system.vm.default.hypervisor = Xenserver > > After setting this global parameter to NULL we are able to deploy > SystemVMs (virtual router) on KVM. > > Sad to say, we are no more able to deploy SystemVMs on Xenserver since we > changed the parameter?!?! > > Allocating the VR with id=4213 in datacenter com.cloud.dc.DataCenterVO$$ > EnhancerByCGLIB$$6fda4e4f@2 with the hypervisor type KVM > [...] > VM state transitted from :Starting to Stopped with event: > OperationFailedvm's original host id: null new host id: null host id before > state transition: null > > > Is anybody able to point me in the direction where to find the logic (on > Github) behind how ACS decides which Hypervisor should be used to deploy a > VirtualRouter SystemVM? Why is KVM chosen? > > All the best, > Florian > > > > ________________________________________ > From: Engelmann Florian > Sent: Monday, February 20, 2017 5:25 PM > To: users@cloudstack.apache.org > Subject: Re: Ubuntu 16.04, Openvswitch networking issue > > Hi Rafael, > > We do use the following setup (Test environment currently): > > ACS 4.9.2 > 1x Xenserver 6.5 Cluster (3 nodes) > 1x Xenserver 7.0 Cluster (1 node) > 1x Ubuntu 16.04 KVM Cluster (3 nodes) > > Networking = Advanced Zone VPC and Virtual Router > > I noticed the error Message was just informational an not the real > problem. The problem we got is: > > [...] > Allocating the VR with id=4185 in datacenter com.cloud.dc.DataCenterVO$$ > EnhancerByCGLIB$$caa6c375@2 with the hypervisor type XenServer > [...] > Cluster: 6 has HyperVisorType that does not match the VM, skipping this > cluster > [...] > > We tried to force ACS to use the KVM systemVM template but for some reason > ACS refuses to use that System offering. > > Hosts: > Name ewcstack-vh023-test > Host Tags="kvm" > > Primary storage: > Name: ewcstack-vh023-test,Local Storage: Storage Tags="vol-local-kvm" > > System offering: > Name custom-local-sm-kvm > Storage Tags="vol-local-kvm" > Host Tags="kvm" > > Network offering: > Name custom local kvm > System offering="custom-local-sm-kvm" > > Disk offering: > Name custom local kvm > Storage Tags="vol-local-kvm" > > > Creating a Instance with a network offering "custom-local-sm-kvm" doesn't > stop ACS from using a XenServer systemVM template. Why? > > All the best, > Florian > > > ________________________________________ > From: Rafael Weingärtner <rafaelweingart...@gmail.com> > Sent: Friday, February 17, 2017 4:08 PM > To: users@cloudstack.apache.org > Subject: Re: Ubuntu 16.04, Openvswitch networking issue > > I think we may need more information. ACS version, network deployment type, > and hypervisors? > > On Fri, Feb 17, 2017 at 10:02 AM, Engelmann Florian < > florian.engelm...@everyware.ch> wrote: > > > Hi, > > > > sorry I ment "I am NOT able to solve".... > > > > ________________________________________ > > From: Engelmann Florian <florian.engelm...@everyware.ch> > > Sent: Friday, February 17, 2017 3:36 PM > > To: users@cloudstack.apache.org > > Subject: Ubuntu 16.04, Openvswitch networking issue > > > > Hi, > > > > another error I am able to solve: > > > > 2017-02-17 15:24:36,097 DEBUG [c.c.a.ApiServlet] (catalina-exec-26:ctx- > > 30020483) (logid:d303f8ef) ===START=== 192.168.252.76 -- GET > > command=createNetwork&response=json&zoneId=e683eeaa- > > 92c9-4651-91b9-165939f9000c&name=net-kvm008&displayText= > > net-kvm008&networkOf > > 2017-02-17 15:24:36,135 DEBUG [c.c.n.g.BigSwitchBcfGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network, the physical isolation type is not BCF_SEGMENT > > 2017-02-17 15:24:36,136 DEBUG [o.a.c.n.c.m.ContrailGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network > > 2017-02-17 15:24:36,137 DEBUG [c.c.a.m.DirectAgentAttache] > > (DirectAgent-144:ctx-b2cdad73) (logid:eb129204) Seq > > 179-6955246674520311671: Response Received: > > 2017-02-17 15:24:36,137 DEBUG [c.c.a.t.Request] (StatsCollector-5:ctx- > 4298a591) > > (logid:eb129204) Seq 179-6955246674520311671: Received: { Ans: , MgmtId: > > 345049101620, via: 179(ewcstack-vh003-test), Ver: v1, Flags: 10, { > > GetStorageStatsAnswer } } > > 2017-02-17 15:24:36,137 DEBUG [c.c.n.g.MidoNetGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) design > called > > 2017-02-17 15:24:36,138 DEBUG [c.c.h.o.r.Ovm3HypervisorGuru] > > (StatsCollector-5:ctx-4298a591) (logid:eb129204) > > getCommandHostDelegation: class com.cloud.agent.api. > GetStorageStatsCommand > > 2017-02-17 15:24:36,138 DEBUG [c.c.h.XenServerGuru] > (StatsCollector-5:ctx-4298a591) > > (logid:eb129204) getCommandHostDelegation: class com.cloud.agent.api. > > GetStorageStatsCommand > > 2017-02-17 15:24:36,139 DEBUG [c.c.n.g.MidoNetGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network, the physical isolation type is not MIDO > > 2017-02-17 15:24:36,139 DEBUG [c.c.a.m.DirectAgentAttache] > > (DirectAgent-72:ctx-656a03ae) (logid:dd7ada9e) Seq > 217-8596245788743434945: > > Executing request > > 2017-02-17 15:24:36,141 DEBUG [c.c.n.g.NiciraNvpGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network > > 2017-02-17 15:24:36,142 DEBUG [o.a.c.n.o.OpendaylightGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network > > 2017-02-17 15:24:36,144 DEBUG [c.c.n.g.OvsGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network > > 2017-02-17 15:24:36,163 DEBUG [o.a.c.n.g.SspGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) SSP not > > configured to be active > > 2017-02-17 15:24:36,164 DEBUG [c.c.n.g.BrocadeVcsGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design this network > > 2017-02-17 15:24:36,165 DEBUG [c.c.n.g.NuageVspGuestNetworkGuru] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Refusing to > > design network using network offering 54 on physical network 200 > > 2017-02-17 15:24:36,166 DEBUG [o.a.c.e.o.NetworkOrchestrator] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) Releasing > > lock for Acct[3426fb73-70ad-47d9-9c5d-355f34891438-fen] > > 2017-02-17 15:24:36,188 DEBUG [c.c.a.ApiServlet] > > (catalina-exec-26:ctx-30020483 ctx-430b6ae1) (logid:d303f8ef) ===END=== > > 192.168.252.76 -- GET command=createNetwork& > > response=json&zoneId=e683eeaa-92c9-4651-91b9-165939f9000c& > > name=net-kvm008&displayText=net-kvm00 > > > > > > We do not use BigSwitch or anything like this, just plain Openvswitch > with > > Ubuntu 16.04. Any idea whats going on? > > > > All the best, > > Florian > > > > EveryWare AG > > Florian Engelmann > > Systems Engineer > > Zurlindenstrasse 52a > > CH-8003 Zürich > > > > T +41 44 466 60 00 > > F +41 44 466 60 10 > > > > florian.engelm...@everyware.ch > > www.everyware.ch > > > > > > -- > Rafael Weingärtner > -- Rafael Weingärtner