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

Single letter tenants can't have custom persistence objects in same declaration

Open codatory opened this issue 3 years ago • 1 comments
trafficstars

Environment

  • Application Services Version: 3.36.0 - confirmed on 3.36.1
  • BIG-IP Version: 14.1.4.6 & 15.1.5.1

Summary

When declaring a tenant with a single-letter name and a custom persistence object the declaration fails with the error "serviceMain/persistenceMethods/0/use: contains an invalid path (invalid character)". This declaration passes schema validation. Adding a letter to the name or removing the custom persistence object (including using the built-in objects) works fine.

This is obviously easily worked around.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
  "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/master/schema/latest/as3-schema.json",
  "class": "AS3",
  "action": "deploy",
  "persist": true,
  "declaration": {
    "class": "ADC",
    "schemaVersion": "3.36.0",
    "id": "urn:uuid:33045210-3ab8-4636-9b2a-c98d22ab915d",
    "label": "F",
    "remark": "Example HTTP application with RR pool",
    "F": {
      "class": "Tenant",
      "A1": {
        "class": "Application",
        "template": "http",
        "serviceMain": {
          "class": "Service_HTTP",
          "virtualAddresses": [
            "192.0.2.99"
          ],
          "persistenceMethods": [
              {"use": "source-ip"}
          ],
          "pool": "web_pool"
        },
        "source-ip": {
            "class": "Persist",
            "persistenceMethod": "source-address"
        },
        "web_pool": {
          "class": "Pool",
          "monitors": [
            "http"
          ],
          "members": [
            {
              "servicePort": 80,
              "serverAddresses": [
                "192.168.1.10",
                "192.168.1.11"
              ]
            }
          ]
        }
      }
    }
  }
}
  1. Observe the following error response:
{
    "id": "d9491540-6829-484d-90cc-39ff83f821ae",
    "results": [
        {
            "code": 422,
            "errors": [
                "/F/A1/serviceMain/persistenceMethods/0/use: contains an invalid path (invalid character)"
            ],
            "declarationFullId": "",
            "message": "declaration is invalid"
        }
    ],
    "declaration": {}
}

Expected Behavior

Either the declaration fails schema validation or applies correctly.

Actual Behavior

Fails with a "declaration is invalid" error.

codatory avatar Jun 02 '22 13:06 codatory

Thank you for your feedback. I have added this issue to our internal product backlog as AUTOTOOL-3336.

dstokesf5 avatar Jun 23 '22 18:06 dstokesf5

Please contact us at  [email protected] so we can prioritize.

sunitharonan avatar Sep 13 '22 19:09 sunitharonan

This issue has been automatically closed because there has been no response to our request for more information from the original author. With only the information that is currently in the issue, we don't have enough information to take action. Please reach out if you have or find the answers we need so that we can investigate further.

github-actions[bot] avatar Oct 13 '22 19:10 github-actions[bot]

This has been resolved in the 3.41.0 release of AS3.

sunitharonan avatar Nov 15 '22 19:11 sunitharonan