Some services configuration are purged at step 3 and re-applied at step 3: lost of time

Bug #1674858 reported by Emilien Macchi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
High
Steven Hardy

Bug Description

Some services like Nova, Neutron, Octavia have purge_config enabled by default, which means that all parameters not managed in a specific step will be removed:

Notice: /Stage[main]/Neutron/Neutron_config[nova/project_domain_name]/ensure: removed

It takes time to remove them and makes deployments longer to finish.

It was introduced by https://review.openstack.org/#/c/353543/ (https://bugs.launchpad.net/tripleo/+bug/1611800).

A solution could be to purge configs only when upgrading TripleO between major versions, and don't purge config during initial deployment or updates (loss of time).
For that, we would require https://review.openstack.org/#/c/438044 to be able to configure some Hiera parameters only during upgrade action in Heat.

Changed in tripleo:
milestone: none → pike-2
Revision history for this message
Alex Schultz (alex-schultz) wrote :

Additionally the purge is possibly causing service disruptions between step 3 and 4 on stack updates because configurations are being removed in step 3 (with service restarts) and readded (with service restarts)

Revision history for this message
Steven Hardy (shardy) wrote :

I think we can just set EnableConfigPurge in environments/major-upgrade-composable-steps.yaml the unset it in environments/major-upgrade-converge.yaml, e.g similar to how we're doing the upgrade flag in https://review.openstack.org/#/c/438044?

If that sounds reasonable we can add the flag to https://review.openstack.org/#/c/438044 or push a separate review (perhaps the latter since the two changes aren't strictly related?)

Revision history for this message
Steven Hardy (shardy) wrote :

I guess the alternative is to make use of stack_update_type and hide the toggling of purge boolean in puppet-tripleo, but I prefer the approach in comment #2 as it's slightly clearer and more explicit.

Changed in tripleo:
assignee: nobody → Steven Hardy (shardy)
status: Triaged → In Progress
Revision history for this message
Steven Hardy (shardy) wrote :

https://review.openstack.org/448460 pushed which shows the approach described in comment #2, feedback welcome

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/ocata)

Fix proposed to branch: stable/ocata
Review: https://review.openstack.org/450887

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (stable/newton)

Fix proposed to branch: stable/newton
Review: https://review.openstack.org/450900

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.openstack.org/448460
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=947a7148e807e74daf9e30e4e8c891d5bdacc69f
Submitter: Jenkins
Branch: master

commit 947a7148e807e74daf9e30e4e8c891d5bdacc69f
Author: Steven Hardy <email address hidden>
Date: Wed Mar 22 09:18:29 2017 +0000

    Only set EnableConfigPurge on major upgrades

    Bug #1611800 fixed an upgrade issue by enabling purging configs for
    some services, but this causes issues such as longer updates and
    restarting services in the minor update case, so only do this for
    major upgrades, and default to false.

    Related-Bug: #1611800
    Closes-Bug: #1674858
    Change-Id: Iff7d715f6730c5633f1146008504b4309ef3133d

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/ocata)

Reviewed: https://review.openstack.org/450887
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=c71229f0924f3c60a3172261734cbbdd731e5e5d
Submitter: Jenkins
Branch: stable/ocata

commit c71229f0924f3c60a3172261734cbbdd731e5e5d
Author: Steven Hardy <email address hidden>
Date: Wed Mar 22 09:18:29 2017 +0000

    Only set EnableConfigPurge on major upgrades

    Bug #1611800 fixed an upgrade issue by enabling purging configs for
    some services, but this causes issues such as longer updates and
    restarting services in the minor update case, so only do this for
    major upgrades, and default to false.

     Conflicts: (don't exist on this branch)
     environments/major-upgrade-composable-steps-docker.yaml
     environments/major-upgrade-converge-docker.yaml

    Related-Bug: #1611800
    Closes-Bug: #1674858
    Change-Id: Iff7d715f6730c5633f1146008504b4309ef3133d
    (cherry picked from commit 947a7148e807e74daf9e30e4e8c891d5bdacc69f)

tags: added: in-stable-ocata
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (stable/newton)

Reviewed: https://review.openstack.org/450900
Committed: https://git.openstack.org/cgit/openstack/tripleo-heat-templates/commit/?id=443bdc0ab26ce003a175134a5f25189d26e5e6b0
Submitter: Jenkins
Branch: stable/newton

commit 443bdc0ab26ce003a175134a5f25189d26e5e6b0
Author: Steven Hardy <email address hidden>
Date: Wed Mar 22 09:18:29 2017 +0000

    Only set EnableConfigPurge on major upgrades

    Bug #1611800 fixed an upgrade issue by enabling purging configs for
    some services, but this causes issues such as longer updates and
    restarting services in the minor update case, so only do this for
    major upgrades, and default to false.

     Conflicts: (don't exist on this branch or are renamed)
     environments/major-upgrade-composable-steps-docker.yaml
     environments/major-upgrade-converge-docker.yaml
     environments/major-upgrade-composable-steps.yaml
     environments/major-upgrade-converge.yaml
     puppet/services/octavia-base.yaml

    Related-Bug: #1611800
    Closes-Bug: #1674858
    Change-Id: Iff7d715f6730c5633f1146008504b4309ef3133d
    (cherry picked from commit 947a7148e807e74daf9e30e4e8c891d5bdacc69f)
    (cherry picked from commit c71229f0924f3c60a3172261734cbbdd731e5e5d)

tags: added: in-stable-newton
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 7.0.0.0b1

This issue was fixed in the openstack/tripleo-heat-templates 7.0.0.0b1 development milestone.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 5.3.0

This issue was fixed in the openstack/tripleo-heat-templates 5.3.0 release.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 6.1.0

This issue was fixed in the openstack/tripleo-heat-templates 6.1.0 release.

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.