← Back to team overview

sts-sponsors team mailing list archive

[Bug 1791108] Re: open-iscsi uses domainsearch instead of search for /etc/resolv.conf

 

Sponsored for development release (cosmic).

I'll start the SRU, beginning of next week. That will give cosmic the
time to go through build, autopkgtest, ... and get "Fix Released" by the
time we are starting the SRU.

- Eric

-- 
You received this bug notification because you are a member of STS
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1791108

Title:
  open-iscsi uses domainsearch instead of search for /etc/resolv.conf

Status in open-iscsi package in Ubuntu:
  In Progress
Status in open-iscsi source package in Xenial:
  In Progress
Status in open-iscsi source package in Bionic:
  In Progress
Status in open-iscsi source package in Cosmic:
  In Progress

Bug description:
  [Impact]

  * open-iscsi is adding "domainsearch", a non-existent configuration
  option, instead of "search" in /etc/resolv.conf. As a result, the
  search list is ignored in the clients.

  [Test case]

  * Install an ubuntu machine that uses iscsi as root, and does not use systemd-resolvd.
  * Prepare the dhcp server to provide the search list to its clients. For instance, in dnsmasq:

  dhcp-option=option:domain-search,canonical.com

  * Boot the machine and check the content of /etc/resolv.conf
  - if domainsearch is present, the search list will be ignored:

  root@iscsi-xenial:/home/ubuntu# ping -c1 golem
  ping: unknown host golem

  root@iscsi-xenial:/home/ubuntu# strace ping -c1 golem 2>&1 | grep golem
  execve("/bin/ping", ["ping", "-c1", "golem"], [/* 19 vars */]) = 0
  sendto(4, "_(\1\0\0\1\0\0\0\0\0\0\5golem\0\0\1\0\1", 23, MSG_NOSIGNAL, NULL, 0) = 23
  recvfrom(4, "_(\201\203\0\1\0\0\0\0\0\0\5golem\0\0\1\0\1", 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.122.1")}, [16]) = 23
  write(2, "ping: unknown host golem\n", 25ping: unknown host golem

  - if search is present, the search list will be used:

  root@iscsi-xenial:/home/ubuntu# ping -c1 golem
  PING golem.canonical.com (91.189.89.199) 56(84) bytes of data.
  64 bytes from golem.canonical.com (91.189.89.199): icmp_seq=1 ttl=57 time=63.7 ms

  --- golem.canonical.com ping statistics ---
  1 packets transmitted, 1 received, 0% packet loss, time 0ms
  rtt min/avg/max/mdev = 63.735/63.735/63.735/0.000 ms

  root@iscsi-xenial:/home/ubuntu# strace ping -c1 golem 2>&1 | grep golem
  execve("/bin/ping", ["ping", "-c1", "golem"], [/* 19 vars */]) = 0
  sendto(4, "\1\\\1\0\0\1\0\0\0\0\0\0\5golem\tcanonical\3com"..., 37, MSG_NOSIGNAL, NULL, 0) = 37
  recvfrom(4, "\1\\\201\200\0\1\0\1\0\0\0\0\5golem\tcanonical\3com"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.122.1")}, [16]) = 53
  write(1, "PING golem.canonical.com (91.189"..., 145PING golem.canonical.com (91.189.89.199) 56(84) bytes of data.
  64 bytes from golem.canonical.com (91.189.89.199): icmp_seq=1 ttl=57 time=63.5 ms
  write(1, "--- golem.canonical.com ping sta"..., 157--- golem.canonical.com ping statistics ---

  [Regression potential]

  * The change is minor (a string replacement) and it's currently not working.
  * Any possible regression would involve continuing to break DNS resolution.

  [Other info]

  * resolv.conf man page: http://man7.org/linux/man-
  pages/man5/resolv.conf.5.html

  [Original description]

  Having an interface file such as /run/net-eno2.conf with the following
  content:

  DEVICE='eno2'
  PROTO='dhcp'
  IPV4ADDR='10.10.10.10'
  IPV4BROADCAST='10.10.10.255'
  IPV4NETMASK='255.255.255.0'
  IPV4GATEWAY='10.10.10.1'
  IPV4DNS0='169.254.169.254'
  IPV4DNS1='0.0.0.0'
  HOSTNAME=''
  DNSDOMAIN='test.com'
  NISDOMAIN=''
  ROOTSERVER='169.254.169.254'
  ROOTPATH=''
  filename='/ipxe.efi'
  UPTIME='45'
  DHCPLEASETIME='86400'
  DOMAINSEARCH='test.com'

  net-interface-handler translates it to:

  nameserver 169.254.169.254
  domainsearch test.com

  instead of:

  nameserver 169.254.169.254
  search test.com

  The problem is that domainsearch is not a valid configuration option
  for /etc/resolv.conf and is ignored.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1791108/+subscriptions