Bug 1232435
| Summary: | Role was added to a template with empty flavor value | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Omri Hochman <ohochman> |
| Component: | rhosp-director | Assignee: | Brad P. Crochet <brad> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Omri Hochman <ohochman> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | Director | CC: | brad, calfonso, dmacpher, jdobies, jtomasek, kaihua.chen, ltoscano, mburns, opavlenk, rhel-osp-director-maint, sclewis, yeylon |
| Target Milestone: | y1 | Keywords: | Triaged, ZStream |
| Target Release: | Director | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
In some cases, running "openstack overcloud deploy" might result in an error for unused roles requiring a flavor named "baremetal". This occurs when the unused role is passed with a nil value.
|
Story Points: | --- |
| Clone Of: | 1226855 | Environment: | |
| Last Closed: | 2015-10-08 14:02:43 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: | 1226855 | ||
| Bug Blocks: | |||
*** Bug 1228132 has been marked as a duplicate of this bug. *** Please retest. Does this still need a workaround documented? Doc text might require a workaround. From my experience, it's just a case of deploying without --block-storage-scale 0 and --swift-storage-scale 0. But might need confirmation on this. I couldn't reproduce on Bare-Metal, my deployment command is : openstack overcloud deploy --plan overcloud --control-scale 1 --compute-scale 1 --ceph-storage-scale 3 -e /home/stack/network-environment.yaml --ntp-server 10.5.26.10 --neutron-network-type vxlan --neutron-tunnel-types vxlan --timeout 90 [stack@rhos-compute-node-18 ~]$ openstack flavor list +--------------------------------------+-----------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +--------------------------------------+-----------+------+------+-----------+-------+-----------+ | d9c5fffc-5296-46f0-b0b6-29f3c1827bac | baremetal | 4096 | 40 | 0 | 1 | True | +--------------------------------------+-----------+------+------+-----------+-------+-----------+ [stack@rhos-compute-node-18 ~]$ tuskar plan-show-flavors overcloud +------------------+-----------+ | Property | Value | +------------------+-----------+ | Ceph-Storage-1 | baremetal | | Cinder-Storage-1 | baremetal | | Compute-1 | baremetal | | Controller-1 | baremetal | | Swift-Storage-1 | baremetal | +------------------+-----------+ According to comment #4 the Error is : openstack ERROR: Parameter 'Cinder-Storage-1::Flavor' is invalid: Error validating value u'': The Flavor ID () could not be found. On my environment I couldn't reproduce, Since on our tests we do not deploy: --block-storage-scale or --swift-storage-scale, Which from my understanding could lead to this error of the invalid flavor : "Cinder-Storage-1::Flavor is invalid I agree that if not going to be fix for GA , this issue require release notes/ bug-text to avoid users get this situation. Verified according comment #4 (Note :Doc Test bug is +) environment: ------------- python-rdomanager-oscplugin-0.0.8-43.el7ost.noarch instack-undercloud-2.1.2-22.el7ost.noarch instack-0.0.7-1.el7ost.noarch openstack-tripleo-heat-templates-0.8.6-45.el7ost.noarch openstack-heat-templates-0-0.6.20150605git.el7ost.noarch The Bare-metal flavor is created when running : openstack flavor create --id auto --ram 4096 --disk 40 --vcpus 1 baremetal openstack flavor set --property "cpu_arch"="x86_64" --property "capabilities:boot_option"="local" baremetal |
I hit the same issue as well, from the command line. In a virtual environment, I have 5 machines for the overcloud with different amount of RAM to be used as controller (1x), compute (1x) and storage/ceph (3x). So I defined three flavors, updated the discovered nodes to have specific properties, and run a network-isolation based setup: $ openstack flavor create --id auto --ram 8192 --disk 20 --vcpus 2 control $ openstack flavor create --id auto --ram 6144 --disk 20 --vcpus 2 compute $ openstack flavor create --id auto --ram 3072 --disk 20 --vcpus 2 storage $ openstack flavor set --property "cpu_arch"="x86_64" \ --property "capabilities:boot_option"="local" \ --property "capabilities:profile"="control" control $ openstack flavor set --property "cpu_arch"="x86_64" \ --property "capabilities:boot_option"="local" \ --property "capabilities:profile"="compute" compute $ openstack flavor set --property "cpu_arch"="x86_64" \ --property "capabilities:boot_option"="local" \ --property "capabilities:profile"="storage" storage $ ironic node-update 46da278f-7483-495a-9559-ff1129f180d0 \ add properties/capabilities='profile:control,boot_option:local' $ ironic node-update 2f050252-f23f-42f1-a529-514562899882 \ add properties/capabilities='profile:compute,boot_option:local' $ ironic node-update ea4382f5-0d12-47bb-9df1-ac4f5095befb \ add properties/capabilities='profile:storage,boot_option:local' $ ironic node-update 97781c79-8c73-44ea-86f3-132c6560349c \ add properties/capabilities='profile:storage,boot_option:local' $ ironic node-update 5aef2f9f-1144-4d91-a396-cde55a3da58e add properties/capabilities='profile:storage,boot_option:local' Deployment: $ cat /home/stack/network-environment.yaml parameter_defaults: InternalApiNetCidr: 172.16.20.0/24 StorageNetCidr: 172.16.21.0/24 TenantNetCidr: 172.16.22.0/24 ExternalNetCidr: 172.16.23.0/24 InternalApiAllocationPools: [{'start': '172.16.20.10', 'end': '172.16.20.100'}] StorageAllocationPools: [{'start': '172.16.21.10', 'end': '172.16.21.100'}] TenantAllocationPools: [{'start': '172.16.22.10', 'end': '172.16.22.100'}] ExternalAllocationPools: [{'start': '172.16.23.10', 'end': '172.16.23.100'}] ExternalInterfaceDefaultRoute: 172.16.23.251 $ openstack overcloud deploy --plan-uuid cc521a2c-ddda-4137-8649-7d32d88c4042 \ --control-scale 1 --control-flavor control \ --compute-scale 1 --compute-flavor compute \ --ceph-storage-scale 3 --ceph-storage-flavor storage \ --block-storage-scale 0 --swift-storage-scale 0 \ -e /usr/share/openstack-tripleo-heat-templates/environments/net-single-nic-with-vlans.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/network-environment.yaml \ --network-cidr 192.168.0.0/24 \ --floating-ip-cidr=172.16.23.0/24 \ --floating-ip-start=172.16.23.100 --floating-ip-end=172.16.23.150 \ --bm-network-gateway=172.16.23.251 \ --neutron-tunnel-types vxlan --neutron-network-type vxlan The output from the deployment contains the first type of error reported in the original bug: The following templates will be written: /tmp/tmpi0iEYw/puppet/manifests/overcloud_volume.pp /tmp/tmpi0iEYw/hieradata/object.yaml /tmp/tmpi0iEYw/puppet/hieradata/common.yaml /tmp/tmpi0iEYw/provider-Swift-Storage-1.yaml /tmp/tmpi0iEYw/puppet/controller-config-pacemaker.yaml /tmp/tmpi0iEYw/provider-Cinder-Storage-1.yaml /tmp/tmpi0iEYw/provider-Compute-1.yaml /tmp/tmpi0iEYw/network/noop.yaml /tmp/tmpi0iEYw/puppet/bootstrap-config.yaml /tmp/tmpi0iEYw/net-config-bridge.yaml /tmp/tmpi0iEYw/provider-Ceph-Storage-1.yaml /tmp/tmpi0iEYw/puppet/controller-post-puppet.yaml /tmp/tmpi0iEYw/puppet/cinder-storage-puppet.yaml /tmp/tmpi0iEYw/puppet/manifests/overcloud_cephstorage.pp /tmp/tmpi0iEYw/puppet/hieradata/object.yaml /tmp/tmpi0iEYw/puppet/controller-puppet.yaml /tmp/tmpi0iEYw/puppet/manifests/overcloud_controller_pacemaker.pp /tmp/tmpi0iEYw/puppet/cinder-storage-post.yaml /tmp/tmpi0iEYw/puppet/swift-storage-post.yaml /tmp/tmpi0iEYw/provider-Controller-1.yaml /tmp/tmpi0iEYw/network/networks.yaml /tmp/tmpi0iEYw/puppet/hieradata/RedHat.yaml /tmp/tmpi0iEYw/puppet/manifests/overcloud_object.pp /tmp/tmpi0iEYw/hieradata/controller.yaml /tmp/tmpi0iEYw/network/ports/ctlplane_vip.yaml /tmp/tmpi0iEYw/hieradata/volume.yaml /tmp/tmpi0iEYw/puppet/compute-post-puppet.yaml /tmp/tmpi0iEYw/extraconfig/tasks/yum_update.yaml /tmp/tmpi0iEYw/puppet/swift-storage-puppet.yaml /tmp/tmpi0iEYw/extraconfig/tasks/yum_update.sh /tmp/tmpi0iEYw/puppet/swift-devices-and-proxy-config.yaml /tmp/tmpi0iEYw/network/ports/net_ip_map.yaml /tmp/tmpi0iEYw/puppet/compute-puppet.yaml /tmp/tmpi0iEYw/puppet/hieradata/volume.yaml /tmp/tmpi0iEYw/puppet/ceph-storage-post-puppet.yaml /tmp/tmpi0iEYw/extraconfig/controller/noop.yaml /tmp/tmpi0iEYw/network/ports/noop.yaml /tmp/tmpi0iEYw/puppet/ceph-cluster-config.yaml /tmp/tmpi0iEYw/puppet/ceph-storage-puppet.yaml /tmp/tmpi0iEYw/puppet/hieradata/ceph.yaml /tmp/tmpi0iEYw/puppet/vip-config.yaml /tmp/tmpi0iEYw/puppet/hieradata/controller.yaml /tmp/tmpi0iEYw/plan.yaml /tmp/tmpi0iEYw/environment.yaml /tmp/tmpi0iEYw/network/ports/net_ip_list_map.yaml /tmp/tmpi0iEYw/hieradata/compute.yaml /tmp/tmpi0iEYw/puppet/hieradata/compute.yaml /tmp/tmpi0iEYw/hieradata/ceph.yaml /tmp/tmpi0iEYw/puppet/manifests/overcloud_compute.pp /tmp/tmpi0iEYw/hieradata/common.yaml /tmp/tmpi0iEYw/puppet/manifests/ringbuilder.pp /tmp/tmpi0iEYw/extraconfig/post_deploy/default.yaml /tmp/tmpi0iEYw/net-config-noop.yaml /tmp/tmpi0iEYw/puppet/all-nodes-config.yaml /tmp/tmpi0iEYw/firstboot/userdata_default.yaml ERROR: openstack ERROR: Parameter 'Cinder-Storage-1::Flavor' is invalid: Error validating value u'baremetal': The Flavor ID (baremetal) could not be found. If I try to define a new baremetal flavor (with dummy parameters), the error changes slightly: ERROR: openstack ERROR: Parameter 'Cinder-Storage-1::Flavor' is invalid: Error validating value u'': The Flavor ID () could not be found. Please note that this happen before the creation of any heat stack (`heat stack-list` executed in parallel always returned an empty list). Additional details: $ openstack flavor list +--------------------------------------+---------+------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +--------------------------------------+---------+------+------+-----------+-------+-----------+ | 752e3f32-50fe-4797-bbba-8ada70efc311 | control | 8192 | 20 | 0 | 2 | True | | d511356e-caa9-4c75-a5bd-cd70a4da0732 | storage | 3072 | 20 | 0 | 2 | True | | e909ac64-1004-4ff6-8aca-18629c27ed97 | compute | 6144 | 20 | 0 | 2 | True | +--------------------------------------+---------+------+------+-----------+-------+-----------+ $ tuskar plan-show-flavors overcloud +------------------+---------+ | Property | Value | +------------------+---------+ | Ceph-Storage-1 | storage | | Cinder-Storage-1 | | | Compute-1 | compute | | Controller-1 | control | | Swift-Storage-1 | | +------------------+---------+ I think that this should either be fixed or a clear and easy workaround should be documented, as it is quite easy that an user would want to customize the flavors, based on the available systems. Raising the priority for now.