From d55479d0637c4368be03ebce1c3c50b8a8e28975 Mon Sep 17 00:00:00 2001 From: ABond <7663097+BondAnthony@users.noreply.github.com> Date: Sat, 19 Jan 2019 16:25:33 -0500 Subject: [PATCH] DigitalOcean module deprecation (#47272) --- .github/BOTMETA.yml | 2 +- docs/docsite/rst/porting_guides/porting_guide_2.8.rst | 4 ++++ .../digital_ocean/{digital_ocean.py => _digital_ocean.py} | 8 ++++++-- test/sanity/validate-modules/ignore.txt | 2 +- 4 files changed, 12 insertions(+), 4 deletions(-) rename lib/ansible/modules/cloud/digital_ocean/{digital_ocean.py => _digital_ocean.py} (98%) diff --git a/.github/BOTMETA.yml b/.github/BOTMETA.yml index c0734d98c7..99427b3089 100644 --- a/.github/BOTMETA.yml +++ b/.github/BOTMETA.yml @@ -110,7 +110,7 @@ files: maintainers: $team_cloudstack labels: cloudstack $modules/cloud/digital_ocean/: BondAnthony - $modules/cloud/digital_ocean/digital_ocean.py: alukovenko + $modules/cloud/digital_ocean/_digital_ocean.py: alukovenko $modules/cloud/digital_ocean/digital_ocean_domain.py: alukovenko $modules/cloud/digital_ocean/digital_ocean_sshkey.py: alukovenko mgregson $modules/cloud/dimensiondata/dimensiondata_network.py: tintoy diff --git a/docs/docsite/rst/porting_guides/porting_guide_2.8.rst b/docs/docsite/rst/porting_guides/porting_guide_2.8.rst index 4555821f31..0a9179d80a 100644 --- a/docs/docsite/rst/porting_guides/porting_guide_2.8.rst +++ b/docs/docsite/rst/porting_guides/porting_guide_2.8.rst @@ -105,6 +105,7 @@ The following modules will be removed in Ansible 2.12. Please update your playbo * ``foreman`` use instead. * ``katello`` use instead. * ``github_hooks`` use :ref:`github_webhook ` and :ref:`github_webhook_facts ` instead. +* ``digital_ocean`` use :ref `digital_ocean_droplet ` instead. Noteworthy module changes @@ -147,6 +148,9 @@ Noteworthy module changes remove that workaround. To get the previous behavior when applying ``state: absent`` to a builtin kernel module, use ``failed_when: false`` or ``ignore_errors: true`` in your playbook. +* The ``digital_ocean`` module has been deprecated in favor of modules that do not require external dependencies. + This allows for more flexibility and better module support. + Plugins ======= diff --git a/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py b/lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py similarity index 98% rename from lib/ansible/modules/cloud/digital_ocean/digital_ocean.py rename to lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py index 3af143c8a4..666c19e3d8 100644 --- a/lib/ansible/modules/cloud/digital_ocean/digital_ocean.py +++ b/lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py @@ -9,7 +9,7 @@ __metaclass__ = type ANSIBLE_METADATA = {'metadata_version': '1.1', - 'status': ['preview'], + 'status': ['deprecated'], 'supported_by': 'community'} @@ -17,6 +17,10 @@ DOCUMENTATION = ''' --- module: digital_ocean short_description: Create/delete a droplet/SSH_key in DigitalOcean +deprecated: + removed_in: '2.12' + why: Updated module to remove external dependency with increased functionality. + alternative: Use M(digital_ocean_droplet) instead. description: - Create/delete a droplet in DigitalOcean and optionally wait for it to be 'running', or deploy an SSH key. version_added: "1.3" @@ -185,7 +189,7 @@ from distutils.version import LooseVersion try: # Imported as a dependency for dopy - import six + import ansible.module_utils.six HAS_SIX = True except ImportError: HAS_SIX = False diff --git a/test/sanity/validate-modules/ignore.txt b/test/sanity/validate-modules/ignore.txt index b47157dc34..412dc5342e 100644 --- a/test/sanity/validate-modules/ignore.txt +++ b/test/sanity/validate-modules/ignore.txt @@ -120,7 +120,7 @@ lib/ansible/modules/cloud/cloudstack/cs_vpn_connection.py E322 lib/ansible/modules/cloud/cloudstack/cs_zone.py E322 lib/ansible/modules/cloud/cloudstack/cs_zone.py E325 lib/ansible/modules/cloud/cloudstack/cs_zone.py E326 -lib/ansible/modules/cloud/digital_ocean/digital_ocean.py E322 +lib/ansible/modules/cloud/digital_ocean/_digital_ocean.py E322 lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E322 lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E324 lib/ansible/modules/cloud/digital_ocean/digital_ocean_floating_ip.py E325