[openstack-dev] [Neutron] MultiTenant support for VLAN-Aware-VM
Cathy Zhang
Cathy.H.Zhang at huawei.com
Wed Jul 13 22:32:09 UTC 2016
Hi Everyone,
We have been discussing on multi-tenant VNF for service chain on the OVN mailing alias.
We are thinking about leveraging the vlan-aware-VM for supporting this.
AFAIK, with current nova, we cannot create a multi-tenant VNF.
Currently, nova checks whether the neutron port belongs to the same tenant as the VM itself.
You attach a network interface (neutron port) to a VM using nova interface-attach, if the port and the VM are in different tenants, an error is given.
With the introduction of the trunk-port/sub-port feature of Neutron, the sub-ports of a VM are allowed to associate with different networks. But it seems these networks need to all belong to the same tenant if we read the vlan-aware-vm spec correctly (http://specs.openstack.org/openstack/neutron-specs/specs/newton/vlan-aware-vms.html).
Is our understanding correct? Does it work properly if these networks belong to different tenants?
Thanks,
Cathy
-----Original Message-----
From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Farhad Sunavala
Sent: Tuesday, July 12, 2016 7:59 PM
To: dev at openvswitch.org
Subject: Re: [ovs-dev] SFC-Summary: MultiTenant
>I was thinking this could be handled with child / sub-ports. We do
>this today for containers in VMs. We can have a single VIF for a VM
>that is connected to multiple networks that are owned by separate
>tenants. Some sort of encapsulation (VLAN ID, MPLS header, whatever)
>would be used to differentiate the traffic for each networking in/out
>of that VIF. I had started adding the ability to use MPLS for this in
>my prototype for this reason, as that was what networking-sfc had defined.
I have a quick question on the above. (multi-tenancy).Yes, I know the containers can be in different networks of the same tenant.How does it work when the containers are in different tenants ?
Below is the latest spec for vlan-aware-vms https://specs.openstack.org/openstack/neutron-specs/specs/liberty/vlan-aware-vms.html
The trick is to create neutron ports (for the subports) and then link them to the trunk port using neutron trunk-subport-add TRUNK \ PORT[,SEGMENTATION-TYPE,SEGMENTATION-ID] \ [PORT,...]
In the above command all the neutron ports (trunk ports and subports) must be in the same tenant.As far as I know, a tenant will not see neutron ports from another tenant. Or will this command allow neutron ports from different tenants to be attached ?
E.g. VM "X" consists of containers C1 in Tenant 1 with portID = C10000 (network dn1)container C2 in Tenant 2 with portID = C20000 (network dn2)The trunk port of VM "X" is in tenant 100 with portID = T10000 (network dt) The above command will be neutron trunk-subport-add T10000 \ A vlan 10000 \ B vlan 20000 Is my understanding correct? thanks,Farhad.
_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev
More information about the OpenStack-dev
mailing list