pre-upgrade
===========

.. _pre-upgrade_check-ftype:

check-ftype
-----------

XFS ftype check.

Check if there is at least 1 XFS volume with ftype=0 in any deployed node.


- **hosts**: undercloud, overcloud
- **groups**: pre-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/check-ftype.yaml>`__.


.. _pre-upgrade_check-latest-minor-version:

check-latest-minor-version
--------------------------

Check if latest minor version is installed.

Makes sure python-tripleoclient is at its latest minor version before starting an upgrade.


- **hosts**: undercloud
- **groups**: pre-upgrade
- **metadata**: 
- **parameters**: 

  - **packages**: ['python-tripleoclient']

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/check-latest-minor-version.yaml>`__.


.. _pre-upgrade_collect-flavors-and-verify-profiles:

collect-flavors-and-verify-profiles
-----------------------------------

Collect and verify role flavors.

This validation checks the flavors assigned to roles exist and have the correct capabilities set.


- **hosts**: undercloud
- **groups**: pre-deployment, pre-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/collect-flavors-and-verify-profiles.yaml>`__.


.. _pre-upgrade_containerized-undercloud-docker:

containerized-undercloud-docker
-------------------------------

Verify docker containers are up and ports are open.

Ensure relevant docker containers are up and running, with ports open to listen.
We iterate through a list of container names and ports provided in defaults, and ensure the system has those available.


- **hosts**: undercloud
- **groups**: post-deployment, pre-upgrade
- **metadata**: 
- **parameters**: 

  - **listening_ip**: {{ ctlplane_ip }}

  - **running_containers**: ['glance_api', 'heat_api', 'heat_api_cfn', 'heat_api_cron', 'heat_engine', 'ironic_api', 'ironic_conductor', 'ironic_inspector', 'ironic_inspector_dnsmasq', 'ironic_neutron_agent', 'ironic_pxe_http', 'ironic_pxe_tftp', 'iscsid', 'keystone', 'keystone_cron', 'logrotate_crond', 'memcached', 'mistral_api', 'mistral_engine', 'mistral_event_engine', 'mistral_executor', 'mysql', 'neutron_api', 'neutron_dhcp', 'neutron_l3_agent', 'neutron_ovs_agent', 'nova_api', 'nova_api_cron', 'nova_compute', 'nova_conductor', 'nova_metadata', 'nova_placement', 'nova_scheduler', 'rabbitmq', 'swift_account_auditor', 'swift_account_reaper', 'swift_account_replicator', 'swift_account_server', 'swift_container_auditor', 'swift_container_replicator', 'swift_container_server', 'swift_container_updater', 'swift_object_auditor', 'swift_object_expirer', 'swift_object_replicator', 'swift_object_server', 'swift_object_updater', 'swift_proxy', 'swift_rsync', 'tripleo_ui', 'zaqar', 'zaqar_websocket']

  - **open_ports**: [111, 873, 3000, 3306, 4369, 5000, 5050, 5672, 6000, 6001, 6002, 6379, 6385, 8000, 8004, 8080, 8088, 8774, 8775, 8778, 8787, 8888, 8989, 9000, 9292, 9696, 11211, 15672, 25672, 35357, 39422, {'search_regex': 'OpenSSH', 'port': 22}]

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/containerized-undercloud-docker.yaml>`__.


.. _pre-upgrade_deployment-images:

deployment-images
-----------------

Verify existence of deployment images.

This validation checks that images bm-deploy-kernel and bm-deploy-ramdisk exist before deploying the overcloud, and that only one exists by that name.


- **hosts**: undercloud
- **groups**: pre-deployment, pre-upgrade
- **metadata**: 
- **parameters**: 

  - **deploy_ramdisk_name**: bm-deploy-ramdisk

  - **deploy_kernel_name**: bm-deploy-kernel

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/deployment-images.yaml>`__.


.. _pre-upgrade_ironic-boot-configuration:

ironic-boot-configuration
-------------------------

Check Ironic boot configuration.

Check if baremetal boot configuration is correct.


- **hosts**: undercloud
- **groups**: pre-deployment, pre-upgrade
- **metadata**: 
- **parameters**: 

  - **deploy_ramdisk_name**: bm-deploy-ramdisk

  - **deploy_kernel_name**: bm-deploy-kernel

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/ironic-boot-configuration.yaml>`__.


.. _pre-upgrade_node-health:

node-health
-----------

Node health check.

Check if all overcloud nodes can be connected to before starting a scale-up or an upgrade.


- **hosts**: undercloud
- **groups**: pre-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/node-health.yaml>`__.


.. _pre-upgrade_openstack-endpoints:

openstack-endpoints
-------------------

Check connectivity to various OpenStack services.

This validation gets the PublicVip address from the deployment and tries to access Horizon and get a Keystone token.


- **hosts**: undercloud
- **groups**: post-deployment, pre-upgrade, post-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/openstack-endpoints.yaml>`__.


.. _pre-upgrade_repos:

repos
-----

Check correctness of current repositories.

Detect whether the repositories listed in `yum repolist` can be connected to and that there is at least one repo configured.
Detect if there are any unwanted repositories (such as EPEL) enabled.


- **hosts**: undercloud, overcloud
- **groups**: pre-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/repos.yaml>`__.


.. _pre-upgrade_stack-health:

stack-health
------------

Stack Health Check.

Check if all stack resources are in a *_COMPLETE state before starting an upgrade.


- **hosts**: undercloud
- **groups**: pre-upgrade, post-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/stack-health.yaml>`__.


.. _pre-upgrade_undercloud-disk-space-pre-upgrade:

undercloud-disk-space-pre-upgrade
---------------------------------

Verify undercloud fits the disk space requirements to perform an upgrade.

Make sure that the root partition on the undercloud node has enough free space before starting an upgrade
http://tripleo.org/install/environments/baremetal.html#minimum-system-requirements


- **hosts**: undercloud
- **groups**: pre-upgrade
- **metadata**: 
- **parameters**: 

  - **volumes**: [{'min_size': 10, 'mount': '/var/lib/docker'}, {'min_size': 3, 'mount': '/var/lib/config-data'}, {'min_size': 16, 'mount': '/var'}, {'min_size': 20, 'mount': '/'}]

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/undercloud-disk-space-pre-upgrade.yaml>`__.


.. _pre-upgrade_undercloud-heat-purge-deleted:

undercloud-heat-purge-deleted
-----------------------------

Verify heat-manage purge_deleted is enabled in crontab.

Without a purge_deleted crontab enabled, the heat database can grow very large.  This validation checks that the purge_deleted crontab has been set up.


- **hosts**: undercloud
- **groups**: pre-upgrade, pre-deployment
- **metadata**: 
- **parameters**: 

  - **cron_check**: heat-manage purge_deleted

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/undercloud-heat-purge-deleted.yaml>`__.


.. _pre-upgrade_undercloud-ram:

undercloud-ram
--------------

Verify the undercloud fits the RAM requirements.

Verify that the undercloud has enough RAM.
https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html/director_installation_and_usage/planning-your-undercloud#determining-environment-scale


- **hosts**: undercloud
- **groups**: prep, pre-introspection, pre-upgrade
- **metadata**: 
- **parameters**: 

  - **min_undercloud_ram_gb**: 24

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/undercloud-ram.yaml>`__.


.. _pre-upgrade_undercloud-service-status:

undercloud-service-status
-------------------------

Verify undercloud services state before running update or upgrade.

Check undercloud status before running a stack update - especially minor update and major upgrade.


- **hosts**: undercloud
- **groups**: post-upgrade, pre-upgrade
- **metadata**: 
- **parameters**: 

`View validation source code <http://git.openstack.org/cgit/openstack/tripleo-validations/plain/validations/undercloud-service-status.yaml>`__.

