Add additional condition check in pre-check role

Registered by Hui Kang

The existing port_check.yml play of the pre-check role checks assumes a full-fledge inventory file. However, kolla's inventory file is more flexible than that.
For example, the inventory file created by a user does not have haproxy group or certain component (e.g., swift) is not being used; such groups may not appear in the inventory. As a results, although the deployment will succeed, the pre-check fails. So it would be nice to add some conditional check in the pre-check role to handle these scenarios. - Hui

moreover, after the deployment, the precheck is not usable. the propose change is:
* move check to its own role
* run precheck conditionally
  ** run check if service container is not started.
  ** run check only on target node.

Blueprint information

Status:
Complete
Approver:
Jeffrey Zhang
Priority:
Medium
Drafter:
Hui Kang
Direction:
Approved
Assignee:
Jeffrey Zhang
Definition:
Approved
Series goal:
Accepted for ocata
Implementation:
Implemented
Milestone target:
milestone icon pike-3
Started by
Duong Ha-Quang
Completed by
Jeffrey Zhang

Related branches

Sprints

Whiteboard

Hui,

Can you please fill out the work items for this blueprint? Thanks! --steak

Gerrit topic: https://review.openstack.org/#q,topic:bp/condition-pre-check,n,z

Addressed by: https://review.openstack.org/393117
    Move precheck into its own role

Addressed by: https://review.openstack.org/394371
    Move glance precheck into its own role

Addressed by: https://review.openstack.org/416032
    Move trove precheck into its own role

Addressed by: https://review.openstack.org/416051
    Move sahara precheck into its own role

Addressed by: https://review.openstack.org/416052
    Move tacker precheck into its own role

Addressed by: https://review.openstack.org/416055
    Move grafana precheck into its own role

Addressed by: https://review.openstack.org/416059
    Move memcached precheck into its own role

Addressed by: https://review.openstack.org/416060
    Move mongodb precheck into its own role

Addressed by: https://review.openstack.org/416063
    Move etcd precheck into its own role

Addressed by: https://review.openstack.org/416066
    Move ceph precheck into its own role

Addressed by: https://review.openstack.org/416068
    Move horizon precheck into its own role

Addressed by: https://review.openstack.org/415481
    Move ironic precheck into its own role

Addressed by: https://review.openstack.org/415135
    Move searchlight precheck into its own role

Addressed by: https://review.openstack.org/415564
    Move nova precheck into its own role

Addressed by: https://review.openstack.org/415552
    Move neutron precheck into its own role

Addressed by: https://review.openstack.org/415492
    Move cinder precheck into its own role

Addressed by: https://review.openstack.org/415326
    Move gnocchi precheck into its own role

Addressed by: https://review.openstack.org/415113
    Move murano precheck into its own role

Addressed by: https://review.openstack.org/415486
    Move senlin precheck into its own role

Addressed by: https://review.openstack.org/415515
    Move mistral precheck into its own role

Addressed by: https://review.openstack.org/415513
    Move magnum precheck into its own role

Addressed by: https://review.openstack.org/415587
    Move mariadb precheck into its own role

Addressed by: https://review.openstack.org/415510
    Unify haproxy prechecks condition order

Addressed by: https://review.openstack.org/415635
    Move ceilometer precheck into its own role

Addressed by: https://review.openstack.org/413971
    Move congress precheck into its own role

Addressed by: https://review.openstack.org/404389
    Move aodh precheck into its own role

Addressed by: https://review.openstack.org/417723
    Move keystone precheck into its own role

Addressed by: https://review.openstack.org/417725
    Move iscsi precheck into its own role

Addressed by: https://review.openstack.org/417731
    Move rabbitmq precheck into its own role

Addressed by: https://review.openstack.org/418256
    Move solum precheck into its own role

Addressed by: https://review.openstack.org/418762
    Move gnocchi precheck into its own role

Addressed by: https://review.openstack.org/418834
    Move kibana precheck into its own role

Addressed by: https://review.openstack.org/418875
    Move Influxdb precheck into its own role

Addressed by: https://review.openstack.org/419022
    Move kuryr precheck into its own role

Addressed by: https://review.openstack.org/419238
    Move etcd precheck into its own role

Addressed by: https://review.openstack.org/419507
    Add elasticsearch precheck into its own role

Addressed by: https://review.openstack.org/419513
    Move rally precheck into its own role

Addressed by: https://review.openstack.org/419520
    Move telegraf precheck into its own role

Addressed by: https://review.openstack.org/419531
    Move octavia precheck into its own role

Addressed by: https://review.openstack.org/419539
    Move panko precheck into its own role

Addressed by: https://review.openstack.org/419976
    Move prechecks into its own role

Addressed by: https://review.openstack.org/420899
    Move some prechecks into its own role

Addressed by: https://review.openstack.org/421197
    Revert "Move keystone precheck into its own role"

Addressed by: https://review.openstack.org/421622
    Add prechecks into solum roles

(?)

Work Items

Work items:
aodh: DONE
ceilometer: DONE
cinder: DONE
congress: DONE
glance: DONE
heat: DONE
iscsi: DONE
magnum: DONE
mistral: DONE
neutron: DONE
rabbitmq: DONE
senlin: DONE
panko: DONE
trove: DONE
barbican: DONE
ceph: DONE
cloudkitty: DONE
destroy: POSTPONED
gnocchi: DONE
horizon: DONE
keystone: DONE
manila: DONE
mongodb: DONE
nova: DONE
rally: POSTPONED
swift: DONE
vmtp: POSTPONED
baremetal: TODO
ceph_pools.yml: POSTPONED
collectd: TODO
elasticsearch: DONE
grafana: DONE
influxdb: DONE
kibana: DONE
mariadb: DONE
multipathd: TODO
octavia: DONE
sahara: DONE
telegraf: TODO
watcher: DONE
bifrost: TODO
certificates: TODO
common: TODO
etcd: DONE
haproxy: TODO
ironic: DONE
kuryr: DONE
memcached: DONE
murano: DONE
prechecks: POSTPONED
searchlight: DONE
tempest: POSTPONED

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.