Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: dnsnsrec module is not itempotent #453

Open
greg-redell opened this issue Aug 9, 2024 · 0 comments
Open

[Bug]: dnsnsrec module is not itempotent #453

greg-redell opened this issue Aug 9, 2024 · 0 comments
Labels

Comments

@greg-redell
Copy link

greg-redell commented Aug 9, 2024

Summary

When running a dnsnsrec playbook a second time, the module errors out as resources already exist instead of reporting ok.

Issue Type

Bug Report

Component Name

dnsnsrec

Python Version

Python 3.11.9

Ansible Version

ansible [core 2.16.9]
  config file = /runner/ansible.cfg
  configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
  ansible collection location = /runner/collections
  executable location = /usr/local/bin/ansible
  python version = 3.11.9 (main, Jul 18 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/bin/python3.11)
  jinja version = 3.1.4
  libyaml = True

Ansible Configuration

$ ansible-config dump --only-changed
COLLECTIONS_PATHS(/runner/ansible.cfg) = ['/runner/collections']
CONFIG_FILE() = /runner/ansible.cfg
DEFAULT_FILTER_PLUGIN_PATH(/runner/ansible.cfg) = ['/runner/custom_filters']
DEFAULT_ROLES_PATH(/runner/ansible.cfg) = ['/runner/roles']
DEFAULT_STRATEGY_PLUGIN_PATH(/runner/ansible.cfg) = ['/runner/custom_plugins/mitogen-0.3.4/ansible_mitogen/plugins/strategy']
DEFAULT_TIMEOUT(/runner/ansible.cfg) = 40
HOST_KEY_CHECKING(/runner/ansible.cfg) = False
PARAMIKO_LOOK_FOR_KEYS(/runner/ansible.cfg) = False

netscaler.adc Collection Version

$ ansible-galaxy collection list netscaler.adc
Collection    Version
------------- -------
netscaler.adc 2.6.1 

Target NetScaler Version

> show ns version

Equivalent NetScaler CLI Command

show ns version
        NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)

Steps to Reproduce

---
- name: Test dnsrec module
  hosts: all
  gather_facts: false
  module_defaults:  
    group/netscaler.adc.default_args:
      nsip: "{{ nsip }}"
      validate_certs: false

  tasks:
    - name: Sample Task | dnsnsRec 1
      delegate_to: localhost
      netscaler.adc.dnsnsrec:
        state: present
        domain: example.com
        nameserver: ns1.example.com
        type: ADNS
        ttl: 3600

    - name: Sample Task | dnsnsRec 2
      delegate_to: localhost
      netscaler.adc.dnsnsrec:
        state: present
        domain: example.com
        nameserver: ns2.example.com
        type: ADNS
        ttl: 3600


Expected Results

Module should report that resources exist,
The module currrently tries to create the resources that already exist, as shown with --check option.

PLAY [Test dnsrec module] ***********************************************************************************************************************************************************************************************************************************

TASK [Sample Task | dnsnsRec 1] *****************************************************************************************************************************************************************************************************************************
changed: [netscaler-> localhost]

TASK [Sample Task | dnsnsRec 2] *****************************************************************************************************************************************************************************************************************************
changed: [netscaler -> localhost]

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************
netscaler : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0

Actual Results

bash-5.1$ ansible-playbook -i Netscaler/NetscalerInventory Netscaler/dnsrsrec.yml -l netscaler -vvvv  
/usr/local/lib/python3.11/site-packages/paramiko/pkey.py:100: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.
  "cipher": algorithms.TripleDES,
/usr/local/lib/python3.11/site-packages/paramiko/transport.py:259: CryptographyDeprecationWarning: TripleDES has been moved to cryptography.hazmat.decrepit.ciphers.algorithms.TripleDES and will be removed from this module in 48.0.0.
  "class": algorithms.TripleDES,
ansible-playbook [core 2.16.9]
  config file = /runner/ansible.cfg
  configured module search path = ['/runner/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.11/site-packages/ansible
  ansible collection location = /runner/collections
  executable location = /usr/local/bin/ansible-playbook
  python version = 3.11.9 (main, Jul 18 2024, 00:00:00) [GCC 11.4.1 20231218 (Red Hat 11.4.1-3)] (/usr/bin/python3.11)
  jinja version = 3.1.4
  libyaml = True
Using /runner/ansible.cfg as config file
setting up inventory plugins
Loading collection ansible.builtin from 
host_list declined parsing /runner/Netscaler/NetscalerInventory as it did not pass its verify_file() method
script declined parsing /runner/Netscaler/NetscalerInventory as it did not pass its verify_file() method
auto declined parsing /runner/Netscaler/NetscalerInventory as it did not pass its verify_file() method
Parsed /runner/Netscaler/NetscalerInventory inventory source with ini plugin
Loading collection netscaler.adc from /runner/collections/ansible_collections/netscaler/adc
Loading callback plugin default of type stdout, v2.0 from /usr/local/lib/python3.11/site-packages/ansible/plugins/callback/default.py
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: dnsrsrec.yml **************************************************************************************************************************************************************************************************************************************
Positional arguments: Netscaler/dnsrsrec.yml
verbosity: 4
connection: ssh
become_method: sudo
tags: ('all',)
inventory: ('/runner/Netscaler/NetscalerInventory',)
subset: netscaler
forks: 5
1 plays in Netscaler/dnsrsrec.yml

PLAY [Test dnsrec module] ***********************************************************************************************************************************************************************************************************************************

TASK [Sample Task | dnsnsRec 1] *****************************************************************************************************************************************************************************************************************************
task path: /runner/Netscaler/dnsrsrec.yml:11
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: 1178739
<localhost> EXEC /bin/sh -c 'echo ~1178739 && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /runner/.ansible/tmp `"&& mkdir "` echo /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070 `" && echo ansible-tmp-1723221916.2522118-5821-31210353684070="` echo /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070 `" ) && sleep 0'
Using module file /runner/collections/ansible_collections/netscaler/adc/plugins/modules/dnsnsrec.py
<localhost> PUT /runner/.ansible/tmp/ansible-local-58182fiie6gn/tmp88le3atf TO /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070/AnsiballZ_dnsnsrec.py
<localhost> EXEC /bin/sh -c 'chmod u+x /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070/ /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070/AnsiballZ_dnsnsrec.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python3.11 /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070/AnsiballZ_dnsnsrec.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /runner/.ansible/tmp/ansible-tmp-1723221916.2522118-5821-31210353684070/ > /dev/null 2>&1 && sleep 0'
fatal: [netscaler -> localhost]: FAILED! => {
    "changed": true,
    "invocation": {
        "module_args": {
            "api_path": "nitro/v1/config",
            "domain": "example.com",
            "ecssubnet": null,
            "managed_netscaler_instance_id": null,
            "managed_netscaler_instance_ip": null,
            "managed_netscaler_instance_name": null,
            "managed_netscaler_instance_password": null,
            "managed_netscaler_instance_username": null,
            "nameserver": "ns1.example.com",
            "netscaler_console_as_proxy_server": false,
            "nitro_auth_token": null,
            "nitro_pass": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "nitro_protocol": "https",
            "nitro_user": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
            "nodeid": null,
            "nsip": "10.9.91.16",
            "save_config": false,
            "state": "present",
            "ttl": 3600.0,
            "type": "ADNS",
            "validate_certs": false
        }
    },
    "loglines": [
        "DEBUG: Initializing ModuleExecutor for resource dnsnsrec",
        "TRACE: ENTRY: common.get_valid_desired_states() called with ('dnsnsrec',), {}",
        "TRACE: EXIT: common.get_valid_desired_states() returned {'present', 'absent'}",
        "TRACE: ENTRY: common.get_netscaler_version() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>,), {}",
        "TRACE: ENTRY: common.get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'nsversion'), {}",
        "WARNING: Resource name nsversion not found in NITRO_RESOURCE_MAP to get get_arg_keys",
        "TRACE: ENTRY: client.get() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>,), {'resource': 'nsversion', 'id': None, 'args': {}}",
        "TRACE: ENTRY: client.url_builder() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'nsversion'), {'id': None, 'args': {}, 'attrs': None, 'filter': None}",
        "TRACE: EXIT: client.url_builder() returned https://10.9.91.16/nitro/v1/config/nsversion",
        "TRACE: ENTRY: client.send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'GET', 'https://10.9.91.16/nitro/v1/config/nsversion'), {}",
        "DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7fafecc935d0>, 'check_mode': False, 'api_path': 'nitro/v1/config', 'resource_name': 'dnsnsrec', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'X-NITRO-USER': '********', 'X-NITRO-PASS': \"********\"}}",
        "DEBUG: fetch_url()-resonse-info= GET: {'url': 'https://10.9.91.16/nitro/v1/config/nsversion', 'status': 200, 'date': 'Fri, 09 Aug 2024 16:45:17 GMT', 'server': 'Apache', 'x-frame-options': 'SAMEORIGIN', 'expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'pragma': 'no-cache', 'vary': 'Accept-Encoding', 'feature-policy': \"camera 'none'; microphone 'none'; geolocation 'none'\", 'referrer-policy': 'no-referrer', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'content-length': '201', 'content-type': 'application/json; charset=utf-8', 'connection': 'close', 'cookies_string': '', 'cookies': {}, 'msg': 'OK (201 bytes)'}",
        "TRACE: EXIT: client.send() returned (200, {'errorcode': 0, 'message': 'Done', 'severity': 'NONE', 'nsversion': {'installedversion': False, 'version': 'NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)', 'mode': '1'}})",
        "TRACE: EXIT: client.get() returned (200, {'errorcode': 0, 'message': 'Done', 'severity': 'NONE', 'nsversion': {'installedversion': False, 'version': 'NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)', 'mode': '1'}})",
        "TRACE: ENTRY: common.fix_nitro_anomolies() called with ('nsversion', {}, [{'installedversion': False, 'version': 'NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)', 'mode': '1'}]), {}",
        "TRACE: EXIT: common.fix_nitro_anomolies() returned [{'installedversion': False, 'version': 'NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)', 'mode': '1'}]",
        "TRACE: EXIT: common.get_resource() returned (True, [{'installedversion': False, 'version': 'NetScaler NS13.1: Build 53.24.nc, Date: Jul  4 2024, 07:57:01   (64-bit)', 'mode': '1'}])",
        "TRACE: EXIT: common.get_netscaler_version() returned (13.1, 53.24)",
        "INFO: NetScaler version: 13.1-53.24",
        "DEBUG: All params (including non module-specific params) are: {'nsip': '10.9.91.16', 'validate_certs': False, 'state': 'present', 'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0, 'nitro_user': '********', 'nitro_pass': \"********\", 'nitro_protocol': 'https', 'save_config': False, 'api_path': 'nitro/v1/config', 'netscaler_console_as_proxy_server': False, 'nitro_auth_token': None, 'managed_netscaler_instance_name': None, 'managed_netscaler_instance_ip': None, 'managed_netscaler_instance_id': None, 'managed_netscaler_instance_username': None, 'managed_netscaler_instance_password': None, 'ecssubnet': None, 'nodeid': None}",
        "TRACE: ENTRY: module_executor._filter_resource_module_params() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {}",
        "DEBUG: self.module.params: {'nsip': '10.9.91.16', 'validate_certs': False, 'state': 'present', 'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0, 'nitro_user': '********', 'nitro_pass': \"********\", 'nitro_protocol': 'https', 'save_config': False, 'api_path': 'nitro/v1/config', 'netscaler_console_as_proxy_server': False, 'nitro_auth_token': None, 'managed_netscaler_instance_name': None, 'managed_netscaler_instance_ip': None, 'managed_netscaler_instance_id': None, 'managed_netscaler_instance_username': None, 'managed_netscaler_instance_password': None, 'ecssubnet': None, 'nodeid': None}",
        "DEBUG: Desired `dnsnsrec` module specific params are: {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0}",
        "TRACE: EXIT: module_executor._filter_resource_module_params() returned None",
        "TRACE: ENTRY: module_executor._filter_desired_bindings() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {}",
        "DEBUG: Desired `dnsnsrec` module specific bindings are: {}",
        "TRACE: EXIT: module_executor._filter_desired_bindings() returned None",
        "TRACE: ENTRY: module_executor.get_existing_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {}",
        "TRACE: ENTRY: common.get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>,), {'resource_name': 'dnsnsrec', 'resource_id': 'example.com', 'resource_module_params': {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0}}",
        "TRACE: ENTRY: client.get() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>,), {'resource': 'dnsnsrec', 'id': 'example.com', 'args': {'type': 'ADNS'}}",
        "TRACE: ENTRY: client.url_builder() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'dnsnsrec'), {'id': 'example.com', 'args': {'type': 'ADNS'}, 'attrs': None, 'filter': None}",
        "TRACE: EXIT: client.url_builder() returned https://10.9.91.16/nitro/v1/config/dnsnsrec/example.com?args=type:ADNS",
        "TRACE: ENTRY: client.send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'GET', 'https://10.9.91.16/nitro/v1/config/dnsnsrec/example.com?args=type:ADNS'), {}",
        "DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7fafecc935d0>, 'check_mode': False, 'api_path': 'nitro/v1/config', 'resource_name': 'dnsnsrec', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'X-NITRO-USER': '********', 'X-NITRO-PASS': \"********\"}}",
        "DEBUG: fetch_url()-resonse-info= GET: {'url': 'https://10.9.91.16/nitro/v1/config/dnsnsrec/example.com?args=type:ADNS', 'status': 400, 'date': 'Fri, 09 Aug 2024 16:45:17 GMT', 'server': 'Apache', 'x-frame-options': 'SAMEORIGIN', 'expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'pragma': 'no-cache', 'vary': 'Accept-Encoding', 'feature-policy': \"camera 'none'; microphone 'none'; geolocation 'none'\", 'referrer-policy': 'no-referrer', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'content-length': '106', 'connection': 'close', 'content-type': 'application/json; charset=utf-8', 'msg': 'HTTP Error 400: Bad Request', 'body': b'{ \"errorcode\": 1092, \"message\": \"Arguments cannot both be specified [type, domain]\", \"severity\": \"ERROR\" }'}",
        "TRACE: EXIT: client.send() returned (400, {'errorcode': 1092, 'message': 'Arguments cannot both be specified [type, domain]', 'severity': 'ERROR'})",
        "TRACE: EXIT: client.get() returned (400, {'errorcode': 1092, 'message': 'Arguments cannot both be specified [type, domain]', 'severity': 'ERROR'})",
        "TRACE: EXIT: common.get_resource() returned (False, [])",
        "TRACE: EXIT: module_executor.get_existing_resource() returned {}",
        "TRACE: ENTRY: module_executor.main() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {}",
        "TRACE: ENTRY: module_executor.create_or_update() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {}",
        "TRACE: ENTRY: module_executor.update_diff_list() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>,), {'existing': {}, 'desired': {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0}}",
        "TRACE: EXIT: module_executor.update_diff_list() returned None",
        "INFO: Resource dnsnsrec:example.com does not exist. Will be CREATED.",
        "TRACE: ENTRY: common.create_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'dnsnsrec', {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0}), {}",
        "TRACE: ENTRY: common._check_create_resource_params() called with ('dnsnsrec', {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'type': 'ADNS', 'ttl': 3600.0}), {}",
        "WARNING: Key `type` is not allowed for the resource `dnsnsrec` for CREATE operation. Skipping the key for the operation",
        "TRACE: EXIT: common._check_create_resource_params() returned (True, None, {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'ttl': 3600.0})",
        "TRACE: ENTRY: client.post() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>,), {'post_data': {'dnsnsrec': {'domain': 'example.com', 'nameserver': 'ns1.example.com', 'ttl': 3600.0}}, 'resource': 'dnsnsrec', 'action': None}",
        "TRACE: ENTRY: client.url_builder() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'dnsnsrec'), {'action': None}",
        "TRACE: EXIT: client.url_builder() returned https://10.9.91.16/nitro/v1/config/dnsnsrec",
        "TRACE: ENTRY: client.send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7fafecc93510>, 'POST', 'https://10.9.91.16/nitro/v1/config/dnsnsrec', '{\"dnsnsrec\": {\"domain\": \"example.com\", \"nameserver\": \"ns1.example.com\", \"ttl\": 3600.0}}'), {}",
        "DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7fafecc935d0>, 'check_mode': False, 'api_path': 'nitro/v1/config', 'resource_name': 'dnsnsrec', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'X-NITRO-USER': '********', 'X-NITRO-PASS': \"********\"}}",
        "DEBUG: fetch_url()-resonse-info= POST: {'url': 'https://10.9.91.16/nitro/v1/config/dnsnsrec', 'status': 409, 'date': 'Fri, 09 Aug 2024 16:45:17 GMT', 'server': 'Apache', 'x-frame-options': 'SAMEORIGIN', 'expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'cache-control': 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0', 'pragma': 'no-cache', 'feature-policy': \"camera 'none'; microphone 'none'; geolocation 'none'\", 'referrer-policy': 'no-referrer', 'x-xss-protection': '1; mode=block', 'x-content-type-options': 'nosniff', 'content-length': '78', 'content-type': 'application/json; charset=utf-8', 'connection': 'close', 'msg': 'HTTP Error 409: Conflict', 'body': b'{ \"errorcode\": 304, \"message\": \"Address already in use\", \"severity\": \"ERROR\" }'}",
        "TRACE: EXIT: client.send() returned (409, {'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'})",
        "TRACE: EXIT: client.post() returned (409, {'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'})",
        "TRACE: ENTRY: common.return_response() called with (), {'status_code': 409, 'response_body': {'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}, 'operation': 'create_resource', 'resource_name': 'dnsnsrec'}",
        "ERROR: create_resource FAILED; status_code: 409; Reason:{'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}",
        "TRACE: EXIT: common.return_response() returned (False, \"ERROR: create_resource FAILED; status_code: 409; Reason:{'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}\")",
        "TRACE: EXIT: common.create_resource() returned (False, \"ERROR: create_resource FAILED; status_code: 409; Reason:{'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}\")",
        "TRACE: ENTRY: module_executor.return_failure() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7fafed2c1010>, \"ERROR: create_resource FAILED; status_code: 409; Reason:{'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}\"), {}"
    ],
    "msg": "ERROR: create_resource FAILED; status_code: 409; Reason:{'errorcode': 304, 'message': 'Address already in use', 'severity': 'ERROR'}"
}

PLAY RECAP **************************************************************************************************************************************************************************************************************************************************
netscaler            : ok=0    changed=0    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0   

Additional Notes

No response

@greg-redell greg-redell added the bug label Aug 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant