pre-deployment
==============

.. _pre-deployment_ceph-dependencies-installed:

ceph-dependencies-installed
---------------------------

Check if Ceph dependencies are installed.

Prints a message if a ceph dependency is missed


- **hosts**: allovercloud
- **groups**: pre-deployment, pre-ceph
- **parameters**:

  - **fail_without_deps**: True

  - **tripleo_delegate_to**: {{ groups['allovercloud'] | default([]) }}

  - **packages**: ['lvm2']
- **roles**: ceph

Role documentation

.. toctree::

   roles/role-ceph

.. _pre-deployment_default-node-count:

default-node-count
------------------

Verify hypervisor statistics.

This validation checks that the nodes and hypervisor statistics
add up.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:
- **roles**: default_node_count

Role documentation

.. toctree::

   roles/role-default_node_count

.. _pre-deployment_dhcp-provisioning:

dhcp-provisioning
-----------------

DHCP on the Provisioning Network.

An unexpected DHCP server on the provisioning network can
cause problems with deploying the Ironic nodes.

This validation checks for DHCP responses on the undercloud's
provisioning interface (eth1 by default) and fails if there
are any.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:
- **roles**: dhcp_validations

Role documentation

.. toctree::

   roles/role-dhcp_validations

.. _pre-deployment_ironic-boot-configuration:

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

Check Ironic boot configuration.

Check if baremetal boot configuration is correct.


- **hosts**: undercloud
- **groups**: pre-deployment, pre-upgrade
- **parameters**:
- **roles**: ironic_boot_configuration

Role documentation

.. toctree::

   roles/role-ironic_boot_configuration

.. _pre-deployment_network-environment:

network-environment
-------------------

Validate the Heat environment file for network configuration.

This validates the network environment and nic-config files
that specify the overcloud network configuration and are stored
in the current plan's Swift container.

The deployers are expected to write these files themselves as
described in the Network Isolation guide:

http://tripleo.org/advanced_deployment/network_isolation.html


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:

  - **network_environment_path**: environments/network-environment.yaml

  - **plan_env_path**: plan-environment.yaml

  - **ip_pools_path**: environments/ips-from-pool-all.yaml
- **roles**: network_environment

Role documentation

.. toctree::

   roles/role-network_environment

.. _pre-deployment_node-disks:

node-disks
----------

Check node disk configuration.

Check node disk numbers and sizes and whether root device hints are set.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:

  - **ironic_conf_file**: /var/lib/config-data/puppet-generated/ironic/etc/ironic/ironic.conf
- **roles**: node_disks

Role documentation

.. toctree::

   roles/role-node_disks

.. _pre-deployment_package-version:

package-version
---------------

package-version.

Ensures we can access the wanted package version. Especially useful
when you are switching repositories, for instance during an upgrade.


- **hosts**: all
- **groups**: prep, pre-deployment, pre-upgrade, pre-update, pre-system-upgrade, pre-undercloud-upgrade, pre-overcloud-prepare, pre-overcloud-upgrade, pre-overcloud-converge, pre-ceph
- **parameters**:

  - **package_version_debug**: False
- **roles**: package_version

Role documentation

.. toctree::

   roles/role-package_version

.. _pre-deployment_switch-vlans:

switch-vlans
------------

Compare switch port VLANs to VLANs in nic config.

LLDP data received during introspection contains the configured VLANs
for each switch port attached to the nodes interfaces.  Compare the
VLAN IDs set on the switch port to those configured in nic config
files. Since the mapping of roles to nodes isn't known prior to
deployment, this check can only check VLANs across all switch ports,
not on a particular switch port.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:

  - **network_environment_path**: environments/network-environment.yaml

  - **ironic_inspector_conf_file**: /var/lib/config-data/puppet-generated/ironic_inspector/etc/ironic-inspector/inspector.conf
- **roles**: switch_vlans

Role documentation

.. toctree::

   roles/role-switch_vlans

.. _pre-deployment_system-encoding:

system-encoding
---------------

System encoding.

Ensure the local is unicode


- **hosts**: all
- **groups**: pre-deployment, pre-upgrade, pre-update
- **parameters**:

  - **system_encoding_debug**: False
- **roles**: system_encoding

Role documentation

.. toctree::

   roles/role-system_encoding

.. _pre-deployment_tls-everywhere-pre-deployment:

tls-everywhere-pre-deployment
-----------------------------

Confirm undercloud is setup correctly prior to overcloud deploy.

Checks that the undercloud has novajoin set up corectly and
that we are ready to do the overcloud deploy with tls-everywhere.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:
- **roles**: tls_everywhere

Role documentation

.. toctree::

   roles/role-tls_everywhere

.. _pre-deployment_undercloud-debug:

undercloud-debug
----------------

Undercloud Services Debug Check.

The undercloud's openstack services should _not_ have debug enabled.
This will check if debug is enabled on undercloud services.
If debug is enabled, the root filesystem can fill up quickly, and
is not a good thing.
This role needs to be run against an installed Undercloud.
The tested services must use one of the specified configuration files
to set their debug status.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:

  - **debug_check**: True
- **roles**: undercloud_debug

Role documentation

.. toctree::

   roles/role-undercloud_debug

.. _pre-deployment_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-update, pre-deployment
- **parameters**:

  - **cron_check**: heat-manage purge_deleted
- **roles**: undercloud_heat_purge_deleted

Role documentation

.. toctree::

   roles/role-undercloud_heat_purge_deleted

.. _pre-deployment_undercloud-process-count:

undercloud-process-count
------------------------

Check the number of OpenStack processes on undercloud.

The default settings for OpenStack is to run one process (heat-engine,
keystone, etc.) per CPU core. On a machine with a lot of cores this is
both unnecessary and can consume a significant amount of RAM, leading
to crashes due to OOMKiller.


- **hosts**: undercloud
- **groups**: pre-deployment
- **parameters**:

  - **max_process_count**: 8
- **roles**: undercloud_process_count

Role documentation

.. toctree::

   roles/role-undercloud_process_count
