Skip to content

Commit 4564db4

Browse files
Merge pull request #533 from netscaler/action_idem
Returning failure on action ops when netscaler return resource already error
2 parents 0179fa7 + df53214 commit 4564db4

5 files changed

Lines changed: 5 additions & 83 deletions

File tree

plugins/module_utils/module_executor.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1020,11 +1020,16 @@ def act_on_resource(self, action):
10201020
action=action,
10211021
)
10221022
if ok:
1023+
# For rename operations, always treat HTTP_RESOURCE_ALREADY_EXISTS as failure
1024+
# This prevents false positives where we think a rename succeeded when it actually
1025+
# failed due to a name conflict with a different existing resource
10231026
if (
10241027
"status_code" in err
10251028
and err["status_code"] == HTTP_RESOURCE_ALREADY_EXISTS
10261029
):
10271030
self.module_result["changed"] = False
1031+
if action == "rename":
1032+
self.return_failure(err)
10281033
else:
10291034
self.return_failure(err)
10301035

tests/integration/targets/gslbservice/tasks/main.yaml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -113,27 +113,6 @@
113113
that:
114114
- "result.failed==false"
115115
- "result.changed==true"
116-
- name: GSLBSERVICE | RENAME | idempotent
117-
delegate_to: localhost
118-
register: result
119-
check_mode: false
120-
tags: test
121-
netscaler.adc.gslbservice:
122-
state: renamed
123-
nsip: "{{ nsip }}"
124-
nitro_user: "{{ nitro_user }}"
125-
nitro_pass: "{{ nitro_pass }}"
126-
nitro_protocol: "{{ nitro_protocol }}"
127-
validate_certs: "{{ validate_certs }}"
128-
save_config: "{{ save_config }}"
129-
servicename: test-gslb-service
130-
newname: test-gslb-service-renamed
131-
- name: Assert | GSLBSERVICE | RENAME | idempotent
132-
tags: test
133-
ansible.builtin.assert:
134-
that:
135-
- "result.failed==false"
136-
- "result.changed==false"
137116
- name: GSLBSERVICE | DELETE | --check
138117
delegate_to: localhost
139118
register: result

tests/integration/targets/lbvserver/tasks/main.yaml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -381,27 +381,6 @@
381381
that:
382382
- "result.failed==false"
383383
- "result.changed==true"
384-
- name: LBVSERVER | RENAME | idempotent
385-
delegate_to: localhost
386-
register: result
387-
check_mode: false
388-
tags: test
389-
netscaler.adc.lbvserver:
390-
nsip: "{{ nsip }}"
391-
nitro_user: "{{ nitro_user }}"
392-
nitro_pass: "{{ nitro_pass }}"
393-
nitro_protocol: "{{ nitro_protocol }}"
394-
validate_certs: "{{ validate_certs }}"
395-
save_config: "{{ save_config }}"
396-
state: renamed
397-
name: lb1
398-
newname: lb2
399-
- name: Assert | LBVSERVER | RENAME | idempotent
400-
tags: test
401-
ansible.builtin.assert:
402-
that:
403-
- "result.failed==false"
404-
- "result.changed==false"
405384
- name: LBVSERVER | DELETE | --check
406385
delegate_to: localhost
407386
register: result

tests/integration/targets/service/tasks/main.yaml

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -108,27 +108,6 @@
108108
that:
109109
- "result.failed==false"
110110
- "result.changed==true"
111-
- name: SERVICE | RENAME | idempotent
112-
delegate_to: localhost
113-
register: result
114-
check_mode: false
115-
tags: test
116-
netscaler.adc.service:
117-
nsip: "{{ nsip }}"
118-
nitro_user: "{{ nitro_user }}"
119-
nitro_pass: "{{ nitro_pass }}"
120-
nitro_protocol: "{{ nitro_protocol }}"
121-
validate_certs: "{{ validate_certs }}"
122-
save_config: "{{ save_config }}"
123-
state: renamed
124-
name: test-service
125-
newname: test-service-renamed
126-
- name: Assert | SERVICE | RENAME | idempotent
127-
tags: test
128-
ansible.builtin.assert:
129-
that:
130-
- "result.failed==false"
131-
- "result.changed==false"
132111
- name: SERVICE | DELETE | --check
133112
delegate_to: localhost
134113
register: result

tests/integration/targets/servicegroup/tasks/main.yaml

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -334,26 +334,6 @@
334334
that:
335335
- "result.failed==false"
336336
- "result.changed==true"
337-
- name: SERVICEGROUP | RENAME | idempotent
338-
delegate_to: localhost
339-
register: result
340-
check_mode: false
341-
tags: test
342-
netscaler.adc.servicegroup:
343-
nsip: "{{ nsip }}"
344-
nitro_user: "{{ nitro_user }}"
345-
nitro_pass: "{{ nitro_pass }}"
346-
nitro_protocol: "{{ nitro_protocol }}"
347-
validate_certs: "{{ validate_certs }}"
348-
state: renamed
349-
servicegroupname: "{{ servicegroup_name }}_renamed"
350-
newname: "{{ servicegroup_name }}_renamed"
351-
- name: Assert | SERVICEGROUP | RENAME | idempotent
352-
tags: test
353-
ansible.builtin.assert:
354-
that:
355-
- "result.failed==false"
356-
- "result.changed==false"
357337
- name: SERVICEGROUP | DELETE | --check
358338
delegate_to: localhost
359339
register: result

0 commit comments

Comments
 (0)