Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1741851

Summary: [RFE] Support metadata service with IPv6-only tenant network
Product: Red Hat OpenStack Reporter: ggrimaux
Component: openstack-neutronAssignee: Slawek Kaplonski <skaplons>
Status: CLOSED CURRENTRELEASE QA Contact: Eran Kuris <ekuris>
Severity: high Docs Contact:
Priority: medium    
Version: 13.0 (Queens)CC: amuller, astupnik, chrisw, njohnston, rmeillon, scohen
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1954673 (view as bug list) Environment:
Last Closed: 2021-01-18 09:28:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1954673, 2035719    

Description ggrimaux 2019-08-16 09:12:03 UTC
Description of problem:
With IPv6-only tenant network cloud-init won't be able to configure instances.

We confirmed this in a reproducer (available right now if you want it).

Below are some of the output from an instance:

2019-08-15 09:46:35,970 - util.py[DEBUG]: Getting data from <class 'cloudinit.soo
urces.DataSourceOpenStack.DataSourceOpenStackLocal'> failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 733
3, in find_source
    if s.update_metadata([EventType.BOOT_NEW_INSTANCE]):
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 622
2, in update_metadata
    result = self.get_data()
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/__init__.py", line 255
6, in get_data
    return_value = self._get_data()
  File "/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceOpenStack.pp
y", line 131, in _get_data
    with EphemeralDHCPv4(self.fallback_interface):
  File "/usr/lib/python2.7/site-packages/cloudinit/net/dhcp.py", line 57, in __ee
nter__
    return self.obtain_lease()
  File "/usr/lib/python2.7/site-packages/cloudinit/net/dhcp.py", line 83, in obtt
ain_lease
    leases = maybe_perform_dhcp_discovery(self.iface)
  File "/usr/lib/python2.7/site-packages/cloudinit/net/dhcp.py", line 135, in maa
ybe_perform_dhcp_discovery
    return dhcp_discovery(dhclient_path, nic, tdir)
  File "/usr/lib/python2.7/site-packages/cloudinit/net/dhcp.py", line 199, in dhh
cp_discovery
    util.subp(cmd, capture=True)
  File "/usr/lib/python2.7/site-packages/cloudinit/util.py", line 2068, in subp
    cmd=args)
ProcessExecutionError: Unexpected error while running command.
Command: ['/var/tmp/cloud-init/cloud-init-dhcp-wgbF9P/dhclient', '-1', '-v', '-ll
f', '/var/tmp/cloud-init/cloud-init-dhcp-wgbF9P/dhcp.leases', '-pf', '/var/tmp/cc
loud-init/cloud-init-dhcp-wgbF9P/dhclient.pid', 'eth0', '-sf', '/bin/true']
Exit code: 2
Reason: -
Stdout:
Stderr: Internet Systems Consortium DHCP Client 4.2.5
        Copyright 2004-2013 Internet Systems Consortium.
        All rights reserved.
        For info, please visit https://www.isc.org/software/dhcp/

        Listening on LPF/eth0/fa:16:3e:81:72:ae
        Sending on   LPF/eth0/fa:16:3e:81:72:ae
        Sending on   Socket/fallback
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 (xid=0x60824dd
c2)
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 19 (xid=0x608244
dc2)
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 15 (xid=0x608244
dc2)
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 (xid=0x60824dd
c2)
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8 (xid=0x60824dd
c2)
        DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3 (xid=0x60824dd
c2)
        No DHCPOFFERS received.
        Unable to obtain a lease on first try.  Exiting.

But somehow the instance is aware of it's new IP:

[  119.918362] cloud-init[899]: Cloud-init v. 18.5 running 'init' at Thu, 15 Aug 2019 09:47:0                                                                                                8 +0000. Up 119.86 seconds.                                                                                                                                                                  
[  120.034627] cloud-init[899]: ci-info: ++++++++++++++++++++++++++++++++++++Net device info+                                                                                       ++++++++++++++++++++++++++++++++++++                                                                                                                                                         
[  120.092343] cloud-init[899]: ci-info: +--------+------+------------------------------+----                                                                                                -------+-------+-------------------+                                                                                                                                                         
[  120.154315] cloud-init[899]: ci-info: | Device |  Up  |           Address            |                                                                                                    Mask   | Scope |     Hw-Address    |                                                                                                                                                         
[  120.196936] cloud-init[899]: ci-info: +--------+------+------------------------------+----                                                                                                -------+-------+-------------------+                                                                                                                                                         
[  120.248330] cloud-init[899]: ci-info: |  eth0  | True | fe80::f816:3eff:fe81:72ae/64 |                                                                                                     .     |  link | fa:16:3e:81:72:ae |                                                                                                                                                         
[  120.311185] cloud-init[899]: ci-info: |   lo   | True |          127.0.0.1           | 255                                                                                                .0.0.0 |  host |         .         |                                                                                                                                                         
[  120.379342] cloud-init[899]: ci-info: |   lo   | True |           ::1/128            |                                                                                                     .     |  host |         .         |                                                                                                                                                         
[  120.447838] cloud-init[899]: ci-info: +--------+------+------------------------------+----                                                                                                -------+-------+-------------------+  

fe80::f816:3eff:fe81:72ae/64 is the port created by neutron:

(overcloud) [stack@undercloud-0 ~]$ openstack port show 656fd19e-d951-407f-b45f-9e58961d7878
+-----------------------+-------------------------------------------------------------------------------------------------------+
| Field                 | Value                                                                                                 |
+-----------------------+-------------------------------------------------------------------------------------------------------+
| admin_state_up        | UP                                                                                                    |
| allowed_address_pairs |                                                                                                       |
| binding_host_id       | compute-0.localdomain                                                                                 |
| binding_profile       |                                                                                                       |
| binding_vif_details   | datapath_type='system', ovs_hybrid_plug='True', port_filter='True'                                    |
| binding_vif_type      | ovs                                                                                                   |
| binding_vnic_type     | normal                                                                                                |
| created_at            | 2019-08-15T09:44:33Z                                                                                  |
| data_plane_status     | None                                                                                                  |
| description           |                                                                                                       |
| device_id             | 5be04cb6-f655-4ce8-9389-efc531632811                                                                  |
| device_owner          | compute:nova                                                                                          |
| dns_assignment        | None                                                                                                  |
| dns_name              | None                                                                                                  |
| extra_dhcp_opts       |                                                                                                       |
| fixed_ips             | ip_address='2a01:e34:ec29:d136:f816:3eff:fe81:72ae', subnet_id='99301d98-7eb8-4681-921f-b27d612dd7e3' |
| id                    | 656fd19e-d951-407f-b45f-9e58961d7878                                                                  |
| ip_address            | None                                                                                                  |
| mac_address           | fa:16:3e:81:72:ae                                                                                     |
| name                  |                                                                                                       |
| network_id            | e2689333-4e13-4b31-9c7e-09ef46af41cf                                                                  |
| option_name           | None                                                                                                  |
| option_value          | None                                                                                                  |
| port_security_enabled | True                                                                                                  |
| project_id            | 8f66f7df99b04d8a9e55a33ae6df9813                                                                      |
| qos_policy_id         | None                                                                                                  |
| revision_number       | 10                                                                                                    |
| security_group_ids    | b2de312b-6c4a-477d-ac29-fc8d3d2cb64f                                                                  |
| status                | ACTIVE                                                                                                |
| subnet_id             | None                                                                                                  |
| tags                  |                                                                                                       |
| trunk_details         | None                                                                                                  |
| updated_at            | 2019-08-15T09:44:52Z                                                                                  |
+-----------------------+-------------------------------------------------------------------------------------------------------+

Dnsmasq is running on the controller.

Let me know if you need anything else.

Thank you.


Version-Release number of selected component (if applicable):
openstack-neutron-12.0.6-9.el7ost.noarch

How reproducible:
100%

Steps to Reproduce:
1. Configure IPv6-only tenant network setup
2. Try to spawn instances
3.

Actual results:
Instances stay localhost and can't get dhcp address

Expected results:
Instances get configured properly

Additional info:
https://bugs.launchpad.net/neutron/+bug/1460177

Comment 2 Nate Johnston 2019-08-29 15:09:27 UTC
There was upstream work on this as an RFE that was abandoned due to lack of interest.  We can look at resuming this as an RFE.

Comment 3 Alex Stupnikov 2019-08-30 07:46:39 UTC
I am wondering if we have some workaround for cloud-init (config-drive is not widely supported) for this case (without adding IPv4 network)? I guess that we need to address the issue if we don't: this could escalate quickly when more customers will learn about this limitation.

Comment 5 Slawek Kaplonski 2021-01-18 09:28:55 UTC
This RFE is implemented U/S now https://bugs.launchpad.net/neutron/+bug/1460177 and should be available in OSP-17
We will not backport it to the OSP-13 so I'm closing this BZ.

Comment 6 Eran Kuris 2021-04-28 10:04:55 UTC
(In reply to Slawek Kaplonski from comment #5)
> This RFE is implemented U/S now
> https://bugs.launchpad.net/neutron/+bug/1460177 and should be available in
> OSP-17
> We will not backport it to the OSP-13 so I'm closing this BZ.

do we want to clone this one for OSP17?

Comment 7 Slawek Kaplonski 2021-04-28 14:53:20 UTC
@Eran, I think it is good idea. So we can plan eg. testing for it and be sure that all is in place.