Commit graph

196 commits

Author SHA1 Message Date
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
Jonas L
3da91df8c3
feat: drop support for ansible-core 2.12 (#240)
* feat: drop support for ansible-core 2.12

ansible-core 2.12 is EOL since the 22 May 2023.

https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html#support-life

* dropping ansible-core versions is a breaking change

* rename changelog fragment
2023-07-05 09:11:47 +02:00
Jonas L
3055f4ab08
chore: prepare v1.15.0 (#248)
* chore: prepare v1.15.0

* bump galaxy version
2023-07-04 15:41:21 +02:00
Jonas L
169cf77ca5
ci: upgrade ansible/azure-pipelines-test-container to v4.0.1 (#252) 2023-07-04 15:25:35 +02:00
Jonas L
ef802e7351
docs(hcloud_server_network): fix modules params (#250)
Cherry picked from the https://github.com/ansible-collections/hetzner.hcloud/pull/9
2023-07-04 13:48:04 +02:00
Jonas L
7bdd13ee79
docs: add more details to release process (#249)
* docs: add more details to release process

* use a single commit command
2023-07-04 11:52:16 +02:00
Jonas L
98022020a1
feat: add hcloud_iso_info module (#237)
* Added new command hcloud_isos_info.py to get informations from all ISOs on HETZNER cloud.

* continue iso_info implementation

* add changelog

* fixes and improvements

* remove return docs choices for ansible 2.12 support

* rebase changes

* fix wording

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>

* run tests in group3

Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>

* docs: returned architecture field might be null

* unused/invalid community.general.ipfilter collection in tests

* update wording relevant -> supported

* apply rebase changes

---------

Co-authored-by: patlegu <3754859+patlegu@users.noreply.github.com>
Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
2023-07-04 09:54:53 +02:00
Jonas L
939e039b9f
test: remove invalid tests collections requirements (#246) 2023-07-04 09:33:09 +02:00
Jonas L
09c521cb3c
chore: add antsibull-changelog lint pre-commit hook (#247)
* chore: add antsibull-changelog lint pre-commit hook

* ci: remove antsibull-changelog-lint workflow
2023-07-04 09:30:37 +02:00