{"id":37639202,"url":"https://github.com/dbono711/ansible-nso-local-install","last_synced_at":"2026-01-16T11:14:21.696Z","repository":{"id":196937241,"uuid":"369211837","full_name":"dbono711/ansible-nso-local-install","owner":"dbono711","description":"Ansible role for Cisco Network Services Orchestrator (NSO) Local installation","archived":false,"fork":false,"pushed_at":"2024-03-08T16:17:09.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-08T17:34:54.223Z","etag":null,"topics":["ansible","automation","cisco","network-orchestration","nso","orchestration"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dbono711.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-05-20T13:08:44.000Z","updated_at":"2023-09-27T20:12:59.000Z","dependencies_parsed_at":"2023-11-11T04:22:38.484Z","dependency_job_id":"ef1fe18e-50f4-4a84-9267-3254ca281341","html_url":"https://github.com/dbono711/ansible-nso-local-install","commit_stats":null,"previous_names":["dbono711/ansible-nso-local-install"],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/dbono711/ansible-nso-local-install","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbono711%2Fansible-nso-local-install","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbono711%2Fansible-nso-local-install/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbono711%2Fansible-nso-local-install/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbono711%2Fansible-nso-local-install/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dbono711","download_url":"https://codeload.github.com/dbono711/ansible-nso-local-install/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dbono711%2Fansible-nso-local-install/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28478163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T06:30:42.265Z","status":"ssl_error","status_checked_at":"2026-01-16T06:30:16.248Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible","automation","cisco","network-orchestration","nso","orchestration"],"created_at":"2026-01-16T11:14:21.003Z","updated_at":"2026-01-16T11:14:21.691Z","avatar_url":"https://github.com/dbono711.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Role: NSO Local Installation\n\nAnsible role for Cisco [Network Services Orchestrator](https://developer.cisco.com/docs/nso/#!nso-fundamentals) (NSO) [Local](https://developer.cisco.com/docs/nso/#!getting-and-installing-nso/local-vs-system-installation) installation\n\n## Overview\n\n* Execute NSO Local installation\n  * Include external YANG files\n* Create NSO runtime environment\n  * Customize the runtime configuration\n  * Automatically build and load NED's\n  * Create, customize, and load NSO NETSIM's\n  * Configure NSO CDB\n\n### Restrictions\n\n* The use of this role assumes the user can obtain the appropriate binaries as noted in [Prerequisites](#prerequisites)\n  * Evaluation copies for NSO \u0026 various NSO NED's can be found on [DevNet](https://developer.cisco.com/docs/nso/#!getting-and-installing-nso/download-your-nso-free-trial-installer-and-cisco-neds)\n\n### Prerequisites\n\n* Ansible\n  * Ansible \u003e= 2.9.1 (might work with earlier versions, but not tested)\n* NSO\n  * Python \u003e= 3.9.6\n  * Operating System requirements as described on [DevNet](https://developer.cisco.com/docs/nso/#!getting-and-installing-nso/requirements) (Java + Ant)\n    * **NOTE:** If ```Java``` or ```Ant``` binaries are installed in a location other than the default per the Operating System requirements on DevNet, you can change the respective ```java_binary``` or ```ant_binary``` variables in the appropriate Operating System [vars](vars) file\n    * **NOTE:** Assumes the target host has ```build-essentials``` (gcc, make, etc.) and ```xsltproc``` installed\n  * NSO Signed Binary (*.signed.bin)\n    * A single NSO signed binary **must** be placed within the (```files```) folder\n  * NED Signed Binaries (*.signed.bin)\n    * The NED signed binaries **must** be placed within the (```files```) folder\n\n### Latest NSO Version\n\n* 6.2\n\n## Role Variables\n\nAll variables which can be overridden are stored in various files within [defaults/main](defaults/main)\n\n### Setup ([setup.yml](defaults/main/setup.yml))\n\nThese variables are directly related to running the _NSO Local installation_ and _NSO Runtime_ environment\n\n| Name | Default | Description |\n| ---- | ------- | ----------- |\n| `nso_root_dir` | \"~/nso\" | Root path to directory where the NSO installation, runtime, external YANG files, and NETSIM will reside.\u003cbr /\u003e\u003cbr /\u003e In other words, ```nso_install_dir```, ```nso_runtime_dir```, ```nso_yang_dir```, and ```nso_netsim_dir``` are all derived from this variable within [vars/main.yml](vars/main.yml). |\n| `nso_yang_files` | [] | External YANG files (i.e.; those not included as part of NSO installation) to be installed. Examples provided in the file. |\n\n### NETSIM ([netsim-vars.yml](defaults/main/netsim-vars.yml))\n\nThese variables are directly related to the creation of NETSIM devices\n\n| Name | Default | Description |\n| ---- | ------- | ----------- |\n| `nso_netsim` | [] | List of NETSIM devices to be created. Allows specifying the number of NETSIM devices per type, number of GigabitEthernet, and number of TenGigabitEthernet interfaces. |\n\n### Runtime Configuration ([nso-runtime-config.yml](defaults/main/nso-runtime-config.yml))\n\nThese variables are directly related to the parameters used to construct the NSO runtime configuration, `ncs.conf`, abstracted from the various 'Configuration Parameters' found in the NSO Manual Pages.\n\n| Name | Default | Description |\n| ---- | ------- | ----------- |\n| `nso_config_hide_group` | [] | Corresponds to the `/ncs-config/hide-group` section. |\n| `nso_config_rollback` | {} | Corresponds to the `/ncs-config/rollback` section. |\n| `nso_config_cli` | {} | Corresponds to the `/ncs-config/cli` section. |\n| `nso_config_webui_tcp` | {} | Corresponds to the `/ncs-config/webui/transport/tcp` section. |\n| `nso_config_webui_ssl` | {} | Corresponds to the `/ncs-config/webui/transport/ssl` section. |\n| `nso_config_restconf` | {} | Corresponds to the `/ncs-config/restconf` section. |\n\n## Sample Playbook\n\n```yaml\n---\n- name: NSO Local Installation\n  hosts: all\n  gather_facts: yes\n  vars:\n    nso_root_dir: \"~/nso\"\n    nso_yang_files:\n      - name: \"ietf-routing-types.yang\"\n        uri: \"https://raw.githubusercontent.com/YangModels/yang/master/standard/ietf/RFC/ietf-routing-types%402017-12-04.yang\"\n    nso_netsim:\n      - type: iosxr\n        type_count: 3\n        type_count_gige: 2\n        type_count_tengige: 2\n    nso_config_hide_group:\n      - name: debug\n    nso_config_rollback:\n      enabled: true\n      directory: ./logs\n      history_size: 500\n    nso_config_cli:\n      rollback_numbering: rolling\n    nso_config_webui_ssl:\n      enabled: true\n      ip: 0.0.0.0\n      port: 8888\n      key_file: ${NCS_DIR}/var/ncs/webui/cert/host.key\n      cert_file: ${NCS_DIR}/var/ncs/webui/cert/host.cert\n  tasks:\n    - name: Setup NSO\n      include_role:\n        name: dbono711.ansible_nso_local_install\n      tags:\n        - \"always\"\n```\n\n## Local Testing\n\nTesting is accomplished with Molecule. After [installing](https://molecule.readthedocs.io/en/latest/installation/) Molecule in your local environment, you can execute the complete test suite via:\n\n```molecule test```\n\n## Additional Resources\n\n[Learning NSO](https://developer.cisco.com/docs/nso/#!learning-nso)\n\n[Documentation Guides](https://developer.cisco.com/docs/nso/guides/)\n\n## Authors\n\n* Darren Bono - [darren.bono@att.net](mailto://darren.bono@att.net)\n\n## License\n\nThis project is licensed under the MIT License. See [LICENSE](LICENSE.md) for details\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbono711%2Fansible-nso-local-install","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdbono711%2Fansible-nso-local-install","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdbono711%2Fansible-nso-local-install/lists"}