Skip to content

Commit 92e264e

Browse files
committed
PMM-7: Install pmm client
1 parent 6f96b7e commit 92e264e

File tree

1 file changed

+97
-121
lines changed

1 file changed

+97
-121
lines changed

pmm_qa/tasks/install_pmm_client.yml

Lines changed: 97 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -79,182 +79,158 @@
7979
ignore_errors: true
8080

8181
- name: Get lsb_release
82-
community.docker.docker_container_exec:
83-
container: "{{ container_name }}"
84-
command: >
82+
shell: |
83+
docker exec --user root {{ container_name }} \
8584
bash -c "grep '^VERSION_CODENAME=' /etc/os-release | cut -d '=' -f2 | tr -d '\"'"
86-
user: "root"
8785
register: lsb_release
8886

8987
- name: Set lsb_release
9088
set_fact:
9189
lsb_release: "{{ lsb_release.stdout }}"
9290

9391
- name: Install percona release on Debian-family containers
94-
community.docker.docker_container_exec:
95-
container: "{{ container_name }}"
96-
user: "root"
97-
command: >
98-
sh -c '
99-
wget -O /percona-release_latest.{{ lsb_release }}_all.deb https://repo.percona.com/apt/percona-release_latest.{{ lsb_release }}_all.deb &&
100-
dpkg -i /percona-release_latest.{{ lsb_release }}_all.deb
101-
'
92+
shell: |
93+
docker exec --user root {{ container_name }} sh -c '
94+
wget -O /percona-release_latest.{{ lsb_release.stdout | trim }}_all.deb \
95+
https://repo.percona.com/apt/percona-release_latest.{{ lsb_release.stdout | trim }}_all.deb &&
96+
dpkg -i /percona-release_latest.{{ lsb_release.stdout | trim }}_all.deb
97+
'
10298
when:
10399
- distro_family == 'debian'
100+
ignore_errors: true
104101

105-
- name: Install specific PMM client version on RHEL-family containers
106-
community.docker.docker_container_exec:
107-
container: "{{ container_name }}"
108-
user: "root"
109-
command: >
110-
sh -c '
111-
wget -O /percona-release-latest.noarch.rpm https://repo.percona.com/yum/percona-release-latest.noarch.rpm &&
112-
rpm -i /percona-release-latest.noarch.rpm
113-
'
114-
when:
115-
- distro_family == 'rhel'
102+
- name: Install percona release on RHEL-family containers
103+
shell: |
104+
docker exec --user root {{ container_name }} sh -c '
105+
wget -O /percona-release-latest.noarch.rpm \
106+
https://repo.percona.com/yum/percona-release-latest.noarch.rpm && \
107+
rpm -i /percona-release-latest.noarch.rpm
108+
'
109+
when: distro_family == 'rhel'
116110
ignore_errors: true
117111

118112
- name: Install pmm client experimental on Debian-family containers
119-
community.docker.docker_container_exec:
120-
container: "{{ container_name }}"
121-
user: "root"
122-
command: >
123-
sh -c '
124-
percona-release enable-only pmm3-client experimental &&
125-
apt-get update &&
126-
apt-get -y install pmm-client
127-
'
113+
shell: |
114+
docker exec --user root {{ container_name }} sh -c '
115+
percona-release enable-only pmm3-client experimental &&
116+
apt-get update &&
117+
apt-get -y install pmm-client
118+
'
128119
when: distro_family == "debian" and client_version == "3-dev-latest"
129120

130121
- name: Install pmm client experimental on RHEL-family containers
131-
community.docker.docker_container_exec:
132-
container: "{{ container_name }}"
133-
user: "root"
134-
command: >
135-
sh -c '
136-
percona-release enable-only pmm3-client experimental &&
137-
microdnf install -y pmm-client
138-
'
122+
shell: |
123+
docker exec --user root {{ container_name }} sh -c '
124+
percona-release enable-only pmm3-client experimental &&
125+
microdnf install -y pmm-client
126+
'
139127
when: distro_family == "rhel" and client_version == "3-dev-latest"
140128

141129
- name: Install pmm client testing on Debian-family containers
142-
community.docker.docker_container_exec:
143-
container: "{{ container_name }}"
144-
user: "root"
145-
command: >
146-
sh -c '
147-
percona-release enable-only pmm3-client testing &&
148-
apt-get update &&
149-
apt-get -y install pmm-client
150-
'
130+
shell: |
131+
docker exec --user root {{ container_name }} sh -c '
132+
percona-release enable-only pmm3-client testing &&
133+
apt-get update &&
134+
apt-get -y install pmm-client
135+
'
151136
when: distro_family == "debian" and client_version == "pmm3-rc"
152137

153138
- name: Install pmm client testing on RHEL-family containers
154-
community.docker.docker_container_exec:
155-
container: "{{ container_name }}"
156-
user: "root"
157-
command: >
158-
sh -c '
159-
percona-release enable-only pmm3-client testing &&
160-
microdnf install -y pmm-client
161-
'
139+
shell: |
140+
docker exec --user root {{ container_name }} sh -c '
141+
percona-release enable-only pmm3-client testing &&
142+
microdnf install -y pmm-client
143+
'
162144
when: distro_family == "rhel" and client_version == "pmm3-rc"
163145

164146
- name: Install pmm client release on Debian-family containers
165-
community.docker.docker_container_exec:
166-
container: "{{ container_name }}"
167-
user: "root"
168-
command: >
169-
sh -c '
170-
percona-release enable-only pmm3-client release &&
171-
apt-get update &&
172-
apt-get -y install pmm-client
173-
'
147+
shell: |
148+
docker exec --user root {{ container_name }} sh -c '
149+
percona-release enable-only pmm3-client release &&
150+
apt-get update &&
151+
apt-get -y install pmm-client
152+
'
174153
when: distro_family == "debian" and client_version == "pmm3-latest"
175154

176155
- name: Install pmm client release on RHEL-family containers
177-
community.docker.docker_container_exec:
178-
container: "{{ container_name }}"
179-
user: "root"
180-
command: >
181-
sh -c '
182-
percona-release enable-only pmm3-client release &&
183-
microdnf install -y pmm-client
184-
'
156+
shell: |
157+
docker exec --user root {{ container_name }} sh -c '
158+
percona-release enable-only pmm3-client release &&
159+
microdnf install -y pmm-client
160+
'
185161
when: distro_family == "rhel" and client_version == "pmm3-latest"
186162

187163
- name: Install specific PMM client version on Debian-family containers
188-
community.docker.docker_container_exec:
189-
container: "{{ container_name }}"
190-
user: "root"
191-
command: >
192-
sh -c '
193-
wget -O /pmm-client.deb https://repo.percona.com/pmm3-client/apt/pool/main/p/pmm-client/pmm-client_{{ client_version }}-7.$(lsb_release -sc)_amd64.deb &&
194-
dpkg -i /pmm-client.deb
195-
'
164+
shell: |
165+
docker exec --user root {{ container_name }} sh -c '
166+
wget -O /pmm-client.deb https://repo.percona.com/pmm3-client/apt/pool/main/p/pmm-client/pmm-client_{{ client_version }}-7.$(lsb_release -sc)_amd64.deb &&
167+
dpkg -i /pmm-client.deb
168+
'
196169
when:
197170
- distro_family == 'debian'
198171
- client_version is match('^3\\.[0-9]+\\.[0-9]+$')
199172

200173
- name: Install specific PMM client version on RHEL-family containers
201-
community.docker.docker_container_exec:
202-
container: "{{ container_name }}"
203-
user: "root"
204-
command: >
205-
sh -c '
206-
wget -O /pmm-client.rpm https://repo.percona.com/pmm3-client/yum/release/9/RPMS/x86_64/pmm-client-{{ client_version }}-7.el9.x86_64.rpm &&
207-
rpm -i /pmm-client.rpm
208-
'
174+
shell: |
175+
docker exec --user root {{ container_name }} sh -c '
176+
wget -O /pmm-client.rpm https://repo.percona.com/pmm3-client/yum/release/9/RPMS/x86_64/pmm-client-{{ client_version }}-7.el9.x86_64.rpm &&
177+
rpm -i /pmm-client.rpm
178+
'
209179
when:
210180
- distro_family == 'rhel'
211181
- client_version is match('^3\\.[0-9]+\\.[0-9]+$')
212182

213183
- name: Install tarball PMM client version
214-
community.docker.docker_container_exec:
215-
container: "{{ container_name }}"
216-
user: "root"
217-
command: >
218-
sh -c '
219-
wget -O /pmm-client.tar.gz "{{ client_version }}" &&
220-
tar -zxpf /pmm-client.tar.gz &&
221-
PMM_CLIENT=`ls -1td pmm-client* 2>/dev/null | grep -v ".tar" | grep -v ".sh" | head -n1` &&
222-
echo ${PMM_CLIENT} &&
223-
rm -rf pmm-client &&
224-
mv ${PMM_CLIENT} pmm-client &&
225-
rm -rf /usr/local/bin/pmm-client &&
226-
mv -f pmm-client /usr/local/bin &&
227-
bash -x /usr/local/bin/pmm-client/install_tarball &&
228-
ln -sf /usr/local/percona/pmm/bin/pmm-admin /usr/local/bin/pmm-admin &&
229-
ln -sf /usr/local/percona/pmm/bin/pmm-agent /usr/local/bin/pmm-agent &&
230-
pmm-admin --version
231-
'
184+
shell: |
185+
docker exec --user root {{ container_name }} sh -c '
186+
wget -O /pmm-client.tar.gz "{{ client_version }}" &&
187+
tar -zxpf /pmm-client.tar.gz &&
188+
PMM_CLIENT=`ls -1td pmm-client* 2>/dev/null | grep -v ".tar" | grep -v ".sh" | head -n1` &&
189+
echo ${PMM_CLIENT} &&
190+
rm -rf pmm-client &&
191+
mv ${PMM_CLIENT} pmm-client &&
192+
rm -rf /usr/local/bin/pmm-client &&
193+
mv -f pmm-client /usr/local/bin &&
194+
bash -x /usr/local/bin/pmm-client/install_tarball &&
195+
ln -sf /usr/local/percona/pmm/bin/pmm-admin /usr/local/bin/pmm-admin &&
196+
ln -sf /usr/local/percona/pmm/bin/pmm-agent /usr/local/bin/pmm-agent &&
197+
pmm-admin --version
198+
'
232199
when:
233200
- client_version | regex_search('^https?://.*\\.tar\\.gz$') is not none
234201

235202
- name: Connect pmm client to pmm server using metrics mode
236-
community.docker.docker_container_exec:
237-
container: "{{ container_name }}"
238-
user: "root"
239-
command: pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --metrics-mode={{ metrics_mode }} --server-username=admin --server-password={{ admin_password }} {{ container_name }}
203+
shell: |
204+
docker exec --user root {{ container_name }} \
205+
pmm-agent setup \
206+
--config-file=/usr/local/percona/pmm/config/pmm-agent.yaml \
207+
--server-address={{ pmm_server_ip }}:{{ pmm_server_port }} \
208+
--server-insecure-tls \
209+
--metrics-mode={{ metrics_mode }} \
210+
--server-username=admin \
211+
--server-password={{ admin_password }} \
212+
{{ container_name }}
240213
when: metrics_mode | length > 0
241214

242-
- name: Connect pmm client to pmm server using metrics mode
243-
community.docker.docker_container_exec:
244-
container: "{{ container_name }}"
245-
user: "root"
246-
command: pmm-agent setup --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml --server-address={{ pmm_server_ip }}:{{ pmm_server_port }} --server-insecure-tls --server-username=admin --server-password={{ admin_password }} {{ container_name }}
215+
- name: Connect pmm client to pmm server using default metrics mode
216+
shell: |
217+
docker exec --user root {{ container_name }} \
218+
pmm-agent setup \
219+
--config-file=/usr/local/percona/pmm/config/pmm-agent.yaml \
220+
--server-address={{ pmm_server_ip }}:{{ pmm_server_port }} \
221+
--server-insecure-tls \
222+
--server-username=admin \
223+
--server-password={{ admin_password }} \
224+
{{ container_name }}
247225
when: metrics_mode | length == 0
248226

249227
- name: Wait 5 seconds for connection to complete
250228
pause:
251229
seconds: 5
252230

253231
- name: Start pmm client
254-
community.docker.docker_container_exec:
255-
container: "{{ container_name }}"
256-
user: "root"
257-
command: >
232+
shell: |
233+
docker exec --user root {{ container_name }} \
258234
sh -c 'nohup pmm-agent --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml > /var/log/pmm-agent.log 2>&1 &'
259235
260236
- name: Wait 5 seconds for start to complete

0 commit comments

Comments
 (0)