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

no handling for "keep-alive-interval disabled" in fastl4 profile #69

Closed
mnaumiuk opened this issue Oct 26, 2021 · 4 comments
Closed

no handling for "keep-alive-interval disabled" in fastl4 profile #69

mnaumiuk opened this issue Oct 26, 2021 · 4 comments
Labels
bug Something isn't working jira Jira created for this issue
Milestone

Comments

@mnaumiuk
Copy link

Environment

  • Application Services Version: f5-appsvcs-3.31.0-6.noarch
  • BIG-IP Version: 15.1.3.1

Summary

For fastl4 profile with "keep-alive-interval disabled" validation error "['/tenant_3/application_3/fastL4.FW_3.profile/keepAliveInterval: should be integer']" is returned.

Steps To Reproduce

Steps to reproduce the behavior:

  1. Convert following config:
    app-service none
    defaults-from /Common/fastL4
    hardware-syn-cookie enabled
    idle-timeout 28800
    ip-tos-to-client pass-through
    ip-tos-to-server pass-through
    keep-alive-interval disabled. <----------
...
  1. Observe the following error message:
iControl REST error: code: 422, message: declaration is invalid, errors: ['/tenant_3/application_3/fastL4.FW_3.profile/keepAliveInterval: should be integer']

The default value for fastl4 profile "keep-alive-interval" is disabled.
*The default value (disabled) is not present in the config from the beginning, but if this value is changed to a different value and changed back to 0/disabled, then "keep-alive-interval disabled" is present in the config.

Reproduced by modifying keep-alive-interval for fastl4 profile:

root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm profile fastl4 keep_allive_test keep-alive-interval
ltm profile fastl4 keep_allive_test {
    keep-alive-interval 1
}
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify ltm profile fastl4 keep_allive_test keep-alive-interval 0
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm profile fastl4 keep_allive_test keep-alive-interval
ltm profile fastl4 keep_allive_test {
    keep-alive-interval disabled
}
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)#
[root@bigip_as3:Active:Standalone] config # grep "/Common/keep_allive_test" -A3 bigip.conf
ltm profile fastl4 /Common/keep_allive_test {
    app-service none
    keep-alive-interval disabled
}
[root@bigip_as3:Active:Standalone] config #

Additionally, it seems that this is specific to (at least) fastl4 profile, for example, the tcp profile cannot take value "disabled" but "0":

root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm profile tcp keep_allive_testtcp keep-alive-interval
ltm profile tcp keep_allive_testtcp {
    keep-alive-interval 1
}
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify ltm profile tcp keep_allive_testtcp keep-alive-interval disabled
Data Input Error: "keep-alive-interval":"disabled" integer value is out of range
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# modify ltm profile tcp keep_allive_testtcp keep-alive-interval 0
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)# list ltm profile tcp keep_allive_testtcp keep-alive-interval
ltm profile tcp keep_allive_testtcp {
    keep-alive-interval 0
}
root@(bigip_as3)(cfg-sync Standalone)(Active)(/Common)(tmos)#

Expected Behavior

For fastl4 profile no error with "keep-alive-interval disabled"

Actual Behavior

/tenant_3/application_3/fastL4.FW_3.profile/keepAliveInterval: should be integer

@mnaumiuk mnaumiuk added the bug Something isn't working label Oct 26, 2021
@jszczepanskif5
Copy link

Just to clarify the expected behavior:
If keep-alive-interval is set to disabled in an ltm profile fastl4 object, set the AS3 keepAliveInterval value to 0.

@mdditt2000
Copy link

@jszczepanski correct! keepAliveInterval (integer) set the value to number of seconds between keep-alive probes. A value of 0 seconds disables the feature. ACC is indeed converting incorrectly

[2021-10-26T19:33:01.428Z] [INFO]: ACC METADATA {
  recognized: {
    'ltm profile fastl4 /Common/keep_allive_test': { 'app-service': 'none', 'keep-alive-interval': 'disabled' }
  },
  supported: {
    'ltm profile fastl4 /Common/keep_allive_test': { 'app-service': 'none', 'keep-alive-interval': 'disabled' }
  },
  unSupported: {},
  declarationInfo: {
    classes: { L4_Profile: 1 },
    maps: {
      applications: [ '/Common/Shared' ],
      objects: [ '/Common/Shared/keep_allive_test' ],
      tenants: [ '/Common' ]
    },
    total: 1
  }
}

After

{
    "class": "ADC",
    "schemaVersion": "3.30.0",
    "id": "urn:uuid:4e5adae1-b6e8-4dec-a980-1d2bdbed5ca1",
    "label": "Converted Declaration",
    "remark": "Auto-generated by AS3 Config Converter",
    "Common": {
        "class": "Tenant",
        "Shared": {
            "class": "Application",
            "template": "shared",
            "keep_allive_test": {
                "keepAliveInterval": "disabled",  ------- Should be a (integer)
                "class": "L4_Profile"
            }
        }
    }
}

@mdditt2000
Copy link

Merge branch 'develop' into CHARON-508-fastl4-keep-alive-interval

@mdditt2000 mdditt2000 added this to the 1.16 milestone Oct 26, 2021
@mdditt2000 mdditt2000 added jira Jira created for this issue in progress and removed in progress labels Oct 26, 2021
@mdditt2000
Copy link

Merge branch 'CHARON-508-fastl4-keep-alive-interval' into 'develop'

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

No branches or pull requests

3 participants