f5-appsvcs-extension icon indicating copy to clipboard operation
f5-appsvcs-extension copied to clipboard

GSLB_Server_Device property in GSLB_Server class doesn´t honor "name" property

Open ustrum opened this issue 3 years ago • 3 comments

Environment

  • Application Services Version: 3.36.1
  • BIG-IP Version: BIG-IP 15.1.5 Build 0.0.10 Final

Summary

When submitting a request to create a new GSLB_Server, the devices property is an array of GSLB_Server_Device. In the doc it is not referenced but the name property is accepted by the GSLB_Server_Device class, although it is not working as expected: it is simply ignored and the index of the device in the provided list is used as name for the device.

This means I can´t actually name devices under a given server, as they get a meaningless number as name instead.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
    "class": "ADC",
    "schemaVersion": "3.36.0",
    "Common": {
        "class": "Tenant",
        "Shared": {
            "class": "Application",
            "template": "shared",
            "TEST_SERVER": {
                "class": "GSLB_Server",
                "dataCenter": {
                    "bigip": "/Common/EXISTING_DC"
                },
                "devices": [
                    {
                        "address": "33.32.31.1",
                        "name": "TEST_NAME_FOR_DEVICE"
                    }
                ],
                "serverType": "generic-host"
            }

        }
    }
}
  1. Observe the following error response:
{
    "results": [
        {
            "code": 200,
            "message": "success",
            "lineCount": 19,
            "host": "localhost",
            "tenant": "Common",
            "runTime": 2751
        },
        {
            "code": 200,
            "message": "no change",
            "host": "localhost",
            "tenant": "Common",
            "runTime": 1605
        }
    ],
    "declaration": {
        "class": "ADC",
        "schemaVersion": "3.36.0",
        "Common": {
            "class": "Tenant",
            "Shared": {
                "class": "Application",
                "template": "shared",
                "TEST_SERVER": {
                    "class": "GSLB_Server",
                    "dataCenter": {
                        "bigip": "/Common/ACI_LABO_EMEA"
                    },
                    "devices": [
                        {
                            "address": "33.32.31.1",
                            "name": "TEST_NAME_FOR_DEVICE"
                        }
                    ],
                    "serverType": "generic-host"
                }
            }
        },
        "id": "autogen_900e80fe-16ad-42c3-a128-7b7ae4623cba",
        "updateMode": "selective",
        "controls": {
            "archiveTimestamp": "2022-09-22T09:37:56.918Z"
        }
    }
}

Expected Behavior

A server named TEST_SERVER is created in the Common partition, containing a device named TEST_NAME_FOR_DEVICE, with IP address 33.32.31.1

Actual Behavior

A server named TEST_SERVER is created in the Common partition, containing a device named 0, with IP address 33.32.31.1:

(cfg-sync Standalone)(Active)(/Common)(tmos)# list gtm server /Common/TEST_SERVER
gtm server TEST_SERVER {
    addresses {
        33.32.31.1 {
            device-name 0
        }
    }
    datacenter ACI_LABO_EMEA
    devices {
        0 {
            addresses {
                33.32.31.1 { }
            }
        }
    }
    metadata {
        as3 { }
    }
    monitor bigip
    product generic-host
}

ustrum avatar Sep 22 '22 09:09 ustrum

HI @ustrum, as of now we do not support "name" property for the gslb_Server object. Please find this document for supported schema details: https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/refguide/schemaref/GSLB_Server.schema.json.html

In case, if you need this to be added, please create a new feature request. Thank you.

sunitharonan avatar Sep 22 '22 16:09 sunitharonan

HI @ustrum, as of now we do not support "name" property for the gslb_Server object. Please find this document for supported schema details: https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/refguide/schemaref/GSLB_Server.schema.json.html

In case, if you need this to be added, please create a new feature request. Thank you.

If the property name isn´t supported, wouldn´t it be better to reject the request as non-compliant with the schema?

ustrum avatar Sep 22 '22 21:09 ustrum

Is there an ETA on when this bug will be fixed? Thanks in advance.

npmaslow avatar Oct 31 '23 16:10 npmaslow