Bug ID 995097: Certain management-dhcp supersede options fail to restore correctly when the configuration is reloaded from a file.

Last Modified: Nov 30, 2021

Bug Tracker

Affected Product:  See more info
BIG-IP TMOS(all modules)

Known Affected Versions:
14.1.0, 14.1.0.1, 14.1.0.2, 14.1.0.3, 14.1.0.5, 14.1.0.6, 14.1.2, 14.1.2.1, 14.1.2.2, 14.1.2.3, 14.1.2.4, 14.1.2.5, 14.1.2.6, 14.1.2.7, 14.1.2.8, 14.1.3, 14.1.3.1, 14.1.4, 14.1.4.1, 14.1.4.2, 14.1.4.3, 14.1.4.4, 15.1.0, 15.1.0.1, 15.1.0.2, 15.1.0.3, 15.1.0.4, 15.1.0.5, 15.1.1, 15.1.2, 15.1.2.1, 15.1.3, 15.1.3.1, 15.1.4, 15.1.4.1, 16.0.0, 16.0.0.1, 16.0.1, 16.0.1.1, 16.0.1.2, 16.1.0, 16.1.1, 16.1.2

Opened: Feb 18, 2021
Severity: 3-Major

Symptoms

After reloading the configuration from a file, management-dhcp supersede options whose values contained a double quote character (") no longer contain the character. For instance, after reloading the configuration, the following section: # tmsh list sys management-dhcp sys-mgmt-dhcp-config supersede-options sys management-dhcp sys-mgmt-dhcp-config { supersede-options { domain-name { value { "example.com" } } domain-name-servers { value { 8.8.8.8 } } domain-search { value { "example.com" } } } } Becomes: # tmsh list sys management-dhcp sys-mgmt-dhcp-config supersede-options sys management-dhcp sys-mgmt-dhcp-config { supersede-options { domain-name { value { example.com } } domain-name-servers { value { 8.8.8.8 } } domain-search { value { example.com } } } } This also affects the configuration file for the dhclient/dhclient6 daemons that the system automatically generates from the aforementioned config stanza.

Impact

The in-memory mcpd configuration relating to management-dhcp supersede options is incorrect. The /etc/dhclient.conf file that is automatically generated contains incorrect syntax. As a result of this, the dhclient/dhclient6 daemons fail to parse the file and run with an incomplete configuration. Ultimately, the system does not behave as configured in regard to its management-dhcp configuration.

Conditions

This issue occurs when the following statements apply: --- The values of management-dhcp supersede options contain double quote characters. --- The configuration is reloaded from file. The BIG-IP system reloads the configuration from file in the following cases: -- When you issue the 'tmsh load sys config' command. -- After an upgrade, as the mcpd binary database does not exist yet. -- When troubleshooting requires removing the mcpd binary database and reloading the config from file. -- When the system is relicensed. -- When system provisioning changes. -- When a UCS/SCF archive is restored. -- When someone merges in config from file or terminal (but this is limited to the actual contents being merged in, not the entire configuration).

Workaround

Reapply the desired management-dhcp supersede-options configuration using the tmsh utility. For example, to restore the intended in-memory configuration shown under Symptoms, you would run within tmsh: # modify sys management-dhcp sys-mgmt-dhcp-config supersede-options none # modify sys management-dhcp sys-mgmt-dhcp-config supersede-options add { domain-search { value add { \"example.com\" } } } # modify sys management-dhcp sys-mgmt-dhcp-config supersede-options add { domain-name { value add { \"example.com\" } } } # modify sys management-dhcp sys-mgmt-dhcp-config supersede-options add { domain-name-servers { value add { 8.8.8.8 } } } # save sys config On versions earlier than 15.0.0, you must also restart the dhclient/dhclient6 daemons by running: bigstart restart dhclient dhclient6 Note that the workaround is not permanent and will be invalidated the next time the config is loaded from file again.

Fix Information

None

Behavior Change