For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Robin2113's avatar
Robin2113
Icon for Nimbostratus rankNimbostratus
Nov 09, 2024

F5 - AS3 - BIGIQ / BIGIP SchemaVersion Missunderstanding

Dear community, 

 

 I was wondering about the AS3 version currently used in order to deploy my AS3 on my BIG-IP target through BIG-IQ.

BIG-IQ should install this current AS3 version on F5 BIG-IP target when deploying AS3 declaration.

 

Checking on my BIG-IQ, 3.44.0

curl -sk -H "Content-Type: application/json" -H "X-F5-Auth-Token: $TOKEN" -X GET "https://$BIGIQ/mgmt/shared/appsvcs/info"
{"version":"3.44.0","release":"3","schemaCurrent":"3.44.0","schemaMinimum":"3.0.0"}  

Checking on my F5 BIG-IP, v 3.44.0

 #pwd
/var/config/rest/iapps/f5-appsvcs
# cat version 
3.44.0-3

 

My current AS3 declaration (I'm manually forcing schemaVersion) through BIG-IQ : 

 {
    "class": "AS3",
    "action": "patch",
    "schemaVersion": "3.44.0",
    "patchBody": [
      {
        "class": "ADC",
        "schemaVersion": "3.44.0",
        "target": {
          "address": "X.X.X.X"
        },
        "op": "add",
        "path": "/Automation/APP_TEST_1.2.12.140_446",
        "value": {
          "class": "Application",
          "remark": "REFERENCE : NULL_REFERENCE_20241109215237",
          "schemaOverlay": "AS3-F5-HTTPS-PASSTHROUGH-lb-template-big-iq",

.... etc }

 

 

Application Deployment logs from my BIG-IQ :

At the bottom : "schemaVersion": "3.12.0"

I don't understand why it's using this older schemaVersion, it should use the current 3.44.0. Is there any policy on BIG-IQ that can enforce this weird behavior ? 

 

{
    "id": "autogen_a4c95a0f-13e3-4078-92c3-3a8e6ea6f10c",
    "class": "ADC",
    "controls": {
        "class": "Controls",
        "userAgent": "BIG-IQ/8.3 Configured by API"
    },
    "Automation": {
        "class": "Tenant",
        "APP_TEST_1.2.12.140_446": {
            "class": "Application",
            "remark": "REFERENCE : NULL_REFERENCE_20241109215237",
            "template": "tcp",
            "serviceMain": {
                "pool": "/Automation/APP_TEST_1.2.12.140_446/HTTPS_443_pool",
                "class": "Service_TCP",
                "enable": true,
                "profileTCP": {
                    "use": "/Automation/APP_TEST_1.2.12.140_446/HTTPS_443_tcp_profile"
                },
                "virtualPort": 446,
                "virtualAddresses": [
                    "1.2.12.140"
                ],
                "persistenceMethods": [
                    "source-address"
                ],
                "profileAnalyticsTcp": {
                    "use": "/Automation/APP_TEST_1.2.12.140_446/Analytics_TCP_Profile"
                }
            },
            "HTTPS_443_pool": {
                "class": "Pool",
                "members": [
                    {
                        "adminState": "enable",
                        "shareNodes": true,
                        "servicePort": 443,
                        "serverAddresses": [
                            "1.2.12.13"
                        ]
                    }
                ],
                "monitors": [
                    {
                        "use": "/Automation/APP_TEST_1.2.12.140_446/HTTPS_443_monitor"
                    }
                ],
                "loadBalancingMode": "least-connections-member"
            },
            "HTTPS_443_monitor": {
                "send": "GET /\r\n",
                "class": "Monitor",
                "receive": "none",
                "targetPort": 443,
                "monitorType": "http",
                "adaptiveWindow": 180,
                "adaptiveLimitMilliseconds": 1000,
                "adaptiveDivergencePercentage": 100
            },
            "Analytics_TCP_Profile": {
                "class": "Analytics_TCP_Profile",
                "collectCity": false,
                "collectRegion": true,
                "collectCountry": true,
                "collectNexthop": false,
                "collectPostCode": false,
                "collectContinent": true,
                "collectRemoteHostIp": false,
                "collectedByClientSide": true,
                "collectedByServerSide": true,
                "collectRemoteHostSubnet": true
            },
            "HTTPS_443_tcp_profile": {
                "class": "TCP_Profile",
                "synMaxRetrans": 3,
                "finWaitTimeout": 5
            }
        }
    },
    "updateMode": "selective",
    "schemaVersion": "3.12.0"
}

 

 

Thanks in advance for your help ! 

No RepliesBe the first to reply