Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-19555

`inventory_mode` not returned anymore in API call `host.get` since upgrade to 5.4

XMLWordPrintable

    • Sprint 77 (Jun 2021), Sprint 78 (Jul 2021)
    • 0.25

      Result:

      When quering zabbix server 5.2.6 then `inventory_mode` is returned:

       + curl -s -X POST -H 'Content-Type: application/json-rpc' -d ' {
       "jsonrpc": "2.0",
       "method": "host.get",
       "params": {
       "output": "extend",
       "selectInventory": "extend",
       "selectMacros": "extend",
       "selectTags": "extend",
       "filter":
      
      { "host": "hostname" }
      
      },
       "auth": "<omitted>",
       "id": 1
       }
       ' [https://zabbix-server-5.2/api_jsonrpc.php]
       + jq -r .result
       [
      
      { "hostid": "host-id", "proxy_hostid": "0", "host": "hostname", "status": "0", "disable_until": "0", "error": "", "available": "0", "errors_from": "0", "lastaccess": "0", "ipmi_authtype": "-1", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "ipmi_disable_until": "0", "ipmi_available": "0", "snmp_disable_until": "0", "snmp_available": "0", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "ipmi_errors_from": "0", "snmp_errors_from": "0", "ipmi_error": "", "snmp_error": "", "jmx_disable_until": "0", "jmx_available": "0", "jmx_errors_from": "0", "jmx_error": "", "name": "hostname", "flags": "0", "templateid": "0", "description": "", "tls_connect": "1", "tls_accept": "1", "tls_issuer": "", "tls_subject": "", "tls_psk_identity": "", "tls_psk": "", "proxy_address": "", "auto_compress": "1", "discover": "0", "custom_interfaces": "0", "inventory_mode": "-1", "macros": [], "tags": [], "inventory": [] }
      
      ]
      

      When making same query to 5.4.1 server, `host.get` api call won't return `inventory_mode` parameter.

       + curl -s -X POST -H 'Content-Type: application/json-rpc' -d ' {
       "jsonrpc": "2.0",
       "method": "host.get",
       "params": {
       "output": "extend",
       "selectInventory": "extend",
       "selectMacros": "extend",
       "selectTags": "extend",
       "filter":
      
      { "host": "hostname" }
      
      },
       "auth": "<omitted>",
       "id": 1
       }
       ' [https://zabbix-server-5.4/api_jsonrpc.php]
       [
      
      { "hostid": "host-id", "proxy_hostid": "0", "host": "hostname", "status": "0", "lastaccess": "0", "ipmi_authtype": "2", "ipmi_privilege": "2", "ipmi_username": "", "ipmi_password": "", "maintenanceid": "0", "maintenance_status": "0", "maintenance_type": "0", "maintenance_from": "0", "name": "hostname", "flags": "0", "templateid": "0", "description": "", "tls_connect": "4", "tls_accept": "4", "tls_issuer": "", "tls_subject": "", "proxy_address": "", "auto_compress": "1", "discover": "0", "custom_interfaces": "0", "uuid": "", "macros": [], "tags": [], "inventory": [] }
      
      ]
      

      Expected:

       `host.get` method should always return `inventory_mode` parameter with current value that host is set with.
      

      Comments:
      This current behavior has already broken (community.zabbix)https://github.com/ansible-collections/community.zabbix/issues/385 playbook.

      These changes are not reflected in (documentation)https://www.zabbix.com/documentation/current/manual/api/changes_5.4

      Was this change intended or is this some bug?

            jfreibergs Janis Freibergs
            tambetliiv Tambet Liiv
            Team B
            Votes:
            1 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: