RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1858187 - RFE: Support modify dns search and server respectively
Summary: RFE: Support modify dns search and server respectively
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: nmstate
Version: 8.3
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: 8.5
Assignee: Gris Ge
QA Contact: Mingyu Shi
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-07-17 07:03 UTC by Mingyu Shi
Modified: 2021-03-24 08:22 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-03-24 08:22:27 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)

Description Mingyu Shi 2020-07-17 07:03:28 UTC
Description of problem:
There are 2 issues:
1. In a scenario that people want to specify a dns suffix(search) while using dynamical dns server from DHCP server. But now when configuring dns search in nmstate, you have to configure a static dns server at the same time.
2. Now when apply an empty search config, or an empty server config, nmstate will remove both search and server config. If possible I hope I can control them respectively. This could be discussed that which method is better.

Version-Release number of selected component (if applicable):
nmstate-0.3.3-2.el8.noarch
NetworkManager-1.26.0-1.el8.x86_64
DISTRO=RHEL-8.3.0-20200716.n.0
Linux hp-dl388g8-04.rhts.eng.pek2.redhat.com 4.18.0-226.el8.x86_64 #1 SMP Wed Jul 15 07:40:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux


How reproducible:
100%

Steps to Reproduce:
1. Apply a dns search config, no server config
2.
3.

Actual results:
Failed

Expected results:
No failure

Additional info:
# cat only-search.yaml
---
dns-resolver:
  config:
    search:
    - veth0.lan
    - veth0.lan0
routes:
  config:
  - destination: 0.0.0.0/0
    next-hop-address: 1.0.0.254
    next-hop-interface: veth0
interfaces:
- name: veth0
  type: ethernet
  state: up
  ipv4:
    address:
    - ip: 1.0.0.1
      prefix-length: 24
    enabled: true

# nmstatectl set only-search.yaml
2020-07-17 15:01:42,104 root         DEBUG    Async action: Create checkpoint started
2020-07-17 15:01:42,107 root         DEBUG    Checkpoint None created for all devices
2020-07-17 15:01:42,107 root         DEBUG    Async action: Create checkpoint finished
2020-07-17 15:01:42,108 root         DEBUG    Async action: Add profile: veth0 started
2020-07-17 15:01:42,114 root         DEBUG    Async action: Add profile: veth0 finished
2020-07-17 15:01:42,115 root         DEBUG    Async action: Activate profile: veth0 started
2020-07-17 15:01:42,117 root         DEBUG    Connection activation initiated: dev=veth0, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATING of type NM.ActiveConnectionState>
2020-07-17 15:01:42,136 root         DEBUG    Connection activation succeeded: dev=veth0, con-state=<enum NM_ACTIVE_CONNECTION_STATE_ACTIVATED of type NM.ActiveConnectionState>, dev-state=<enum NM_DEVICE_STATE_ACTIVATED of type NM.DeviceState>, state-flags=<flags NM_ACTIVATION_STATE_FLAG_LAYER2_READY | NM_ACTIVATION_STATE_FLAG_IP4_READY | NM_ACTIVATION_STATE_FLAG_IP6_READY of type NM.ActivationStateFlags>
2020-07-17 15:01:42,136 root         DEBUG    Async action: Activate profile: veth0 finished
2020-07-17 15:01:47,351 root         DEBUG    Async action: Rollback to checkpoint /org/freedesktop/NetworkManager/Checkpoint/43 started
2020-07-17 15:01:47,357 root         DEBUG    Checkpoint /org/freedesktop/NetworkManager/Checkpoint/43 rollback executed
2020-07-17 15:01:47,357 root         DEBUG    Interface veth0 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface lo rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface ens6f3 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface eno3 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface ens2f0 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface eno2 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface ens2f1 rollback succeeded
2020-07-17 15:01:47,357 root         DEBUG    Interface eno4 rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Interface ens6f1 rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Interface ens6f0 rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Interface veth0_ep rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Interface ens6f2 rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Interface eno1 rollback succeeded
2020-07-17 15:01:47,358 root         DEBUG    Async action: Rollback to checkpoint /org/freedesktop/NetworkManager/Checkpoint/43 finished
Traceback (most recent call last):
  File "/usr/bin/nmstatectl", line 11, in <module>
    load_entry_point('nmstate==0.3.3', 'console_scripts', 'nmstatectl')()
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 67, in main
    return args.func(args)
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 256, in apply
    args.save_to_disk,
  File "/usr/lib/python3.6/site-packages/nmstatectl/nmstatectl.py", line 289, in apply_state
    save_to_disk=save_to_disk,
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 71, in apply
    _apply_ifaces_state(plugins, net_state, verify_change, save_to_disk)
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 115, in _apply_ifaces_state
    _verify_change(plugins, net_state)
  File "/usr/lib/python3.6/site-packages/libnmstate/netapplier.py", line 120, in _verify_change
    net_state.verify(current_state)
  File "/usr/lib/python3.6/site-packages/libnmstate/net_state.py", line 64, in verify
    self._dns.verify(current_state.get(DNS.KEY))
  File "/usr/lib/python3.6/site-packages/libnmstate/dns.py", line 191, in verify
    {DNS.KEY: self.config}, {DNS.KEY: cur_dns.config},
libnmstate.error.NmstateVerificationError: 
desired
=======
---
dns-resolver:
  search:
  - veth0.lan
  - veth0.lan0

current
=======
---
dns-resolver:
  search: []
  server: []

difference
==========
--- desired
+++ current
@@ -1,5 +1,4 @@
 ---
 dns-resolver:
-  search:
-  - veth0.lan
-  - veth0.lan0
+  search: []
+  server: []

Comment 5 Gris Ge 2021-03-24 08:22:27 UTC
This bug as support so will break/complex current nmstate implementation -- user is required to provide full state on DNS without expecting nmstate doing merging work.

And this is no customer request for this use case.

Hence I am closing it, please feel free to reopen it when needed.


Note You need to log in before you can comment on or make changes to this bug.