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

Support hash as persistenceMethod

Open lukaszbrzosko opened this issue 3 years ago • 1 comments

Environment

Application Services Version: 3.30.0 BIG-IP Version: 16.1.0

Summary

Hash persistence used in VS config gives error while declaration is deployed.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
    "class": "ADC",
    "schemaVersion": "3.31.0",
    "id": "urn:uuid:333b1fbe-20b1-49f2-83a4-1d8ca20525bf",
    "label": "Converted Declaration",
    "remark": "Auto-generated by AS3 Config Converter",
    "tenant_6": {
        "class": "Tenant",
        "application_6": {
            "class": "Application",
            "template": "generic",
            "seacm3-control-https": {
                "members": [
                    {
                        "addressDiscovery": "fqdn",
                        "hostname": "master07.com",
                        "servicePort": 6443
                    },
                    {
                        "addressDiscovery": "fqdn",
                        "hostname": "master08.com",
                        "servicePort": 6443
                    },
                    {
                        "addressDiscovery": "fqdn",
                        "hostname": "master09.com",
                        "servicePort": 6443
                    }
                ],
                "monitors": [
                    {
                        "bigip": "/Common/https"
                    }
                ],
                "class": "Pool"
            },
            "dex-test": {
                "layer4": "tcp",
                "persistenceMethods": [
                    "hash"
                ],
                "pool": "scontrol-https",
                "translateServerAddress": true,
                "translateServerPort": true,
                "class": "Service_TCP",
                "profileTCP": {
                    "bigip": "/Common/tcp"
                },
                "virtualAddresses": [
                    "10.1.1.1"
                ],
                "virtualPort": 443,
                "snat": "auto"
            }
        }
    }
}
  1. Observe the following error response:
{
  "code": 422,
  "errors": [
    "/tenant_6/application_6/dex-test/persistenceMethods/0: should be equal to one of the allowed values [\"cookie\",\"destination-address\",\"msrdp\",\"source-address\",\"tls-session-id\"]"
  ],
  "declarationFullId": "",
  "message": "declaration is invalid"
}

Expected Behavior

Declaration deployed.

Actual Behavior

Error in attempt to deploy this declaration. Once persistence is change for example to source-address deployment works.

lukaszbrzosko avatar Oct 19 '21 10:10 lukaszbrzosko

I am not sure why hash is not in the list of supported strings, but this is more of a feature request than a bug.

In the meantime, you can define your own persistence object to enable hash based persistence: https://clouddocs.f5.com/products/extensions/f5-appsvcs-extension/latest/declarations/http-services.html#http-with-custom-persistence

dstokesf5 avatar Nov 12 '21 22:11 dstokesf5