mirror of
https://github.com/ansible-collections/hetzner.hcloud.git
synced 2026-02-04 08:01:49 +00:00
Fix sanity checks
This commit is contained in:
parent
5c20ccbcd6
commit
1edb5b2b36
4 changed files with 23 additions and 12 deletions
|
|
@ -4,8 +4,9 @@
|
|||
# Copyright: (c) 2020, Hetzner Cloud GmbH <info@hetzner-cloud.de>
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
from ansible_collections.hetzner.hcloud.plugins.module_utils.hcloud import Hcloud
|
||||
from __future__ import absolute_import, division, print_function
|
||||
|
||||
__metaclass__ = type
|
||||
|
||||
DOCUMENTATION = """
|
||||
---
|
||||
|
|
@ -110,9 +111,11 @@ hcloud_placement_group:
|
|||
- 4712
|
||||
"""
|
||||
|
||||
from ansible_collections.hetzner.hcloud.plugins.module_utils.hcloud import Hcloud
|
||||
from ansible.module_utils.basic import AnsibleModule
|
||||
from ansible.module_utils._text import to_native
|
||||
|
||||
|
||||
class AnsibleHcloudPlacementGroup(Hcloud):
|
||||
def __init__(self, module):
|
||||
Hcloud.__init__(self, module, "hcloud_placement_group")
|
||||
|
|
@ -181,7 +184,7 @@ class AnsibleHcloudPlacementGroup(Hcloud):
|
|||
self._create_placement_group()
|
||||
else:
|
||||
self._update_placement_group()
|
||||
|
||||
|
||||
def delete_placement_group(self):
|
||||
self._get_placement_group()
|
||||
if self.hcloud_placement_group is not None:
|
||||
|
|
@ -209,6 +212,7 @@ class AnsibleHcloudPlacementGroup(Hcloud):
|
|||
supports_check_mode=True,
|
||||
)
|
||||
|
||||
|
||||
def main():
|
||||
module = AnsibleHcloudPlacementGroup.define_module()
|
||||
|
||||
|
|
|
|||
|
|
@ -252,7 +252,7 @@ hcloud_server:
|
|||
type: str
|
||||
returned: always
|
||||
sample: 4711
|
||||
version_added: "1.4.5"
|
||||
version_added: "1.5.0"
|
||||
datacenter:
|
||||
description: Name of the datacenter of the server
|
||||
returned: always
|
||||
|
|
@ -541,7 +541,10 @@ class AnsibleHcloudServer(Hcloud):
|
|||
self._mark_as_changed()
|
||||
else:
|
||||
placement_group = self._get_placement_group()
|
||||
if placement_group is not None and (self.hcloud_server.placement_group is None or self.hcloud_server.placement_group.id != placement_group.id):
|
||||
if (
|
||||
placement_group is not None and
|
||||
(self.hcloud_server.placement_group is None or self.hcloud_server.placement_group.id != placement_group.id)
|
||||
):
|
||||
self.stop_server_if_forced()
|
||||
if not self.module.check_mode:
|
||||
self.hcloud_server.add_to_placement_group(placement_group)
|
||||
|
|
@ -563,9 +566,12 @@ class AnsibleHcloudServer(Hcloud):
|
|||
).wait_until_finished(timeout)
|
||||
self._mark_as_changed()
|
||||
|
||||
if (not self.module.check_mode and
|
||||
(self.module.params.get("state") == "present" and previous_server_status == Server.STATUS_RUNNING or
|
||||
self.module.params.get("state") == "started")
|
||||
if (
|
||||
not self.module.check_mode and
|
||||
(
|
||||
self.module.params.get("state") == "present" and previous_server_status == Server.STATUS_RUNNING or
|
||||
self.module.params.get("state") == "started"
|
||||
)
|
||||
):
|
||||
self.start_server()
|
||||
|
||||
|
|
@ -619,8 +625,9 @@ class AnsibleHcloudServer(Hcloud):
|
|||
def stop_server_if_forced(self):
|
||||
previous_server_status = self.hcloud_server.status
|
||||
if previous_server_status == Server.STATUS_RUNNING and not self.module.check_mode:
|
||||
if (self.module.params.get("force_upgrade") or
|
||||
self.module.params.get("force") or
|
||||
if (
|
||||
self.module.params.get("force_upgrade") or
|
||||
self.module.params.get("force") or
|
||||
self.module.params.get("state") == "stopped"
|
||||
):
|
||||
self.stop_server() # Only stopped server can be upgraded
|
||||
|
|
|
|||
|
|
@ -97,7 +97,7 @@ hcloud_server_info:
|
|||
type: str
|
||||
returned: always
|
||||
sample: 4711
|
||||
version_added: "1.4.5"
|
||||
version_added: "1.5.0"
|
||||
datacenter:
|
||||
description: Name of the datacenter of the server
|
||||
returned: always
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@
|
|||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
---
|
||||
hcloud_prefix: "tests"
|
||||
hcloud_placement_group_name: "{{hcloud_prefix}}-integration"
|
||||
hcloud_server_name: "{{hcloud_prefix}}-integration"
|
||||
hcloud_placement_group_name: "{{hcloud_prefix}}-i"
|
||||
hcloud_server_name: "{{hcloud_prefix}}-i"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue