Commit graph

204 commits

Author SHA1 Message Date
Jonas L
c56cbab1a0
refactor: use f-strings (#310)
##### SUMMARY

Replace string interpolation with f-strings. Improves readability, and
should help prevent #309
2023-08-24 11:27:40 +02:00
Jonas L
deee06281e
chore: prepare v2.1.1 (#311)
##### SUMMARY

Prepare v2.1.1 release.

This should also trigger a new publish process, since 2.1.0 never had
the change to be published to ansible-galaxy.
2023-08-23 15:44:10 +02:00
urbanekpj
8f42c4d950
fix: string formatting error on deprecated server type warning (#309)
##### SUMMARY
after deprecating "server type" warning should be shown but due to error
in string message there is crash.
```
 File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 942, in <module>
  File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 925, in main
  File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 858, in present_server
  File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 405, in _create_server
  File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 541, in _get_server_type
  File "/tmp/ansible_hcloud_server_payload__bgoim7j/ansible_hcloud_server_payload.zip/ansible_collections/hetzner/hcloud/plugins/modules/hcloud_server.py", line 558, in _check_and_warn_deprecated_server
TypeError: %i format: a real number is required, not str
```

##### ISSUE TYPE
- Bugfix Pull Request

##### COMPONENT NAME
hcloud_server

---------

Co-authored-by: jo <ljonas@riseup.net>
2023-08-23 14:08:06 +02:00
Jonas L
b7869608f2
chore: update README badges (#308)
##### SUMMARY

Add Github version badge and Ansible Galaxy version. Fix the azure build
status to target the main branch.

We can check that the Github and Ansible Galaxy version match by looking
at the badges.
2023-08-22 14:47:51 +02:00
renovate[bot]
aeedae6603
deps: update pre-commit hook ansible/ansible-lint to v6.18.0 (#307)
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [ansible/ansible-lint](https://togithub.com/ansible/ansible-lint) |
repository | minor | `v6.17.2` -> `v6.18.0` |

Note: The `pre-commit` manager in Renovate is not supported by the
`pre-commit` maintainers or community. Please do not report any problems
there, instead [create a Discussion in the Renovate
repository](https://togithub.com/renovatebot/renovate/discussions/new)
if you have any questions.

---

### Release Notes

<details>
<summary>ansible/ansible-lint (ansible/ansible-lint)</summary>

###
[`v6.18.0`](https://togithub.com/ansible/ansible-lint/releases/tag/v6.18.0)

[Compare
Source](https://togithub.com/ansible/ansible-lint/compare/v6.17.2...v6.18.0)

#### Minor Changes

- Limit the maximum block depth
([#&#8203;3602](https://togithub.com/ansible/ansible-lint/issues/3602))
[@&#8203;Ruchip16](https://togithub.com/Ruchip16)
- Transform functionality for command_instead_of_shell
([#&#8203;3675](https://togithub.com/ansible/ansible-lint/issues/3675))
[@&#8203;ajinkyau](https://togithub.com/ajinkyau)
- Add rule to check the number of tasks
([#&#8203;3156](https://togithub.com/ansible/ansible-lint/issues/3156))
[@&#8203;Ruchip16](https://togithub.com/Ruchip16)

#### Bugfixes

- Clarify loop-var-prefix rule and code snippet
([#&#8203;3642](https://togithub.com/ansible/ansible-lint/issues/3642))
[@&#8203;schwarmco](https://togithub.com/schwarmco)
- Update `version_added` for complexity rule
([#&#8203;3623](https://togithub.com/ansible/ansible-lint/issues/3623))
[@&#8203;ajinkyau](https://togithub.com/ajinkyau)
- Ensure that single space between tasks is preserved when using --write
([#&#8203;3641](https://togithub.com/ansible/ansible-lint/issues/3641))
[@&#8203;shatakshiiii](https://togithub.com/shatakshiiii)
- Update ansible-compat used for testing
([#&#8203;3664](https://togithub.com/ansible/ansible-lint/issues/3664))
[@&#8203;ssbarnea](https://togithub.com/ssbarnea)
- Document `yaml[line-length]` rule
([#&#8203;3653](https://togithub.com/ansible/ansible-lint/issues/3653))
[@&#8203;shatakshiiii](https://togithub.com/shatakshiiii)
- Prevent use of spdx-tools 0.8.0 due to breaking changes
([#&#8203;3649](https://togithub.com/ansible/ansible-lint/issues/3649))
[@&#8203;ssbarnea](https://togithub.com/ssbarnea)
- fixes dead marketplace link
([#&#8203;3631](https://togithub.com/ansible/ansible-lint/issues/3631))
[@&#8203;wookietreiber](https://togithub.com/wookietreiber)
- Improve profile information on summary line
([#&#8203;3637](https://togithub.com/ansible/ansible-lint/issues/3637))
[@&#8203;ziegenberg](https://togithub.com/ziegenberg)
- command-instead-of-module: allow `git rev-parse`
([#&#8203;3610](https://togithub.com/ansible/ansible-lint/issues/3610))
[@&#8203;JohnVillalovos](https://togithub.com/JohnVillalovos)
- Include filepaths starting from $HOME in lintables
([#&#8203;3621](https://togithub.com/ansible/ansible-lint/issues/3621))
[@&#8203;shatakshiiii](https://togithub.com/shatakshiiii)
- Update \_mockings.py to fix bug created in
[#&#8203;3390](https://togithub.com/ansible/ansible-lint/issues/3390)
([#&#8203;3614](https://togithub.com/ansible/ansible-lint/issues/3614))
[@&#8203;karcaw](https://togithub.com/karcaw)
- Allow to set gather_facts as templated boolean
([#&#8203;3606](https://togithub.com/ansible/ansible-lint/issues/3606))
[@&#8203;noonedeadpunk](https://togithub.com/noonedeadpunk)
- Add dependency version check for collection metadata
([#&#8203;3601](https://togithub.com/ansible/ansible-lint/issues/3601))
[@&#8203;ajinkyau](https://togithub.com/ajinkyau)
- Fix installation of dependencies when run as an action
([#&#8203;3592](https://togithub.com/ansible/ansible-lint/issues/3592))
[@&#8203;ssbarnea](https://togithub.com/ssbarnea)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/ansible-collections/hetzner.hcloud).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNi40My4yIiwidXBkYXRlZEluVmVyIjoiMzYuNDMuMiIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-22 08:45:40 +02:00
Jonas L
372023796a
chore: prepare v2.1.0 (#304)
##### SUMMARY

 Prepare v2.1.0 release.
2023-08-21 09:35:36 +02:00
Jonas L
5475a9929a
feat: target health status in hcloud_load_balancer_info (#305) 2023-08-17 15:25:14 +02:00
renovate[bot]
7d2300f1ec
deps: update dependency hcloud to v1.28.0 (#306)
* deps: update dependency hcloud to v1.28.0

* chore: update vendored files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-08-17 15:02:50 +02:00
Jonas L
4bb2bb80fa
feat: query floating ip info by name (#303)
##### SUMMARY

Fixes #302 

The feature was missing, this make the floating_ip_info module consistent with what is expected to be implemented. 

##### ISSUE TYPE

- Feature Pull Request


##### COMPONENT NAME

floating_ip_info
2023-08-17 11:50:19 +02:00
Jonas L
8b24cf2522
test: improve *_info modules tests (#299)
##### SUMMARY

- Implement the new testing framework (prepare.yml/cleanup.yml #239)
- Fix some uncovered test scenarios (related to #298).
- Structure all the *_info tests using the following structure:
  ```
  gather all
  [gather all with custom options...]
  gather all in check mode
  gather with id
  gather with name
  gather with labels
  [gather with custom option...]
  ```
2023-08-17 09:44:33 +02:00
Jonas L
e461a890fa
fix: consistently fail on invalid ID in *_info modules (#301)
* fix: consistently fail on invalid ID in `*_info` modules

* remove unused import
2023-08-16 16:14:55 +02:00
renovate[bot]
0506fd76d1
deps: update pre-commit hook pre-commit/mirrors-prettier to v3.0.2 (#300)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-16 12:14:22 +02:00
Jonas L
32b44647ef
feat: allow caching the hcloud inventory (#287)
* feat: allow caching the hcloud inventory

* chore: add changelog fragment
2023-08-16 11:59:17 +02:00
Jonas L
2d739edc88
feat: use collection version for the inventory user agent (#297) 2023-08-14 15:55:04 +02:00
renovate[bot]
e89835531f
deps: update dependency hcloud to v1.27.2 (#294)
* deps: update dependency hcloud to v1.27.2

* chore: update vendored files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-08-11 16:09:41 +02:00
renovate[bot]
8b5891dab6
deps: update pre-commit hook ansible-community/antsibull-changelog to v0.23.0 (#295)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-11 15:38:50 +02:00
Jonas L
5c4079e059
fix: do not error on location_info invalid id (#292)
* test: fix hcloud_location_info with wrong id test

* chore: cleanup hcloud_location_info tests

* fix: error on location_info invalid id
2023-08-09 12:42:22 +02:00
Jonas L
dd5ee78386
feat: replace ansible version with collection version in hcloud user agent (#291)
* feat: use collection version in hcloud user-agent

* chore: add version sync pre-commit hook

* chore: add changelog fragment
2023-08-09 11:34:12 +02:00
Jonas L
59fe4339d4
chore: add ansible-lint pre-commit hook (#293)
* chore: add ansible-lint pre-commit hook

* chore: galaxy.yml license field should be a list

* chore: fix ansible-lint errors
2023-08-09 11:32:23 +02:00
renovate[bot]
ff539800aa
deps: update dependency hcloud to v1.27.1 (#290)
* deps: update dependency hcloud to v1.27.1

* chore: update vendored files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-08-08 18:17:22 +02:00
Jonas L
a035b7d4c2
ci: fix gitlab stages (#288) 2023-08-07 15:56:08 +02:00
Jonas L
a0e91d942a
refactor: rename ansible module classes (#284)
* refactor: rename Hcloud class to AnsibleHCloud

* refactor: rename AnsibleHCloud* modules

* refactor: remove Hcloud deprecation wrapper
2023-08-04 09:24:14 +02:00
Jonas L
13868c364b
test: improve tests using new setup_ssh_keypair helper (#285)
* test: use new setup_ssh_keypair helper

Remove the previous setup_sshkey helper

* ci: fix tmp dir location to please chattr
2023-08-04 09:05:59 +02:00
Jonas L
020b3139b3
test: improve tests using setup_selfsigned_certificate (#286) 2023-08-04 09:01:50 +02:00
renovate[bot]
49156574b7
deps: update pre-commit hook pre-commit/mirrors-prettier to v3.0.1 (#283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-08-03 13:32:58 +02:00
Jonas L
78af149e90
chore: fix pre-commit config (#282)
The previous PR #277 merge somehow destroyed the config while rebasing and squashing.
2023-08-02 13:31:41 +02:00
Jonas L
98afa99904
refactor: use super() to reference parent class (#280) 2023-08-02 12:05:00 +02:00
Jonas L
1b83de57ef
chore: add shell pre-commit hooks (#277)
* chore: add shell pre-commit hooks

* chore: fix shell script linting errors
2023-08-02 12:04:20 +02:00
Jonas L
ca0f4cc61d
chore: use upstream antsibull-changelog pre-commit hooks (#278) 2023-07-31 10:13:07 +02:00
Jonas L
64b6804b41
refactor: use relative imports for local modules (#279) 2023-07-31 10:12:55 +02:00
renovate[bot]
d867192b12
deps: update pre-commit hook asottile/pyupgrade to v3.10.1 (#281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-31 09:40:51 +02:00
Jonas L
c5e0d429c5
test: implement integration testing framework (#239)
Fixes #203

The namespace used to differentiate the resources between CI pipelines, CI stages or even between test targets was broken and resulted in conflicting resource names. This PR ensure the resources names don't collide with each other by making sure we use the entire hcloud_prefix value as md5sum, and by including the target role names inside the resource names.

Create a setup/teardown framework to handle testing resources used by the tests.

To simplify the review process, additional changes such as splitting the setup/teardown task in the prepare.yml and cleanup.yml files will be done in future PRs (many files were renamed, and git will not preserve the file history after the PR squash).

* chore: move integrations targets files

* test: create integration common files

* test: fix resources name namespace using the magic hcloud_ns

* test: simplify requirements install

* test: rename hcloud_server test taskfiles
2023-07-26 16:09:48 +02:00
Jonas L
7d8c3f34b5
chore: prepare v2.0.0 (#276) 2023-07-24 17:10:12 +02:00
Jonas L
652a41df9d
fix!: don't set inventory image vars if server image is undefined (#275)
Related to #116

Don't set "No Image * found" string if the server image is not defined. This is not an intuitive behavior.

This is a breaking change.
2023-07-24 14:44:52 +02:00
Jonas L
c15377c672
feat: improve hcloud library exceptions handling (#243) 2023-07-20 14:34:48 +02:00
Jonas L
8243d25710
test: reorganize groups to balance test duration (#274)
Before:
```
     10 shippable/hcloud/group1
     19 shippable/hcloud/group2
      2 shippable/hcloud/group3
```

After:
```
      9 shippable/hcloud/group1
     14 shippable/hcloud/group2
      8 shippable/hcloud/group3
```
2023-07-20 13:58:09 +02:00
Jonas L
51f705c343
chore: use fqcn module names (#273) 2023-07-20 12:14:57 +02:00
renovate[bot]
f197607dad
deps: update dependency hcloud to v1.26.0 (#268)
* deps: update dependency hcloud to v1.26.0

* feat: upgrade vendored files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-07-19 15:31:18 +02:00
Jonas L
73b955c091
feat: drop support for python3.7 (#270) 2023-07-19 14:28:21 +02:00
Jonas L
2946f778e2
test: ignore sanity tests for test scripts (#271) 2023-07-19 14:07:41 +02:00
Jonas L
c0557167af
chore: copy v1.16.0 changelog entries (#267) 2023-07-18 09:09:12 +02:00
Jonas L
82ed251ce4
chore: add renovate regex manager for hcloud upgrades (#256) 2023-07-12 12:22:52 +02:00
renovate[bot]
0fbab463d5
deps: update pre-commit hook pre-commit/mirrors-prettier to v3 (#264)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-12 11:50:42 +02:00
renovate[bot]
0e56cca1dc
deps: update pre-commit hook psf/black to v23.7.0 (#261)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-12 09:56:48 +02:00
renovate[bot]
96d656394d
deps: update pre-commit hook asottile/pyupgrade to v3.9.0 (#260)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-07-12 09:56:35 +02:00
renovate[bot]
dc9049e43f
chore: configure Renovate (#259)
* Add renovate.json

* chore: configure Renovate

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: jo <ljonas@riseup.net>
2023-07-12 09:26:04 +02:00
Jonas L
2cc8e56d05
chore: setup the stable-1 release branch (#254)
* ci: run pipelines on stable-1 branch

* docs: add note about the release policy
2023-07-11 13:23:22 +02:00
Jonas L
7b3f253d07
ci: use shared gitlab CI template (#257)
* ci: use shared gitlab CI template

* ci: bump python version
2023-07-11 12:47:48 +02:00
Jonas L
8a6157e8b2
feat: vendor hcloud python dependency (#244)
* chore: ignore venv directories

* chore: ignore integration test generated inventory

* feat: vendor hcloud package

* import https://github.com/hetznercloud/hcloud-python

* use vendored hcloud in modules

* update integration test requirements

* make vendor script self contained

* chore: add  check-hcloud-vendor pre-commit hook

* pin hcloud version to v.1.24.0

* move vendored __version__.py file to _version.py

* update comment about galaxy-importer filename lint
2023-07-11 11:15:08 +02:00
Jonas L
5190535323
feat: remove deprecated facts modules (#251)
Fixes #8
2023-07-05 09:32:03 +02:00