Skip to content

Tenant cannot be removed because of Request Adapt profile dependency #941

@seamlessfirework

Description

@seamlessfirework

Environment

  • Application Services Version: 3.55
  • BIG-IP Version: 17.5.1.3

Summary

I deploy an ICAP VS in /Common/Shared, including ICAP and Request Adapt profile. When I try to delete the whole tenant it says that it cannot be removed because

"response": "0107160c:3: Virtual server '/Common/Shared/vs-internal-icap' is referenced by request-adapt profile '/Common/Shared/profile-requestadapt-custom'."

I checked the Request Adapt profile section after and it has been deleted in the GUI and it has beend deleted though. A second try to delete the AS3 /Common/Shared tenant is successful.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Submit the following declaration:
{
  "$schema": "https://raw.githubusercontent.com/F5Networks/f5-appsvcs-extension/main/schema/latest/as3-schema.json",
  "class": "AS3",
  "action": "deploy",
  "persist": true,
  "declaration": {
    "class": "ADC",
    "schemaVersion": "3.55.0",
    "remark": "",
    "Common": {
      "class": "Tenant",
      "Shared": {
        "class": "Application",
        "template": "shared",
        "acme-challenge": {
          "class": "Data_Group",
          "keyDataType": "string",
          "storageType": "internal",
          "records": []
        },
        "vs-internal-icap": {
          "class": "Service_TCP",
          "remark": "ICAP",
          "virtualType": "internal",
          "sourceAddress": "0.0.0.0/0",
          "profileTCP": "normal",
          "pool": {
            "use": "pool-tcp1344-icap-internal"
          },
          "profileICAP": {
            "use": "profile-icap-custom"
          }
        },
        "profile-icap-custom": {
          "class": "ICAP_Profile",
          "uri": "icap://${SERVER_IP}:${SERVER_PORT}/reqmod",
          "previewLength": 0
        },
        "profile-requestadapt-custom": {
          "class": "Adapt_Profile",
          "messageType": "request",
          "internalService": {
            "use": "vs-internal-icap"
          }
        },
        "pool-tcp1344-icap-internal": {
          "class": "Pool",
          "minimumMembersActive": 0,
          "monitors": [
            {
              "bigip": "/Common/tcp"
            }
          ],
          "minimumMonitors": 1,
          "members": [
            {
              "shareNodes": true,
              "servicePort": 1344,
              "servers": [
                {
                  "address": "1.2.3.4"
                }
              ]
            }
          ]
        }
      }
    }
  }
}
  1. Observe the following error response:
ERROR: appsvc task failed: 422
{
  "id": "a1293412-c639-4f0e-897b-c4f0acb13c9e",
  "results": [
    {
      "code": 422,
      "message": "declaration failed",
      "response": "0107160c:3: Virtual server '/Common/Shared/vs-internal-icap' is referenced by request-adapt profile '/Common/Shared/profile-requestadapt-custom'.",
      "host": "localhost",
      "tenant": "Common",
      "runTime": 5386,
      "declarationId": "tenant_name"
    },

Expected Behavior

I would expect that the Request Adapt profile is being deleted at first after the VS is being removed.

Actual Behavior

It seems to me that the Request Adapt profile is being deleted before the VS is being removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinguntriagedIssue needs to be reviewed for validity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions