We invoke python to parse the templates in the tripleo deployment
command so we need to make sure that runs as either python2 or python3
since the python command may not be available.
Change-Id: I242fdd717d9e52de0b122d50cf7d6a9ad7f0e041
Related-Blueprint: python3-support
After we switched from instack-undercloud to t-h-t-based undercloud
installer, we dropped online data migrations. Bring them back.
Change-Id: I31b7281728b75c968701b97234db835c1b8f298f
Closes-Bug: #1804275
Add docker_bip option to the undercloud.conf in order
to easily override the value of: DockerNetworkOptions
through the undercloud.conf
Change-Id: Ibbf7c6101539bdf575c23295c1b9fa4bfc84cff7
Previously if you had an undercloud.conf in your home directory, the
tests would load it and use values from it as the defaults for the tests
if they were not overridden in the tests. This could lead to incorrect
failures. This change mocks the config loading out from the install and
upgrade actions for the undercloud to prevent this loading.
Change-Id: I57a12f0151bc65f26a7e880b0f1f367a7711ead9
Closes-Bug: #1803387
In order to be able to properly configure the python interpreter we want
to use for the ansible deployment process, we need to expose it to the
deployment process. If a user is deploying from a CentOS7 host to a
fedora28 host, we need to be able to specify that we want to use
python3. The opposite might be true for Fedora28 host to CentOS7. For
the undercloud or standalone deployment methods we use the version of
python that the openstack client is running under as our default. For
the overcloud deployment, we currently do not specify anything by
default which will fall back to the ansible default. This may need to
change as we begine to run deployments against python3 hosts in CI. But
for now this change lays the framework to be able to specify it in the
deployment commands as an option.
Depends-On: https://review.openstack.org/#/c/617793/
Depends-On: https://review.openstack.org/#/c/616203/
Change-Id: I425905110d701bb7e3079f1017a07678eca42456
Related-Blueprint: python3-support
Co-Authored-By: Alex Schultz <aschultz@redhat.com>
Converts stdout input from bytes to unicode to avoid printing lines
as b'<line>' on python3.
Address runtime warning related to deprecation of iter().
Stop using bugsize=1 as this is likely to break unicode encodings.
Usually an implementation using context managers would look much better
but due to several bugs related to only partial support of context
managers in py27 we cannot use them here.
Tested with py27 and py35-py37.
See: http://logs.openstack.org/37/616937/9/check/tripleo-ci-fedora-28-standalone/4a015f3/logs/undercloud/home/zuul/standalone_deploy.log.txt.gz#_2018-11-12_16_15_51
Change-Id: I00eaa508a6413c05c99beaca49e70c635a9116cc
Partial-Bug: #1787912
There appears to be a race condition in the list_deployment_plans such
that if another message is recieved before the plan results, we attempt
to return the plans payload which may not exist. This change adds a
check to ensure the payload contains plans before trying to return the
values.
Change-Id: I58da6f699fe8257e3ddb89cd3516889944c4ad92
Closes-Bug: #1802592
This changes the upgrade workflow for the standalone and undercloud
where we now run the post_upgrade_tasks after the deployment.
So the order is upgrade_tasks, deployment steps (docker/puppet),
then post_upgrade_tasks which is the same order as the overcloud.
It will allow us to execute some specific post upgrade tasks on standalone
and undercloud, like removing Docker containers when upgrading to Podman.
Change-Id: I311bfa17a3bbe52850092d501d563d53f7095a24
This change has two main parts:
* Ensure that when we ssh *via Mistral*, we always use
tripleo-admin. `--ssh-user` argument to any update/upgrade run
commands is now deprecated. The reason i didn't remove it completely
is that how current upgrade commands use ssh needed some mental
untangling, and i want us to keep an easy way back in case my
understanding is wrong here. Deprecation seems safer than outright
removal.
* On upgrade prepare and FFWD prepare, make sure that the
tripleo-admin user is created and authorized.
Note that for tripleo-admin creation and authorization, the
`--overcloud-ssh-user` parameter is used, and that one still
defaults to `heat-admin`, which is correct. So initially we connect
via whatever credentials user provided (which works on Nova+Ironic
envs unless user customized it), and from that point on we always
use tripleo-admin, which is common for all environments regardless
of any user customizations. This is how deployment already works
now, and after this change upgrades will work that way too.
Change-Id: Ib1a75a0a3f3b2a3bec00d8820c3a097620fa6256
Closes-Bug: #1801066
If it's not possible to use 'w' and 'a' mode at the same time in
python3, they are mutually exclusive.
This review changes the mode just to truncate or create as this is just
a mark file.
Change-Id: Iefe4d79d658ce5eb3b86669d9171ef148096fb52
Story: https://tree.taiga.io/project/tripleo-ci-board/task/293?kanban-status=1447275
This adds the use-dns-for-vips.yaml which disables persisting the VIP
hosts to /etc/hosts. This is because sometimes we might be setting the
CloudName to an IP (for using IPs as keystone endpoints). Without this,
we'll get an erroneous value there.
Change-Id: Ie28f51d6729f5f4b940bfcc8e77968dd57d41669
Closes-Bug: #1799724
In I68e064d23ec5d43f59146d974cae604d2c5fdb52 we start
using the 'tags' of the ctlplane network via get_attr
on the ControlVirtualIP resource.
The undercloud need to extend it's DeployedServerPortMap
to provide the network tags.
Related: blueprint tripleo-routed-networks-templates
Change-Id: Ia8e219b30d4f8b199b882e95fe2834252a92c15a
Since change: I92ee0f9a2107cdf1ca5903d3756a235a79c36c73
the cidr is resolved from the port attributes. Doc's
change: Id1b643db00ade4993449d3eadabea5eb5fe827eb
states the same.
Change-Id: I265e39accea1bef051173ad43a3c654d9632b000
With a heat based deploy we need to add AdditionalArchitectures to the
environment so that consumers can do the right thing when needed.
Blueprint: multiarch-support
Needed-By: https://review.openstack.org/580829
Change-Id: I173f3991cda24cd77ccba8a4cfb60c128ecfa3a4
The docker.yaml env file is being deprecated in change
I6106e223d9c1e399d396d745ad28274107074b06 so we can stop using it. All
deployments are now containerized and the docker.yaml entries should
be part of the default resource registry.
Change-Id: I683cb03ae10f047946a0c1bc7f34344ee944a8f7
This change updates the --templates parameter to now have a default
which makes it optional and only necessary when something different than
the default. Additionally we're removing the defaults as it causes
issues, when someone download the overcloud plan on the undercloud
because it would use the current working director to load the file.
Now it will use the --templates folder as a base for the default value
and will take the specific file if --roles-file or
--plan-environment-file is specified.
Change-Id: Ia0c8a7caaf8f24ef1e5b0858d57827633f2473e9
Closes-Bug: #1797922
Co-Authored-By: Alex Schultz <aschultz@redhat.com>