|
79 | 79 | ignore_errors: true |
80 | 80 |
|
81 | 81 | - 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 }} \ |
85 | 84 | bash -c "grep '^VERSION_CODENAME=' /etc/os-release | cut -d '=' -f2 | tr -d '\"'" |
86 | | - user: "root" |
87 | 85 | register: lsb_release |
88 | 86 |
|
89 | 87 | - name: Set lsb_release |
90 | 88 | set_fact: |
91 | 89 | lsb_release: "{{ lsb_release.stdout }}" |
92 | 90 |
|
93 | 91 | - 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 | + ' |
102 | 98 | when: |
103 | 99 | - distro_family == 'debian' |
| 100 | + ignore_errors: true |
104 | 101 |
|
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' |
116 | 110 | ignore_errors: true |
117 | 111 |
|
118 | 112 | - 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 | + ' |
128 | 119 | when: distro_family == "debian" and client_version == "3-dev-latest" |
129 | 120 |
|
130 | 121 | - 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 | + ' |
139 | 127 | when: distro_family == "rhel" and client_version == "3-dev-latest" |
140 | 128 |
|
141 | 129 | - 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 | + ' |
151 | 136 | when: distro_family == "debian" and client_version == "pmm3-rc" |
152 | 137 |
|
153 | 138 | - 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 | + ' |
162 | 144 | when: distro_family == "rhel" and client_version == "pmm3-rc" |
163 | 145 |
|
164 | 146 | - 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 | + ' |
174 | 153 | when: distro_family == "debian" and client_version == "pmm3-latest" |
175 | 154 |
|
176 | 155 | - 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 | + ' |
185 | 161 | when: distro_family == "rhel" and client_version == "pmm3-latest" |
186 | 162 |
|
187 | 163 | - 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 | + ' |
196 | 169 | when: |
197 | 170 | - distro_family == 'debian' |
198 | 171 | - client_version is match('^3\\.[0-9]+\\.[0-9]+$') |
199 | 172 |
|
200 | 173 | - 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 | + ' |
209 | 179 | when: |
210 | 180 | - distro_family == 'rhel' |
211 | 181 | - client_version is match('^3\\.[0-9]+\\.[0-9]+$') |
212 | 182 |
|
213 | 183 | - 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 | + ' |
232 | 199 | when: |
233 | 200 | - client_version | regex_search('^https?://.*\\.tar\\.gz$') is not none |
234 | 201 |
|
235 | 202 | - 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 }} |
240 | 213 | when: metrics_mode | length > 0 |
241 | 214 |
|
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 }} |
247 | 225 | when: metrics_mode | length == 0 |
248 | 226 |
|
249 | 227 | - name: Wait 5 seconds for connection to complete |
250 | 228 | pause: |
251 | 229 | seconds: 5 |
252 | 230 |
|
253 | 231 | - 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 }} \ |
258 | 234 | sh -c 'nohup pmm-agent --config-file=/usr/local/percona/pmm/config/pmm-agent.yaml > /var/log/pmm-agent.log 2>&1 &' |
259 | 235 |
|
260 | 236 | - name: Wait 5 seconds for start to complete |
|
0 commit comments