When running 'overcloud deploy' command look for dynamic
defaults file for these options:
--roles-file, --network-file, --vip-file and
--baremetal-deployment
When the option is set by the user, use the user provided
file and make sure a copy is created in the working
directory. If the argument is not set look in the working
directory for the file used previously and use that file.
overclod node, and overcloud network commands require the
user input. But will place a copy in the working_dir for
overcloud deploy.
The depends-on creates these "defaults" by running the
different nova-less/network-v2 export commands when
upgrading the undercloud. With this change the next
'overcloud deploy' after the undercloud upgrade will use
the correct files (unless the user set the args ...)
Depends-On: https://review.opendev.org/795773
Change-Id: I53ba631dc80428c6f1fe71c2bbfb0b5a36dd8f01
This commit cleans up and simplifies the way fencing parameters
are generated.
We don't try to map baremetal nodes to instances anymore and we simply
generate fencing agents definitions for each node.
Change-Id: I362870cd1f0a78049268e5910ffef4dc9424f668
Ansible runner does not seralize nested dicts correctly and
also raises argument list too long error.
Change-Id: I758b5d51d4fa3ea921e032b51f06d2486f137a45
Closes-Bug: #1914369
This changes to update the stack without using
the plan and also enables server side env merging
as we don't use the plan-environment.
Also makes changes to call derive params playbooks
without plan.
Depends-On: https://review.opendev.org/c/openstack/tripleo-ansible/+/772197
Change-Id: I8caad3e9185f1c6d23b0941b966192957ca8320b
The client utils will now run a new playbook to ensure that the local
archive directory is created early in the deployment process. This
change will allow us to build toward a swift-less deployment. All of
the client calls, save one, has been moved to use tripleo-common which
will assist us to better manage, and migrate from swift storage to a
local archive.
> As a product of this change all of the "webhook" calls have been
removed. which was deprecated as part of the Zaqar and Mistral work.
These calls were removed because several swift calls were tied into
them, and because mistral is no longer part of the stack, and has
been gone for a few cycles, we can safely remove these calls which
do nothing.
Depends-On: Ibe9b2ffe94cdf493fc84366979d1d78b8528ea1b
Change-Id: I7531612a49527f8a21df415c648acb41ac7a0b10
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change allows us identifying a set of parameters which should
not been passed in the upgrade prepare or upgrade converge steps.
As it is now, it is mostly intended to block the converge step
if the FFU parameters (Stein registry parameters) were left in
the environment files before running the converge step, however
it will allow blocking the upgrade prepare in the case that some
deprecated or not recommended parameter is provided in the templates.
The way how it works is by converting every single yaml passed in
the environment files into a list of keys (only for the
parameters_default so far), then it will try to intersect the list
of forbidden parameters with the list of keys. If there is a match
an exception will be raised showing those parameters:
ERROR openstack [-] The following parameters should be removed from
the environment files:
ceph3_namespace
name_suffix_stein
tag_stein
name_prefix_stein
ceph3_image
namespace_stein
ceph3_tag
Change-Id: I24715f5e55d4cd6cf9879345980d3a3c5ab8830c
This change will set the verbosity consistently whenever a playbook is
executed via the client.
All tests have been updated to ensure that the verbosity setting is always
defined when a playbook is executed.
Change-Id: I35b10d48344c8b7f71186bc529a300f75d7b8d63
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This workflow is no longer required becuase it has been converted to an
ansible playbook.
Story: 2007212
Task: 39045
Depends-On: I3d1c736f6d1ee704ece0101134f95582a5d060eb
Change-Id: I829217c99456f8ac8f49542eb1842c451fe77ad1
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change is the first step to providing a path to remove the mistral
"derived_params" workflows. Deployers will now be able to execute playbooks
from within a given plan by passing in the `playbook_parameters` key which
contains a dictionary of playbook file paths, and all options applied to a
given playbook.
Story: 2007419
Task: 39118
Change-Id: I26ea1c01e17513d001e311d68fd239d3ba8c8a0d
Signed-off-by: Kevin Carter <kecarter@redhat.com>
heat_resource_tree_params is returning a KeyError.
Probably this was not caught before because it always had this key.
If the key doesn't exist, returning a empty dictionary because of
several for loops used and NoneType is not iterable.
Change-Id: I745c43b8b4461ae2f60834a262ab358a7434efeb
Closes-Bug: #1866184
This change removes all of mistral from the check_deprecated_parameters
function by calling the required functions directly.
Story: 2007212
Task: 38424
Change-Id: Ib76dac4e0d11c66fe90c30db19788af1cb4694f6
Signed-off-by: Kevin Carter <kecarter@redhat.com>
This change removes all of mistral from the generate_fencing_parameters function
by calling the required functions directly.
Story: 2007212
Task: 38425
Change-Id: Iadcfb34e296144d82fde1d32acfffa1e01c5c997
Signed-off-by: Kevin Carter <kecarter@redhat.com>
Fix message of unused_params and invalid_role_specific_params in
workflows parameters file. Display parameters name not a data structure.
Change-Id: I21b550a0106fc9cc582b63eb2c74e46ad5ca6065
Closes-Bug: #1838956
Depends-On: https://review.opendev.org/#/c/674327
This adds the ability for us to specifically exclude some patterns of
parameters from the warning that is generated during the deployment for
unused heat params. The params being added are generated by the
deployment and not necessarily provided by the end user. The params
currently being excluded are:
* '^(Docker|Container).*Image$' - container image vars
* '^SwiftFetchDir(Get|Put)Tempurl$' - temp url for ceph
* '^PythonInterpreter$' - python executable for the deploy
The warning message is also slightly adjusted to try and clarify that
the vars might be valid but not used due to service or deployment
configs.
Change-Id: Iad7d97346993b5c95443092b81d056293cdad752
Closes-Bug: #1842754
Use logger module instead print when it's necessary like to display a
warning message. Fix also a pep8 error in the workflows base file.
Change-Id: Ie6f06361ed15bab4d24536a9da88e9c92097771e
Closes-Bug: #1713539
Update the client and tests to call the workflow
tripleo.parameters.v1.generate_fencing_parameters instead of the action
tripleo.parameters.generate_fencing directly.
Change-Id: I9539109db4edd4b5fa2ee365cc8b3055bd2c5df7
Depends-On: I63f3a579af5aa70080f8c9cdd5eb0e8f5b3d17da
Partial-Bug: #1640436
When a parameter is not supported as role-specific input in the
service implementation, then a warning will be shown during the
deployment.
Depends-On: Ie0abc345cea4a69b19b2ea760a29a2cab61c1ceb
Change-Id: Id2799babe496e742e1e47dfc2b2d1cf1dee61071
This will allow the cli and tripleo UI to share a common queue,
which will help with scripting the frontend behaviour or track
the progress of the cli from the frontend.
Related-Bug: #1603345
Change-Id: I5849983eee82b5a56cae1bf38a3c2694b6b291db
Having parameters which are unused may harm sometimes, in case
if a parameters is deprecated in one cycle and removed in the
following and user didn't migrate to the new parameter. But this
also adds the list of parameters which are valid but currently
not used (since the related service is disabled). This patch adds
a warning message to the user to know the list of parameters
which are not used in the current deployment plan.
Change-Id: Id59a016c73fc4847c4ba507b3ec2492eee7234a0
When upgrading from Ocata to Pike with containers
it seems that for some systems 60 seconds is not
enough for the workflow to finish. Increasing it
solves the issue.
Change-Id: I8fcabf906b38094aca9ce350bc580fdf5875573a
Closes-Bug: #1709281
Execute a workflow to get the list of deprecated parameters in
the plan. Add a warning log to the user just before the deployment
to alert the user that a list of parameters are deprecated. And
should be removed soon.
Change-Id: If496795e44c5b36cb58fcc0221d99d94e098415c
This change is to invoke the workflows specified in
plan enviroment file. Workflows can be specified for
workflow_parameters parameter in plan-environment file.
This change parses the plan-environment file, and
sequentially executes all the workflows specified in
the file.
Implements: blueprint tripleo-derive-parameters
Change-Id: I37993334a45cf5ee713438151dbbde0997bdf723
There is a potential for a race condition if the websocket is not set
up before the call is made to Mistral. The websocket setup can take
sufficient time to set up, and if an error is thrown immediately from
a workflow, it has the potential of returning a message, and having
the websocket consume it before the websocket client is even set up.
Also, I think this has the benefit of keeping the call to Mistral
from even being made if there is something wrong with the websocket
setup.
Change-Id: Ib331037a7f5f4e59862d2b9646a83acdb18313eb
This updates the workflow wrapper to use the multiple message interface.
This patch also adds test coverage for this code. Previously it was
mocked out in all places that touched it.
Change-Id: Ie2619238592563d0ca3442e0f26967b12d9c6eb1
Partial-Bug: #1646887
This patch adds a mechanism for setting a timeout when waiting for websocket
messages. It then adds it to workflow executions which are fairly predictable.
This means that they always take roughly the same length of time. Other
workflows like baremetal introspection can be much slower or quicker
depending on the the users environment.
Closes-Bug: #1618445
Change-Id: I656735d58b1b676148e6ceacfc9861b3c5f44e5d
Password generation was recently added to tripleo-common and the Mistral
workflows. This patch removes the generation code from tripleoclient as it is
no longer needed.
Closes-Bug: #1632013
Co-Authored-By: Dougal Matthews <dougal@redhat.com>
Depends-On: I94428d1deb000c65a1c0266d01f660b76d4a3ee5
Depends-On: I186217fd0e1125519149763e610d3efdff583388
Change-Id: Ibe76a40b4d19219aa8e4fc72ddde519ea6f6d2ba
These were renamed in a previous commit, once the usages here
have been updated they can be removed.
Partial-Bug: #1625641
Depends-On: I247747c7d641a70f320faf109c15745d00d62ff3
Change-Id: I3f5f63751503ece0db9d703f28e9720011e81a1b
When doing a second deploy we need to update the plan templates to match those
passed into the deploy command. The cleanest way to do this is to remove the
existing files in swift and then upload the new files.
Closes-Bug: #1620932
Depends-On: I35be5ed5062bb26ca31b55d049780a1423c2ce46
Change-Id: I7620c09005ee35bdb2fff1c77471548bb56baff7
This is a backwards compatible version of the deploy command
which uses the new Mistral workflows to power the deploy.
Depends-On: I7a61bf6fb71cc4a26aaf4322f2215683aafe20f3
Change-Id: I292958b277abf5b23f8e2e14330eca97f656effa