You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cloudstack.apache.org by Michael Li <cl...@163.com> on 2014/07/24 03:43:27 UTC

Use "OVSTunnelxxx" but not "cloudbr1" result exception

In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel device, and not "cloudbr1" ?
When create VM,  this will result an exception:

2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource] (agentRequest-Handler-5:null) LibvirtException 
org.libvirt.LibvirtException: Cannot get interface MTU on 'OVSTunnel460': no such device                               
        at org.libvirt.ErrorHandler.processError(Unknown Source)                                                     
        at org.libvirt.Connect.processError(Unknown Source)                                                          
        at org.libvirt.Connect.processError(Unknown Source)                                                          
        at org.libvirt.Connect.domainCreateXML(Unknown Source)                                                       
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)    
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)    
        at com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
3)                                                                                                                   
        at com.cloud.agent.Agent.processRequest(Agent.java:501)                                                      
        at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)                                          
        at com.cloud.utils.nio.Task.run(Task.java:84)                                                                
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)                           
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)                           
        at java.lang.Thread.run(Thread.java:722)  

I found code as below:
public InterfaceDef plug(NicTO nic, String guestOsType)
} else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Vswitch) {                String vnetId = Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
                String brName = "OVSTunnel" + vnetId;

Re: Use

Posted by Aleksandr Ivanov <ad...@rnet.ru>.
OVS sintaxys is pretty much the same ( as brctl ) but it was a pain to write
all the configs for mine situation - actualy its default case when you
creating advanced zone with GRE isolation in cloudstack ( but ovs and
cloudstack manuals are realy poor)

About fake bridges :
For  compatibility  with  software  designed  for  the  Linux   bridge,
       ovs-vsctl  also  supports  a  model  in which traffic associated with a
       given 802.1Q VLAN is segregated into a separate bridge.  A special form
       of  the  add-br command (see below) creates a ``fake bridge'' within an
       Open vSwitch bridge to simulate this  behavior.   When  such  a  ``fake
       bridge'' is active, ovs-vsctl will treat it much like a bridge separate
       from its ``parent bridge,''  but  the  actual  implementation  in  Open
       vSwitch  uses  only  a  single  bridge,  with  ports on the fake bridge
       assigned the implicit VLAN of the fake bridge of which  they  are  mem‐
       bers.   (A  fake bridge for VLAN 0 receives packets that have no 802.1Q
       tag or a tag with VLAN 0.)

I know that everything else is working as it should and I dont want to
create this Tunnel manually - no point. I think ill open a bug

Thanks 

Re: Use

Posted by Marcus <sh...@gmail.com>.
Yeah, I'm really familiar with the standard linux bridge methods, but not
so much on OVS. It seems a bit strange to me that you only have a bridge
'cloudbr' and the traffic labels refer to ports rather than bridges, but
what do I know.

There are lots of ways to configure networking. If you want to run all
networks off of something trunked from eth0, you might try pointing all
traffic labels at your 'cloudbr' and see if cloudstack can create the other
bridges. You may have to create the management bridge manually. This is
usually set up as the only bridge in single interface setups, and then all
traffic labels point to that bridge so cloudstack can bring up trunks and
bridges from there.

On Wed, May 6, 2015 at 8:32 AM, Aleksandr Ivanov <ad...@rnet.ru> wrote:

> I did everything according to manual
>
> http://cloudstack-installation.readthedocs.org/en/latest/hypervisor/kvm.html
> Default service offering is working good ( every vnet is made in bridge
> where it should be and etc )
> So should I open a bug ? Because I dont see that something is even trying
> to
> create OVS tunnels.
>
>
>

Re: Use

Posted by Aleksandr Ivanov <ad...@rnet.ru>.
I did everything according to manual
http://cloudstack-installation.readthedocs.org/en/latest/hypervisor/kvm.html
Default service offering is working good ( every vnet is made in bridge
where it should be and etc ) 
So should I open a bug ? Because I dont see that something is even trying to
create OVS tunnels.



Re: Use

Posted by Marcus <sh...@gmail.com>.
Yeah, so cloudstack will take those labels to the KVM hypervisor and try to
resolve them to bridges, and then to the physical devices that host those
bridges, so it knows where to create new bridges. I was just wondering if
your labels were matching your bridge names. By 'default', I was asking if
your labels matched your OVS bridge (usually I only create one).

On Wed, May 6, 2015 at 4:57 AM, Aleksandr <ad...@rnet.ru> wrote:

> Marcus <sh...@...> writes:
>
> >
> > What is your default OVS bridge name? Are your traffic labels matching
> the
> > OVS bridge cloudbr0?
> >
> > On Tue, May 5, 2015 at 1:24 PM, Aleksandr Ivanov <ad...@...> wrote:
> >
> > > Sure
> > > [root <at> node2 /]# cat /etc/cloudstack/agent/agent.properties
> > > #Storage
> > > #Mon May 04 23:29:33 MSK 2015
> > > guest.network.device=cloudbr1
> > > workers=5
> > > private.network.device=mgmt0
> > > network.bridge.type=openvswitch
> > > port=8250
> > > resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
> > > pod=1
> > > libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver
> > > zone=1
> > > guid=f31d8de3-4d74-3f99-827c-72e67e5ced03
> > > hypervisor.type=kvm
> > > cluster=1
> > > public.network.device=cloudbr0
> > > local.storage.uuid=68db7328-e15c-4b88-ba26-7a1183598a1e
> > > domr.scripts.dir=scripts/network/domr/kvm
> > > host=94.242.***.***
> > > LibvirtComputingResource.id=1
> > >
> > >
> > > Aaaand : Cannot get interface MTU on 'OVSTunnel1725': No such device
> > > But on mgmt host i see :
> > > 2015-05-04 23:50:22,568 DEBUG [c.c.n.o.OvsTunnelManagerImpl]
> > > (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1)
> Creating
> > > tunnels with OVS tunnel manager
> > > 2015-05-04 23:50:23,604 INFO  [c.c.v.VirtualMachineManagerImpl]
> > > (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1)
> Unable to
> > > start VM on Host[-1-Routing] due to Cannot get interface MTU on
> > > 'OVSTunnel1725': No such device
> > >
> > >
> > >
> > >
> >
>
> What do you mean by "default" ?
> In Cloudstack zone config you make a labels for traffic types ( mgmt +
> storage = mgmt0, public - cloudbr0, guest - cloudbr1 ) and a main bridge
> cloudbr ( all other OVS bridges are fake )
>
> [root@node2 ~]# ovs-vsctl show
> f73b7c50-61f6-433e-9eb1-7f5d20d27b01
>     Bridge cloudbr
>         Port "cloudbr1"
>             tag: 1725
>             Interface "cloudbr1"
>                 type: internal
>         Port "eth0"
>             Interface "eth0"
>         Port cloudbr
>             trunks: [1700, 1725, 1750]
>             Interface cloudbr
>                 type: internal
>         Port "cloudbr0"
>             tag: 1700
>             Interface "cloudbr0"
>                 type: internal
>         Port "mgmt0"
>             tag: 1750
>             Interface "mgmt0"
>                 type: internal
>     Bridge "cloud0"
>         Port "cloud0"
>             Interface "cloud0"
>                 type: internal
>
>     ovs_version: "2.3.1"
> Cloud0 i think is for   Control traffic ( 169.254.* )
>
>
>

Re: Use

Posted by Aleksandr <ad...@rnet.ru>.
Marcus <sh...@...> writes:

> 
> What is your default OVS bridge name? Are your traffic labels matching the
> OVS bridge cloudbr0?
> 
> On Tue, May 5, 2015 at 1:24 PM, Aleksandr Ivanov <ad...@...> wrote:
> 
> > Sure
> > [root <at> node2 /]# cat /etc/cloudstack/agent/agent.properties
> > #Storage
> > #Mon May 04 23:29:33 MSK 2015
> > guest.network.device=cloudbr1
> > workers=5
> > private.network.device=mgmt0
> > network.bridge.type=openvswitch
> > port=8250
> > resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
> > pod=1
> > libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver
> > zone=1
> > guid=f31d8de3-4d74-3f99-827c-72e67e5ced03
> > hypervisor.type=kvm
> > cluster=1
> > public.network.device=cloudbr0
> > local.storage.uuid=68db7328-e15c-4b88-ba26-7a1183598a1e
> > domr.scripts.dir=scripts/network/domr/kvm
> > host=94.242.***.***
> > LibvirtComputingResource.id=1
> >
> >
> > Aaaand : Cannot get interface MTU on 'OVSTunnel1725': No such device
> > But on mgmt host i see :
> > 2015-05-04 23:50:22,568 DEBUG [c.c.n.o.OvsTunnelManagerImpl]
> > (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Creating
> > tunnels with OVS tunnel manager
> > 2015-05-04 23:50:23,604 INFO  [c.c.v.VirtualMachineManagerImpl]
> > (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Unable to
> > start VM on Host[-1-Routing] due to Cannot get interface MTU on
> > 'OVSTunnel1725': No such device
> >
> >
> >
> >
> 

What do you mean by "default" ?
In Cloudstack zone config you make a labels for traffic types ( mgmt +
storage = mgmt0, public - cloudbr0, guest - cloudbr1 ) and a main bridge
cloudbr ( all other OVS bridges are fake )

[root@node2 ~]# ovs-vsctl show
f73b7c50-61f6-433e-9eb1-7f5d20d27b01
    Bridge cloudbr
        Port "cloudbr1"
            tag: 1725
            Interface "cloudbr1"
                type: internal
        Port "eth0"
            Interface "eth0"
        Port cloudbr
            trunks: [1700, 1725, 1750]
            Interface cloudbr
                type: internal
        Port "cloudbr0"
            tag: 1700
            Interface "cloudbr0"
                type: internal
        Port "mgmt0"
            tag: 1750
            Interface "mgmt0"
                type: internal
    Bridge "cloud0"
        Port "cloud0"
            Interface "cloud0"
                type: internal
 
    ovs_version: "2.3.1"
Cloud0 i think is for 	Control traffic ( 169.254.* )



Re: Use

Posted by Marcus <sh...@gmail.com>.
What is your default OVS bridge name? Are your traffic labels matching the
OVS bridge cloudbr0?



On Tue, May 5, 2015 at 1:24 PM, Aleksandr Ivanov <ad...@rnet.ru> wrote:

> Sure
> [root@node2 /]# cat /etc/cloudstack/agent/agent.properties
> #Storage
> #Mon May 04 23:29:33 MSK 2015
> guest.network.device=cloudbr1
> workers=5
> private.network.device=mgmt0
> network.bridge.type=openvswitch
> port=8250
> resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
> pod=1
> libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver
> zone=1
> guid=f31d8de3-4d74-3f99-827c-72e67e5ced03
> hypervisor.type=kvm
> cluster=1
> public.network.device=cloudbr0
> local.storage.uuid=68db7328-e15c-4b88-ba26-7a1183598a1e
> domr.scripts.dir=scripts/network/domr/kvm
> host=94.242.***.***
> LibvirtComputingResource.id=1
>
>
> Aaaand : Cannot get interface MTU on 'OVSTunnel1725': No such device
> But on mgmt host i see :
> 2015-05-04 23:50:22,568 DEBUG [c.c.n.o.OvsTunnelManagerImpl]
> (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Creating
> tunnels with OVS tunnel manager
> 2015-05-04 23:50:23,604 INFO  [c.c.v.VirtualMachineManagerImpl]
> (Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Unable to
> start VM on Host[-1-Routing] due to Cannot get interface MTU on
> 'OVSTunnel1725': No such device
>
>
>
>

Re: Use

Posted by Aleksandr Ivanov <ad...@rnet.ru>.
Sure
[root@node2 /]# cat /etc/cloudstack/agent/agent.properties
#Storage
#Mon May 04 23:29:33 MSK 2015
guest.network.device=cloudbr1
workers=5
private.network.device=mgmt0
network.bridge.type=openvswitch
port=8250
resource=com.cloud.hypervisor.kvm.resource.LibvirtComputingResource
pod=1
libvirt.vif.driver=com.cloud.hypervisor.kvm.resource.OvsVifDriver
zone=1
guid=f31d8de3-4d74-3f99-827c-72e67e5ced03
hypervisor.type=kvm
cluster=1
public.network.device=cloudbr0
local.storage.uuid=68db7328-e15c-4b88-ba26-7a1183598a1e
domr.scripts.dir=scripts/network/domr/kvm
host=94.242.***.***
LibvirtComputingResource.id=1


Aaaand : Cannot get interface MTU on 'OVSTunnel1725': No such device
But on mgmt host i see : 
2015-05-04 23:50:22,568 DEBUG [c.c.n.o.OvsTunnelManagerImpl]
(Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Creating
tunnels with OVS tunnel manager
2015-05-04 23:50:23,604 INFO  [c.c.v.VirtualMachineManagerImpl]
(Work-Job-Executor-14:ctx-cc29fc27 job-379/job-383 ctx-faec5ad1) Unable to
start VM on Host[-1-Routing] due to Cannot get interface MTU on
'OVSTunnel1725': No such device




Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Marcus <sh...@gmail.com>.
I'm assuming your host agents are configured to use the OVS bridge driver?

On Mon, May 4, 2015 at 1:59 PM, Aleksandr Ivanov <ad...@rnet.ru> wrote:

> Hi !
>
> But what to do if its not created automatically ?
> It's just telling me that : "Cannot get interface MTU on 'OVSTunnel1725':
> No
> such device"
>
> Regards,
>
>

Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Aleksandr Ivanov <ad...@rnet.ru>.
Hi !

But what to do if its not created automatically ?
It's just telling me that : "Cannot get interface MTU on 'OVSTunnel1725': No
such device"

Regards,


Re: Re: Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Nguyen Anh Tu <tu...@apache.org>.
Hi,

It will be created when you run the first VM on that guest isolated network.

Thanks,

--Tuna


On Wed, Jul 30, 2014 at 2:21 PM, Michael Li <cl...@163.com> wrote:

> Hi Nguyen,
> Thanks for your reply. Did u mean when I create a gre network offering use
> ovs as service provider for connectity, and then create a guest isolated
> network use this offering, at this point a OvsTunnel bridge will be created
> ?
>
> Regards
>
>
>
>
>
>
>
>
>
> At 2014-07-25 10:17:08, "Nguyen Anh Tu" <tu...@apache.org> wrote:
> >Michael,
> >
> >OVSTunnelxxx is automatically created by Ovs controller. The xxx value is
> >generated between VLAN range you set in the beginning. For each guest
> >network you create, Ovs controller will add one OvsTunnel bridge.
> >
> >Thanks,
> >
> >--Tuna
> >
> >
> >On Fri, Jul 25, 2014 at 7:46 AM, Michael Li <cl...@163.com> wrote:
> >
> >> Hi Nguyen,
> >> Should I create OVSTunnelxxx ahead like cloudbr0 and cloud0 ? But how to
> >> confirm the xxx in OVSTunnelxxx, because it's a dynamic value between
> the
> >> vm creatation.
> >>
> >>
> >> Regards
> >>
> >>
> >>
> >>
> >> At 2014-07-24 06:08:55, "Nguyen Anh Tu" <tu...@apache.org> wrote:
> >> >Hi Michael,
> >> >
> >> >The GRE feature on Cloudstack creates OVSTunnelxxx bridges with
> >> OpenvSwitch
> >> >to serve tunnel between vms, not cloudbr. Please use ovs-vsctl utility
> to
> >> >check if OVSTunnel460 is exist. Remember to blacklist module bridge.
> >> >
> >> >This might help:
> >> >
> >>
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/KVM+with+OpenVSwitch
> >> >
> >> >Thanks,
> >> >
> >> >--Tuna
> >> >
> >> >
> >> >On Thu, Jul 24, 2014 at 8:43 AM, Michael Li <cl...@163.com>
> wrote:
> >> >
> >> >> In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel
> >> >> device, and not "cloudbr1" ?
> >> >> When create VM,  this will result an exception:
> >> >>
> >> >> 2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource]
> >> >> (agentRequest-Handler-5:null) LibvirtException
> >> >> org.libvirt.LibvirtException: Cannot get interface MTU on
> >> 'OVSTunnel460':
> >> >> no such device
> >> >>         at org.libvirt.ErrorHandler.processError(Unknown Source)
> >> >>         at org.libvirt.Connect.processError(Unknown Source)
> >> >>         at org.libvirt.Connect.processError(Unknown Source)
> >> >>         at org.libvirt.Connect.domainCreateXML(Unknown Source)
> >> >>         at
> >> >>
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)
> >> >>         at
> >> >>
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)
> >> >>         at
> >> >>
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
> >> >> 3)
> >> >>         at com.cloud.agent.Agent.processRequest(Agent.java:501)
> >> >>         at
> >> com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
> >> >>         at com.cloud.utils.nio.Task.run(Task.java:84)
> >> >>         at
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> >> >>         at
> >> >>
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> >> >>         at java.lang.Thread.run(Thread.java:722)
> >> >>
> >> >> I found code as below:
> >> >> public InterfaceDef plug(NicTO nic, String guestOsType)
> >> >> } else if (nic.getBroadcastType() ==
> >> Networks.BroadcastDomainType.Vswitch)
> >> >> {                String vnetId =
> >> >> Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
> >> >>                 String brName = "OVSTunnel" + vnetId;
> >> >>
> >>
>

Re:Re: Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Michael Li <cl...@163.com>.
Hi Nguyen,
Thanks for your reply. Did u mean when I create a gre network offering use ovs as service provider for connectity, and then create a guest isolated network use this offering, at this point a OvsTunnel bridge will be created ?

Regards









At 2014-07-25 10:17:08, "Nguyen Anh Tu" <tu...@apache.org> wrote:
>Michael,
>
>OVSTunnelxxx is automatically created by Ovs controller. The xxx value is
>generated between VLAN range you set in the beginning. For each guest
>network you create, Ovs controller will add one OvsTunnel bridge.
>
>Thanks,
>
>--Tuna
>
>
>On Fri, Jul 25, 2014 at 7:46 AM, Michael Li <cl...@163.com> wrote:
>
>> Hi Nguyen,
>> Should I create OVSTunnelxxx ahead like cloudbr0 and cloud0 ? But how to
>> confirm the xxx in OVSTunnelxxx, because it's a dynamic value between the
>> vm creatation.
>>
>>
>> Regards
>>
>>
>>
>>
>> At 2014-07-24 06:08:55, "Nguyen Anh Tu" <tu...@apache.org> wrote:
>> >Hi Michael,
>> >
>> >The GRE feature on Cloudstack creates OVSTunnelxxx bridges with
>> OpenvSwitch
>> >to serve tunnel between vms, not cloudbr. Please use ovs-vsctl utility to
>> >check if OVSTunnel460 is exist. Remember to blacklist module bridge.
>> >
>> >This might help:
>> >
>> https://cwiki.apache.org/confluence/display/CLOUDSTACK/KVM+with+OpenVSwitch
>> >
>> >Thanks,
>> >
>> >--Tuna
>> >
>> >
>> >On Thu, Jul 24, 2014 at 8:43 AM, Michael Li <cl...@163.com> wrote:
>> >
>> >> In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel
>> >> device, and not "cloudbr1" ?
>> >> When create VM,  this will result an exception:
>> >>
>> >> 2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource]
>> >> (agentRequest-Handler-5:null) LibvirtException
>> >> org.libvirt.LibvirtException: Cannot get interface MTU on
>> 'OVSTunnel460':
>> >> no such device
>> >>         at org.libvirt.ErrorHandler.processError(Unknown Source)
>> >>         at org.libvirt.Connect.processError(Unknown Source)
>> >>         at org.libvirt.Connect.processError(Unknown Source)
>> >>         at org.libvirt.Connect.domainCreateXML(Unknown Source)
>> >>         at
>> >>
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)
>> >>         at
>> >>
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)
>> >>         at
>> >>
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
>> >> 3)
>> >>         at com.cloud.agent.Agent.processRequest(Agent.java:501)
>> >>         at
>> com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
>> >>         at com.cloud.utils.nio.Task.run(Task.java:84)
>> >>         at
>> >>
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>> >>         at
>> >>
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>> >>         at java.lang.Thread.run(Thread.java:722)
>> >>
>> >> I found code as below:
>> >> public InterfaceDef plug(NicTO nic, String guestOsType)
>> >> } else if (nic.getBroadcastType() ==
>> Networks.BroadcastDomainType.Vswitch)
>> >> {                String vnetId =
>> >> Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
>> >>                 String brName = "OVSTunnel" + vnetId;
>> >>
>>

Re: Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Nguyen Anh Tu <tu...@apache.org>.
Michael,

OVSTunnelxxx is automatically created by Ovs controller. The xxx value is
generated between VLAN range you set in the beginning. For each guest
network you create, Ovs controller will add one OvsTunnel bridge.

Thanks,

--Tuna


On Fri, Jul 25, 2014 at 7:46 AM, Michael Li <cl...@163.com> wrote:

> Hi Nguyen,
> Should I create OVSTunnelxxx ahead like cloudbr0 and cloud0 ? But how to
> confirm the xxx in OVSTunnelxxx, because it's a dynamic value between the
> vm creatation.
>
>
> Regards
>
>
>
>
> At 2014-07-24 06:08:55, "Nguyen Anh Tu" <tu...@apache.org> wrote:
> >Hi Michael,
> >
> >The GRE feature on Cloudstack creates OVSTunnelxxx bridges with
> OpenvSwitch
> >to serve tunnel between vms, not cloudbr. Please use ovs-vsctl utility to
> >check if OVSTunnel460 is exist. Remember to blacklist module bridge.
> >
> >This might help:
> >
> https://cwiki.apache.org/confluence/display/CLOUDSTACK/KVM+with+OpenVSwitch
> >
> >Thanks,
> >
> >--Tuna
> >
> >
> >On Thu, Jul 24, 2014 at 8:43 AM, Michael Li <cl...@163.com> wrote:
> >
> >> In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel
> >> device, and not "cloudbr1" ?
> >> When create VM,  this will result an exception:
> >>
> >> 2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource]
> >> (agentRequest-Handler-5:null) LibvirtException
> >> org.libvirt.LibvirtException: Cannot get interface MTU on
> 'OVSTunnel460':
> >> no such device
> >>         at org.libvirt.ErrorHandler.processError(Unknown Source)
> >>         at org.libvirt.Connect.processError(Unknown Source)
> >>         at org.libvirt.Connect.processError(Unknown Source)
> >>         at org.libvirt.Connect.domainCreateXML(Unknown Source)
> >>         at
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)
> >>         at
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)
> >>         at
> >>
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
> >> 3)
> >>         at com.cloud.agent.Agent.processRequest(Agent.java:501)
> >>         at
> com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
> >>         at com.cloud.utils.nio.Task.run(Task.java:84)
> >>         at
> >>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> >>         at
> >>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> >>         at java.lang.Thread.run(Thread.java:722)
> >>
> >> I found code as below:
> >> public InterfaceDef plug(NicTO nic, String guestOsType)
> >> } else if (nic.getBroadcastType() ==
> Networks.BroadcastDomainType.Vswitch)
> >> {                String vnetId =
> >> Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
> >>                 String brName = "OVSTunnel" + vnetId;
> >>
>

Re:Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Michael Li <cl...@163.com>.
Hi Nguyen,
Should I create OVSTunnelxxx ahead like cloudbr0 and cloud0 ? But how to confirm the xxx in OVSTunnelxxx, because it's a dynamic value between the vm creatation.


Regards




At 2014-07-24 06:08:55, "Nguyen Anh Tu" <tu...@apache.org> wrote:
>Hi Michael,
>
>The GRE feature on Cloudstack creates OVSTunnelxxx bridges with OpenvSwitch
>to serve tunnel between vms, not cloudbr. Please use ovs-vsctl utility to
>check if OVSTunnel460 is exist. Remember to blacklist module bridge.
>
>This might help:
>https://cwiki.apache.org/confluence/display/CLOUDSTACK/KVM+with+OpenVSwitch
>
>Thanks,
>
>--Tuna
>
>
>On Thu, Jul 24, 2014 at 8:43 AM, Michael Li <cl...@163.com> wrote:
>
>> In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel
>> device, and not "cloudbr1" ?
>> When create VM,  this will result an exception:
>>
>> 2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource]
>> (agentRequest-Handler-5:null) LibvirtException
>> org.libvirt.LibvirtException: Cannot get interface MTU on 'OVSTunnel460':
>> no such device
>>         at org.libvirt.ErrorHandler.processError(Unknown Source)
>>         at org.libvirt.Connect.processError(Unknown Source)
>>         at org.libvirt.Connect.processError(Unknown Source)
>>         at org.libvirt.Connect.domainCreateXML(Unknown Source)
>>         at
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)
>>         at
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)
>>         at
>> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
>> 3)
>>         at com.cloud.agent.Agent.processRequest(Agent.java:501)
>>         at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
>>         at com.cloud.utils.nio.Task.run(Task.java:84)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>>         at java.lang.Thread.run(Thread.java:722)
>>
>> I found code as below:
>> public InterfaceDef plug(NicTO nic, String guestOsType)
>> } else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Vswitch)
>> {                String vnetId =
>> Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
>>                 String brName = "OVSTunnel" + vnetId;
>>

Re: Use "OVSTunnelxxx" but not "cloudbr1" result exception

Posted by Nguyen Anh Tu <tu...@apache.org>.
Hi Michael,

The GRE feature on Cloudstack creates OVSTunnelxxx bridges with OpenvSwitch
to serve tunnel between vms, not cloudbr. Please use ovs-vsctl utility to
check if OVSTunnel460 is exist. Remember to blacklist module bridge.

This might help:
https://cwiki.apache.org/confluence/display/CLOUDSTACK/KVM+with+OpenVSwitch

Thanks,

--Tuna


On Thu, Jul 24, 2014 at 8:43 AM, Michael Li <cl...@163.com> wrote:

> In 4.4, Can somebody explain, why use "OVSTunnelxxx" for GRE tunnel
> device, and not "cloudbr1" ?
> When create VM,  this will result an exception:
>
> 2014-07-23 21:03:35,886 WARN  [kvm.resource.LibvirtComputingResource]
> (agentRequest-Handler-5:null) LibvirtException
> org.libvirt.LibvirtException: Cannot get interface MTU on 'OVSTunnel460':
> no such device
>         at org.libvirt.ErrorHandler.processError(Unknown Source)
>         at org.libvirt.Connect.processError(Unknown Source)
>         at org.libvirt.Connect.processError(Unknown Source)
>         at org.libvirt.Connect.domainCreateXML(Unknown Source)
>         at
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.startVM(LibvirtComputingResource.java:1239)
>         at
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.execute(LibvirtComputingResource.java:3798)
>         at
> com.cloud.hypervisor.kvm.resource.LibvirtComputingResource.executeRequest(LibvirtComputingResource.java:133
> 3)
>         at com.cloud.agent.Agent.processRequest(Agent.java:501)
>         at com.cloud.agent.Agent$AgentRequestHandler.doTask(Agent.java:808)
>         at com.cloud.utils.nio.Task.run(Task.java:84)
>         at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>         at java.lang.Thread.run(Thread.java:722)
>
> I found code as below:
> public InterfaceDef plug(NicTO nic, String guestOsType)
> } else if (nic.getBroadcastType() == Networks.BroadcastDomainType.Vswitch)
> {                String vnetId =
> Networks.BroadcastDomainType.getValue(nic.getBroadcastUri());
>                 String brName = "OVSTunnel" + vnetId;
>