Bug 1533665
| Summary: | root_device parameter not working in instackenv.json TripleO import file | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Philip Sweany <psweany> |
| Component: | openstack-tripleo-common | Assignee: | Dmitry Tantsur <dtantsur> |
| Status: | CLOSED ERRATA | QA Contact: | Alexander Chuzhoy <sasha> |
| Severity: | medium | Docs Contact: | |
| Priority: | low | ||
| Version: | 10.0 (Newton) | CC: | aschultz, bfournie, djuran, mburns, rhel-osp-director-maint, sasha, slinaber |
| Target Milestone: | beta | Keywords: | Triaged |
| Target Release: | 13.0 (Queens) | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | openstack-tripleo-common-8.4.1-0.20180224032817.d51ed49.el7ost | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2018-06-27 13:42:10 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1473267 | ||
Thanks!
> Continuously retries and delays, unable to process the root_device parameter
Could you please file a separate bug for this? Unexpected parameters should end up in a clear error message, not in this.
Verified:
Environment: openstack-tripleo-common-8.6.1-6.el7ost.noarch
Imported instackenv.json with entry like below:
"nodes": [
{
"name": "ceph-0",
"mac": ["52:54:00:3a:a4:8e"],
"cpu": "2",
"memory": "4096",
"root_device": {
"name":"/dev/vdb"
},
"disk": "20",
"arch": "x86_64",
"pm_addr": "172.16.0.1",
"pm_type": "pxe_ipmitool",
"pm_user": "<user>",
"pm_password": "<pass>",
"pm_port": "6239"
}, ]
Then checked for properties:
(undercloud) [stack@undercloud-0 ~]$ openstack baremetal node show ceph-0|grep properties
| properties | {u'cpu_arch': u'x86_64', u'root_device': {u'name': u'/dev/vdb'}, u'cpus': u'2', u'capabilities': u'boot_option:local', u'memory_mb': u'4096', u'local_gb': u'20'} |
the root_device is there as expected.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2018:2086 |
Description of problem: The root_device parameter is not currently working/supported. All other properties appear to work as documented. My need is configure baremetal nodes and proceed directly to orchestration without performing introspection, in a classroom environment where all baremetal nodes are controlled, known-configuration KVM instances. I am aware that this does work with a YAML file and "baremetal node create", but we are teaching TripleO and prefer using the instackenv.json type files for this section. It also works properly to set the parameter using "baremetal node set" after the import, but the use case is to dynamically generate and invoke this json file, then go straight to orchestration. Version-Release number of selected component (if applicable): openstack-tripleo.noarch 0.0.8-0.2.4de13b3git.el7ost How reproducible: Steps to Reproduce: 1. Create an instackenv.json parameter file with the root_device parameter. Syntax example here inline: { "nodes": [ { "name": "compute2", "pm_user": "admin", "arch": "x86_64", "mac": [ "52:54:00:00:f9:0d" ], "cpu": "2", "memory": "6144", "disk": "40", "pm_addr": "172.25.249.122", "pm_type": "pxe_ipmitool", "pm_password": "password", "capabilities": "profile:ceph-storage,boot_option:local", "root_device": { "name":"/dev/vda" } } ] } 2. Perform "baremetal node import instackenv.json", which never completes. Continuously retries and delays, unable to process the root_device parameter. 3. Abort the import, delete the baremetal node record partially created. Actual results: Import never completes. Baremetal record is created with all other parameters, but not root_device. Expected results: The record is created with the root_device, as seen here: [stack@director ~]$ openstack baremetal node show ceph0 -c properties +------------+---------------------------------------------------------------------+ | Field | Value | +------------+---------------------------------------------------------------------+ | properties | {u'cpu_arch': u'x86_64', u'root_device': {u'name': u'/dev/vda'}, | | | u'cpus': u'2', u'capabilities': u'node:ceph0,boot_option:local', | | | u'memory_mb': u'3072', u'local_gb': u'19'} | +------------+---------------------------------------------------------------------+ Additional info: Also, because the nodes are KVM instances (or other similar VMs), the root disk will always be the first virtual disk. Hence our syntax where we will always set this to "name":"/dev/vda". However, the root_device will need to be supported to work with all setting that are support by the current "baremetal node set --parameter" syntax that also works.