Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 6b064b9

Browse files
committedMar 2, 2023
Update rabbitmq installation
1 parent e0290fd commit 6b064b9

File tree

2 files changed

+61
-66
lines changed

2 files changed

+61
-66
lines changed
 

‎installer/ansible/roles/delfin-installer/scenarios/rabbitmq.yml

Lines changed: 5 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -21,74 +21,13 @@
2121
apt:
2222
autoclean: yes
2323

24-
- name: Import RabbitMQ public key
25-
apt_key:
26-
url: https://github.com/rabbitmq/signing-keys/releases/download/2.0/rabbitmq-release-signing-key.asc
27-
state: present
28-
become: yes
29-
when:
30-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
31-
32-
- name: Add Launchpad Erlang PPA key
33-
apt_key:
34-
keyserver: keyserver.ubuntu.com
35-
id: F77F1EDA57EBB1CC
36-
become: yes
37-
when:
38-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
39-
40-
- name: Add PackageCloud RabbitMQ repository
41-
apt_key:
42-
url: https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
43-
state: present
44-
become: yes
45-
when:
46-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
47-
48-
- name: Add RabbitMQ Erlang official repo
49-
apt_repository:
50-
repo: deb http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu {{ ansible_distribution_release }} main
51-
state: present
52-
filename: rabbitmq
53-
become: yes
54-
when:
55-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
56-
57-
- name: Add RabbitMQ Server official repo
58-
apt_repository:
59-
repo: deb https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ {{ ansible_distribution_release }} main
60-
state: present
61-
filename: rabbitmq
62-
become: yes
63-
when:
64-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
65-
66-
- name: Import Erlang public key
67-
apt_key:
68-
url: https://packages.erlang-solutions.com/debian/erlang_solutions.asc
69-
state: present
70-
become: yes
71-
when:
72-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
73-
74-
- name: Add Erlang official repo
75-
apt_repository:
76-
repo: deb https://binaries.erlang-solutions.com/debian {{ ansible_distribution_release }} contrib
77-
state: present
78-
filename: erlang
79-
become: yes
80-
when:
81-
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
82-
83-
- name: Install RabbitMQ package
84-
apt:
85-
name: rabbitmq-server
86-
update_cache: yes
87-
install_recommends: yes
88-
allow_unauthenticated: yes
89-
state: present
24+
- name: Install rabbitmq service
25+
shell: "{{ item }}"
26+
with_items:
27+
- bash ./script/install_rabbitmq.sh "{{ ansible_distribution_release }}"
9028
become: yes
9129
when:
30+
- ansible_distribution == 'Ubuntu'
9231
- rabbitmqservice.stat.exists is undefined or rabbitmqservice.stat.exists == false
9332

9433
- name: Start the RabbitMQ server
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
#!/usr/bin/env bash
2+
3+
# Copyright 2023 The SODA Authors.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
#sudo apt-get install curl gnupg apt-transport-https -y
18+
19+
## Team RabbitMQ's main signing key
20+
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null
21+
## Launchpad PPA that provides modern Erlang releases
22+
curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg > /dev/null
23+
## PackageCloud RabbitMQ repository
24+
curl -1sLf "https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.packagecloud.rabbitmq.gpg > /dev/null
25+
26+
release=$1
27+
28+
## Add apt repositories maintained by Team RabbitMQ
29+
sudo tee /etc/apt/sources.list.d/rabbitmq.list <<EOF
30+
## Provides modern Erlang/OTP releases
31+
##
32+
## "bionic" as distribution name should work for any reasonably recent Ubuntu or Debian release.
33+
## See the release to distribution mapping table in RabbitMQ doc guides to learn more.
34+
deb [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu $release main
35+
deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu $release main
36+
37+
## Provides RabbitMQ
38+
##
39+
## "bionic" as distribution name should work for any reasonably recent Ubuntu or Debian release.
40+
## See the release to distribution mapping table in RabbitMQ doc guides to learn more.
41+
deb [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ $release main
42+
deb-src [signed-by=/usr/share/keyrings/io.packagecloud.rabbitmq.gpg] https://packagecloud.io/rabbitmq/rabbitmq-server/ubuntu/ $release main
43+
EOF
44+
45+
## Update package indices
46+
sudo apt-get update -y
47+
48+
## Install Erlang packages
49+
sudo apt-get install -y erlang-base \
50+
erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets \
51+
erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key \
52+
erlang-runtime-tools erlang-snmp erlang-ssl \
53+
erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
54+
55+
## Install rabbitmq-server and its dependencies
56+
sudo apt-get install rabbitmq-server -y --fix-missing

0 commit comments

Comments
 (0)
Please sign in to comment.