Revision history [back]

click to hide/show revision 1
initial version

Public IPv6 for tenant VMs with Kilo

Hi,

I've installed OpenStack Kilo on a 3 node architecture and I have a /64 IPv6 public network. The controller node has 2001:dbd9:xxxx:xxxx::1/64 address, the network node 2001:dbd9:xxxx:xxxx::2/64 address and the compute node 2001:dbd9:xxxx:xxxx::3/64 address.

I have 2 tenants admin and user. With the admin tenant I create the shared flat external network: neutron net-create ext-net --shared --router:external --provider:physical_network external --provider:network_type flat

I would like to give public IPv6 access to my instances.

Solution 1: Create a IPv6 subnet neutron subnet-create ext-net --name ext-sub6 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac --allocation-pool start=2001:dbd9:xxxx:xxxx::5,end=2001:dbd9:xxxx:xxxx::500 2001:dbd9:xxxx:xxxx::/64 Launch a VM from admin or user tenant: nova boot --image 1 --flavor 1 my-instance I get an error "No valid host was found" every time I tried to boot an instance directly on the provider network.

Solution 2: Create a IPv6 subnet, a user tenant network and subnet, a router to link the user tenant network and the provider network. neutron subnet-create ext-net --name ext-sub6 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac --allocation-pool start=2001:dbd9:xxxx:xxxx::5,end=2001:dbd9:xxxx:xxxx::500 2001:dbd9:xxxx:xxxx::/64 source user-tenant.sh (to get the user tenant parameters) neutron net-create user-network neutron subnet-create user-network --name user-sub6 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac fd01:dbd9:xxxx:xxxx::/64 neutron router-create user-router neutron router-interface-add user-router user-sub6 neutron router-gateway-set user-router ext-net nova boot --image 1 --flavor 1 my-instance This time the instance boots without any problem. But it's not possible to associate floating IPv6 so I can't reach the instance from the public network.

Solution 3: No subnet on external network. source user-tenant.sh (to get the user tenant parameters) neutron net-create user-network neutron subnet-create ext-net --name ext-sub6 --ip-version 6 --ipv6_address_mode=slaac --ipv6_ra_mode=slaac --allocation-pool start=2001:dbd9:xxxx:xxxx::5,end=2001:dbd9:xxxx:xxxx::500 2001:dbd9:xxxx:xxxx::/64 (I use my public IPv6 network for the subnet pool) neutron router-create user-router neutron router-interface-add user-router user-sub6 neutron router-gateway-set user-router ext-net nova boot --image 1 --flavor 1 my-instance The VM boots but I can't reach it from the internet.

Also if I create a port on the provider network, I can't attach it to my VM started on the user tenant private network.

Thanks a lot for any help I could get, JB

P.S: I've read Thiago Martins's guide but I can't attach a VM directly to the provider network in a 3 node architecture.