Package: pyaoscx
pyaoscxThese modules are written for AOS-CX API v10.04 and later. These scripts are written for devices running AOS-CX firmware
version 10.04 or greater.See theRelease Notesfor more information.Please note that pyaoscx v2 isnotbackwards compatible for pyaoscx v1 and earlier, so please specify the correct
version when using pyaoscx in requirements.txt filesIt is also important to note that the latest code commits on the Master branch in Git are usually ahead of the official
releases and tags, so please be aware of this when cloning the repo versus doing apip install pyaoscxStructureDetailed information about the structure and design can be found in theDesign document.REST API call functions are found in the modules in /pyaoscx.REST API call functions are combined into other functions that emulate low-level processes. These low-level process functions are also placed in files in /pyaoscx.Functions from the /pyaoscx files (API functions and low-level functions) are combined to emulate larger network configuration processes (workflows). These workflow scripts stored in the /workflows folder.How to contributePlease see the accompanyingCONTRIBUTING.mdfile for guidelines on how to contribute to this repository.Git WorkflowThis repo adheres to the 'shared repo' git workflow:Clone the repo to a local machine:git clone <repo_URL>Checkout a local working branch:git checkout -b <local_working_branch_name>Add and amend files in the local working branch:git add <file_name>Commit regularly. Each commit should encompass a single logical change to the repo (e.g. adding a new function in /pyaoscx is one commit; writing docstrings for all functions in a module is another commit). Include an explanatory message with each commit:git commit -m "<Clear_explanation_of_commit_here>"Push commits to github.hpe.com:git push origin <local_working_branch_name>Merge changes using a Pull Request on github.hpe.com. Ensure the PR has a relevant title and additional comments if necessary. PRs should be raised regularly once code is tested and the user satisfied that it is ready for submission. Do not put off creaing a PR until a whole project is complete. The larger the PR, the difficult it is to successfully merge.SetupBefore starting ensure the switch REST API is enabled. Instructions for checking and changing whether or not the REST API is enabled status are available in theArubaOS-CX Rest API Guide.
This includes making sure each device has an administrator account with a password, and each device has https-server rest access-mode read-write and enabled on the reachable vrf.How to run this codeIn order to run the workflow scripts, please complete the steps below:install virtual env (referhttps://docs.python.org/3/library/venv.html). Make sure python version 3 is installed in system.$ python3 -m venv switchenvActivate the virtual env$ source switchenv/bin/activate
in Windows:
$ venv/Scripts/activate.batInstall the pyaoscx package(switchenv)$ pip install pyaoscxNow you can run different workflows from pyaoscx/workflows (e.g.print_system_info.py)Keep in mind that the workflows perform high-level configuration processes; they are highly dependent on the configuration already on the switch prior to running the workflows. For this reason, the comment at the top of each workflow script describes any necessary preconditions.Troubleshooting IssuesIf you encounter module import errors, make sure that the package has been installed correctly.Additionally, please read the RELEASE-NOTES.md file for the current release information and known issues.