[Bug 1867366] Re: hostnqn fails to automatically generate after installing nvme-cli

Rafael David Tinoco 1867366 at bugs.launchpad.net
Wed Sep 2 19:34:49 UTC 2020


Oops there is something else.. hostnqn *could* come from kernel (from
nvme-connect Documentation):

--hostnqn=<hostnqn>::
    Overrides the default Host NQN that identifies the NVMe Host.
    If this option is not specified, the default is read from
    /etc/nvme/hostnqn first. If that does not exist, the autogenerated
    NQN value from the NVMe Host kernel module is used next.
    The Host NQN uniquely identifies the NVMe Host.

the documentation for nvme-discover.txt does not contain the kernel
part.

But I could not find any code reading hostnqn from sysfs or ioctls or
anything like it .. (weird). There is a function to automatically
generate a hostnqn with libuuid ... but nothing else as it seems.. so
the documentation seems wrong.

So I think that for both, Bionic and Focal, we should concentrate in
hard coded:

#define PATH_NVME_FABRICS   "/dev/nvme-fabrics"
#define PATH_NVMF_DISC      "/etc/nvme/discovery.conf"
#define PATH_NVMF_HOSTNQN   "/etc/nvme/hostnqn"
#define PATH_NVMF_HOSTID    "/etc/nvme/hostid"

(from fabric.c)

Assumption:
- If no hostnqn is given, then there is no way a fabric was configured, and you're safe to delete both files.

Logic:
- check if hostnqn is set in /etc/nvme/hostnqn, if yes warn user hostid can be duplicated
  - if not, check if hostid was changed.. if yes, keep it... if no change it to correct one, create hostnqn

Make Sure:
- both files /etc/nvme/hostnqn and /etc/nvme/hostid are kept on purge (just because they are related to host identification, user can delete later if really wanted).

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to nvme-cli in Ubuntu.
https://bugs.launchpad.net/bugs/1867366

Title:
  hostnqn fails to automatically generate after installing nvme-cli

Status in nvme-cli package in Ubuntu:
  Fix Released
Status in nvme-cli source package in Bionic:
  In Progress
Status in nvme-cli source package in Focal:
  Incomplete
Status in nvme-cli source package in Groovy:
  Fix Released
Status in nvme-cli package in Debian:
  Unknown

Bug description:
  [impact]

  "nvme gen-hostnqn" does not work, leading to no content in
  /etc/nvme/hostnqn

  [test case]

  ddstreet at thorin:~$ cat /etc/nvme/hostnqn

  ddstreet at thorin:~$ nvme gen-hostnqn
  "gen-hostnqn" not supported. Install lib uuid and rebuild.

  [regression potential]

  any regression would likely involve a failure of nvme to interact with
  nvmeof devices, or for other systems connecting to this nvme fabric
  target to encounter errors

  also, the upload for Focal includes a postinst check for the hardcoded
  hostid value (from the 1.9-1 package), and if it's found, it
  regenerates it (so the host has a unique generated value). Anyone
  using the old hardcoded hostid will be affected by this

  [scope]

  xenial does not include the gen-hostnqn command, so this is needed
  only for bionic and later.

  note that in bionic, the 'gen-hostnqn' command exists, but the
  /etc/nvme/hostnqn file is not provided by the package.

  [other info]

  to fix this in debian:
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969183
  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969340

  [original description]

  hostnqn fails to automatically generate after installing nvme-cli

  ProblemType: Bug
  DistroRelease: Ubuntu 20.04
  Package: nvme-cli 1.9-1
  ProcVersionSignature: Ubuntu 5.4.0-9.12-generic 5.4.3
  Uname: Linux 5.4.0-9-generic x86_64
  ApportVersion: 2.20.11-0ubuntu18
  Architecture: amd64
  Date: Fri Mar  6 14:09:20 2020
  Dependencies:
   gcc-9-base 9.2.1-21ubuntu1
   libc6 2.30-0ubuntu3
   libgcc1 1:9.2.1-21ubuntu1
   libidn2-0 2.2.0-2
   libunistring2 0.9.10-2
  InstallationDate: Installed on 2020-03-05 (0 days ago)
  InstallationMedia: Ubuntu-Server 20.04 LTS "Focal Fossa" - Alpha amd64 (20200124)
  ProcEnviron:
   TERM=xterm
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  SourcePackage: nvme-cli
  UpgradeStatus: No upgrade log present (probably fresh install)
  modified.conffile..etc.nvme.hostnqn: [modified]
  mtime.conffile..etc.nvme.hostnqn: 2020-03-06T11:27:08.674276

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nvme-cli/+bug/1867366/+subscriptions



More information about the foundations-bugs mailing list