Skip to content

Conversation

md-rafeek
Copy link

Type of Change

  • Bug fix
  • New feature
  • Breaking change
  • Documentation update

Description

Please include a summary of the changes and the related issue. Also, include relevant motivation and context.

Bug Fix: [Brief description of the bug fixed]
Root Cause (if applicable): [Explain what caused the bug]
Fix Implemented: [Describe the fix applied]

Enhancement: [Brief description of the improvement/enhancement made]
Enhancement Description: [Explain what was enhanced, why, and how]
Impact Area: [Mention which part of the system/codebase is affected]

Testing Done:

  • Manual testing
  • Unit tests
  • Integration tests

Test cases covered: [Mention test case IDs or brief points]

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules
  • All the sanity checks have been completed and the sanity test cases have been executed

Ansible Best Practices

  • Tasks are idempotent (can be run multiple times without changing state)
  • Variables and secrets are handled securely (e.g., using ansible-vault or environment variables)
  • Playbooks are modular and reusable
  • Handlers are used for actions that need to run on change

Documentation

  • All options and parameters are documented clearly.
  • Examples are provided and tested.
  • Notes and limitations are clearly stated.

Screenshots (if applicable)

Notes to Reviewers

@md-rafeek md-rafeek requested a review from madhansansel as a code owner July 15, 2025 06:22
suboptions:
device_type:
description: |
The type of device for which the feature template is applicable.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just fine-tuned, check and update..

                The category or name of the feature template to be applied.
                This defines the functional area of the configuration (For example, AAA, SSID, CleanAir).
                Only one feature template category can be specified per entry in this list.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

- RRM_FRA_CONFIGURATION
- RRM_GENERAL_CONFIGURATION
type: str
required: false
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

        required: true

if feature_templates is used, then template category is required..

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with out device type also can be used, but template_design field is mandatory

type: str
required: false
template_design:
description: |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fine-tuned.

            description: |
              A list of specific design names or IDs to apply within the chosen feature template category.
              These designs include various parameters and settings.
              If "Default Advanced SSID Design" is included in this list, it is comprehensive for SSID configuration,
              and no other template designs are typically needed for that specific SSID feature.
            type: list

what is "Default Advanced SSID Design" ? where do we need to include? What are the other options? Is it a choice?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default Advanced SSID Design is coming under ADVANCED_SSID_CONFIGURATION, in UI we cannot select any other design once selected this.

required: true
applicability_ssids:
description: |
A list of SSIDs to which this feature template applies.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

          A list of SSIDs to which this feature template applies.
          If "Default Advanced SSID Design" is selected for the 'template_design', this feature template
          will automatically apply to all SSIDs, regardless of this list's content.
          For example, ["SSID1", "SSID2"].

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

Copy link
Author

@md-rafeek md-rafeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed code review comments.

suboptions:
device_type:
description: |
The type of device for which the feature template is applicable.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

- RRM_FRA_CONFIGURATION
- RRM_GENERAL_CONFIGURATION
type: str
required: false
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

with out device type also can be used, but template_design field is mandatory

type: str
required: false
template_design:
description: |
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default Advanced SSID Design is coming under ADVANCED_SSID_CONFIGURATION, in UI we cannot select any other design once selected this.

required: true
applicability_ssids:
description: |
A list of SSIDs to which this feature template applies.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

@@ -29,6 +29,7 @@ class TestDnacNetworkWirelessProfileWorkflow(TestDnacModule):

test_data = loadPlaybookData("network_profile_wireless_workflow_manager")
profile_creation_config = test_data.get("profile_creation_config")

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add a testcase to test wireless profile with feature template on Catalyst Center version lower then 3.1.3.0 and validate the correct error message is reflected to the user.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the test case for version.

@@ -151,6 +151,50 @@
type: list
elements: str
required: false
feature_templates:
description: |
List of feature templates assigned to the profile.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

List of feature templates to be assigned or removed to/from the wireless network profile.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

The category or name of the feature template to be applied.
This defines the functional area of the configuration (For example, AAA, SSID, CleanAir).
Only one feature template category can be specified per entry in this list.
For example:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in place of Example. -> Support Values:

Also include all known values.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the same.

@@ -1400,6 +1746,36 @@ def compare_config_data(self, input_config, have_info):
"WARNING",
)

if feature_templates:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A supported software version check should be included to guide customer that this is supported from 3.1.3.0 release on wards, if customer provide catalyst center version 2.3.7.9 or older.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the same on feature template validation itself.

Copy link
Author

@md-rafeek md-rafeek left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

addressed code review comments.

@@ -151,6 +151,50 @@
type: list
elements: str
required: false
feature_templates:
description: |
List of feature templates assigned to the profile.
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The same updated.

The category or name of the feature template to be applied.
This defines the functional area of the configuration (For example, AAA, SSID, CleanAir).
Only one feature template category can be specified per entry in this list.
For example:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the same.

@@ -1400,6 +1746,36 @@ def compare_config_data(self, input_config, have_info):
"WARNING",
)

if feature_templates:
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated the same on feature template validation itself.

@@ -29,6 +29,7 @@ class TestDnacNetworkWirelessProfileWorkflow(TestDnacModule):

test_data = loadPlaybookData("network_profile_wireless_workflow_manager")
profile_creation_config = test_data.get("profile_creation_config")
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added the test case for version.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants