SUSE: Add ability to use the upstream RabbitMQ package

The upstream project provides a rabbitmq package for SUSE so we default to
rabbitmq_install_method == 'file' like the rest of the distributions.
This also updates the rabbitmq test version to 3.6.9.

Change-Id: Iaf6918262e10b7b9129a86fa10090e34602b8f6f
This commit is contained in:
Markos Chandras
2017-06-28 13:09:00 +01:00
parent 43aa191486
commit 50bffbf8f1
3 changed files with 60 additions and 9 deletions

View File

@@ -13,9 +13,50 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- block:
- name: Add rabbitmq gpg-keys
rpm_key:
state: present
key: "{{ item.keyserver }}/{{ item.key_name }}"
register: add_keys
until: add_keys | success
retries: 5
delay: 2
with_items: "{{ rabbitmq_gpg_keys }}"
tags:
- rabbitmq-gpg-keys
rescue:
- name: Add rabbitmq gpg-keys using fallback keyserver
rpm_key:
state: present
key: "{{ item.fallback_keyserver }}/{{ item.key_name }}"
register: add_keys_fallback
until: add_keys_fallback | success
retries: 5
delay: 2
with_items: "{{ rabbitmq_gpg_keys }}"
when:
- item.fallback_keyserver is defined
tags:
- rabbitmq-gpg-keys
- name: Install RabbitMQ package dependencies
zypper:
name: "{{ item }}"
state: "{{ rabbitmq_package_state }}"
update_cache: yes
register: install_packages
until: install_packages|success
retries: 5
delay: 2
with_items: "{{ rabbitmq_dependencies }}"
tags:
- rabbitmq-zypper-packages
- name: Install the RabbitMQ package
zypper:
name: "{{ rabbitmq_distro_packages }}"
name: "{{ (rabbitmq_install_method == 'file') | ternary(rabbitmq_package_path, rabbitmq_distro_packages) }}"
register: install_rabbitmq
tags:
- rabbitmq-package-rpm
@@ -29,7 +70,11 @@
src: "rabbitmq-server.service.j2"
dest: "/etc/systemd/system/rabbitmq-server.service"
register: rabbitmq_server_service_added
when: rabbitmq_install_method == 'distro'
# NOTE(hwoarang) Normally, this task should only be executed when
# rabbitmq_install_method == 'distro'. However, the upstream package
# does not contain a systemd file and as such we need to provide one.
# This should be reverted once https://github.com/rabbitmq/rabbitmq-server-release/pull/31
# is merged and new builds of rabbimq-server are available.
tags:
- rabbitmq-config

View File

@@ -30,6 +30,5 @@ rabbitmq_new_package:
rabbitmq_release_version: "3.6.9"
redhat:
rabbitmq_release_version: "3.6.9"
# NOTE(hwoarang): 3.6.6 is shipped in the Ocata OBS repository
suse:
rabbitmq_release_version: "3.6.6"
rabbitmq_release_version: "3.6.9"

View File

@@ -22,10 +22,17 @@ _rabbitmq_release_version: "{{ rabbitmq_package_version.split('-')[2] }}"
_rabbitmq_package_sha256: "c44813ab94463f83e3e74be04db7304120697a27df12ca057e3dbb32717af32f"
_rabbitmq_package_path: "/opt/rabbitmq-server.rpm"
_rabbitmq_gpg_keys:
- key_name: 'rabbitmq-release-signing-key.asc'
keyserver: 'https://www.rabbitmq.com'
- key_name: 'erlang_solutions.asc'
keyserver: 'https://packages.erlang-solutions.com/ubuntu'
rabbitmq_dependencies:
- erlang
- openssl
- socat
rabbitmq_distro_packages:
- rabbitmq-server
- rabbitmq-server-plugins
# NOTE(hwoarang) we always grab the package from the distribution repository
# which has been configured in the openstack-ansible-pip_install role
rabbitmq_install_method: distro