Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Renaming a pool object without renaming its reference #93

Open
wiksla opened this issue Oct 13, 2022 · 2 comments
Open

Renaming a pool object without renaming its reference #93

wiksla opened this issue Oct 13, 2022 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@wiksla
Copy link

wiksla commented Oct 13, 2022

Environment

  • ACC Version: 1.23.0
  • AS3 Version: 3.23.0
  • BIG-IP Version: any

Summary

ACC renames a pool, but doesn't rename a reference inside another object.

The configs are redacted and shared privately

Steps To Reproduce

Steps to reproduce the behavior:

  1. Convert a config containing following:
ltm profile request-log /tenant_2/application_2/telemetry {
    request-log-pool /tenant_2/application_2/telemetry
}
ltm pool /tenant_2/application_2/telemetry {
    members {
        /tenant_2/application_2/<ip>:<port> {
            address <ip>
        }
    }
    monitor /Common/tcp
}
ltm virtual /tenant_2/application_2/web_app_backend_vs {
    profiles {
        /Common/tcp { }
        /tenant_2/application_2/telemetry { }
    }
}
  1. Observe the following output:
{
  "class": "ADC",
  "schemaVersion": "3.23.0",
  "id": "urn:uuid:ed727482-7f02-4858-ac1b-2ee979254366",
  "label": "Converted Declaration",
  "remark": "Generated by JOURNEYS",
  "tenant_2": {
    "class": "Tenant",
    "application_2": {
      "class": "Application",
      "template": "generic",
      "pool_telemetry_dup": {
        "class": "Pool",
        "members": [
          {
            "shareNodes": true,
            "servicePort": <port>,
            "serverAddresses": [
              "<ip>"
            ],
            "addressDiscovery": "static"
          }
        ],
        "monitors": [
          {
            "bigip": "/Common/tcp"
          }
        ]
      },
      "profile_telemetry_dup": {
        "class": "Traffic_Log_Profile",
        "parentProfile": {
          "bigip": "/Common/request-log"
        },
        "requestSettings": {
          "requestPool": {
            "use": "/tenant_2/application_2/telemetry"
          }
      },
      "web_app_backend_vs": {
        "pool": "pool_backend",
        "class": "Service_TCP",
        "profileTrafficLog": {
          "use": "/tenant_2/application_2/profile_telemetry_dup"
        },
      }
    }
  }
}

Expected Behavior

Correct reference to pool_telemetry_dup within profile_telemetry_dup/requestSettings/requestPool/use

Actual Behavior

          "requestPool": {
            "use": "/tenant_2/application_2/telemetry"
          },
@wiksla wiksla added the bug Something isn't working label Oct 13, 2022
@mdditt2000 mdditt2000 self-assigned this Oct 14, 2022
@mdditt2000
Copy link

@wiksla please reach out to me [email protected] so i can understand you conversion/migration and prioritize this bug

@azahajkiewicz
Copy link

Hi Mark, in the classic config there is a profile and a pool named with the same name: telemetry.
Because of that, ACC renamed those objects by adding: {classType}_telemetry_dup.
While renaming class names, one reference was not updated (requestPool), so we ended up with:

"pool_telemetry_dup": {.        <----- updated name
        "class": "Pool",
        "members": [
          {
            "shareNodes": true,
            "servicePort": 6666,
            "serverAddresses": [
              "255.255.255.254"
            ],
            "addressDiscovery": "static"
         }
      },
      ...
      "profile_telemetry_dup": {.          <------ updated name
        "class": "Traffic_Log_Profile",
        "parentProfile": {
          "bigip": "/Common/request-log"
        },
        "requestSettings": {
          "requestPool": {
            "use": "/tenant_2/application_2/telemetry".       <------- old name!
          },
          "requestEnabled": false,
        ...
        }
      },
       ...
      "xxxxxxxxxxxx_vs": {
        "pool": "xxxxxx",
        "snat": "auto",
        "class": "Service_TCP",
        "layer4": "tcp",
        "profileTCP": {
          "bigip": "/Common/tcp"
        },
        "virtualPort": 8080,
        "virtualAddresses": [
          "10.10.10.10"
        ],
        "profileTrafficLog": {
          "use": "/tenant_2/application_2/profile_telemetry_dup".     <------ updated name
        },
        "translateServerPort": true,
        "translateServerAddress": true
      }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants