Commit Graph

68 Commits

Author SHA1 Message Date
OpenDev Sysadmins 3c69be2291 OpenDev Migration Patch
This commit was bulk generated and pushed by the OpenDev sysadmins
as a part of the Git hosting and code review systems migration
detailed in these mailing list posts:

http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003603.html
http://lists.openstack.org/pipermail/openstack-discuss/2019-April/004920.html

Attempts have been made to correct repository namespaces and
hostnames based on simple pattern matching, but it's possible some
were updated incorrectly or missed entirely. Please reach out to us
via the contact information listed at https://opendev.org/ with any
questions you may have.
2019-04-19 19:34:23 +00:00
Zuul 122ebd6ee7 Merge "import zuul job settings from project-config" into stable/pike 2018-09-19 00:24:10 +00:00
Zuul 712e832b7a Merge "import zuul job settings from project-config" into stable/pike 2018-08-30 02:07:13 +00:00
Doug Hellmann a9a6889580 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: I86f8f5110453ad4111e2cc90a5cbccf4081cb4b1
Story: #2002586
Task: #24341
2018-08-29 10:11:16 -04:00
Yurii Prokulevych fe8ede8f4a Don't invoke multiple migration requests for single vm.
This is Pike only fix. If there are multiple migration requests
for the same instance, the placement inventory might
not be cleaned up in time, leading to further migration requests
to this compute to fail:
  <snip>
  Allocation for VCPU on resource provider
  b6d1973f-bc39-4ea0-8d28-15f988f762e1 violates min_unit, max_unit,
    or step_size. Requested: 5, min_unit: 1, max_unit: 4, step_size: 1
  Placement API returning an error response:
   Unable to allocate inventory:
    Unable to create allocation for 'VCPU' on resource provider
     The requested amount would violate inventory constraints

Change migration timeout to 180 seconds.
Both nova-compute and neutron-openvswitch-agent have to be up to
have live-migration working. Added check for neutron's part.

Closes-Bug: 1785568
Change-Id: If46c43aee9a409b59f2dcb139d739106bc9a562f
2018-08-27 09:41:15 +02:00
qingszhao fe08ea8742 import zuul job settings from project-config
This is a mechanically generated patch to complete step 1 of moving
the zuul job settings out of project-config and into each project
repository.

Because there will be a separate patch on each branch, the branch
specifiers for branch-specific jobs have been removed.

Because this patch is generated by a script, there may be some
cosmetic changes to the layout of the YAML file(s) as the contents are
normalized.

See the python3-first goal document for details:
https://governance.openstack.org/tc/goals/stein/python3-first.html

Change-Id: Iad83f79432b1078eedfb7d9dbaa60ff1e9c6c59b
Story: #2002586
Task: #24341
2018-08-24 05:05:01 +00:00
Carlos Camacho 5dc0496aae Add the overcloud stack name when calling upgrade-non-controller.sh
If we call upgrade-non-controller.sh we might need to use a different stack
name.

This patch adds the Overcloud stack name when calling upgrade-non-controller.sh

Change-Id: I2e8ac84033521a992f6c36571ea8054522f8871c
Partial-bug: 1785040
(cherry picked from commit db03475b49)
2018-08-03 06:56:38 +00:00
Zuul f413dcb737 Merge "Unpin ansible-lint" into stable/pike 2018-06-27 20:09:12 +00:00
Quique Llorente 06594764a0 Unpin ansible-lint
We have a probelm with current yaml version and ansible-lint
TypeError: unbound method construct_mapping() must be called with Constructor instance as first argument (got Loader instance instead)

Related-Bug: 1778865

Change-Id: I52099cc928fc5cd00bce58346851ba5b8f249ae7
2018-06-27 14:22:22 +02:00
Sagi Shnaidman cd7ef61fa4 Unpin ansible-lint from fixed version
After ansible-lint version was upgrades in constraints, let's unpin
it. It also fixes problem with yaml and pinned version compliance.

Change-Id: Ib00f35dc8d1db081642124bbcc696dee61ac5415
2018-06-27 15:09:29 +03:00
Zuul 020e5e052a Merge "Add log artifacts for upgrade steps" into stable/pike 2018-06-18 17:50:04 +00:00
Sagi Shnaidman 2a9340b1c5 Set ansible linter to stable 3.4.21
Set ansible linter to stable version 3.4.21

Change-Id: Iccd0fd4b8c9c6cc657ad12098610a5476575a168
2018-06-17 20:11:18 +03:00
Matt Young 11ae14df7a Add log artifacts for upgrade steps
Context: https://trello.com/c/vJwmd6SD/771-indexing-upgrade-logs-in-logstash
         https://trello.com/c/TU3JEtmg/560-ensure-upgrade-logging

- Per feedback have added timestamper_cmd so these
  logs can be indexed by logstash.

- Per feedback removed the logging from bash jinja template
  as it's inconsistent with logging norms in TQ/TQE

Change-Id: I184c5ebd28ae11a93a854df5dc2cafd02a5e1b6c
(cherry picked from commit baff4a2522)
2018-06-14 14:09:05 -04:00
Jose Luis Franco Arza a19f4556d0 Separate scripts creation tasks for under/overcloud.
The upgrade/update tasks in tripleo-upgrade started
with a create-scripts book, which generated most of
the scripts from the templates. However, this book
mixed the creation of scripts needed for the overcloud
as well as for the undercloud. This becomes an issue
when we want to perform only an undercloud upgrade, as
we are running tasks intended to the overcloud and it
might not even exist.
This patch divides the script creation tasks used for
the undercloud from the ones used for the overcloud.

Change-Id: I7e6c288dd0f974901fb85acb1ac806bcd4d9ee4d
Closes-Bug: #1769103
(cherry picked from commit abc439355e)
2018-05-24 11:26:10 +02:00
Marius Cornea 7f2f332b81 Add Neutron L3 agent failover check during upgrade
This change adds suppport for validating that a router created on
the overcloud before upgrade remains active on the same node between
the various steps of the upgrade process and does not failover.

Change-Id: I1273367fb07bda5cdacb538081a87f9d3e5ece3c
(cherry picked from commit 71aaf58e6f)
(cherry picked from commit aa0a0983b5)
2018-05-14 10:32:35 +02:00
Zuul eb56f78602 Merge "Remove ceph osd hieradata during upgrade" into stable/pike 2018-03-21 18:38:51 +00:00
Yurii Prokulevych fa4894ef3f Check if undercloud is rebooted.
Running 'reboot' is not enough, cause during high load it takes
 longer to shutdown all the services.
In this case reboot command was sent to server, and immediately
 after it SSH port was checked, though without guarantee if node
was rebooted or not.

Change-Id: Ia8ba045f5b0d25a7c28a0a3dbf49d56c446e4fc3
(cherry picked from commit Ia8ba045f5b0d25a7c28a0a3dbf49d56c446e4fc3)
(cherry picked from commit 5ba5341dc0)
2018-03-19 07:29:00 +00:00
Marius Cornea 07e6d26736 Remove ceph osd hieradata during upgrade
Overriding ExtraConfig in an extra environment file is not working
as expected and stale hieradata is still remaining on the overcloud
nodes. This removes the hieradata from existing environment file
instead of overriding ExtraConfig.

Related-bug: 1756363

Change-Id: I4915f48b6711add3d6f013c375e08ca1b0d0b22e
2018-03-16 11:12:35 -04:00
Marius Cornea a36ea7ad37 Ignore ironic nodes when registering compute nodes
We don't want to upgrade ironic overcloud nodes so this change
filters them out from the overcloud hypervisors list.


Change-Id: I2ad47415a7f9b28a9a73c178fea79f5fcb689096
(cherry picked from commit ca132f8250 )
2018-03-06 08:31:36 +00:00
Yurii Prokulevych 8164410f21 Pass stack's name to overcloud update commands.
Explicitly specify stack's name during minor update.
When overcloud is deployed with other name than 'overcloud',
 several parameters have to be adjusted.

Change-Id: I4f0d74b610083f100018aec17540e6e266d93005
(cherry picked from commit 12d29594e5)
2018-02-23 08:26:02 +01:00
Yurii Prokulevych cfd8b55b91 Don't hardcode overcloud stack name.
When overcloud is deployed with other name than 'overcloud',
 credentials file(s) would reflect that.
E.g: when overcloud is called 'qe-cloud' credential files are:
  qe-cloudrc and qe-cloudrc.v3
This chage introduces new variable 'overcloud_stack_name'
 (default is 'overcloud') and adjusts paths to credentials files,
to be derived from stack's name.

Change-Id: I75dab2a85d94eb7fd012cd25a3e89720984c25e2
(cherry picked from commit 4af3f29c7d)
2018-02-21 07:19:45 +00:00
Yurii Prokulevych b8bfda3eae Add 'overcloud_images_validate' tag
Until rhbz-1523707 is resolved validation of docker
 images/containers on oc nodes fails.
Having this tag allows to skip this validation.

Change-Id: I615e1b9d55df1dfc2718c599ca4ad370d8b739c3
(cherry picked from commit 5d411bc408)
2018-02-20 08:37:35 +00:00
Yurii Prokulevych e8531a0647 Use the last name of a file path of deployment-files parameter.
IR uses basename of deployment-files path as a base for
 environment files. Use same mechanism here when looking for
 docker-images.yaml file.

Change-Id: I135ed98b45616e4daa49a68393818c1f2458c6d9
(cherry picked from commit fa31a8f7a5)
2018-02-16 17:09:20 +00:00
Yurii Prokulevych 16b0d36378 [UPDATES] Validated oc containers/images.
This change ensures that docker containers after minor update
 use docker images from file passed with --container-registry
option.

Related-Bug: 1738142

Change-Id: I926b6526d6bdc707cb88965a93709bf8514504ae
2018-02-13 14:50:25 +00:00
Jose Luis Franco Arza b249e5a7fc Run compute upgrade only in compute hosts.
The basic deployment used in TripleO CI
with only a controller is displaying
the controller in the openstack hypervisor
list command and tries running
upgrade-non-controller.sh on it, which fails.

With this change we plan to filter out
only those hosts with the compute role, leaving
aside those hosts in which nova-scheduler and
nova-compute are running at the same time.

Closes-Bug: #1747432
Change-Id: If7bfd63d62509387be4b843d470816365f68cfaf
(cherry picked from commit 8d852b0491)
2018-02-07 17:29:34 +01:00
Marius Cornea 46bec09d3f Remove old puppet ceph hieradata during upgrade
https://review.openstack.org/#/c/520017/ introduced a pre upgrade
check for existing puppet-ceph hieradata. In case it is found the
upgrade fails. This change removes the puppet-ceph osd params from
ExtraConfig and then overrides it in an extra env file.

Change-Id: Icc04798f8bde0cd9efe3c7620cdb9a33b2492a74
(cherry picked from commit ad85b0b2a3)
2018-01-31 08:36:22 +00:00
Zuul a1a38e505e Merge "Less opinionated detection of service env files" into stable/pike 2018-01-26 21:06:33 +00:00
Jiri Stransky 14aeefa60f Less opinionated detection of service env files
This should support OOOQ while hopefully not damaging Infrared
integration. We need to specifically look for the env files that match
the patterns we want, and we also need to support multiple env files
on a single line, because that's how OOOQ passes them in.

This solution should work both for the transformed and untransformed
deployment commands.

Closes-Bug: 1745593
Co-Authored-By: Jose Luis Franco <jfrancoa@redhat.com>
Change-Id: I4164ef552c333d6b9672c1a3d55c15a1b76e7bb7
(cherry picked from commit 35fdef283a)
2018-01-26 11:59:41 +01:00
Jiri Stransky 7f4fa2fcea More robust check for deployment_with_ha
The current check of "-pacemaker" being present in deployment command
is not sufficient for OOOQ based environments (and CI). Checking the
EnabledServices stack output should be somewhat more robust. We only
want deployment_with_ha if the deployment was with
pacemaker (pacemaker_present test) and we can't assume pacemaker is
the default (is_upstream test).

Closes-Bug: #1745593
Co-Authored-By: Jose Luis Franco <jfrancoa@redhat.com>
Change-Id: I8b0ff3797d8f6d697086701c80e1ae159cff2bf4
(cherry picked from commit bea01b1dad)
2018-01-26 11:58:46 +01:00
Marius Cornea 05aa2ffecb Add the option of specifying a custom overcloud stack name
This change adds the option to specify the overcloud stack name
when doing the update/upgrade.

Change-Id: I82cead877f3998bbbd695cd16f1aacb1c6cd9a9a
(cherry picked from commit 84419c40f2)
2018-01-18 14:44:01 +00:00
Jose Luis Franco Arza 5c97c0f024 Add condition to create container images download script.
It is also interesting for the role to support
the option of passing by an already existing
script that handles the container images downloading.

By adding this conditional we avoid rewritting the
content of the passed script when setting the var
to false.

Change-Id: I8b82071dfa7d440c7c840ffb9bcdf006843b6d97
(cherry picked from commit 6377a43a17)
2018-01-17 16:47:09 +00:00
OpenStack Release Bot 8c698a2318 Update UPPER_CONSTRAINTS_FILE for stable/pike
Change-Id: I4998f627e49bd5f9bd34abd8f29c8c89e9876017
2018-01-12 19:18:16 +00:00
OpenStack Release Bot 2bd8f275b1 Update .gitreview for stable/pike
Change-Id: I19fbd057a31b42a403fce8aef12e6f8bf4c8338d
2018-01-12 19:18:11 +00:00
Zuul 0f37163303 Merge "Reload SSH connection before running container image prepare" 2018-01-10 07:16:55 +00:00
Marius Cornea 59e36fe5ba Remove docker images suffix from container image prepare
Images do not contain the '-docker' suffix so this is no longer
needed. This patch removes it from the container image prepare.

Change-Id: I0a4a776940a75654f0f8a7ed1c7ae09edebfaefc
2018-01-09 10:01:03 +01:00
Marius Cornea 705d0f9769 Reload SSH connection before running container image prepare
openstack overcloud container image prepare might fail with
'Permission denied' caused by the issue described in bug 1699477.
This change reloads the SSH connection so the new group setting gets
loaded.

Change-Id: I6801053f54094585d573702fbfc3fb9403f65767
2018-01-07 12:12:37 +01:00
Marius Cornea 7647aa2926 Use parameter to control the docker registry env file creation
By setting force: no the created script files are rendered only
once. The role should allow multiple runs and update the scripts
according to the latest options passed by the user. This change
controls the scripts creation by vars in order to be able to
create or not the script files.

Change-Id: I1594ddfda11ac638ba65625964c0a492ad9e6e18
2017-12-19 10:08:48 +01:00
Marius Cornea 26be6dd4c4 Fix missing attribute in upgrade Infrared plugin
Change-Id: I8e06efe530f7f3249bada9a61c1fd7d583d5f1db
2017-12-19 10:08:48 +01:00
Sofer Athlan-Guyot 8067d83dcb Add the possibility to provide a custom UpgradeInitCommand.
In order to not have to deploy «manually» the repo on the overcloud
before upgrade.

This will create a template with the specified commands and add it to
the list of templates during upgrade.

Change-Id: I3838d95358522113ef869dfc99d716728f4bf80e
2017-12-18 12:19:33 +01:00
Marius Cornea 4fca939b11 Add the option to launch workload after composable upgrade step
This change adds the option to launch workload after the major
upgrade composable step was completed. This serves as a sanity
check for validating that the overcloud is functional in an
intermediary step of the upgrade process.

Change-Id: I015baa41a51d812dcc65ce9fc5c870f203bc93db
2017-12-12 16:42:52 +01:00
Marius Cornea dce676bdc9 Assign new network and description attribute to Monitor role
This change adds the networks and description attributes for the
Ceph Monitor role to roles_data during upgrade.

Change-Id: If29c237d8a8e0f644d36c1e839b813d7f18a677f
2017-12-12 16:42:18 +01:00
Marius Cornea 270e429816 Add support for upgrading HCI environments
In case of HCI deployments the upgrade workflow slightly differs
and we need to keep using puppet ceph during the major upgrade
composable step. This change adds the required changes to accomodate
this. For reference:
https://bugzilla.redhat.com/show_bug.cgi?id=1511494#c3

Change-Id: I5f398e114cd929621b4e24742c4f1d2376a2ac8e
2017-12-12 16:41:52 +01:00
Yurii Prokulevych 6a1831dc8a [UPDATES] Start minor update with controller nodes.
Adjust role's name to be executed first during update.
Set 'force: true' for template tasks creating update scripts.

Change-Id: I52dc779aee3f9f08f0cf61a1b79a9f4eaff1bac3
2017-12-12 16:41:36 +01:00
Marius Cornea 464058d0d2 Add the option to remove packages during upgrade
This change adds the option to remove the rpm packages for services
which are migrated to containers during the upgrade as described in
https://bugzilla.redhat.com/show_bug.cgi?id=1470041

Change-Id: Ia0570a44139c6ef3845ddff19e3d80e54603a59b
2017-12-12 16:40:06 +01:00
Sofer Athlan-Guyot 4572055ffb Merge tripleo-upgrade repo from redhat-openstack namespace
Make sure scripts are created with the executable bit set.

Change-Id: I731902411e987b4ea7c2aa84fef869fe5e1c25ae

Add a oooq comptatibility layer, documentation and example.

Change-Id: I30fe6359f1c0098ff9bcdd5939724491d94ef199

Add support for applying w/a before and after upgrade

This change adds the ability to apply workarounds before and after
the overcloud upgrade process has finished. This allows the user
to workaround particular issues that show up after the upgrade
process has finished.

Change-Id: I21a7e885bcc466af6bf80410ba2cc8d03865cb33

Fix missing quotes

This changes adds missing quotes to the node_upgrade_script.yml
templates. Currently the task is failing because of the missing quotes.

Change-Id: Ied9217df374d09bf90e6878a7c79e22042f44d99

Add support for applying workarounds post undercloud upgrade

This change adds support for applying workarounds after the undercloud
upgrade process has finished as part of the undercloud upgrade.

Change-Id: If85900969c0d591cf6024408d958a82fa8c8a534

Adjust overcloud_converge_upgrade_script script

This change adjusts the overcloud_converge_upgrade_script to allow
running the upgrade converge stage. In addition it adjust the ssh
config file to skip host key check so the non-controller script does
not get stuck waiting for user input.

Change-Id: Ic38f325c61e90165a5322ef754f7e5514ed8e687

Append working_dir to logs generated

Change-Id: I6bc9f0c58ad8684ed03dee042e9cfb2bdc6835f6

Install ceph-ansible during undercloud upgrade

ceph-ansible is required to be installed manually for deployments
with ceph nodes. This change installs the ceph-ansible package
before the undercloud upgrade.

Change-Id: If8918a38250a10681d965d0715ebc17078166336

Use openstack overcloud container image prepare command

This change adds the use of openstack overcloud container image prepare
command for generating the environment file containing the container
image names and local registry address.

Change-Id: I174f7e3aae415d51224cf73da83a859e90eed095

Do not rely on ansible inventory for upgrading non controller nodes

Currently we are relying on the ansible inventory to provide groups
containing compute nodes and their facts when creating the upgrade
scripts. In order to remove this requirement and provide easier
integration this change discovers the compute and swift storage nodes
from the undercloud. In addition it adds a wait loop for instance live
migration to complete before and after upgrading compute nodes and adds
support for swift storage nodes upgrade.

Change-Id: Ia4b2e81845c3fec9036c4695f0dd1746d4c5c6b8

Add silent and nobuffer options to curl command

Change-Id: I0f4bd71b67d4827717d9f7d3fc075fc396eb6363

Adjust tht environment files and custom roles data during upgrade

This change switches the environment files used in the overcloud deploy
command to their variants used for deploying containers. In addition, if
using a custom roles data file for composable roles deployments, this
change adjusts the local roles data copy with the changes introduced in
Pike.

Change-Id: Icd3c3b67342c0bd10fc3d28ed89a94fc9f714db4

Fix overcloud_deploy_script var location in oooq_test playbook

Change-Id: I01f18a5413ff223cbca900521037e739ebc43d5d

Disconnect ssh session before uploading images to local registry

This change disconnects the running ssh session in order to allow
the stack user to connect to the docker daemon. This acts as a
workaround for https://bugs.launchpad.net/tripleo/+bug/1699477

Change-Id: Ia06fe8581ba17525cbcb2d955d7947b7c546811d

Add undercloud_reboot var and reboot only on ovs or kernel updates

This change adds the undercloud_reboot var to manipulate if undercloud
reboots should be made or not and does the reboot only when kernel or
ovs updates occur.

Change-Id: Ic89291c5791bbd098204b2c85793335e0faa8d94

Add InfraRed docs

This change adds the steps required to run the tripleo-upgrade role
as an InfraRed plugin.

Change-Id: I08fde6c8954ec4eeedc47971607bec592fc801a1

Add docs for running the role manually from the undercloud

Change-Id: I6d5bb6479b6e1fb45e34aa776d3c315cfae98ae4

Do not stop services before undercloud upgrade

According to the docs stopping services should be done by the undercloud
upgrade process so we do not need to manually do it.

Change-Id: I7f14257b4e90d3a0610c0f90e856096643325861

Specifically become_user: root when running ovs command

Currently become_user is set to the undercloud user, usually
stack, when invoking the undercloud_validate_upgrade.yaml playbook.
This change overrides become_user and sets it to root when running
ovs-vsctl command as it requires privilege escalation.

Change-Id: Ia93245f4a2d09d73849c03401d38ffb25e7be802

Use ip address instead of name when rebooting

OOOQ doesn't set a name for the undercloud in hosts so in case the
reboot is triggered the virthost cannot reach the undercloud. This
change switches the wait condition and calls the ip address instead
of the name.

Change-Id: I2121e2dabe9794d31fe70bbfa0ff8e53da6b3b1b

Add reload ssh tag to the Kill SSH task

Add a tag to the Kill SSH task so it can be avoided when
running the role manually from the undercloud.

Change-Id: Iec088cc174d7e8270fbea0698ee76227b45842f7

Add option to create script with --setup-heat-output option

According to BZ#1477962 in order to be able to run non controller
upgrade scripts after major upgrade composable steps we need to run
the deploy command with the --setup-heat-outputs option.

Change-Id: I8137ff18047a130c5ea8dca2ce11378eabc30329

Add deprecated params to custom roles data file

In Pike there were additional flags assigned to the default roles
data file. This change adds these flags during the upgrade process
to the roles defined in the custom roles data file.

Change-Id: I58c2f30ff74d2302027d7488dc03c5146c371649

Use a default value for the HOME env var

Change-Id: I40e2f46f1311dc4b797977c8136ec4037505ef05

Update python-openstackclient before undercloud upgrade

Updating python-openstackclient before undercloud upgrade is a
requirement to get undercloud upgrade passing.

Change-Id: I4ab67f9af68036a29e11bb2457d70535bd94b7b0

Create environment file for injecting undercloud certificate

When undercloud is SSL enabled the overcloud nodes need to be aware
of the undercloud CA cert. This change creates this file during upgrade
and adds it to the overcloud deploy commands when the overcloud nodes
are not able to reach the undercloud ssl enabled public endpoints.

Change-Id: I79a03299bc28d0ca2dbd83c28087a4c56f6b2271

Convert puppet ceph parameters to ceph ansible during upgrade

This is a workaround for BZ#1488855.

Change-Id: I58ac44b2166abddf56a327a4ee09457139c831da

Remove setup heat outputs workaround

https://review.openstack.org/#/c/502470/ allows us to obtain the
RoleConfig output so there's no need to run the setup heat outputs
step anylonger. This change remove this step.

Change-Id: I7235b8625eea4f77a055d0ab1862d0318f3a776f

Echo bug number in workarounds script

This change replaces the bug number comments with an echo statement.
This provides easier way to debug what workarounds failed to apply
when the workarounds script is run.

Change-Id: I02c5534427ee5cf7b7af618f36577c1008d50992

Fix uc_keystone_conn condition

This change adds an addition condition to inject the undercloud
certificate in the CAMap only when  undercloud ssl is enabled.

Change-Id: Iae023922bf1ed0bb22e86710b122c65a8f1568a3

Gather facts only from undercloud node

Facts are only required for the undercloud node. This change adjusts
the existing playbooks to gather facts only from undercloud node in
order to save some time and not rely on nodes which are not required
to be reachable.

Change-Id: Idceec3d10d84ef112da558109d9904a1d8c6ed93

Do not include docker.yaml and docker-ha.yaml environments

As described in BZ#1466744 the docker.yaml and docker-ha.yaml
environments are currently included by default so we do not need
to specifically include them.

Change-Id: I44a72ddd65cf816003ceca21ef33470a3ab125a7

Reboot compute nodes post upgrade

As a post upgrade requirement we need to reboot the nodes in case
of an OVS upgrade. This change runs a post upgrade check for non
controller nodes and reboots the nodes if an ovs upgrade has been
detected. It also adds additional validation for compute nodes to
make sure that the nova-compute service is enabled after reboot.

Change-Id: I583e589118aabae84f8e1dc9ec2c4b43ca17a250

Add L3 agent connectivity check during upgrade

This change adds a check which validates that ICMP
connectivity with a floating IP is not interrupted
during the major upgrade composable step.

Change-Id: Iee55af85b9a2c3ece86731e043130d191ff6a821

Run pre docker composable upgrade workarounds at correct position

This change moves the pre docker composable upgrade workarounds to
be run right before the docker composable upgrade step.

Change-Id: I604ea2eb6202d48b0f771ea80e5e731df687600e

Use bool with ansible booleans

use bool filter when using ansible booleans.

Change-Id: Ibeb59772e935cc28a661ccddcaa4773388ce296d

Add option for creating workloads before upgrade

This change adds the option to launch an instance before
starting upgrade. This operation is useful when doing
tests such as instance live migration during upgrade or
floating ip connectivity testing during upgrade. The
script requires a network defined in the external_network_name
var which provides external connectivity to exist beforehand.

Change-Id: Ib39e41b36fac7794ea515c8a9d56141866dcfeed

Fix pre compute upgrade check

This change adds the MIGRATING state to be checked before the
compute nodes upgrade.

Change-Id: I0073a7e69a71a044882d4760dbb49cd4f455dd89

Fix workload_launch position

Change-Id: I6193ac6a60165bb20ece6277067c05696ed6d3b1

Run non controller node pre upgrade script

This change runs the non controller node pre upgrade script.
In addition it exposes the option to run instances migration
between compute nodes during upgrade.

Change-Id: Ief55eecdc85bb620f637c4ed4d9b5bc3243b37d1

Update roles_data adjustments to latest changes

This change updates the roles_data file adjustments to the latest
changes.

Change-Id: Ic787b135cdf96b33829e05140e069b398df7196f

Use docker and docker-ha environment files for upstream deployments

Change-Id: I70bb9767e97f616729adff983fff065858a6dcdc

Convert services environments to services-docker only for upstream

Per BZ#116463 in downstream the environments used for extra service
enablement now point to docker resources.

Change-Id: I379622ec2749ac8b485aec79a7500308ef74214e

Echo debug message to differentiate live migration from block

Change-Id: I69e7f381543d84fcd308acbd3a90f5d0ac23ae1b

Accept <= 5% ICMP packet loss during upgrade connectivity check

Change-Id: I34d1de225c0e391035e22e18f63356e04afbbfd5

Reorganize playbooks to separate upgrade/update

This change adds separate directories for upgrade/update which
provides a better separation between updates and upgrades.

Change-Id: Icf1a09514fb0e6236535ae32265bbd3805918478

Run block migrate multiple times

Block migrate doesn't work seem to work if triggered once but it
does if the command is run for a second time. This change runs the
block migrate command multiple times to make sure that the instance
gets migrated.

Change-Id: I8b9a9ecae21f7ce49a03945afec66b9e671622b7

Ensure files/ are part of the setup.cfg files to copy

When installing tripleo-upgrade into a .quickstart
environment, the files/ folder wasn't getting copied, which is necessary
at least for "adjust ssh config to skip host key check" in
create-upgrade-scripts.yaml.

Change-Id: I7d862ec5c13ba719923c90cc40790b842b582999

Add tasks for undercloud minor update

Start adding the minor undercloud update tasks

Change-Id: I33705b270e2d5e6a28f1cad8179e1f4b3e4ea975

Remove timeouts from upgrade scripts

Depending on the number of deployed nodes upgrade could take longer
and we want to rely on the heat stack timeout. This change clears
any manual timeouts set in the upgrade scripts.

Change-Id: I5d141e2cc13621d3be5fb0c27b0ac3c3fc30d424

Minor updates of RHOS 12.

Manage minor update workflow from within tripleo-upgrade repo.

Change-Id: I8c6771af4825ce166e8470413ca4687be0a58cb9

Reboot controller nodes post upgrade

This change adds the option to reboot controller nodes post upgrade
and performs basic verifications that the clustered services are
reported as up.

Change-Id: I370d421e5968ae50bd1ff140cdfcf98a4db03a5f

Don't force ssh_config on everybody.

This add an option to be able to not overwrite the ssh_config file.
As a side note the ssh_config is missing from the repo, so by default
this task is broken.

Change-Id: Idfb78e2b7226a7e6295acd3f250bbfb48d0a103d

Fix filter used in the node upgrade scripts

This change is fixes the current filter used for node upgrade
scripts so that deployment with $domain.tld format are supported.

Change-Id: I18f43c440bb93e0fcefb664c7d716ff9368673a4

Run live migration multiple times

Change-Id: I7c028defd3cb9080efa7bdbe9daa6ed201df8640

Manually inject undercloud SSL cert to overcloud nodes

Per BZ#1501779 the compute nodes do not get their trusted store
updated when using a CAMap and upgrade fails. This change updates
the overcloud nodes trusted store manually so the overcloud nodes
are prepared for update. This should translate in a documentation
step that before upgrade starts the user needs to make  sure the
overcloud nodes are able to reach the undercloud SSL public
endpoint.

Change-Id: Ib95a29c608803504a866ae71cbc0082faf3c194f

Replace puppet external ceph environment with ceph-ansible one

This change replaces during the upgrade the external ceph puppet
environment file with its ceph-ansible equivalent.

Change-Id: I9020e8f7c43f91259b551caa2e20f03be1424106

Append deprecated params only to predefined roles

We should append the deprecated params only to predefined roles
in order to avoid failures such as reported in BZ#1501237.

Change-Id: I3a7c332b35da9639fb6f8e5b38234dc0c55d8499

Split the post controller scripts into per services scripts

This change splits the post upgrade controller scripts into
per service checks and adds them to a common directory so
they can be shared between update and upgrade.

Change-Id: I8f2fb6162a5acb8a92057400a7b04e6e2388abaa

Add the ability to specify a remote docker registry

This change adds the ability to specify a remote docker registry
to be used for downloading the Docker images on the undercloud or
be used directly by the overcloud nodes during upgrade.

Change-Id: I132a8b94f9a101d1c9c624d202bb01527dc2b844

Fix BZ#1499677 workaround condition

In addition to empty gvwstate.dat file there might be situations
where the gvwstate.dat file is missing after reboot. This patch
addresses this condition for BZ#1499677 workaround.

Change-Id: I295b133248f48ab41b1748225cbe9359662b280d

Cleanup galera resource instead of rebooting node for BZ#1499677

Instead of rebooting the node while implementing the workaround for
BZ#1499677 we should simply cleanup the Galera resource. This way
we can save some time and potential issues caused by an additional
reboot.

Change-Id: I391daeae41321baec1cbd8c458132a3161cd96d5

[UPDATES] Introduce option for minor updates workarounds.

To speed up testing of minor updates it might be required
 to apply some patches before they are landed.
Hence we need a flag to differentiate if workarounds are required
 or not

Change-Id: I642e4ade204f5fd30ec9433f1d90a2d539287c5e

Do not pipe curl output in container images environment script

Curl can sometimes exit with exit code 23 when its output is piped
into another command. To avoid this errors we save the curl output
to a file.

Change-Id: I4123b6c66ae2873c11631f229cb8e3eec5a5a66b

Use service environment files when generating the images environment

In the last build openstack overcloud container image prepare only
generates the parameters for the services included by default. In
order to make it work when extra non-default services are enabled
we need to pass the environment files to the prepare command. This
change addresses this issue.

Change-Id: I86ab6faaffcd4c7cc1a07e9a6ed1e890cb5cf980

Place the oooq deploy command into overcloud_deploy_script var

This change places the openstack overcloud deploy command with its
arguments in the location defined by the overcloud_deploy_script
var. This way we don't require oooq users to specifically set the
overcloud_deploy_script to a hardcoded location and make it less
confusing.

Change-Id: Id2b14fcffbd169c342df4b5b9105dff81e18e3a0

Replace ceph radosgw environment during upgrade

Change-Id: I489211f39941bba5b1ca2ddf1b635c3bdb0151fe

Avoid losing undercloud connection in TripleO CI.

When running the role in the TripleO upstream CI
the connectivity to the undercloud gets lost when
rebooting the undercloud after upgrade or killing
the ssh service, this makes the playbook fail.

As a solution, a flag tripleo_ci has been added.
This flag will default to false, and when set to
true no undercloud reboot, nor ssh killing will
be executed.

Change-Id: If4a303fff49bbe55cdfb7142d8dd69264ab47ab4

Align deployment-files option with IR.

deployment-files option is not a list of choices in IR,
adjust it accordingly.

Change-Id: I6889e9b75f842cc466278fed5dbf85a80cb58ee0

Append docker-ha only when needed.

Before appending the docker-ha.yaml env
file, we need to check if the overcloud
was deployed with pacemaker. If so, then
we'll add the env file to the upgrade
script.

Change-Id: I9867d86b6d23385c576d2f8c5a25ab3333f7113d

Specify tht directory used in upgrade script.

When deploying with oooq, the generated script
overcloud-deploy.sh is reused in order to append
the cooresponding env files for the upgrade.

However, if the location of the tripleo-heat-templates
directory is different from the used when deploying
then the upgrade does not succeed.

This change modifies the tripleo-heat-templates
location used to upgrade when the directory found
in overcloud-deploy.sh is different. If it is the
same no change is done.

Change-Id: I55ada3e75b7463b1c14c8734410d2591cf162e67

Don't append DockerInsecureRegistryAddress

This is no longer required as the prepare command detects whether the
registry is secure and DockerInsecureRegistryAddress as necessary.

Depends on upstream https://review.openstack.org/#/c/514473/
Related-Bug: #1722632

Change-Id: Ia9d91f6280600c59d0079c5d1f26a00f04040426

Fix the controller regex during roles_data conversion

The Ocata roles_data controller role might include a comment for
the controller role name. This change adjusts the regexp used during
the roles data conversion to take into consideration that comment.

Change-Id: I7b43b1fcb9e477de8e1265ef6aa6ba5149e82d47

Use prepare --set for ceph image parameter

This is more maintainable, and consistent with other uses of prepare.

Change-Id: Ieec88e271973a248192c2b247cd2c5e0cccbfb7c

Add storage environment files to be used for containers prepare

This change adds the storage environments files to be matched when
creating the environment file containing the Docker images names
which gets created via container image prepare.

Change-Id: I34c3cdaab1b63ce3f43d748372d35143bc12b8b4

Add environment file containing required DPDK changes during upgrade

Change-Id: Iabaf16e18ee7546bd6275f8f84226892423a6c95

Create failed_upgrade log files.

Most of the stack failures in the TripleO
CI are registered inside two log files
failed_upgrade_list.log and failed_upgrade.log.

This patch adds the option of inject the
stack failures list command into these two
log files, as well as priting out the detailed
stack failure list (--long).

Change-Id: I4fad989818f67ad0a73e45b47f835750f18c3bb6

Replace storage-environemnt.yaml for upstream only

Per BZ#1502862 the Ceph environment files switch during upgrade is
only needed for upstream deployments. This change does the changes
to accommodate this.

Change-Id: Ia3adb120c9b524c66d069593b0779b3399295fd4

Do not update python-openstackclient before upgrade

BZ#1488471 was fixed so there's no need to update the python-
openstackclient package before upgrade.

Change-Id: I2aba7515ec43926ec4f8de5c701467dea31dba1b

Be more aggressive on accepted packet loss during upgrade

Tests have shown that the packet loss shouldn't eceed 1% during
the upgrade steps. This change adjusts the accepted level to this.

Change-Id: I9e47ea56a78e4e9eab40fca609cbedaecfcf1e14

Add more tags for the upgrade process.

This enable one to either do only a small part of the whole process.
This can be useful for debugging or development.

Change-Id: Ic6cc9a1e6aa2793fde65636d2ad92bc174173252

Use new method of discovering tag and adjust local registry upload

This change uses the new mechanism of retrieving the tag from the
latest image provided in the registry.

Change-Id: I7e063f13c7d4812e9986452774881235b620bd0e

Swap baremetal environment file for containerized.

In oooq, when upgrading from baremetal
to containerized overcloud two different
environment files are used. These env
files are located in [0].

When upgrading using tripleo-upgrade, we
need to convert that environment file name
to its corresponding containers version.

[0] https://github.com/openstack/tripleo-heat-templates/tree/master/ci/environments

Change-Id: I6c9fad2f402a162cf663c5089e79c2e10f3d0928

Add condition to create local docker registry.

The only way to not execute the docker
registry environment file creation task
is via tags, which is not easy to handle
in TripleO CI.

As tripleo-quickstart already prepares
the local docker registry file, there
is no need to execute it. So a new
parameter 'create_docker_registry' is
been added.

Also, the 'force' option is being added
to avoid overwritting a provided script
with the role template.

Change-Id: I800d6696b8dbb83f05f3d9381c6e5689558f4b77

Prepare workloads before update/upgrade.

Prepare scripts for managing workload on oc before running
 update/upgrade operation.

Allow to run ping test during minor update.

Change-Id: I1d5754f36f53588c97c646aa4e1380e9ca5938bc

Remove tag parsing from the image prepare command

Parsing the tag is not needed anymore and the one returned by the
container image prepare command can be used.

Change-Id: If782fc655da7b22e4d4a803509e9cc8c49774368

[UPDATES] Run minor update per role.

With recent changes it's advised to perform minor update in batches:
role-by-role.
This change limits the scope of update with '--nodes <Role>' option.

Change-Id: I0bc03873b749dc9c15b13cacbfff78cead4360d8
2017-12-08 19:01:00 -08:00
Jose Luis Franco Arza c321b1b112 Update .gitreview.
.gitreview file was pointing to the
redhat-openstack namespace repository.

Change-Id: I95df0d408358a4a5ab71f9f845e7b58c6450bad0
2017-12-06 22:28:04 +00:00
Alex Schultz 87bca89c73 Setup tox
Setup tox with pep8, linters and reno jobs so that CI passes for the
tripleo-upgrades repo.

Change-Id: I2cd200eb77501717211c0db3f52c96c2c7b22663
2017-12-06 14:02:27 -07:00
mathieu bultel 8066e3c87e Merge "Do not update python-mistralclient before undercloud upgrade" 2017-07-28 04:08:50 -04:00
mathieu bultel 71602071ff Merge "Add option for upgrade workarounds and upstream-container-images" 2017-07-28 04:07:04 -04:00
Marius Cornea 7525ef69ce Add option for upgrade workarounds and upstream-container-images
This change exposes the option to apply workarounds used for testing
the upgrade workflow. The workarounds are usually t-h-t patches
applied after the undercloud has been upgraded.
It also exposes the option for using upstream or downstream container
images.

Change-Id: If07e556685f824b53522fe3e5965ee1e538d7191
2017-07-26 17:27:33 +02:00