IPv6 boostrap with dns server omission gives trace

Bug #1932345 reported by Michel Thebeau [WIND]
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
StarlingX
Triaged
Low
Unassigned

Bug Description

Brief Description
-----------------
When bootstrapping a subcloud with IPv6 addressing, omission of "dns_servers:" in bootstrap override yaml for the subcloud results in a later trace instead of an early validation failure.

Severity
--------
Minor

Steps to Reproduce
------------------

The example I am running is IPv6 distributed cloud with an AIO-SX subcloud. It may be the case that the behaviour is the same for normal cluster bootstrap.

The documentation indicated that the DNS configuration is shared with system controller, so I omitted "dns_servers:" from subcloud bootstrap override file. My example bootstrap override yaml:

system_mode: simplex
name: "subcloud1"
description: "AIO-SX"
location: "dc1"

management_subnet: abcd:204:20::/64
management_start_address: abcd:204:20::2
management_end_address: abcd:204:20::0:ffff
management_gateway_address: abcd:204:20::1
management_multicast_subnet: ff05::1b:0/124

external_oam_subnet: fd00:dc01:0ca1:0020::0/64
external_oam_gateway_address: fd00:dc01:0ca1:0020::1
external_oam_floating_address: fd00:dc01:0ca1:0020::2

systemcontroller_gateway_address: abcd:204:10::1

cluster_host_subnet: abcd:204:21::/64
cluster_pod_subnet: abcd:204:22::/64
cluster_service_subnet: fd04::/112

Expected Behavior
------------------

The early validation of IP version mismatch should have caught the mismatch of DNS server IP version, which defaults to IPv4.

Actual Behavior
----------------

The following trace occurred during ansible bootstrap:

           "Populating system config...",
            "System config completed.",
            "Populating load config...",
            "Load config completed.",
            "Populating management network...",
            "Populating pxeboot network...",
            "Populating oam network...",
            "Populating multicast network...",
            "Populating cluster host network...",
            "Populating cluster pod network...",
            "Populating cluster service network...",
            "Populating system controller network...",
            "Network config completed.",
            "Populating/Updating DNS config...",
            "No handlers could be found for logger \"cgtsclient.common.http\"",
            "Failed to update the initial system config.",
            "Traceback (most recent call last):",
            " File \"/tmp/.ansible-sysadmin/tmp/ansible-tmp-1623941908.55-258527114040416/populate_initial_config.py\", line 1094, in <module>",
            " populate_dns_config(client)",
            " File \"/tmp/.ansible-sysadmin/tmp/ansible-tmp-1623941908.55-258527114040416/populate_initial_config.py\", line 615, in populate_dns_config",
            " client.sysinv.idns.update(dns_record.uuid, patch)",
            " File \"/usr/lib64/python2.7/site-packages/cgtsclient/v1/idns.py\", line 54, in update",
            " return self._update(self._path(idns_id), patch)",
            " File \"/usr/lib64/python2.7/site-packages/cgtsclient/common/base.py\", line 89, in _update",
            " _, body = self.api.json_request(http_method, url, body=body)",
            " File \"/usr/lib64/python2.7/site-packages/cgtsclient/common/http.py\", line 269, in json_request",
            " method, **kwargs)",
            " File \"/usr/lib64/python2.7/site-packages/cgtsclient/common/http.py\", line 245, in _cs_request",
            " error_json.get('debuginfo'), *args)",
            "cgtsclient.exc.HTTPBadRequest: IP version mismatch: was expecting IPv6, IPv4 received"
        ]
    }
}

TASK [bootstrap/persist-config : Fail if populate config script throws an exception] ***
fatal: [subcloud1]: FAILED! => {"changed": false, "msg": "Failed to provision initial system configuration."}

Reproducibility
---------------

Probably 100%

System Configuration
--------------------

Probably generic IPv6 bootstrap. But the observation comes from bootstrap of subcloud in IPv6 configuration. AIO-DX system controller with AIO-SX subcloud.

Branch/Pull Time/Commit
-----------------------

Cengn build: 20210604T043006Z

Last Pass
---------

Unknown

Timestamp/Logs
--------------

As above

Test Activity
-------------

Manual test

Workaround
----------

Reinstall the subcloud controller (not using redfish) from ISO, delete the subcloud from system_conroller, fix the bootstrap yaml and rerun dcmanager subcloud add command

Tags: stx.config
Ghada Khalil (gkhalil)
tags: added: stx.config
Ghada Khalil (gkhalil)
Changed in starlingx:
importance: Undecided → Low
status: New → Triaged
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.