Bug 1265010

Summary: Heat environment is overwritten on overcloud updates
Product: Red Hat OpenStack Reporter: Zane Bitter <zbitter>
Component: python-rdomanager-oscpluginAssignee: Jan Provaznik <jprovazn>
Status: CLOSED ERRATA QA Contact: Marius Cornea <mcornea>
Severity: unspecified Docs Contact:
Priority: high    
Version: 7.0 (Kilo)CC: calfonso, dmacpher, jslagle, kbasil, mburns, mcornea, rhel-osp-director-maint, sasha, sclewis
Target Milestone: y1Keywords: Triaged
Target Release: 7.0 (Kilo)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-common-0.0.1.dev6-3.git49b57eb.el7ost python-rdomanager-oscplugin-0.0.10-6.el7ost Doc Type: Bug Fix
Doc Text:
Overcloud updates passed default environment files to Heat. If the Overcloud creation used additional environment files that were not passed during the update, the Overcloud would update the resource registry definitions as per the default environment files, which in turn deleted some of the Overcloud's Heat resources. This fix stops the Heat from sending the default environment files on update. Now Heat does not delete the Overcloud resources.
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-08 12:19:17 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: 1257717    
Bug Blocks: 1255931, 1256538    

Description Zane Bitter 2015-09-21 21:20:57 UTC
With the addition of PATCH support for Heat environments in bug 1257717, it should now be possible to update the overcloud Heat stack without passing any additional environment files again. However, at present the rdo-manager CLI plugin is still passing the *default* environment files on any update. This means that to the extent that any extra environment files are overriding settings in the default environment files, those overrides are being reversed on a stack update if the user does not pass the extra environment files again.

We need to stop passing any environment files not explicitly specified by the user on any stack update. Default environment files should only be included when initially creating the overcloud.

All "openstack overcloud" commands that implicitly perform a heat stack-update are affected.

Comment 1 Jan Provaznik 2015-09-22 12:55:45 UTC
upstream patches:
https://review.openstack.org/#/c/226306/
https://review.openstack.org/#/c/226309/

Comment 5 Marius Cornea 2015-09-29 20:14:38 UTC
Updating the stack without passing initial deployment environment files looks good, remaining to test the overcloud update stack command.

stack@instack:~>>> openstack overcloud deploy --templates ~/templates/my-overcloud --control-scale 3 --compute-scale 1 --ntp-server 10.5.26.10 --libvirt-type qemu  -e ~/templates/my-overcloud/environments/network-isolation.yaml -e ~/templates/network-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/external-loadbalancer-vip.yaml -e ~/templates/external-lb.yaml
Overcloud Endpoint: http://172.16.23.250:5000/v2.0/
Overcloud Deployed

stack@instack:~>>> openstack overcloud deploy --templates ~/templates/my-overcloud --control-scale 3 --compute-scale 1 --ntp-server 10.5.26.10 --libvirt-type qemu 
Overcloud Endpoint: http://172.16.23.250:5000/v2.0/
Overcloud Deployed

stack@instack:~>>> heat stack-list
+--------------------------------------+------------+-----------------+----------------------+
| id                                   | stack_name | stack_status    | creation_time        |
+--------------------------------------+------------+-----------------+----------------------+
| da16683d-a963-475e-9d85-28878acff489 | overcloud  | UPDATE_COMPLETE | 2015-09-29T19:42:42Z |
+--------------------------------------+------------+-----------------+----------------------+

stack@instack:~>>> openstack overcloud deploy --templates ~/templates/my-overcloud --control-scale 3 --compute-scale 2 --ntp-server 10.5.26.10 --libvirt-type qemu 
Overcloud Endpoint: http://172.16.23.250:5000/v2.0/
Overcloud Deployed

stack@instack:~>>> nova list
+--------------------------------------+------------------------+--------+------------+-------------+---------------------+
| ID                                   | Name                   | Status | Task State | Power State | Networks            |
+--------------------------------------+------------------------+--------+------------+-------------+---------------------+
| 159373f4-afc5-4606-8105-cc8a7ffd2af2 | overcloud-compute-0    | ACTIVE | -          | Running     | ctlplane=192.0.2.15 |
| 92d934e5-1058-49bb-ab6b-93bbbc56611c | overcloud-compute-1    | ACTIVE | -          | Running     | ctlplane=192.0.2.18 |
| 216f8dfe-cdb7-40bd-90e9-c914ebbea5dc | overcloud-controller-0 | ACTIVE | -          | Running     | ctlplane=192.0.2.17 |
| 2b9cbcb2-0ae9-45c5-aae4-e2590b5bc9dd | overcloud-controller-1 | ACTIVE | -          | Running     | ctlplane=192.0.2.14 |
| 8f5e6feb-cdce-407e-b0cc-7ce8eea025b5 | overcloud-controller-2 | ACTIVE | -          | Running     | ctlplane=192.0.2.16 |
+--------------------------------------+------------------------+--------+------------+-------------+---------------------+
stack@instack:~>>> . overcloudrc 
stack@instack:~>>> nova hypervisor-list
+----+---------------------------------+-------+---------+
| ID | Hypervisor hostname             | State | Status  |
+----+---------------------------------+-------+---------+
| 2  | overcloud-compute-0.localdomain | up    | enabled |
| 5  | overcloud-compute-1.localdomain | up    | enabled |
+----+---------------------------------+-------+---------+

stack@instack:~>>> ssh heat-admin.2.18 'sudo ip a'
Warning: Permanently added '192.0.2.18' (ECDSA) to the list of known hosts.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master ovs-system state UP qlen 1000
    link/ether 00:69:94:10:e2:a4 brd ff:ff:ff:ff:ff:ff
3: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 86:48:5d:1f:38:db brd ff:ff:ff:ff:ff:ff
4: br-ex: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 00:69:94:10:e2:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.0.2.18/24 brd 192.0.2.255 scope global br-ex
       valid_lft forever preferred_lft forever
    inet6 fe80::269:94ff:fe10:e2a4/64 scope link 
       valid_lft forever preferred_lft forever
5: vlan20: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether ee:58:48:a0:4c:1b brd ff:ff:ff:ff:ff:ff
    inet 172.16.20.11/24 brd 172.16.20.255 scope global vlan20
       valid_lft forever preferred_lft forever
    inet6 fe80::ec58:48ff:fea0:4c1b/64 scope link 
       valid_lft forever preferred_lft forever
6: vlan30: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether d2:92:19:b4:d0:38 brd ff:ff:ff:ff:ff:ff
    inet 172.16.21.11/24 brd 172.16.21.255 scope global vlan30
       valid_lft forever preferred_lft forever
    inet6 fe80::d092:19ff:feb4:d038/64 scope link 
       valid_lft forever preferred_lft forever
7: vlan50: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN 
    link/ether 9e:8a:36:86:8a:0e brd ff:ff:ff:ff:ff:ff
    inet 172.16.22.11/24 brd 172.16.22.255 scope global vlan50
       valid_lft forever preferred_lft forever
    inet6 fe80::9c8a:36ff:fe86:8a0e/64 scope link 
       valid_lft forever preferred_lft forever
8: br-int: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether 7a:70:6b:83:d4:47 brd ff:ff:ff:ff:ff:ff
9: br-tun: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN 
    link/ether fe:22:c9:bc:ee:41 brd ff:ff:ff:ff:ff:ff

Comment 7 errata-xmlrpc 2015-10-08 12:19:17 UTC
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/RHSA-2015:1862