Updates to hiera configuration not propogating/making a puppet run

Bug #1504363 reported by Graeme Gillies
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Heat
Invalid
High
Steve Baker
tripleo
Fix Released
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.

Revision history for this message
Will Foster (wfoster-b) wrote :

We seem to be hitting this on Kilo as well.

Revision history for this message
Steve Baker (steve-stevebaker) wrote :

I'm triaging this now

Revision history for this message
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)
Revision history for this message
Steve Baker (steve-stevebaker) wrote :

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

Revision history for this message
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)
Changed in tripleo:
importance: Undecided → High
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (master)

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

Changed in tripleo:
assignee: nobody → Steve Baker (steve-stevebaker)
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (master)

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
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to python-tripleoclient (stable/liberty)

Fix proposed to branch: stable/liberty
Review: https://review.openstack.org/257076

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to python-tripleoclient (stable/liberty)

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)
Changed in tripleo:
status: Fix Committed → Fix Released
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.