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. |
||
|---|---|---|
| .azure-pipelines | ||
| .github/workflows | ||
| changelogs | ||
| meta | ||
| plugins | ||
| tests | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| CHANGELOG.rst | ||
| COPYING | ||
| galaxy.yml | ||
| README.md | ||
Ansible Collection: hetzner.hcloud
Ansible Hetzner Cloud Collection for controlling your Hetzner Cloud Resources.
Release notes
See here.
Documentation
The documentation for all modules are available through ansible-doc.
Sample: ansible-doc hetzner.hcloud.hcloud_server shows the documentation for the hcloud_server module.
For all modules that were part of Ansible directly (before Ansible 2.11) we also have the documentation published in the Ansible documentation: https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/
Development
Requirements
You should place the collection (clone the repository) into the Ansible collection path. Normally this
is ~/.ansible/collections/ansible_collections/<namespace>/<collection, so for our collection it would
be: ~/.ansible/collections/ansible_collections/hetzner/hcloud.
git clone git@github.com:ansible-collections/hetzner.hcloud.git ~/.ansible/collections/ansible_collections/hetzner/hcloud
After this you just need ansible installed.
Testing
Testing is done via ansible-test. Make sure to have a cloud-config-hcloud.ini file in tests/integration which
contains the hcloud API token:
[default]
hcloud_api_token=<token>
After this you should be able to use ansible-test integration to perform the integration tests for a specific module.
Sample:
ansible-test integration --color --local -vvv hcloud_server // Executed all integration tests for hcloud_server module
Releasing a new version
Generating changelog from fragments
- Check if the changelog fragments are available (there should be files in
changelogs/fragments) - Run
antsibull-changelog release --version <version>, it should remove all fragments and change thechangelogs/changlog.yamlandCHANGELOG.rst - Push the changes to the main branch
- Tag the release through the Github UI, after this the Github Actions will run and publish the collection to Ansible Galaxy