CentOS fails to deploy with LVM storage layout

Bug #1499558 reported by Lee Trager
16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
MAAS
Triaged
High
Lee Trager
maas-images
Triaged
High
Lee Trager

Bug Description

When trying to deploy CentOS using the default LVM layout the deployment fails with the following error

Traceback (most recent call last):
  File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 333, in <module>
    main()
  File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 308, in main
    devices = get_block_devices(target)
  File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 63, in get_block_devices
    (blockdev, part) = block.get_blockdev_for_partition(maybepart)
  File "/curtin/curtin/block/__init__.py", line 149, in get_blockdev_for_partition
    raise ValueError("%s had no syspath (%s)" % (devpath, syspath))
ValueError: /dev/vgroot-lvroot (dm-0) had no syspath (/sys/class/block/vgroot-lvroot (dm-0))
Unexpected error while running command.
Command: ['/tmp/tmpipnJj9/target/curtin/curtin-hooks']
Exit code: 1
Reason: -
Stdout: ''
Stderr: ''
Installation failed with exception: Unexpected error while running command.
Command: ['curtin', 'curthooks']
Exit code: 3
Reason: -
Stdout: 'Traceback (most recent call last):\n File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 333, in <module>\n main()\n File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 308, in main\n devices = get_block_devices(target)\n File "/tmp/tmpipnJj9/target/curtin/curtin-hooks", line 63, in get_block_devices\n (blockdev, part) = block.get_blockdev_for_partition(maybepart)\n File "/curtin/curtin/block/__init__.py", line 149, in get_blockdev_for_partition\n raise ValueError("%s had no syspath (%s)" % (devpath, syspath))\nValueError: /dev/vgroot-lvroot (dm-0) had no syspath (/sys/class/block/vgroot-lvroot (dm-0))\nUnexpected error while running command.\nCommand: [\'/tmp/tmpipnJj9/target/curtin/curtin-hooks\']\nExit code: 1\nReason: -\nStdout: \'\'\nStderr: \'\'\n'
Stderr: ''

Tags: qa-missing
Revision history for this message
Lee Trager (ltrager) wrote :

Deploying with a flat storage layout allows CentOS to install with no issue.

Revision history for this message
Lee Trager (ltrager) wrote :

The bug is due to the CentOS Curtin script not being able to understand all of the storage options we now have. Since most of the storage code we use for Ubuntu could be used for CentOS we may want to move the Curtin hooks out of maas-images and add CentOS support to Curtin itself.

affects: maas → maas-images
Changed in maas:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Lee Trager (ltrager)
Gavin Panella (allenap)
tags: added: qa-missing
Revision history for this message
Andres Rodriguez (andreserl) wrote :

To use the flat storage layout:

maas <user> node set-storage-layout <node-id> storage_layout=flat

Revision history for this message
Sagar Shukla (sa-shukla) wrote :

When I try to run above mentioned command in my environment, I get following error message.

# maas root node set-storage-layout node-262e1660-67a1-XXXX-YYYY-ZZZZZZZZZ storage_layout=flat
usage: /usr/lib/python2.7/dist-packages/maascli/__main__.py root node
       [-h] COMMAND ...
/usr/lib/python2.7/dist-packages/maascli/__main__.py root node: error: argument COMMAND: invalid choice: u'set-storage-layout' (choose from 'power-parameters', 'commission', 'read', 'stop', 'update', 'claim-sticky-ip-address', 'start', 'mark-broken', 'abort-operation', 'details', 'mark-fixed', 'release-sticky-ip-address', 'release', 'query-power-state', 'delete')

Am I missing something?

Revision history for this message
Blake Rouse (blake-rouse) wrote :

You need to be using MAAS 1.9, also make sure that your client definition of the API endpoint is up-to-date. You can do that with a "maas refresh" command.

Revision history for this message
Sagar Shukla (sa-shukla) wrote :

is MAAS 1.9 in stable state for deployment? I am managing 70 servers through MAAS, so just wanted to ensure that I do not loose them.

Revision history for this message
Sagar Shukla (sa-shukla) wrote :

Looking at 1.8.2 and 1.9 differences, 1.8.2 has default storage layout of flat which is in accordance with the requirement for CentOS deployment, so not sure if this is really required with MAAS 1.8.2 . Issue with MAAS 1.8.2 for CentOS deployment seems to be very much different.

Has someone tried CentOS deployment with MAAS 1.8.2

Revision history for this message
Blake Rouse (blake-rouse) wrote :

All version of 1.8.X use flat layout. Only way to use LVM is to upgrade to 1.9. I would not recommend an upgrade at this time as 1.9 is still in alpha.

Revision history for this message
Sagar Shukla (sa-shukla) wrote :

I am running into issues with CentOS deployment and on IRC chat, I was recommended to refer to this bug. But this issue appears to be different.

Do you have any suggestions for the issue that I am facing? I have logged bug given below to track my issue:
https://bugs.launchpad.net/maas/+bug/1502839

Revision history for this message
Sagar Shukla (sa-shukla) wrote :

okay ... no worries, I found that issue is with function pick_cluster_controller_address() in /usr/lib/python2.7/dist-packages/maasserver/preseed.py file. I have not yet been able to identify exact fix, but found a workaround in the interim.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.