Skip to content

PUV updates#254

Merged
monrog2 merged 33 commits into
masterfrom
puv-requested-changes
Jul 22, 2025
Merged

PUV updates#254
monrog2 merged 33 commits into
masterfrom
puv-requested-changes

Conversation

@monrog2
Copy link
Copy Markdown
Collaborator

@monrog2 monrog2 commented Jun 25, 2025

No description provided.

@monrog2 monrog2 linked an issue Jun 25, 2025 that may be closed by this pull request
@monrog2

This comment was marked as outdated.

Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py
Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py Outdated
Comment thread aci-preupgrade-validation-script.py Outdated
@monrog2
Copy link
Copy Markdown
Collaborator Author

monrog2 commented Jun 26, 2025

Added the following args for now

admin@apic1:techsupport> python aci-preupgrade-validation-script.py -h
usage: aci-preupgrade-validation-script.py [-h] [-v VERSION] [-s]

options:
  -h, --help            show this help message and exit
  -v VERSION, --version VERSION
                        CCO Version string, e.g. 6.0(2a)
  -s, --scriptcontainer
                        Running in APIC script container, icurl checks only

Assumption is that script container will call the script with both flags:

apic:~> python aci-preupgrade-validation-script.py -s -v '6.0(2a)'

@monrog2 monrog2 linked an issue Jun 26, 2025 that may be closed by this pull request
@monrog2 monrog2 linked an issue Jun 26, 2025 that may be closed by this pull request
@monrog2 monrog2 linked an issue Jun 26, 2025 that may be closed by this pull request
monrog2 and others added 8 commits June 27, 2025 09:56
* Clean up get_vpc_nodes() and its pytest

* Split the main script execution code into each func and add pytest

* Retire json_log and adopt json per rule for both PUV and regular use + linting
…on (#259)

* feat: Support QA version and AciVersion instance as input in AciVersion

* fix: Use supported version format in older_than

* fix: Use ValueError in AciVersion
@monrog2

This comment was marked as outdated.

monrog2 and others added 8 commits July 11, 2025 10:16
* -c (cversion) and -d (debug_function) for dev testing

* pytest fix WIP

* fixed pytest
A new decorator `@check_wrapper` is to move most of the I/O functionalities,
such as printing and writing the result into a file, outside of each
check function so that each check can focus on the validation logic
itself by minimizing the impact from a requirement change in the output
format and so on.
To support this, a new class `Result` is also introduced to make it
clear what a check function is expected to return. As long as `Result`
class is returned, the decorator `@check_wrapper` handles the printing
them to stdout and files.
@monrog2 monrog2 marked this pull request as ready for review July 22, 2025 13:40
Copy link
Copy Markdown
Collaborator Author

@monrog2 monrog2 left a comment

Choose a reason for hiding this comment

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

pytests all pass now, integration tests are good as well. merging

@monrog2 monrog2 dismissed takishida’s stale review July 22, 2025 17:50

comments addressed

@monrog2 monrog2 merged commit 656a21c into master Jul 22, 2025
3 checks passed
@monrog2 monrog2 deleted the puv-requested-changes branch July 22, 2025 17:56
jeestr4d pushed a commit that referenced this pull request Jul 22, 2025
* feat: synth class + write back each function as json result

* fix: Clean up get_vpc_nodes() and its pytest

* feat: Split the main script execution code into each func and add pytest

* feat: Retire json_log and adopt json per rule for both PUV and regular use + linting

* feat: Support QA version and AciVersion instance as input in AciVersion (#259)

* feat: Support QA version and AciVersion instance as input in AciVersion

* fix: Use supported version format in older_than

* fix: Use ValueError in AciVersion

* feat: -c (cversion) / -d (debug_function) args into puv (#265)

* feat: Update synthMaintP with the latest schema with ruleId

* feat: Add decorator `@check_wrapper` for all check functions

A new decorator `@check_wrapper` is to move most of the I/O functionalities,
such as printing and writing the result into a file, outside of each
check function so that each check can focus on the validation logic
itself by minimizing the impact from a requirement change in the output
format and so on.
To support this, a new class `Result` is also introduced to make it
clear what a check function is expected to return. As long as `Result`
class is returned, the decorator `@check_wrapper` handles the printing
them to stdout and files.

* feat: rename synth class to AciResult + breakdown --puv into --api-only and --no-cleanup

* feat: Add --version and --total-checks input args

* feat: Do not touch log folders with some options like --version

* fix: ValueError when col and row len do not match + pytest

* fix: correct checks with mismatched col row length

* fix: cimc logic update for QA

---------

Co-authored-by: takishida <38262981+takishida@users.noreply.github.com>
Co-authored-by: tkishida <tkishida@cisco.com>
monrog2 added a commit that referenced this pull request Sep 19, 2025
…headTx is non-zero while tailTx is zero #253 (#260)

* fix for issue NewValidation: CSCwp95515 - Policydist crash-loop on upgrade if configpushShardCont headTx is non-zero while tailTx is zero #253

* Welkin issue 245 (#263)

* Introduced CSCwp22212 check for stale pconsRA objects

---------

Co-authored-by: Gabriel <gmonroy@cisco.com>

* Add ISIS DTEP Check (#247)

* Add ISIS DTEP Check

---------

Co-authored-by: Gabriel <gmonroy@cisco.com>

* bump to v2.6.0

* PUV updates (#254)

* feat: synth class + write back each function as json result

* fix: Clean up get_vpc_nodes() and its pytest

* feat: Split the main script execution code into each func and add pytest

* feat: Retire json_log and adopt json per rule for both PUV and regular use + linting

* feat: Support QA version and AciVersion instance as input in AciVersion (#259)

* feat: Support QA version and AciVersion instance as input in AciVersion

* fix: Use supported version format in older_than

* fix: Use ValueError in AciVersion

* feat: -c (cversion) / -d (debug_function) args into puv (#265)

* feat: Update synthMaintP with the latest schema with ruleId

* feat: Add decorator `@check_wrapper` for all check functions

A new decorator `@check_wrapper` is to move most of the I/O functionalities,
such as printing and writing the result into a file, outside of each
check function so that each check can focus on the validation logic
itself by minimizing the impact from a requirement change in the output
format and so on.
To support this, a new class `Result` is also introduced to make it
clear what a check function is expected to return. As long as `Result`
class is returned, the decorator `@check_wrapper` handles the printing
them to stdout and files.

* feat: rename synth class to AciResult + breakdown --puv into --api-only and --no-cleanup

* feat: Add --version and --total-checks input args

* feat: Do not touch log folders with some options like --version

* fix: ValueError when col and row len do not match + pytest

* fix: correct checks with mismatched col row length

* fix: cimc logic update for QA

---------

Co-authored-by: takishida <38262981+takishida@users.noreply.github.com>
Co-authored-by: tkishida <tkishida@cisco.com>

* bump to v3.0.0

v3.0.0 to mark for PUV integration + accounting for the 7 new input arg options

* fix for issue NewValidation: CSCwp95515 - Policydist crash-loop on upgrade if configpushShardCont headTx is non-zero while tailTx is zero #253

* testchange

* changes based on version3

* logic + pytest cleanup

* changed the query and content of pos file to match with bug coditions.

* fix query + cleanup docs

* title consistency

* fix doc link

---------

Co-authored-by: Welkin <48639332+welkin-he@users.noreply.github.com>
Co-authored-by: Gabriel <gmonroy@cisco.com>
Co-authored-by: Joe LeBlanc <joelebla@cisco.com>
Co-authored-by: GM <monrog2@gmail.com>
Co-authored-by: takishida <38262981+takishida@users.noreply.github.com>
Co-authored-by: tkishida <tkishida@cisco.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment