Commit graph

419 commits

Author SHA1 Message Date
Julian Tölle
60d9cf74a6
fix(server): server still locked after placement_group attach (#192)
In some cases the server was still marked as locked after attaching it to
a placement_group. This caused potential follow up tasks that use the server
to fail.

This happened because the action returned by `add_to_placement_group()` was
not waited upon.

For the detach case this is handled correctly.
2023-02-08 10:07:46 +01:00
Julian Tölle
5c976b383a
chore: remove Ansible 2.11 support (#191)
Ansible v2.11 is end-of-life and we do not need to support it anymore.
2023-02-08 10:07:27 +01:00
Julian Tölle
8ac3c0029c
chore: prepare v1.10.0 (#190)
* docs: add changelog entry for #183

* chore: prepare v1.10.0
2023-02-02 09:20:15 +01:00
Julian Tölle
1863fe512c
feat(inventory): add variable for ipv6 address (#188)
This variable matches the `ansible_host` variable that we set when
`connect_with: public_ipv6`, and allows the user to dynamically choose the
connection method in `compose`.
2023-02-01 12:56:21 +01:00
Julian Tölle
bfe0f7a575
feat(inventory): handle servers that dont work with connect_with setting (#187)
Currently if any of the servers in the inventory do not work with the
selected `connect_with` mode, the script exits and returns 0 servers.
This can happen for example if one of your servers does not have a public
ipv4 address, but you set `connect_with: public_ipv4` (default).

This commit changes the behaviour to log a warning message, and just skip
setting `ansible_host` for this server. This server will not be reachable
by ansible by default, but users can use `compose` to override the
`ansible_host` that we set based on the other variables.
2023-02-01 10:41:36 +01:00
Julian Tölle
83094a121d
feat(inventory): add all private networks as variables (#186)
This can be used in the `compose`, `groups` and `keyed_groups` settings
to dynamically build the inventory.

It also makes it possible for the user to override the `ansible_host`
in `compose`, based on wether or not the server has a public ipv4 address,
with fallback to the address in a specific private network.
2023-01-31 17:09:54 +01:00
Sander van Rossem
9bc9949869
Increase rebuild wait_until_finished() timeout (#189) 2023-01-31 16:48:02 +01:00
n00b42
129d3e8ddc
feat: add private_networks_info containing name and private ip in server responses (#183)
Co-authored-by: Maximilian Senftleben <maximilian.senftleben@frogblue-tec.com>
2023-01-31 12:29:27 +01:00
n00b42
ccfa51bf66
feat: Pass extra vars to templating of api_token. (#156)
Co-authored-by: Maximilian Senftleben <maximilian.senftleben@frogblue-tec.com>
2023-01-30 12:08:09 +01:00
Julian Tölle
b5f205485a
feat(inventory): connect via public ipv6 address (#176)
Add a new `connect_with` option `public_ipv6` that uses the first
address from the servers publically-routed ipv6 network.
2022-12-21 11:10:58 +01:00
Julian Tölle
d15ad18803
chore: prepare v1.9.1 (#177) 2022-12-21 10:21:42 +01:00
Julian Tölle
2589783e19
fix(server): attached networks are removed when not defined in hcloud_server (#175)
Fixes #174
2022-12-20 14:49:48 +01:00
Lukas Kämmerling
a3ab379c5b
Prepare Release 1.9.0 (#167)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-11 10:00:21 +01:00
Konstantin Köhring
ad8958a2ad
Add possibility to specify private network when creating or updating servers (#160)
* Add possibility to specify private network when creating or updating a server

This allows creating servers without public internet access

* Add integration tests
2022-11-09 22:31:03 +01:00
Lukas Kämmerling
6de022e9fb
hcloud_firewall: Fix race condition on deletion of firewalls (#166)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-08 14:05:13 +01:00
Lukas Kämmerling
123ad2c1b0
hcloud_volume & hcloud_volume_info: "None" -> null (#165)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-08 10:14:24 +01:00
Lukas Kämmerling
d1c97c7e89
Inventory Plugin: Add support for changing the name of the top level group all servers are added to (#164)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-08 09:01:14 +01:00
Lukas Kämmerling
2623b75b10
Docs: Document possibility to set the module api_token via environment variable (#163)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-08 08:41:17 +01:00
Lukas Kämmerling
78f0a0a519
hcloud_server & hcloud_server_info fix backup window given out as "None" (#162)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-07 14:49:19 +01:00
Konstantin Köhring
5cc7c58ecf
fix hcloud_network_info failing without internet connectivity (#159)
This fixes the behavior if there is a server without direct internet
connectivity in the examined network.
Previously, the module would throw an AttributeError because
server.public_net.ipv4/ipv6 is None in this case. Now the None propagates
correctly.
2022-11-07 13:59:21 +01:00
Lukas Kämmerling
a87c82d808
hcloud_firewall: Add support for esp and gre (#161)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-11-07 13:58:43 +01:00
Lukas Kämmerling
16b42d2fb6
Add ansible 2.15 tests (#154)
Closes https://github.com/ansible-collections/hetzner.hcloud/issues/153

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-09-27 05:57:31 +02:00
Lukas Kämmerling
6869cf51c0
Antisibul (#151)
* Add antsibull changelog tests

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

* Add antsibull changelog tests

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-09-14 10:15:22 +02:00
Lukas Kämmerling
cc675d4321 Prepare Release 1.8.2
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-09-14 09:26:07 +02:00
Lukas Kämmerling
fc10dc5b31 Randomize dns test domain
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-07-13 12:45:41 +02:00
Lukas Kämmerling
6a7088cf42
- hcloud_server_info - fix crash when having servers without IPs (flexible networks) (#143)
- hcloud_server - When state stopped and server is created, do not start the server

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-07-13 08:54:55 +02:00
Lukas Kämmerling
ce3628a687 Prepare Release 1.8.1
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-29 11:23:27 +02:00
Lukas Kämmerling
0965f79093
Add support for Primary IPs (#141)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-29 09:58:01 +02:00
Lukas Kämmerling
dd3bc0bf0a
Test on py3.9 (#139)
* Run tests on Python 3.9

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

* Use new test container

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>

* Remove tests for Ansible 2.10 and earlier

Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-23 10:10:57 +02:00
René Moser
c1ffc52556
tests: hcloud_datacenter_info: fix count should be 4 (#137) 2022-06-20 06:27:36 +02:00
René Moser
1d568f3ac7
loadbalancer_: improve error handlings (#138)
* loadbalancer_: improve error handlings

* streamline a bit to make ansible 2.9 pass

* handle race condition
2022-06-20 06:26:26 +02:00
René Moser
a0a5da3f46
hcloud_load_balancer_target: fix types in examples (#136) 2022-06-17 22:15:35 +02:00
Lukas Kämmerling
7d5cd81852 Prepare Release 1.7.1
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-13 09:08:44 +02:00
Lukas Kämmerling
3ad7b6e444 Add changelog fragment for last commit
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-13 08:59:32 +02:00
nuux
fae1449c59
fixes alias_ips by using sorted (#134) 2022-06-13 08:58:32 +02:00
Lukas Kämmerling
9ba784a1fe Add changelog fragment for last commit
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2022-06-13 08:58:13 +02:00
Tagir Bakirov
38d3aa6c51
add server status as an option to filter the server inventory list (#126)
* add status as an option to filter the server list

* Update plugins/inventory/hcloud.py

fix the sanity check

Co-authored-by: Lukas Kämmerling <github@lukas-kaemmerling.de>

Co-authored-by: Tagir Bakirov <tagir.bakirov@reservix.de>
Co-authored-by: Lukas Kämmerling <github@lukas-kaemmerling.de>
2022-06-13 08:57:16 +02:00
Lukas Kämmerling
bc3b96c4d1 Prepare Release 1.7.0 2022-06-09 14:51:49 +02:00
Lukas Kämmerling
c15b008152
Add Ansible 2.13 to test pipeline (#129)
* Add Ansible 2.13 to test pipeline

Closes https://github.com/ansible-collections/hetzner.hcloud/issues/128

* Fix syntax
2022-04-26 11:34:22 +02:00
Florian Sesser
53fa2c1e96
Docs: fix typo (#127)
Co-authored-by: Florian Sesser <hi@flosse.works>
2022-04-25 06:28:21 +02:00
Andrew Klychkov
181949d165
Sanity tests: copy ignore-2.13.txt to ignore-2.14.txt (#125)
* Sanity tests: copy ignore-2.13.txt to ignore-2.14.txt

* Fix sanity
2022-04-22 09:35:17 +02:00
Andrew Klychkov
28eb3404f3
AZP: Add stable-2.12 to test matrix (#113)
* AZP: Add stable-2.12 to test matrix

* Fix sanity
2021-10-13 11:18:01 +02:00
Lukas Kämmerling
51865c29ab
inventory - support jinjia templating within network (#107)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2021-08-25 10:57:03 +02:00
Adrian Huber
f1526285d8 Prepare release 1.6.0 2021-08-17 14:54:07 +02:00
Adrian Huber
b85f221340
Add support for LB DNS PTRs (#103)
* Add support for Load Balancer DNS PTRs 

* Add changelogs
2021-08-17 14:48:12 +02:00
Lukas Kämmerling
4a96b6ce1a Prepare release 1.5.0
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2021-08-16 12:37:57 +02:00
Adrian Huber
7d3828837c
Placement groups (#102)
* Add placement_groups

* Create server with placement_group

* Add/remove server to/from placement_group

* Remove deprecated tmage test

* Add changelogs

* Add placement groups to hcloud_server_info

* Deprecate force_upgrade flag
2021-08-16 12:31:02 +02:00
Adrian Huber
8cd7b9f997
Add description field to firewall rules (#101) 2021-08-12 13:13:19 +02:00
Adrian Huber
c1b3c0e5b1
Fix hcloud_certificate_info test (#100) 2021-08-10 20:44:26 +02:00
Lukas Kämmerling
2be9ff3240
hcloud_rdns improve error message on not existing server/Floating IP (#99)
Signed-off-by: Lukas Kämmerling <lukas.kaemmerling@hetzner-cloud.de>
2021-07-22 09:24:11 +02:00