[Bug]: lbmonitor expects nonsense arguments instead of using defaults
pkodzis opened this issue · 2 comments
pkodzis commented
Summary
Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}"
Issue Type
Bug Report
Component Name
lbmonitor
Python Version
$ python --version # or python3 --version
3.9
Ansible Version
$ ansible --version
ansible [core 2.15.6]
config file = None
configured module search path = ['/home/pkodzis/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /home/pkodzis/.local/lib/python3.9/site-packages/ansible
ansible collection location = /home/pkodzis/.ansible/collections:/usr/share/ansible/collections
executable location = /home/pkodzis/.local/bin/ansible
python version = 3.9.5 (default, Nov 18 2021, 16:00:48) [GCC 10.3.0] (/usr/bin/python3)
jinja version = 3.1.2
libyaml = True
Ansible Configuration
$ ansible-config dump --only-changed
netscaler.adc Collection Version
$ ansible-galaxy collection list netscaler.adc
2.0.3
Target NetScaler Version
> show ns version
13.1
Equivalent NetScaler CLI Command
add lb monitor monitor1 TCP -interval 15 -retries 20
Steps to Reproduce
- name: setup monitors
delegate_to: localhost
netscaler.adc.lbmonitor:
nsip: "{{ provider.nsip }}"
nitro_auth_token: "{{ provider.nitro_auth_token | default(omit) }}"
nitro_protocol: "{{ provider.nitro_protocol | default(omit) }}"
validate_certs: "{{ provider.validate_certs | default(omit) }}"
state: present
monitorname: test-monitor1
type: TCP
interval: 15
retries: 20
Expected Results
monitor should be created with provided non-default values and all not provided values that NetScaler may expect, should be set to defaults.
Actual Results
TASK [setup monitors] *******************************************************************************************************************************************************************************************
task path: /mnt/c/Users/SG0891776/OneDrive - Sabre/Documents/jp/GIT/permanent/c3g_ansible/dev2/1.yml:38
<localhost> ESTABLISH LOCAL CONNECTION FOR USER: pjp
<localhost> EXEC /bin/sh -c 'echo ~pjp && sleep 0'
<localhost> EXEC /bin/sh -c '( umask 77 && mkdir -p "` echo /home/pjp/.ansible/tmp `"&& mkdir "` echo /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381 `" && echo ansible-tmp-1701349748.8290045-6826-34178638564381="` echo /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381 `" ) && sleep 0'
Using module file /home/pjp/.ansible/collections/ansible_collections/netscaler/adc/plugins/modules/lbmonitor.py
<localhost> PUT /home/pjp/.ansible/tmp/ansible-local-67676h_q4mov/tmpi885ikdr TO /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381/AnsiballZ_lbmonitor.py
<localhost> EXEC /bin/sh -c 'chmod u+x /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381/ /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381/AnsiballZ_lbmonitor.py && sleep 0'
<localhost> EXEC /bin/sh -c '/usr/bin/python3 /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381/AnsiballZ_lbmonitor.py && sleep 0'
<localhost> EXEC /bin/sh -c 'rm -f -r /home/pjp/.ansible/tmp/ansible-tmp-1701349748.8290045-6826-34178638564381/ > /dev/null 2>&1 && sleep 0'
fatal: [SY4-LB-C3G -> localhost]: FAILED! => {
"changed": true,
"invocation": {
"module_args": {
"Snmpoid": null,
"acctapplicationid": null,
"action": "DOWN",
"alertretries": null,
"api_path": "nitro/v1/config",
"application": null,
"attribute": null,
"authapplicationid": null,
"basedn": null,
"binddn": null,
"customheaders": null,
"database": null,
"destip": null,
"destport": null,
"deviation": null,
"dispatcherip": null,
"dispatcherport": null,
"domain": null,
"downtime": 30,
"evalrule": null,
"failureretries": null,
"filename": null,
"filter": null,
"firmwarerevision": null,
"group": null,
"grpchealthcheck": "NO",
"grpcservicename": null,
"grpcstatuscode": null,
"hostipaddress": null,
"hostname": null,
"httprequest": null,
"inbandsecurityid": null,
"interval": 15,
"ipaddress": null,
"iptunnel": "NO",
"kcdaccount": null,
"lasversion": null,
"lbmonitor_metric_binding": null,
"lbmonitor_sslcertkey_binding": null,
"logonpointname": null,
"lrtm": null,
"maxforwards": 1.0,
"metric": null,
"metrictable": null,
"metricthreshold": null,
"metricweight": null,
"monitorname": "test-monitor1",
"mqttclientidentifier": null,
"mqttversion": 4.0,
"mssqlprotocolversion": null,
"netprofile": null,
"nitro_auth_token": "VALUE_SPECIFIED_IN_NO_LOG_PARAMETER",
"nitro_pass": null,
"nitro_protocol": "https",
"nitro_user": null,
"nsip": "10.133.254.35",
"oraclesid": null,
"originhost": null,
"originrealm": null,
"password": null,
"productname": null,
"query": null,
"querytype": null,
"radaccountsession": null,
"radaccounttype": 1.0,
"radapn": null,
"radframedip": null,
"radkey": null,
"radmsisdn": null,
"radnasid": null,
"radnasip": null,
"recv": null,
"respcode": null,
"resptimeout": 2,
"resptimeoutthresh": null,
"retries": 20,
"reverse": "NO",
"rtsprequest": null,
"save_config": false,
"scriptargs": null,
"scriptname": null,
"secondarypassword": null,
"secure": "NO",
"secureargs": null,
"send": null,
"servicegroupname": null,
"servicename": null,
"sipmethod": null,
"sipreguri": null,
"sipuri": null,
"sitepath": null,
"snmpcommunity": null,
"snmpthreshold": null,
"snmpversion": null,
"sqlquery": null,
"sslprofile": null,
"state": "present",
"storedb": "DISABLED",
"storefrontacctservice": "YES",
"storefrontcheckbackendservices": "NO",
"storename": null,
"successretries": 1,
"supportedvendorids": null,
"tos": null,
"tosid": null,
"transparent": "NO",
"trofscode": null,
"trofsstring": null,
"type": "TCP",
"units1": "SEC",
"units2": "SEC",
"units3": "SEC",
"units4": "SEC",
"username": null,
"validate_certs": false,
"validatecred": "NO",
"vendorid": null,
"vendorspecificacctapplicationids": null,
"vendorspecificauthapplicationids": null,
"vendorspecificvendorid": null
}
},
"loglines": [
"DEBUG: Initializing ModuleExecutor for resource lbmonitor",
"TRACE: ENTRY: get_valid_desired_states() called with ('lbmonitor',), {}",
"TRACE: EXIT: get_valid_desired_states() returned {'present', 'absent', 'enabled', 'disabled'}",
"TRACE: ENTRY: get_netscaler_version() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>,), {}",
"TRACE: ENTRY: get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>, 'nsversion'), {}",
"TRACE: ENTRY: send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>, 'GET', 'https://10.133.254.35/nitro/v1/config/nsversion'), {}",
"DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7f57a4c01850>, 'check_mode': False, 'api_path': 'nitro/v1/config', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'Cookie': 'NITRO_AUTH_TOKEN=********'}}",
"DEBUG: fetch_url()-resonse-info={'url': 'https://10.133.254.35/nitro/v1/config/nsversion', 'status': 200, 'date': 'Thu, 30 Nov 2023 13:09:10 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: send() returned (200, {'errorcode': 0, 'message': 'Done', 'severity': 'NONE', 'nsversion': {'installedversion': False, 'version': 'NetScaler NS13.1: Build 42.47.nc, Date: Feb 22 2023, 08:08:13 (64-bit)', 'mode': '1'}})",
"TRACE: EXIT: get_resource() returned [{'installedversion': False, 'version': 'NetScaler NS13.1: Build 42.47.nc, Date: Feb 22 2023, 08:08:13 (64-bit)', 'mode': '1'}]",
"TRACE: EXIT: get_netscaler_version() returned (13.1, 42.47)",
"INFO: NetScaler version: 13.1-42.47",
"DEBUG: All params (including non module-specific params) are: {'nsip': '10.133.254.35', 'nitro_auth_token': '********', 'validate_certs': False, 'state': 'present', 'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'nitro_protocol': 'https', 'save_config': False, 'api_path': 'nitro/v1/config', 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO', 'nitro_user': None, 'nitro_pass': None, 'Snmpoid': None, 'acctapplicationid': None, 'alertretries': None, 'application': None, 'attribute': None, 'authapplicationid': None, 'basedn': None, 'binddn': None, 'customheaders': None, 'database': None, 'destip': None, 'destport': None, 'deviation': None, 'dispatcherip': None, 'dispatcherport': None, 'domain': None, 'evalrule': None, 'failureretries': None, 'filename': None, 'filter': None, 'firmwarerevision': None, 'group': None, 'grpcservicename': None, 'grpcstatuscode': None, 'hostipaddress': None, 'hostname': None, 'httprequest': None, 'inbandsecurityid': None, 'ipaddress': None, 'kcdaccount': None, 'lasversion': None, 'lbmonitor_metric_binding': None, 'lbmonitor_sslcertkey_binding': None, 'logonpointname': None, 'lrtm': None, 'metric': None, 'metrictable': None, 'metricthreshold': None, 'metricweight': None, 'mqttclientidentifier': None, 'mssqlprotocolversion': None, 'netprofile': None, 'oraclesid': None, 'originhost': None, 'originrealm': None, 'password': None, 'productname': None, 'query': None, 'querytype': None, 'radaccountsession': None, 'radapn': None, 'radframedip': None, 'radkey': None, 'radmsisdn': None, 'radnasid': None, 'radnasip': None, 'recv': None, 'respcode': None, 'resptimeoutthresh': None, 'rtsprequest': None, 'scriptargs': None, 'scriptname': None, 'secondarypassword': None, 'secureargs': None, 'send': None, 'servicegroupname': None, 'servicename': None, 'sipmethod': None, 'sipreguri': None, 'sipuri': None, 'sitepath': None, 'snmpcommunity': None, 'snmpthreshold': None, 'snmpversion': None, 'sqlquery': None, 'sslprofile': None, 'storename': None, 'supportedvendorids': None, 'tos': None, 'tosid': None, 'trofscode': None, 'trofsstring': None, 'username': None, 'vendorid': None, 'vendorspecificacctapplicationids': None, 'vendorspecificauthapplicationids': None, 'vendorspecificvendorid': None}",
"TRACE: ENTRY: _filter_resource_module_params() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {}",
"DEBUG: Desired `lbmonitor` module specific params are: {'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO'}",
"TRACE: EXIT: _filter_resource_module_params() returned None",
"TRACE: ENTRY: _filter_desired_bindings() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {}",
"DEBUG: Desired `lbmonitor` module specific bindings are: []",
"TRACE: EXIT: _filter_desired_bindings() returned None",
"TRACE: ENTRY: get_existing_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {}",
"TRACE: ENTRY: get_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>,), {'resource_name': 'lbmonitor', 'resource_id': 'test-monitor1', 'args': {'type': 'TCP'}, 'filter': {}}",
"TRACE: ENTRY: send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>, 'GET', 'https://10.133.254.35/nitro/v1/config/lbmonitor/test-monitor1?args=type:TCP'), {}",
"DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7f57a4c01850>, 'check_mode': False, 'api_path': 'nitro/v1/config', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'Cookie': 'NITRO_AUTH_TOKEN=********'}}",
"DEBUG: fetch_url()-resonse-info={'url': 'https://10.133.254.35/nitro/v1/config/lbmonitor/test-monitor1?args=type:TCP', 'status': 404, 'date': 'Thu, 30 Nov 2023 13:09:12 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': '101', 'content-type': 'application/json; charset=utf-8', 'connection': 'close', 'msg': 'HTTP Error 404: Not Found', 'body': b'{ \"errorcode\": 258, \"message\": \"No such resource [monitorName, test-monitor1]\", \"severity\": \"ERROR\" }'}",
"TRACE: EXIT: send() returned (404, {'errorcode': 258, 'message': 'No such resource [monitorName, test-monitor1]', 'severity': 'ERROR'})",
"TRACE: EXIT: get_resource() returned []",
"TRACE: EXIT: get_existing_resource() returned {}",
"TRACE: ENTRY: main() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {}",
"TRACE: ENTRY: create_or_update() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {}",
"TRACE: ENTRY: update_diff_list() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>,), {'existing': {}, 'desired': {'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO'}}",
"TRACE: EXIT: update_diff_list() returned None",
"INFO: Resource lbmonitor:test-monitor1 does not exist. Will be CREATED.",
"TRACE: ENTRY: create_resource() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>, 'lbmonitor', {'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO'}), {}",
"TRACE: ENTRY: _check_create_resource_params() called with ('lbmonitor', {'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO'}), {}",
"TRACE: EXIT: _check_create_resource_params() returned (True, None, {'monitorname': 'test-monitor1', 'type': 'TCP', 'interval': 15, 'retries': 20, 'action': 'DOWN', 'downtime': 30, 'grpchealthcheck': 'NO', 'iptunnel': 'NO', 'maxforwards': 1.0, 'mqttversion': 4.0, 'radaccounttype': 1.0, 'resptimeout': 2, 'reverse': 'NO', 'secure': 'NO', 'storedb': 'DISABLED', 'storefrontacctservice': 'YES', 'storefrontcheckbackendservices': 'NO', 'successretries': 1, 'transparent': 'NO', 'units1': 'SEC', 'units2': 'SEC', 'units3': 'SEC', 'units4': 'SEC', 'validatecred': 'NO'})",
"TRACE: ENTRY: send() called with (<ansible_collections.netscaler.adc.plugins.module_utils.client.NitroAPIClient object at 0x7f57a5075d00>, 'POST', 'https://10.133.254.35/nitro/v1/config/lbmonitor', '{\"lbmonitor\": {\"monitorname\": \"test-monitor1\", \"type\": \"TCP\", \"interval\": 15, \"retries\": 20, \"action\": \"DOWN\", \"downtime\": 30, \"grpchealthcheck\": \"NO\", \"iptunnel\": \"NO\", \"maxforwards\": 1.0, \"mqttversion\": 4.0, \"radaccounttype\": 1.0, \"resptimeout\": 2, \"reverse\": \"NO\", \"secure\": \"NO\", \"storedb\": \"DISABLED\", \"storefrontacctservice\": \"YES\", \"storefrontcheckbackendservices\": \"NO\", \"successretries\": 1, \"transparent\": \"NO\", \"units1\": \"SEC\", \"units2\": \"SEC\", \"units3\": \"SEC\", \"units4\": \"SEC\", \"validatecred\": \"NO\"}}'), {}",
"DEBUG: self={'_module': <ansible.module_utils.basic.AnsibleModule object at 0x7f57a4c01850>, 'check_mode': False, 'api_path': 'nitro/v1/config', '_headers': {'Content-Type': 'application/json', 'User-Agent': 'ansible-ctxadc', 'Cookie': 'NITRO_AUTH_TOKEN=********'}}",
"DEBUG: fetch_url()-resonse-info={'url': 'https://10.133.254.35/nitro/v1/config/lbmonitor', 'status': 400, 'date': 'Thu, 30 Nov 2023 13:09:14 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': '106', 'connection': 'close', 'content-type': 'application/json; charset=utf-8', 'msg': 'HTTP Error 400: Bad Request', 'body': b'{ \"errorcode\": 1093, \"message\": \"Argument pre-requisite missing [units, deviation]\", \"severity\": \"ERROR\" }'}",
"TRACE: EXIT: send() returned (400, {'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'})",
"TRACE: ENTRY: return_response() called with (), {'status_code': 400, 'response_body': {'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}, 'operation': 'create_resource', 'resource_name': 'lbmonitor'}",
"ERROR: create_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}",
"TRACE: EXIT: return_response() returned (False, \"ERROR: create_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}\")",
"TRACE: EXIT: create_resource() returned (False, \"ERROR: create_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}\")",
"TRACE: ENTRY: return_failure() called with (<ansible_collections.netscaler.adc.plugins.module_utils.module_executor.ModuleExecutor object at 0x7f57a5029190>, \"ERROR: create_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}\"), {}"
],
"msg": "ERROR: create_resource FAILED; status_code: 400; Reason:{'errorcode': 1093, 'message': 'Argument pre-requisite missing [units, deviation]', 'severity': 'ERROR'}"
}
Additioinal Notes
No response
sumanth-lingappa commented
This issue is fixed in the latest release 2.1.0
. Please check and update the issue accordingly.
pkodzis commented
ack - it's resolved in 2.1.0. thank you so much! :)