Merge ~xavpaice/charm-prometheus2:update_charmcraft into charm-prometheus2:master
- Git
- lp:~xavpaice/charm-prometheus2
- update_charmcraft
- Merge into master
Status: | Merged | ||||
---|---|---|---|---|---|
Approved by: | James Troup | ||||
Approved revision: | ef201e94957652cb9e736de79a6715474ee05ce3 | ||||
Merged at revision: | fdbcbe4f1bbe5c85030aab5db2e9f5a6f18edc78 | ||||
Proposed branch: | ~xavpaice/charm-prometheus2:update_charmcraft | ||||
Merge into: | charm-prometheus2:master | ||||
Diff against target: |
499 lines (+259/-56) 14 files modified
.gitignore (+2/-1) Makefile (+13/-6) charmcraft.yaml (+13/-6) dev/null (+0/-21) rename.sh (+13/-0) src/LICENSE (+202/-0) src/metadata.yaml (+1/-2) src/reactive/prometheus.py (+2/-2) src/tests/functional/requirements.txt (+1/-0) src/tests/functional/tests/bundles/bionic-vault.yaml (+5/-12) src/tests/functional/tests/bundles/overlays/local-charm-overlay.yaml.j2 (+1/-1) src/tests/functional/tests/tests.yaml (+0/-3) src/tests/functional/tests/tests_prometheus.py (+2/-1) src/tox.ini (+4/-1) |
||||
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
🤖 prod-jenkaas-bootstack (community) | continuous-integration | Approve | |
BootStack Reviewers | Pending | ||
BootStack Reviewers | Pending | ||
Review via email: mp+416429@code.launchpad.net |
Commit message
add bionic to charmcraft
Description of the change
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote : | # |
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:9ee579eb2ac
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:ba8cfe3644a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:d827a427fce
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:01e3e148d3c
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:c335c0801f8
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:dc860fb346f
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:1c555ee6ce7
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:a14959d52a6
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:d8524ddbffd
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:05fced2ff9e
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:2a9f89de064
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:6423f901c44
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:b3c4ad3b65a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:cfd773026b7
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:78f06ec96a4
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:b6cd3be0a1b
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
FAILED: Continuous integration, rev:0d775840c7a
https:/
Executed test runs:
FAILURE: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
A CI job is currently in progress. A follow up comment will be added when it completes.
🤖 prod-jenkaas-bootstack (prod-jenkaas-bootstack) wrote : | # |
PASSED: Continuous integration, rev:ef201e94957
https:/
Executed test runs:
SUCCESS: https:/
None: https:/
Click here to trigger a rebuild:
https:/
🤖 Canonical IS Merge Bot (canonical-is-mergebot) wrote : | # |
Change successfully merged at revision fdbcbe4f1bbe5c8
Preview Diff
1 | diff --git a/.gitignore b/.gitignore |
2 | index b4a8ea3..60b19fd 100644 |
3 | --- a/.gitignore |
4 | +++ b/.gitignore |
5 | @@ -37,4 +37,5 @@ dist/ |
6 | *.snap |
7 | |
8 | # Builds |
9 | -.build/ |
10 | \ No newline at end of file |
11 | +build/ |
12 | +*.charm |
13 | diff --git a/Makefile b/Makefile |
14 | index 0a84b5f..4cb1786 100644 |
15 | --- a/Makefile |
16 | +++ b/Makefile |
17 | @@ -2,7 +2,7 @@ PYTHON := /usr/bin/python3 |
18 | |
19 | PROJECTPATH=$(dir $(realpath $(MAKEFILE_LIST))) |
20 | ifndef CHARM_BUILD_DIR |
21 | - CHARM_BUILD_DIR=${PROJECTPATH}.build |
22 | + CHARM_BUILD_DIR=${PROJECTPATH}/build |
23 | endif |
24 | ifndef CHARM_LAYERS_DIR |
25 | CHARM_LAYERS_DIR=${PROJECTPATH}/layers |
26 | @@ -10,6 +10,9 @@ endif |
27 | ifndef CHARM_INTERFACES_DIR |
28 | CHARM_INTERFACES_DIR=${PROJECTPATH}/interfaces |
29 | endif |
30 | +ifdef CONTAINER |
31 | + BUILD_ARGS="--destructive-mode" |
32 | +endif |
33 | METADATA_FILE="src/metadata.yaml" |
34 | CHARM_NAME=$(shell cat ${PROJECTPATH}/${METADATA_FILE} | grep -E "^name:" | awk '{print $$2}') |
35 | |
36 | @@ -35,6 +38,8 @@ clean: |
37 | @git clean -ffXd -e '!.idea' |
38 | @echo "Cleaning existing build" |
39 | @rm -rf ${CHARM_BUILD_DIR}/${CHARM_NAME} |
40 | + @rm -rf ${PROJECTPATH}/${CHARM_NAME}.charm |
41 | + @charmcraft clean |
42 | |
43 | submodules: |
44 | # @git submodule update --init --recursive |
45 | @@ -44,11 +49,13 @@ submodules-update: |
46 | # @git submodule update --init --recursive --remote --merge |
47 | @echo "No submodules. Skipping." |
48 | |
49 | -build: |
50 | - @echo "Building charm to directory ${CHARM_BUILD_DIR}/${CHARM_NAME}" |
51 | +build: clean |
52 | + @echo "Building charm" |
53 | @-git rev-parse --abbrev-ref HEAD > ./src/repo-info |
54 | - @CHARM_LAYERS_DIR=${CHARM_LAYERS_DIR} CHARM_INTERFACES_DIR=${CHARM_INTERFACES_DIR} \ |
55 | - TERM=linux CHARM_BUILD_DIR=${CHARM_BUILD_DIR} charm build src/ |
56 | + @charmcraft -v pack ${BUILD_ARGS} |
57 | + @bash -c ./rename.sh |
58 | + @mkdir -p ${CHARM_BUILD_DIR}/${CHARM_NAME} |
59 | + @unzip ${PROJECTPATH}/${CHARM_NAME}.charm -d ${CHARM_BUILD_DIR}/${CHARM_NAME} |
60 | |
61 | release: clean build |
62 | @echo "Charm is built at ${CHARM_BUILD_DIR}/${CHARM_NAME}" |
63 | @@ -71,7 +78,7 @@ unittests: |
64 | |
65 | functional: build |
66 | @echo "Executing functional tests in ${CHARM_BUILD_DIR}" |
67 | - @cd src && CHARM_BUILD_DIR=${CHARM_BUILD_DIR} tox -e func |
68 | + @cd src && ZAZA_FEATURE_BUG472=1 CHARM_LOCATION=${PROJECTPATH} tox -e func |
69 | |
70 | test: lint proof unittests functional |
71 | @echo "Tests completed for charm ${CHARM_NAME}." |
72 | diff --git a/charmcraft.yaml b/charmcraft.yaml |
73 | index f0ffdaa..853f5d7 100644 |
74 | --- a/charmcraft.yaml |
75 | +++ b/charmcraft.yaml |
76 | @@ -5,9 +5,16 @@ parts: |
77 | plugin: reactive |
78 | build-snaps: [charm] |
79 | bases: |
80 | - - name: ubuntu |
81 | - channel: "20.04" |
82 | - architectures: ["amd64"] |
83 | - - name: ubuntu |
84 | - channel: "18.04" |
85 | - architectures: ["amd64"] |
86 | + - build-on: |
87 | + - name: ubuntu |
88 | + channel: "18.04" |
89 | + architectures: ["amd64"] |
90 | + run-on: |
91 | + - name: ubuntu |
92 | + channel: "20.04" |
93 | + architectures: |
94 | + - amd64 |
95 | + - name: ubuntu |
96 | + channel: "18.04" |
97 | + architectures: |
98 | + - amd64 |
99 | diff --git a/rename.sh b/rename.sh |
100 | new file mode 100755 |
101 | index 0000000..bc8697f |
102 | --- /dev/null |
103 | +++ b/rename.sh |
104 | @@ -0,0 +1,13 @@ |
105 | +#!/bin/bash |
106 | +charm=$(grep -E "^name:" src/metadata.yaml | awk '{print $2}') |
107 | +echo "renaming ${charm}_*.charm to ${charm}.charm" |
108 | +echo -n "pwd: " |
109 | +pwd |
110 | +ls -al |
111 | +echo "Removing previous charm if it exists" |
112 | +if [[ -e "${charm}.charm" ]]; |
113 | +then |
114 | + rm "${charm}.charm" |
115 | +fi |
116 | +echo "Renaming charm here." |
117 | +mv ${charm}_*.charm ${charm}.charm |
118 | diff --git a/src/LICENSE b/src/LICENSE |
119 | new file mode 100644 |
120 | index 0000000..d645695 |
121 | --- /dev/null |
122 | +++ b/src/LICENSE |
123 | @@ -0,0 +1,202 @@ |
124 | + |
125 | + Apache License |
126 | + Version 2.0, January 2004 |
127 | + http://www.apache.org/licenses/ |
128 | + |
129 | + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION |
130 | + |
131 | + 1. Definitions. |
132 | + |
133 | + "License" shall mean the terms and conditions for use, reproduction, |
134 | + and distribution as defined by Sections 1 through 9 of this document. |
135 | + |
136 | + "Licensor" shall mean the copyright owner or entity authorized by |
137 | + the copyright owner that is granting the License. |
138 | + |
139 | + "Legal Entity" shall mean the union of the acting entity and all |
140 | + other entities that control, are controlled by, or are under common |
141 | + control with that entity. For the purposes of this definition, |
142 | + "control" means (i) the power, direct or indirect, to cause the |
143 | + direction or management of such entity, whether by contract or |
144 | + otherwise, or (ii) ownership of fifty percent (50%) or more of the |
145 | + outstanding shares, or (iii) beneficial ownership of such entity. |
146 | + |
147 | + "You" (or "Your") shall mean an individual or Legal Entity |
148 | + exercising permissions granted by this License. |
149 | + |
150 | + "Source" form shall mean the preferred form for making modifications, |
151 | + including but not limited to software source code, documentation |
152 | + source, and configuration files. |
153 | + |
154 | + "Object" form shall mean any form resulting from mechanical |
155 | + transformation or translation of a Source form, including but |
156 | + not limited to compiled object code, generated documentation, |
157 | + and conversions to other media types. |
158 | + |
159 | + "Work" shall mean the work of authorship, whether in Source or |
160 | + Object form, made available under the License, as indicated by a |
161 | + copyright notice that is included in or attached to the work |
162 | + (an example is provided in the Appendix below). |
163 | + |
164 | + "Derivative Works" shall mean any work, whether in Source or Object |
165 | + form, that is based on (or derived from) the Work and for which the |
166 | + editorial revisions, annotations, elaborations, or other modifications |
167 | + represent, as a whole, an original work of authorship. For the purposes |
168 | + of this License, Derivative Works shall not include works that remain |
169 | + separable from, or merely link (or bind by name) to the interfaces of, |
170 | + the Work and Derivative Works thereof. |
171 | + |
172 | + "Contribution" shall mean any work of authorship, including |
173 | + the original version of the Work and any modifications or additions |
174 | + to that Work or Derivative Works thereof, that is intentionally |
175 | + submitted to Licensor for inclusion in the Work by the copyright owner |
176 | + or by an individual or Legal Entity authorized to submit on behalf of |
177 | + the copyright owner. For the purposes of this definition, "submitted" |
178 | + means any form of electronic, verbal, or written communication sent |
179 | + to the Licensor or its representatives, including but not limited to |
180 | + communication on electronic mailing lists, source code control systems, |
181 | + and issue tracking systems that are managed by, or on behalf of, the |
182 | + Licensor for the purpose of discussing and improving the Work, but |
183 | + excluding communication that is conspicuously marked or otherwise |
184 | + designated in writing by the copyright owner as "Not a Contribution." |
185 | + |
186 | + "Contributor" shall mean Licensor and any individual or Legal Entity |
187 | + on behalf of whom a Contribution has been received by Licensor and |
188 | + subsequently incorporated within the Work. |
189 | + |
190 | + 2. Grant of Copyright License. Subject to the terms and conditions of |
191 | + this License, each Contributor hereby grants to You a perpetual, |
192 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
193 | + copyright license to reproduce, prepare Derivative Works of, |
194 | + publicly display, publicly perform, sublicense, and distribute the |
195 | + Work and such Derivative Works in Source or Object form. |
196 | + |
197 | + 3. Grant of Patent License. Subject to the terms and conditions of |
198 | + this License, each Contributor hereby grants to You a perpetual, |
199 | + worldwide, non-exclusive, no-charge, royalty-free, irrevocable |
200 | + (except as stated in this section) patent license to make, have made, |
201 | + use, offer to sell, sell, import, and otherwise transfer the Work, |
202 | + where such license applies only to those patent claims licensable |
203 | + by such Contributor that are necessarily infringed by their |
204 | + Contribution(s) alone or by combination of their Contribution(s) |
205 | + with the Work to which such Contribution(s) was submitted. If You |
206 | + institute patent litigation against any entity (including a |
207 | + cross-claim or counterclaim in a lawsuit) alleging that the Work |
208 | + or a Contribution incorporated within the Work constitutes direct |
209 | + or contributory patent infringement, then any patent licenses |
210 | + granted to You under this License for that Work shall terminate |
211 | + as of the date such litigation is filed. |
212 | + |
213 | + 4. Redistribution. You may reproduce and distribute copies of the |
214 | + Work or Derivative Works thereof in any medium, with or without |
215 | + modifications, and in Source or Object form, provided that You |
216 | + meet the following conditions: |
217 | + |
218 | + (a) You must give any other recipients of the Work or |
219 | + Derivative Works a copy of this License; and |
220 | + |
221 | + (b) You must cause any modified files to carry prominent notices |
222 | + stating that You changed the files; and |
223 | + |
224 | + (c) You must retain, in the Source form of any Derivative Works |
225 | + that You distribute, all copyright, patent, trademark, and |
226 | + attribution notices from the Source form of the Work, |
227 | + excluding those notices that do not pertain to any part of |
228 | + the Derivative Works; and |
229 | + |
230 | + (d) If the Work includes a "NOTICE" text file as part of its |
231 | + distribution, then any Derivative Works that You distribute must |
232 | + include a readable copy of the attribution notices contained |
233 | + within such NOTICE file, excluding those notices that do not |
234 | + pertain to any part of the Derivative Works, in at least one |
235 | + of the following places: within a NOTICE text file distributed |
236 | + as part of the Derivative Works; within the Source form or |
237 | + documentation, if provided along with the Derivative Works; or, |
238 | + within a display generated by the Derivative Works, if and |
239 | + wherever such third-party notices normally appear. The contents |
240 | + of the NOTICE file are for informational purposes only and |
241 | + do not modify the License. You may add Your own attribution |
242 | + notices within Derivative Works that You distribute, alongside |
243 | + or as an addendum to the NOTICE text from the Work, provided |
244 | + that such additional attribution notices cannot be construed |
245 | + as modifying the License. |
246 | + |
247 | + You may add Your own copyright statement to Your modifications and |
248 | + may provide additional or different license terms and conditions |
249 | + for use, reproduction, or distribution of Your modifications, or |
250 | + for any such Derivative Works as a whole, provided Your use, |
251 | + reproduction, and distribution of the Work otherwise complies with |
252 | + the conditions stated in this License. |
253 | + |
254 | + 5. Submission of Contributions. Unless You explicitly state otherwise, |
255 | + any Contribution intentionally submitted for inclusion in the Work |
256 | + by You to the Licensor shall be under the terms and conditions of |
257 | + this License, without any additional terms or conditions. |
258 | + Notwithstanding the above, nothing herein shall supersede or modify |
259 | + the terms of any separate license agreement you may have executed |
260 | + with Licensor regarding such Contributions. |
261 | + |
262 | + 6. Trademarks. This License does not grant permission to use the trade |
263 | + names, trademarks, service marks, or product names of the Licensor, |
264 | + except as required for reasonable and customary use in describing the |
265 | + origin of the Work and reproducing the content of the NOTICE file. |
266 | + |
267 | + 7. Disclaimer of Warranty. Unless required by applicable law or |
268 | + agreed to in writing, Licensor provides the Work (and each |
269 | + Contributor provides its Contributions) on an "AS IS" BASIS, |
270 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or |
271 | + implied, including, without limitation, any warranties or conditions |
272 | + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A |
273 | + PARTICULAR PURPOSE. You are solely responsible for determining the |
274 | + appropriateness of using or redistributing the Work and assume any |
275 | + risks associated with Your exercise of permissions under this License. |
276 | + |
277 | + 8. Limitation of Liability. In no event and under no legal theory, |
278 | + whether in tort (including negligence), contract, or otherwise, |
279 | + unless required by applicable law (such as deliberate and grossly |
280 | + negligent acts) or agreed to in writing, shall any Contributor be |
281 | + liable to You for damages, including any direct, indirect, special, |
282 | + incidental, or consequential damages of any character arising as a |
283 | + result of this License or out of the use or inability to use the |
284 | + Work (including but not limited to damages for loss of goodwill, |
285 | + work stoppage, computer failure or malfunction, or any and all |
286 | + other commercial damages or losses), even if such Contributor |
287 | + has been advised of the possibility of such damages. |
288 | + |
289 | + 9. Accepting Warranty or Additional Liability. While redistributing |
290 | + the Work or Derivative Works thereof, You may choose to offer, |
291 | + and charge a fee for, acceptance of support, warranty, indemnity, |
292 | + or other liability obligations and/or rights consistent with this |
293 | + License. However, in accepting such obligations, You may act only |
294 | + on Your own behalf and on Your sole responsibility, not on behalf |
295 | + of any other Contributor, and only if You agree to indemnify, |
296 | + defend, and hold each Contributor harmless for any liability |
297 | + incurred by, or claims asserted against, such Contributor by reason |
298 | + of your accepting any such warranty or additional liability. |
299 | + |
300 | + END OF TERMS AND CONDITIONS |
301 | + |
302 | + APPENDIX: How to apply the Apache License to your work. |
303 | + |
304 | + To apply the Apache License to your work, attach the following |
305 | + boilerplate notice, with the fields enclosed by brackets "[]" |
306 | + replaced with your own identifying information. (Don't include |
307 | + the brackets!) The text should be enclosed in the appropriate |
308 | + comment syntax for the file format. We also recommend that a |
309 | + file or class name and description of purpose be included on the |
310 | + same "printed page" as the copyright notice for easier |
311 | + identification within third-party archives. |
312 | + |
313 | + Copyright [yyyy] [name of copyright owner] |
314 | + |
315 | + Licensed under the Apache License, Version 2.0 (the "License"); |
316 | + you may not use this file except in compliance with the License. |
317 | + You may obtain a copy of the License at |
318 | + |
319 | + http://www.apache.org/licenses/LICENSE-2.0 |
320 | + |
321 | + Unless required by applicable law or agreed to in writing, software |
322 | + distributed under the License is distributed on an "AS IS" BASIS, |
323 | + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
324 | + See the License for the specific language governing permissions and |
325 | + limitations under the License. |
326 | diff --git a/src/metadata.yaml b/src/metadata.yaml |
327 | index 6431b11..7defc7f 100644 |
328 | --- a/src/metadata.yaml |
329 | +++ b/src/metadata.yaml |
330 | @@ -1,6 +1,6 @@ |
331 | name: prometheus2 |
332 | summary: Monitoring system and timeseries database. v2.0 and later only |
333 | -maintainer: Llama (LMA) Charmers <llama-charmers@lists.ubuntu.com> |
334 | +maintainer: Llama (LMA) Charmers <llama-charmers@lists.ubuntu.com> |
335 | description: | |
336 | Prometheus is a systems and service monitoring system. It collects |
337 | metrics from configured targets at given intervals, evaluates rule |
338 | @@ -9,7 +9,6 @@ description: | |
339 | Due to significant database changes in version 2.0 this charm |
340 | supports prometheus 2.0 and later only. |
341 | series: |
342 | - - xenial |
343 | - bionic |
344 | - focal |
345 | tags: |
346 | diff --git a/src/reactive/prometheus.py b/src/reactive/prometheus.py |
347 | index 3292a4f..4903801 100644 |
348 | --- a/src/reactive/prometheus.py |
349 | +++ b/src/reactive/prometheus.py |
350 | @@ -719,13 +719,13 @@ def update_prometheus_scrape_targets(target): |
351 | |
352 | |
353 | @when("endpoint.manual-jobs.has_jobs") |
354 | -def update_prometheus_manual_jobs(manual_jobs): |
355 | +def update_prometheus_manual_jobs(manual_jobs): # noqa: C901 |
356 | """Configure jobs shipped over relation.""" |
357 | job_yamls = [] |
358 | certs_dir = Path(PATHS["certs_dir"]) |
359 | certs_dir.mkdir(parents=True, exist_ok=True) |
360 | for job in manual_jobs.jobs: |
361 | - if job.keys() >= {"client_cert", "client_key"}: |
362 | + if job.client_cert and job.client_key: |
363 | # The related unit provided the client certificate/key via the |
364 | # manual-jobs relation itself. An optional CA may have been provided. |
365 | |
366 | diff --git a/src/tests/functional/requirements.txt b/src/tests/functional/requirements.txt |
367 | index a386607..e928204 100644 |
368 | --- a/src/tests/functional/requirements.txt |
369 | +++ b/src/tests/functional/requirements.txt |
370 | @@ -1,3 +1,4 @@ |
371 | git+https://github.com/openstack-charmers/zaza.git#egg=zaza |
372 | git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack |
373 | pyyaml |
374 | +python-openstackclient |
375 | diff --git a/src/tests/functional/tests/bundles/bionic-vault.yaml b/src/tests/functional/tests/bundles/bionic-vault.yaml |
376 | index f1b73fb..411bce3 100644 |
377 | --- a/src/tests/functional/tests/bundles/bionic-vault.yaml |
378 | +++ b/src/tests/functional/tests/bundles/bionic-vault.yaml |
379 | @@ -7,32 +7,25 @@ applications: |
380 | scrape-interval: 30s |
381 | scrape-timeout: 20s |
382 | ubuntu: |
383 | - charm: cs:ubuntu |
384 | + charm: ch:ubuntu |
385 | num_units: 1 |
386 | telegraf: |
387 | charm: cs:telegraf |
388 | options: |
389 | prometheus_output_port: default |
390 | etcd: |
391 | - # charm: cs:~containers/etcd |
392 | - charm: cs:etcd-625 |
393 | + charm: etcd |
394 | num_units: 3 |
395 | - options: |
396 | - channel: 3.4/stable |
397 | - resources: |
398 | - core: 0 |
399 | - etcd: 3 |
400 | - snapshot: 0 |
401 | vault: |
402 | - charm: cs:vault |
403 | + charm: ch:vault |
404 | num_units: 1 |
405 | options: |
406 | auto-generate-root-ca-cert: true |
407 | mysql: |
408 | - charm: cs:~openstack-charmers-next/percona-cluster |
409 | + charm: percona-cluster |
410 | num_units: 1 |
411 | keystone: |
412 | - charm: cs:~openstack-charmers-next/keystone |
413 | + charm: ch:keystone |
414 | num_units: 1 |
415 | options: |
416 | admin-password: openstack |
417 | diff --git a/src/tests/functional/tests/bundles/overlays/local-charm-overlay.yaml.j2 b/src/tests/functional/tests/bundles/overlays/local-charm-overlay.yaml.j2 |
418 | index e78574f..45065bc 100644 |
419 | --- a/src/tests/functional/tests/bundles/overlays/local-charm-overlay.yaml.j2 |
420 | +++ b/src/tests/functional/tests/bundles/overlays/local-charm-overlay.yaml.j2 |
421 | @@ -1,3 +1,3 @@ |
422 | applications: |
423 | {{ charm_name }}: |
424 | - charm: "{{ CHARM_BUILD_DIR }}/{{ charm_name }}" |
425 | + charm: "{{ CHARM_LOCATION }}/{{ charm_name }}.charm" |
426 | diff --git a/src/tests/functional/tests/bundles/xenial.yaml b/src/tests/functional/tests/bundles/xenial.yaml |
427 | deleted file mode 100644 |
428 | index 3f3b401..0000000 |
429 | --- a/src/tests/functional/tests/bundles/xenial.yaml |
430 | +++ /dev/null |
431 | @@ -1,21 +0,0 @@ |
432 | -series: xenial |
433 | -description: "prometheus2-charm test bundle" |
434 | -applications: |
435 | - prometheus2: |
436 | - num_units: 1 |
437 | - options: |
438 | - scrape-interval: 30s |
439 | - scrape-timeout: 20s |
440 | - ubuntu: |
441 | - charm: cs:ubuntu |
442 | - num_units: 1 |
443 | - telegraf: |
444 | - charm: cs:telegraf |
445 | - options: |
446 | - prometheus_output_port: default |
447 | -relations: |
448 | -- - prometheus2:target |
449 | - - telegraf:prometheus-client |
450 | -- - telegraf |
451 | - - ubuntu |
452 | - |
453 | diff --git a/src/tests/functional/tests/tests.yaml b/src/tests/functional/tests/tests.yaml |
454 | index 9d5d092..7d40c7e 100644 |
455 | --- a/src/tests/functional/tests/tests.yaml |
456 | +++ b/src/tests/functional/tests/tests.yaml |
457 | @@ -7,12 +7,9 @@ tests: |
458 | - tests.tests_prometheus.TlsPrometheusCharmTest |
459 | - model_alias_bionic: |
460 | - tests.tests_prometheus.BasicPrometheusCharmTest |
461 | - - model_alias_xenial: |
462 | - - tests.tests_prometheus.BasicPrometheusCharmTest |
463 | gate_bundles: |
464 | - model_alias_bionic_vault: bionic-vault |
465 | - model_alias_bionic: bionic |
466 | - - model_alias_xenial: xenial |
467 | smoke_bundles: |
468 | - model_alias_bionic: bionic |
469 | target_deploy_status: |
470 | diff --git a/src/tests/functional/tests/tests_prometheus.py b/src/tests/functional/tests/tests_prometheus.py |
471 | index 96809b9..441da34 100644 |
472 | --- a/src/tests/functional/tests/tests_prometheus.py |
473 | +++ b/src/tests/functional/tests/tests_prometheus.py |
474 | @@ -138,7 +138,8 @@ class TlsPrometheusCharmTest(PrometheusCharmTestBase): |
475 | "prometheus2", "dig +short {}".format(labels["dns_name"]) |
476 | ) |
477 | label_addr = result["Stdout"].strip() |
478 | - telegraf_addr = model.get_lead_unit_ip("telegraf") |
479 | + telegraf_unit = model.get_unit_from_name("telegraf/0") |
480 | + telegraf_addr = model.get_unit_public_address(telegraf_unit) |
481 | self.assertEqual(label_addr, telegraf_addr) |
482 | |
483 | # Etcd target over TLS |
484 | diff --git a/src/tox.ini b/src/tox.ini |
485 | index 896410c..5ae440a 100644 |
486 | --- a/src/tox.ini |
487 | +++ b/src/tox.ini |
488 | @@ -10,7 +10,10 @@ setenv = |
489 | passenv = |
490 | HOME |
491 | PATH |
492 | - CHARM_BUILD_DIR |
493 | + PROJECTPATH |
494 | + OS_* |
495 | + CHARM_* |
496 | + ZAZA_* |
497 | PYTEST_KEEP_MODEL |
498 | PYTEST_CLOUD_NAME |
499 | PYTEST_CLOUD_REGION |
This merge proposal is being monitored by mergebot. Change the status to Approved to merge.