[Bug 1872813] Re: cloud-init fails to detect iSCSI root on focal Oracle instances

John Chittum 1872813 at bugs.launchpad.net
Fri Apr 17 12:51:55 UTC 2020


Confirmed fix. The main symptom was inability to SSH into a running
instance due to cloud-init not completing. Main test was to instantiate
an instance and SSH in. Test procedures:

1. checked daily CPC Oracle build to ensure build passed
2. Checked image manifest to ensure open-iscsi 2.0.874-7.1ubuntu6 was installed
3. Uploaded image to Oracle US-East Bucket
4. Imported image as both a PV and Native boot images (Native boot images use iscsi)
5. Created instances of both PV and Native images
6. checked PV and Native images booted (Success)
7. checked ability to SSH into both images (Success)
8. Ran basic smoke checks to system errors, internet connectivity, etc (systemctl, apt, and snap commands)(Success)

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

Title:
  cloud-init fails to detect iSCSI root on focal Oracle instances

Status in cloud-init:
  Invalid
Status in open-iscsi package in Ubuntu:
  Fix Released
Status in open-iscsi source package in Focal:
  Fix Released

Bug description:
  Currently focal images on Oracle are failing to get data from the
  Oracle DS with this traceback:

  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 772, in find_source
      if s.update_metadata([EventType.BOOT_NEW_INSTANCE]):
    File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 661, in update_metadata
      result = self.get_data()
    File "/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 279, in get_data
      return_value = self._get_data()
    File "/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceOracle.py", line 195, in _get_data
      with dhcp.EphemeralDHCPv4(net.find_fallback_nic()):
    File "/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py", line 57, in __enter__
      return self.obtain_lease()
    File "/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py", line 109, in obtain_lease
      ephipv4.__enter__()
    File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 1019, in __enter__
      self._bringup_static_routes()
    File "/usr/lib/python3/dist-packages/cloudinit/net/__init__.py", line 1071, in _bringup_static_routes
      util.subp(
    File "/usr/lib/python3/dist-packages/cloudinit/util.py", line 2084, in subp
      raise ProcessExecutionError(stdout=out, stderr=err,
  cloudinit.util.ProcessExecutionError: Unexpected error while running command.
  Command: ['ip', '-4', 'route', 'add', '0.0.0.0/0', 'via', '10.0.0.1', 'dev', 'ens3']
  Exit code: 2
  Reason: -
  Stdout: 
  Stderr: RTNETLINK answers: File exists

  
  In https://github.com/canonical/cloud-init/blob/46cf23c28812d3e3ba0c570defd9a05628af5556/cloudinit/sources/DataSourceOracle.py#L194-L198, we can see that this path is only taken if _is_iscsi_root returns False.

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1872813/+subscriptions



More information about the foundations-bugs mailing list