Updates to hiera configuration not propogating/making a puppet run

Bug #1504363 reported by Graeme Gillies on 2015-10-09
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
High
Steve Baker
tripleo
High
Steve Baker

Bug Description

Hi,

Using RDO Liberty with the following package set

openstack-nova-scheduler-13.0.0-dev302.el7.centos.noarch
openstack-heat-templates-0.0.1-dev378.el7.centos.noarch
openstack-swift-container-2.4.1-dev54.el7.centos.noarch
openstack-tripleo-0.0.1-dev1769.el7.centos.noarch
openstack-tuskar-ui-2013.2.0-dev4.el7.centos.noarch
openstack-ceilometer-common-6.0.0-dev4.el7.centos.noarch
openstack-glance-12.0.0-dev3.el7.centos.noarch
openstack-ironic-api-4.2.1-dev4.el7.centos.noarch
openstack-ironic-inspector-2.1.1-dev75.el7.centos.noarch
openstack-neutron-common-8.0.0-dev329.el7.centos.noarch
openstack-neutron-ml2-8.0.0-dev329.el7.centos.noarch
openstack-ceilometer-api-6.0.0-dev4.el7.centos.noarch
openstack-nova-conductor-13.0.0-dev302.el7.centos.noarch
openstack-ceilometer-notification-6.0.0-dev4.el7.centos.noarch
openstack-dashboard-9.0.0-dev4.el7.centos.noarch
openstack-neutron-8.0.0-dev329.el7.centos.noarch
openstack-ceilometer-alarm-6.0.0-dev4.el7.centos.noarch
openstack-tuskar-ui-extras-0.0.4-0.99.20150811.1912git.el7.centos.noarch
openstack-utils-2014.2-1.el7.noarch
python-openstackclient-1.7.1-dev5.el7.centos.noarch
openstack-ironic-common-4.2.1-dev4.el7.centos.noarch
openstack-swift-plugin-swift3-1.7-4.el7.noarch
openstack-tripleo-puppet-elements-0.0.2-dev13.el7.centos.noarch
openstack-nova-console-13.0.0-dev302.el7.centos.noarch
openstack-nova-api-13.0.0-dev302.el7.centos.noarch
openstack-ceilometer-polling-6.0.0-dev4.el7.centos.noarch
openstack-tripleo-heat-templates-0.8.7-dev238.el7.centos.noarch
openstack-puppet-modules-2015.2-dev.1150d0da14ad00e6151d11443ab96d6d3e9649b2_8eef2746.el7.centos.noarch
openstack-ceilometer-collector-6.0.0-dev4.el7.centos.noarch
openstack-ironic-conductor-4.2.1-dev4.el7.centos.noarch
openstack-heat-api-cfn-6.0.0-dev30.el7.centos.noarch
openstack-swift-proxy-2.4.1-dev54.el7.centos.noarch
openstack-tuskar-2013.2-dev8.el7.centos.noarch
openstack-nova-cert-13.0.0-dev302.el7.centos.noarch
openstack-tripleo-image-elements-0.9.7-dev30.el7.centos.noarch
openstack-neutron-openvswitch-8.0.0-dev329.el7.centos.noarch
openstack-heat-api-cloudwatch-6.0.0-dev30.el7.centos.noarch
openstack-nova-common-13.0.0-dev302.el7.centos.noarch
openstack-nova-novncproxy-13.0.0-dev302.el7.centos.noarch
openstack-swift-2.4.1-dev54.el7.centos.noarch
python-django-openstack-auth-2.0.1-dev7.el7.centos.noarch
openstack-keystone-9.0.0-dev25.el7.centos.noarch
openstack-heat-api-6.0.0-dev30.el7.centos.noarch
openstack-swift-object-2.4.1-dev54.el7.centos.noarch
openstack-selinux-0.6.41-1.el7.noarch
openstack-nova-compute-13.0.0-dev302.el7.centos.noarch
openstack-heat-common-6.0.0-dev30.el7.centos.noarch
openstack-ceilometer-central-6.0.0-dev4.el7.centos.noarch
openstack-heat-engine-6.0.0-dev30.el7.centos.noarch
openstack-swift-account-2.4.1-dev54.el7.centos.noarch

I can do a deploy successfully. Then if I make a change to a hiera data file, e.g.

openstack-tripleo-heat-templates/puppet/hieradata/controller.yaml

And call a deploy again (which does a stack update) my changes do not apply.

If I make a change directly to some part of the heria mapping (e.g. add a line to)

openstack-tripleo-heat-templates/puppet/controller.yaml

Under

datafiles:
  ceph:
    mapped_data:
        somethingnew::hello: test

And do a deploy, it never appears under

/etc/puppet/hieradata

in any file, and it looks like puppet never gets rerun.

Will Foster (wfoster-b) wrote :

We seem to be hitting this on Kilo as well.

Steve Baker (steve-stevebaker) wrote :

I'm triaging this now

Steve Baker (steve-stevebaker) wrote :

I've reproduced this on kilo heat and tripleo-heat-templates. A change was made to ControllerConfig mapped_data and an overcloud deploy (stack update) was run. ControllerConfig remained CREATE_COMPLETE so the change wasn't even picked up.

Next step, a simple reproducer and trying on heat master.

Changed in heat:
status: New → Triaged
importance: Undecided → High
assignee: nobody → Steve Baker (steve-stevebaker)
Steve Baker (steve-stevebaker) wrote :

To clarify, ControllerConfig was CREATE_COMPLETE and its physical_resource_id had not changed

Steve Baker (steve-stevebaker) wrote :

I believe this particular issue is caused by the fix to bug #1498607. The root registry is only included during create now, so any changes within tripleo-heat-templates won't be picked up.

https://review.openstack.org/#/c/226306/

Changed in heat:
status: Triaged → Invalid
Changed in tripleo:
status: New → Confirmed
Steven Hardy (shardy) on 2015-10-16
Changed in tripleo:
importance: Undecided → High

Fix proposed to branch: master
Review: https://review.openstack.org/238231

Changed in tripleo:
assignee: nobody → Steve Baker (steve-stevebaker)
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/238231
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=6cdae2f901e3329f6c5f66f78558101da596507b
Submitter: Jenkins
Branch: master

commit 6cdae2f901e3329f6c5f66f78558101da596507b
Author: Steve Baker <email address hidden>
Date: Wed Oct 21 16:22:15 2015 +1300

    Include registry on update when other envs are specified

    On an openstack overcloud deploy which results in a stack-update,
    implicitly include overcloud-resource-registry-puppet.yaml if the user
    specifies any other custom environments. Do not include
    overcloud-resource-registry-puppet.yaml if the user specifies no extra
    environments.

    This solution would be an improvement over the current situation, but it
    isn't perfect.

    It does the right thing when:
    - the user does an openstack overcloud with no environments specified
    - the user does an openstack overcloud with all custom environments
      specified

    It will sometimes do the wrong thing when:
    - the user specifies a partial list of custom environments (like -e
      do_my_custom_oneoff_thing.yaml)

    Change-Id: I60fbf2182429f6bb83e000fc4d45269d7f83171b
    Related-Bug: #1498607
    Closes-Bug: #1504363

Changed in tripleo:
status: In Progress → Fix Committed

Reviewed: https://review.openstack.org/257076
Committed: https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=ceafb5847a176f6b0ed2283c62a46c9ea63810bd
Submitter: Jenkins
Branch: stable/liberty

commit ceafb5847a176f6b0ed2283c62a46c9ea63810bd
Author: Steve Baker <email address hidden>
Date: Wed Oct 21 16:22:15 2015 +1300

    Include registry on update when other envs are specified

    On an openstack overcloud deploy which results in a stack-update,
    implicitly include overcloud-resource-registry-puppet.yaml if the user
    specifies any other custom environments. Do not include
    overcloud-resource-registry-puppet.yaml if the user specifies no extra
    environments.

    This solution would be an improvement over the current situation, but it
    isn't perfect.

    It does the right thing when:
    - the user does an openstack overcloud with no environments specified
    - the user does an openstack overcloud with all custom environments
      specified

    It will sometimes do the wrong thing when:
    - the user specifies a partial list of custom environments (like -e
      do_my_custom_oneoff_thing.yaml)

    Change-Id: I60fbf2182429f6bb83e000fc4d45269d7f83171b
    Related-Bug: #1498607
    Closes-Bug: #1504363

tags: added: in-stable-liberty
Steven Hardy (shardy) on 2016-04-21
Changed in tripleo:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers