Bug 1469453 - [backport][osp10] openstack/python-tripleoclient "Add skip_deploy_identifier"
[backport][osp10] openstack/python-tripleoclient "Add skip_deploy_identifier"
Status: CLOSED CURRENTRELEASE
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tripleoclient (Show other bugs)
10.0 (Newton)
All Linux
high Severity high
: z6
: 10.0 (Newton)
Assigned To: James Slagle
Gurenko Alex
: TestOnly, Triaged, ZStream
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2017-07-11 05:50 EDT by Nilesh
Modified: 2018-03-28 12:50 EDT (History)
21 users (show)

See Also:
Fixed In Version: python-tripleoclient-5.4.3-1.el7ost
Doc Type: Enhancement
Doc Text:
Previously, during any stack update operation, there was a unique identifier parameter value called DeployIdentifier that was set to a new timestamp value on every run. This caused puppet to be reapplied across all nodes in the deployment. This fix adds a new cli arg to "openstack overcloud deploy" called --skip-deploy-identifier. The new CLI argument will skip setting this DeployIdentifier value, and puppet will no longer be forced to execute on every stack update. In some scenarios, Puppet will still execute even if --skip-deploy-identifier is passed. Those scenarios include a change to the puppet manifest itself. Performance of stack update operations, such as scale out, are greatly improved when passing --skip-deploy-identifier argument since puppet does not have to run.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2017-11-14 20:58:13 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 489812 None None None 2017-08-01 20:24 EDT
OpenStack gerrit 489813 None None None 2017-08-01 20:24 EDT

  None (edit)
Description Nilesh 2017-07-11 05:50:01 EDT
Requesting to backport one more step from Ocata to Newton:

Add a new cli argument, --skip-deploy-identifier. The argument will eventually be passed to the tripleo-common DeployStackAction action to disable setting a unique value for the DeployIdentifier parameter, which means the SoftwareDeployment resources in the templates will only be triggered if there is an actual change to their configuration. This argument can be used to avoid always applying configuration, such as during node scale out.


https://git.openstack.org/cgit/openstack/tripleo-common/commit/?id=320960c804fcdcaa1458a7dec1fbbe70f77900ee

https://git.openstack.org/cgit/openstack/python-tripleoclient/commit/?id=1b877698ce76f858d6d9d0dc629261bf21aa89f9
Comment 4 Carlos Camacho 2017-07-17 08:56:30 EDT
Please, this backport is referred to backport a deployment feature as it is "--skip-deploy-identifier".

Can you clarify if this is related to an update/upgrade task?
Comment 10 skhodri 2017-08-01 06:33:50 EDT
Hi Jarda,
I discussed with a major telco operator in France who are very interested to get that feature back ported in OSP10. The main issue that they are encountering is that when they deploy new computes all the system must be in maintenance mode and this is because they made some post-config work on the existing node that must be redeployed once again when the new compute nodes are added. 

The customer is aware that this enhancement is limited to unforce Puppet on compute nodes already deployed and that any post configuration work done via Director would be run on all existing compute (But this should normally not affect the nodes since the value should not be changed if target is to have the new nodes to get the same configuration as the one already deployed). Also the above limitation can be bypassed if post-configuration is run manually outside of Director if need be.
Comment 12 skhodri 2017-08-28 03:17:01 EDT
Will it be possible to add a file as an argument containing the list of the  nodes to bypass in the command line? 

For example assuming there are hundreds of nodes already deployed and we need to add/deploy a very low number of new nodes then this could be more practical if we do not have to manually enter the full list of nodes in the command but rather use a text file in the command. IMHO this will give more flexibility and simplicity for the user.
Comment 13 Jaromir Coufal 2017-08-29 09:34:54 EDT
I believe this specific part of the feature does not require user to enter list of nodes to disable the puppet runs. If I look briefly to the description and code, it seems that the identifier disables puppet runs on all nodes if there is no change in templates.

On the opposite, the original OSP12 full blacklist feature would require user to enter nodes to be blacklisted. This is not required in this backported functionality.
Comment 14 Jaromir Coufal 2017-08-29 09:35:43 EDT
Comment from Alex (our eng):
The requested backport is for the --skip-deploy-identifier option which will reduce (but may not completely prevent) puppet runs during updates. If heat calculates there is a change in the configuration based on the environment puppet will run.
Comment 20 Gurenko Alex 2017-11-06 08:28:03 EST
Verified on build 2017-10-30.3
Comment 22 Jon Schlueter 2017-11-14 20:58:13 EST
According to our records, this should be resolved by python-tripleoclient-5.4.3-1.el7ost.  This build is available now.

Note You need to log in before you can comment on or make changes to this bug.