[Bug]: gslbservice module breaks idempotency due to "ip" parameter not handled correctly
Closed this issue · 1 comments
gusmb commented
Summary
Simple configuration of gslbservice fails when applied a second time because the module does not process the "ip" parameter correctly when it comes to idempotency.
Issue Type
Bug Report
Component Name
gslbservice
Python Version
$ python --version # or python3 --version
3.11
Ansible Version
$ ansible --version
ansible-core 2.16.3
Ansible Configuration
$ ansible-config dump --only-changed
netscaler.adc Collection Version
$ ansible-galaxy collection list netscaler.adc
2.5.0
Target NetScaler Version
> show ns version
Equivalent NetScaler CLI Command
Steps to Reproduce
Consider the following example task:
- delegate_to: localhost
name: 'Configure gslbservice'
netscaler.adc.gslbservice:
ip: 10.33.20.86
nitro_auth_token: '##682B0F1B2A28F37996FA5103C1024084B20D87F899954AB7901CCDEF3DCDA03BC853F749354EF855BB1A561EAD6F1F0FCC62D7581CBD271ABCDEFRSASD94EE144D4DA931715A5D04D33ECCBDF290F97F8384EB3DBB341C8C2961D4E84EA12F563D1A5D352B6CCFCBA17'
nitro_protocol: https
nsip: 10.1.226.122
port: 65530
save_config: false
servicename: GSVC_APP_SCOTTOPO2_AAA
servicetype: TCP
sitename: gslb1-T002-GLG1
validate_certs: false
Because of the IP parameter, this task would fail on subsequent runs, because the module is not able to compare current vs expected value, since the "ip" parameter is not returned on NITRO GET call.
Expected Results
The module should return OK if no changes needed
Actual Results
ASK [netscaler_configure : Configure gslbservice (present) on gslb1 (partition: T002-GLG1)] ********
fatal: [gslb1 -> localhost({{ inventory_hostname }}.{{ country_code }}.{{ domain }})]: FAILED! => changed=false
diff_list:
- 'Attribute `ip` differs. Desired: (<class ''str''>) 10.33.20.86. Existing: (<class ''NoneType''>) None'
loglines:
- 'DEBUG: Initializing ModuleExecutor for resource gslbservice'
- 'TRACE: ENTRY: common.get_valid_desired_states() called with (''gslbservice'',), {}'
- 'TRACE: EXIT: common.get_valid_desired_states() returned {''absent'', ''present'', ''unset''}'
- 'TRACE: ENTRY: common.get_netscaler_version() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>,), {}'
- 'TRACE: ENTRY: common.get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>, ''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 0x7f0345c0a200>,), {''resource'': ''nsversion'', ''id'': None, ''args'': {}}'
- 'TRACE: ENTRY: client.url_builder() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>, ''nsversion''), {''id'': None, ''args'': {}, ''attrs'': None, ''filter'': None}'
- 'TRACE: EXIT: client.url_builder() returned https://10.1.226.122/nitro/v1/config/nsversion'
- 'TRACE: ENTRY: client.send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>, ''GET'', ''https://10.1.226.122/nitro/v1/config/nsversion''), {}'
- 'DEBUG: self={''_module'': <ansible.module_utils.basic.AnsibleModule object at 0x7f0345bbd600>, ''check_mode'': True, ''api_path'': ''nitro/v1/config'', ''_headers'': {''Content-Type'': ''application/json'', ''User-Agent'': ''ansible-ctxadc'', ''Cookie'': ''NITRO_AUTH_TOKEN=********''}}'
- 'DEBUG: fetch_url()-resonse-info= GET: {''url'': ''https://10.1.226.122/nitro/v1/config/nsversion'', ''status'': 200, ''date'': ''Thu, 29 Feb 2024 15:33:16 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'', ''connection'': ''close'', ''content-type'': ''application/json; charset=utf-8'', ''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 [50.23.nc](http://50.23.nc/), Date: Oct 18 2023, 00:53:13 (64-bit)'', ''mode'': ''1''}})'
- 'TRACE: EXIT: client.get() returned (200, {''errorcode'': 0, ''message'': ''Done'', ''severity'': ''NONE'', ''nsversion'': {''installedversion'': False, ''version'': ''NetScaler NS13.1: Build [50.23.nc](http://50.23.nc/), Date: Oct 18 2023, 00:53:13 (64-bit)'', ''mode'': ''1''}})'
- 'TRACE: ENTRY: common.fix_nitro_anomolies() called with (''nsversion'', {}, [{''installedversion'': False, ''version'': ''NetScaler NS13.1: Build [50.23.nc](http://50.23.nc/), Date: Oct 18 2023, 00:53:13 (64-bit)'', ''mode'': ''1''}]), {}'
- 'TRACE: EXIT: common.fix_nitro_anomolies() returned [{''installedversion'': False, ''version'': ''NetScaler NS13.1: Build [50.23.nc](http://50.23.nc/), Date: Oct 18 2023, 00:53:13 (64-bit)'', ''mode'': ''1''}]'
- 'TRACE: EXIT: common.get_resource() returned (True, [{''installedversion'': False, ''version'': ''NetScaler NS13.1: Build [50.23.nc](http://50.23.nc/), Date: Oct 18 2023, 00:53:13 (64-bit)'', ''mode'': ''1''}])'
- 'TRACE: EXIT: common.get_netscaler_version() returned (13.1, 50.23)'
- 'INFO: NetScaler version: 13.1-50.23'
- 'DEBUG: All params (including non module-specific params) are: {''ip'': ''10.33.20.86'', ''nitro_auth_token'': ''********'', ''nitro_protocol'': ''https'', ''nsip'': ''10.1.226.122'', ''port'': 65530, ''save_config'': False, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1'', ''validate_certs'': False, ''api_path'': ''nitro/v1/config'', ''state'': ''present'', ''nitro_user'': None, ''nitro_pass'': None, ''appflowlog'': None, ''cip'': None, ''cipheader'': None, ''clttimeout'': None, ''cnameentry'': None, ''comment'': None, ''cookietimeout'': None, ''downstateflush'': None, ''gslbservice_dnsview_binding'': None, ''gslbservice_lbmonitor_binding'': None, ''gslbservicegroup_gslbservicegroupmember_binding'': None, ''gslbservicegroup_lbmonitor_binding'': None, ''hashid'': None, ''healthmonitor'': None, ''ipaddress'': None, ''maxaaausers'': None, ''maxbandwidth'': None, ''maxclient'': None, ''monitor_name_svc'': None,
''monthreshold'': None, ''naptrdomainttl'': None, ''naptrorder'': None, ''naptrpreference'': None, ''naptrreplacement'': None, ''naptrservices'': None, ''newname'': None, ''publicip'': None, ''publicport'': None, ''servername'': None, ''sitepersistence'': None, ''siteprefix'': None, ''svrtimeout'': None, ''viewip'': None, ''viewname'': None, ''weight'': None}'
- 'TRACE: ENTRY: module_executor._filter_resource_module_params() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>,), {}'
- 'DEBUG: self.module.params: {''ip'': ''10.33.20.86'', ''nitro_auth_token'': ''********'', ''nitro_protocol'': ''https'', ''nsip'': ''10.1.226.122'', ''port'': 65530, ''save_config'': False, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1'', ''validate_certs'': False, ''api_path'': ''nitro/v1/config'', ''state'': ''present'', ''nitro_user'': None, ''nitro_pass'': None, ''appflowlog'': None, ''cip'': None, ''cipheader'': None, ''clttimeout'': None, ''cnameentry'': None, ''comment'': None, ''cookietimeout'': None, ''downstateflush'': None, ''gslbservice_dnsview_binding'': None, ''gslbservice_lbmonitor_binding'': None, ''gslbservicegroup_gslbservicegroupmember_binding'': None, ''gslbservicegroup_lbmonitor_binding'': None, ''hashid'': None, ''healthmonitor'': None, ''ipaddress'': None, ''maxaaausers'': None, ''maxbandwidth'': None, ''maxclient'': None, ''monitor_name_svc'': None, ''monthreshold'': None, ''naptrdomainttl'':
None, ''naptrorder'': None, ''naptrpreference'': None, ''naptrreplacement'': None, ''naptrservices'': None, ''newname'': None, ''publicip'': None, ''publicport'': None, ''servername'': None, ''sitepersistence'': None, ''siteprefix'': None, ''svrtimeout'': None, ''viewip'': None, ''viewname'': None, ''weight'': None}'
- 'DEBUG: Desired `gslbservice` module specific params are: {''ip'': ''10.33.20.86'', ''port'': 65530, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1''}'
- '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 0x7f0345bbc5b0>,), {}'
- 'DEBUG: Desired `gslbservice` 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 0x7f0345bbc5b0>,), {}'
- 'TRACE: ENTRY: common.get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>,), {''resource_name'': ''gslbservice'', ''resource_id'': ''GSVC_APP_SCOTTOPO2_AAA'', ''resource_module_params'': {''ip'': ''10.33.20.86'', ''port'': 65530, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1''}}'
- 'TRACE: ENTRY: client.get() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>,), {''resource'': ''gslbservice'', ''id'': ''GSVC_APP_SCOTTOPO2_AAA'', ''args'': {}}'
- 'TRACE: ENTRY: client.url_builder() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>, ''gslbservice''), {''id'': ''GSVC_APP_SCOTTOPO2_AAA'', ''args'': {}, ''attrs'': None, ''filter'': None}'
- 'TRACE: EXIT: client.url_builder() returned https://10.1.226.122/nitro/v1/config/gslbservice/GSVC_APP_SCOTTOPO2_AAA'
- 'TRACE: ENTRY: client.send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f0345c0a200>, ''GET'', ''https://10.1.226.122/nitro/v1/config/gslbservice/GSVC_APP_SCOTTOPO2_AAA''), {}'
- 'DEBUG: self={''_module'': <ansible.module_utils.basic.AnsibleModule object at 0x7f0345bbd600>, ''check_mode'': True, ''api_path'': ''nitro/v1/config'', ''_headers'': {''Content-Type'': ''application/json'', ''User-Agent'': ''ansible-ctxadc'', ''Cookie'': ''NITRO_AUTH_TOKEN=********''}}'
- 'DEBUG: fetch_url()-resonse-info= GET: {''url'': ''https://10.1.226.122/nitro/v1/config/gslbservice/GSVC_APP_SCOTTOPO2_AAA'', ''status'': 200, ''date'': ''Thu, 29 Feb 2024 15:33:16 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'': ''1198'', ''connection'': ''close'', ''content-type'': ''application/json; charset=utf-8'', ''cookies_string'': '''', ''cookies'': {}, ''msg'': ''OK (1198 bytes)''}'
- 'TRACE: EXIT: client.send() returned (200, {''errorcode'': 0, ''message'': ''Done'', ''severity'': ''NONE'', ''gslbservice'': [{''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'':
''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'', ''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}]})'
- 'TRACE: EXIT: client.get() returned (200, {''errorcode'': 0, ''message'': ''Done'', ''severity'': ''NONE'', ''gslbservice'': [{''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'':
''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'', ''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}]})'
- 'TRACE: ENTRY: common.fix_nitro_anomolies() called with (''gslbservice'', {''ip'': ''10.33.20.86'', ''port'': 65530, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1''}, [{''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'',
''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'': ''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'', ''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}]), {}'
- 'TRACE: EXIT: common.fix_nitro_anomolies() returned [{''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'': ''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'',
''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}]'
- 'TRACE: EXIT: common.get_resource() returned (True, [{''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'': ''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'',
''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}])'
- 'TRACE: EXIT: module_executor.get_existing_resource() returned {''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'': 0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'': ''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'':
''ENABLED'', ''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}'
- 'TRACE: ENTRY: module_executor.main() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>,), {}'
- 'TRACE: ENTRY: module_executor.create_or_update() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>,), {}'
- 'TRACE: ENTRY: module_executor.update_diff_list() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>,), {''existing'': {''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''gslb'': ''REMOTE'', ''ipaddress'': ''10.33.20.86'', ''servername'': ''10.33.20.86'', ''servicetype'': ''TCP'', ''port'': 65530, ''publicip'': ''10.33.20.86'', ''publicport'': 65530, ''maxclient'': ''0'', ''maxaaausers'': ''0'', ''sitename'': ''gslb1-T002-GLG1'', ''svrstate'': ''DOWN'', ''svreffgslbstate'': ''DOWN'', ''gslbthreshold'': 0, ''gslbsvcstats'': 0, ''state'': ''ENABLED'', ''monstate'': ''ENABLED'', ''cip'': ''DISABLED'', ''sitepersistence'': ''NONE'', ''clttimeout'': 9000, ''svrtimeout'': 9000, ''totalfailedprobes'': ''9000'', ''maxbandwidth'': ''0'', ''downstateflush'': ''ENABLED'', ''viewip'': ''0.0.0.0'', ''monthreshold'': ''0'', ''failedprobes'': ''0'', ''monstatcode'': 0, ''monstatparam1'': 0, ''monstatparam2'':
0, ''monstatparam3'': 0, ''responsetime'': ''0'', ''monitor_state'': ''Unknown'', ''healthmonitor'': ''YES'', ''appflowlog'': ''ENABLED'', ''monitortotalprobes'': ''0'', ''monitortotalfailedprobes'': ''0'', ''monitorcurrentfailedprobes'': ''0'', ''statechangetimesec'': ''Thu Feb 29 15:32:59 2024'', ''tickssincelaststatechange'': ''1683'', ''threshold'': ''BELOW'', ''clmonowner'': ''0'', ''clmonview'': ''0'', ''gslbsvchealth'': 0, ''nodefaultbindings'': ''NO''}, ''desired'': {''ip'': ''10.33.20.86'', ''port'': 65530, ''servicename'': ''GSVC_APP_SCOTTOPO2_AAA'', ''servicetype'': ''TCP'', ''sitename'': ''gslb1-T002-GLG1''}}'
- 'TRACE: EXIT: module_executor.update_diff_list() returned None'
- 'TRACE: ENTRY: module_executor.is_resource_identical() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>,), {}'
- 'TRACE: ENTRY: module_executor.is_attribute_equal() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, ''ip'', None, ''10.33.20.86''), {}'
- 'TRACE: EXIT: module_executor.is_attribute_equal() returned False'
- 'DEBUG: Attribute `ip` differs. Desired: (<class ''str''>) 10.33.20.86. Existing: (<class ''NoneType''>) None'
- 'TRACE: ENTRY: module_executor.is_attribute_equal() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, ''port'', 65530, 65530), {}'
- 'TRACE: EXIT: module_executor.is_attribute_equal() returned True'
- 'TRACE: ENTRY: module_executor.is_attribute_equal() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, ''servicename'', ''GSVC_APP_SCOTTOPO2_AAA'', ''GSVC_APP_SCOTTOPO2_AAA''), {}'
- 'TRACE: EXIT: module_executor.is_attribute_equal() returned True'
- 'TRACE: ENTRY: module_executor.is_attribute_equal() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, ''servicetype'', ''TCP'', ''TCP''), {}'
- 'TRACE: EXIT: module_executor.is_attribute_equal() returned True'
- 'TRACE: ENTRY: module_executor.is_attribute_equal() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, ''sitename'', ''gslb1-T002-GLG1'', ''gslb1-T002-GLG1''), {}'
- 'TRACE: EXIT: module_executor.is_attribute_equal() returned True'
- 'TRACE: ENTRY: module_executor.return_failure() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f0345bbc5b0>, "Cannot change value for the following non-updateable attributes [''ip'']"), {}'
msg: Cannot change value for the following non-updateable attributes ['ip']
Additioinal Notes
No response
sumanth-lingappa commented
Please install the latest version 2.5.1