From cdbed13bb5d09ef62f7dd2ea7749afb3c6d9aea2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20M=C3=A1gr?= Date: Fri, 28 Jul 2017 15:29:15 +0200 Subject: [PATCH] Add health checks during kolla build This patch adds HEALHCHECK CMD directive to all containers, which currently have a health check script implemented Change-Id: I98300eb6716992bbeb3544013a397a27a3427cf0 --- .../tripleo_kolla_template_overrides.j2 | 304 +++++++++++++++++- 1 file changed, 289 insertions(+), 15 deletions(-) diff --git a/container-images/tripleo_kolla_template_overrides.j2 b/container-images/tripleo_kolla_template_overrides.j2 index 55595b59b..78d26176a 100644 --- a/container-images/tripleo_kolla_template_overrides.j2 +++ b/container-images/tripleo_kolla_template_overrides.j2 @@ -71,42 +71,316 @@ # redis resource-agent requires pidof {% set redis_packages_append = ['sysvinit-tools'] %} -{% block mariadb_footer %} -# We'll configure mariadb with galera.cnf -RUN rm /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/auth_gssapi.cnf +# Required for nova migration +{% set nova_compute_packages_append = ['openstack-nova-migration', 'openssh-server'] %} +{% set nova_libvirt_packages_append = ['openstack-nova-migration'] %} -RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb +############################ service container footers ######################### + +{% block aodh_evaluator_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/aodh-evaluator /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck {% endblock %} -{% block rabbitmq_footer %} -RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb +{% block aodh_listener_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/aodh-listener /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck {% endblock %} -{% block redis_footer %} +{% block aodh_notifier_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/aodh-notifier /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block ceilometer_central_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/ceilometer-agent-central /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block ceilometer_ipmi_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/ceilometer-agent-ipmi /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block ceilometer_notification_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/ceilometer-agent-notification /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block cinder_backup_footer %} RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb + +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/cinder-backup /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block cinder_scheduler_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/cinder-scheduler /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block cinder_volume_footer %} +RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb + +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/cinder-volume /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block glance_api_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/glance-api /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block heat_api_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/heat-api /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block heat_api_cfn_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/heat-api-cnf /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block heat_engine_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/heat-engine /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck {% endblock %} {% block haproxy_footer %} RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb {% endblock %} -{% block cinder_volume_footer %} -RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb +{% block ironic_conductor_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/ironic-conductor /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck {% endblock %} -{% block cinder_backup_footer %} -RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb +{% block keystone_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/keystone-public /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block manila_scheduler_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/manila-scheduler /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck {% endblock %} {% block manila_share_footer %} RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb {% endblock %} +{% block mariadb_footer %} +# We'll configure mariadb with galera.cnf +RUN rm /etc/my.cnf.d/mariadb-server.cnf /etc/my.cnf.d/auth_gssapi.cnf + +RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb + +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/mariadb /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block mistral_engine_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/mistral-engine /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block mistral_executor_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/mistral-executor /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block neutron_dhcp_agent_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/neutron-dhcp /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block neutron_l3_agent_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/neutron-l3 /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block neutron_metadata_agent_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/neutron-metadata /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block neutron_openvswitch_agent_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/neutron-ovs-agent /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_api_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-api /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_compute_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-compute /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_compute_ironic_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-ironic /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_consoleauth_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-consoleauth /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_novncproxy_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-vnc-proxy /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %}] + +{% block nova_scheduler_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-scheduler /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block nova_conductor_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/nova-conductor /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block octavia_health_manager_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/octavia-health-manager /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block octavia_housekeeping_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/octavia-housekeeping /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block octavia_worker_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/octavia-worker /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block rabbitmq_footer %} +RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb + +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/rabbitmq /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block redis_footer %} +RUN yum install -y pacemaker pacemaker-remote pcs libqb resource-agents && mkdir /etc/libqb +{% endblock %} + +{% block sahara_engine_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/sahara-engine /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block sensu_client_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/sensu-client /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block swift_account_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/swift-account-server /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block swift_container_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/swift-container-server /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block swift_object_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/swift-object-server /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + +{% block swift_proxy_server_footer %} +RUN mkdir -p /openstack && \ + ln -s /usr/share/tripleo-common/healthcheck/swift-proxy /openstack/healthcheck && \ + chmod -R a+rx /openstack +HEALTHCHECK CMD /openstack/healthcheck +{% endblock %} + {% block base_footer %} # workaround LP1696283 RUN mkdir -p /etc/ssh && touch /etc/ssh/ssh_known_hosts {% endblock %} - -# Required for nova migration -{% set nova_compute_packages_append = ['openstack-nova-migration', 'openssh-server'] %} -{% set nova_libvirt_packages_append = ['openstack-nova-migration'] %}