Fix inventory plugin does not work with old configuration files (#15)

This commit is contained in:
Lukas Kämmerling 2020-06-30 13:48:24 +02:00 committed by GitHub
parent d795d331e7
commit 41354355e6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 15 additions and 9 deletions

View file

@ -0,0 +1,2 @@
bugfix:
- hcloud inventory plugin - Allow usage of hcloud.yml and hcloud.yaml - this was removed by error within the migration from build-in ansible to our collection

View file

@ -230,7 +230,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable):
"""Return the possibly of a file being consumable by this plugin."""
return (
super(InventoryModule, self).verify_file(path) and
path.endswith((self.NAME + ".yaml", self.NAME + ".yml"))
path.endswith(("hcloud.yaml", "hcloud.yml"))
)
def parse(self, inventory, loader, path, cache=True):

View file

@ -174,7 +174,7 @@ class AnsibleHcloudLoadBalancer(Hcloud):
"location": to_native(self.hcloud_load_balancer.location.name),
"labels": self.hcloud_load_balancer.labels,
"delete_protection": self.hcloud_load_balancer.protection["delete"],
"disable_public_interface": self.hcloud_load_balancer.public_net.enabled
"disable_public_interface": False if self.hcloud_load_balancer.public_net.enabled else True,
}
def _get_load_balancer(self):
@ -219,7 +219,6 @@ class AnsibleHcloudLoadBalancer(Hcloud):
self._mark_as_changed()
self._get_load_balancer()
self._update_load_balancer()
def _update_load_balancer(self):
try:
@ -237,7 +236,7 @@ class AnsibleHcloudLoadBalancer(Hcloud):
self._get_load_balancer()
disable_public_interface = self.module.params.get("disable_public_interface")
if disable_public_interface is not None and disable_public_interface != self.hcloud_load_balancer.public_net.enabled:
if disable_public_interface is not None and disable_public_interface != (not self.hcloud_load_balancer.public_net.enabled):
if not self.module.check_mode:
if disable_public_interface is True:
self.hcloud_load_balancer.disable_public_interface().wait_until_finished()
@ -277,7 +276,7 @@ class AnsibleHcloudLoadBalancer(Hcloud):
network_zone={"type": "str"},
labels={"type": "dict"},
delete_protection={"type": "bool"},
disable_public_interface={"type": "bool", "default": False},
disable_public_interface={"type": "bool"},
state={
"choices": ["absent", "present"],
"default": "present",

View file

@ -322,7 +322,7 @@ class AnsibleHcloudLoadBalancerService(Hcloud):
"response": to_native(self.hcloud_load_balancer_service.health_check.http.response),
"certificates": [to_native(status_code) for status_code in
self.hcloud_load_balancer_service.health_check.http.status_codes],
"tls": self.hcloud_load_balancer_service.health_check.tls,
"tls": self.hcloud_load_balancer_service.health_check.http.tls,
}
return {
"load_balancer": to_native(self.hcloud_load_balancer.name),

View file

@ -29,7 +29,7 @@
state: present
register: result
check_mode: yes
- name: test create Load Balancer Load Balancer
- name: test create Load Balancer with check mode
assert:
that:
- result is changed
@ -51,6 +51,8 @@
- name: test create Load Balancer idempotence
hcloud_load_balancer:
name: "{{ hcloud_load_balancer_name }}"
load_balancer_type: lb11
network_zone: eu-central
state: present
register: result
- name: verify create Load Balancer idempotence

View file

@ -46,6 +46,7 @@ fi
export ANSIBLE_COLLECTIONS_PATHS="${HOME}/.ansible"
SHIPPABLE_RESULT_DIR="$(pwd)/shippable"
TEST_DIR="${ANSIBLE_COLLECTIONS_PATHS}/ansible_collections/hetzner/hcloud"
rm -rf "${TEST_DIR}"
mkdir -p "${TEST_DIR}"
cp -r "." "${TEST_DIR}"
cd "${TEST_DIR}"
@ -85,7 +86,9 @@ find plugins -type d -empty -print -delete
ansible-test env --dump --show --timeout "50" --color -v
group="${args[1]}"
if [[ "${test}" =~ integration ]]; then
echo $test
if [[ "${test}" =~ hcloud ]]; then
group="${args[3]}"
bash tests/utils/gitlab/integration.sh "shippable/hcloud/group${group}/"
else
bash tests/utils/gitlab/sanity.sh "sanity/${group}"

View file

@ -12,4 +12,4 @@ hcloud_api_token=${HCLOUD_TOKEN}
export SHIPPABLE="true"
export SHIPPABLE_BUILD_NUMBER="gl-$(cat prefix.txt)"
export SHIPPABLE_JOB_NUMBER="$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 2 | head -n 1)"
ansible-test integration --color --local -vvvvv "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"}
ansible-test integration --color --local -vv "${target}" ${COVERAGE:+"$COVERAGE"} ${CHANGED:+"$CHANGED"} ${UNSTABLE:+"$UNSTABLE"}