FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }} LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build_date }}" {% block rabbitmq_header %}{% endblock %} {% import "macros.j2" as macros with context %} {{ macros.configure_user(name='rabbitmq') }} {% block rabbitmq_install %} {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} {% set rabbitmq_packages = [ 'hostname', 'rabbitmq-server' ] %} {% elif base_distro in ['debian', 'ubuntu'] %} {% set rabbitmq_packages = [ 'erlang-nox', 'http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.5/rabbitmq-server_3.6.5-1_all.deb', 'logrotate', 'socat' ] %} {% endif %} {{ macros.install_packages(rabbitmq_packages | customizable("packages")) }} {% endblock %} {% block rabbitmq_install_plugins %} # NOTE(sdake): the /bin/true unblocks the rabbitmq-plugins tool. Not sure how # or why. My suspicion is it sends a signal to the parent # process. RUN rm -rf /var/lib/rabbitmq/* \ && ln -s /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.* /usr/lib/rabbitmq/lib/rabbitmq_server-3.6 \ && curl -o /usr/lib/rabbitmq/lib/rabbitmq_server-3.6/plugins/rabbitmq_clusterer-3.6.x-667f92b0.ez http://www.rabbitmq.com/community-plugins/v3.6.x/rabbitmq_clusterer-3.6.x-667f92b0.ez \ && /usr/lib/rabbitmq/bin/rabbitmq-plugins enable --offline \ rabbitmq_management \ rabbitmq_clusterer \ && /bin/true {% endblock %} COPY extend_start.sh /usr/local/bin/kolla_extend_start COPY rabbitmq_sudoers /etc/sudoers.d/kolla_rabbitmq_sudoers COPY rabbitmq_get_gospel_node.py /usr/local/bin/rabbitmq_get_gospel_node RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/rabbitmq_get_gospel_node \ && chmod 750 /etc/sudoers.d \ && chmod 440 /etc/sudoers.d/kolla_rabbitmq_sudoers {% block rabbitmq_footer %}{% endblock %} {% block footer %}{% endblock %} USER rabbitmq