{"id":21217104,"url":"https://github.com/ansible-collections/community.sonic","last_synced_at":"2025-07-27T03:07:05.171Z","repository":{"id":159906811,"uuid":"629386338","full_name":"ansible-collections/community.sonic","owner":"ansible-collections","description":"Ansible Galaxy community module for SONiC NOS","archived":false,"fork":false,"pushed_at":"2024-02-02T09:50:26.000Z","size":75,"stargazers_count":13,"open_issues_count":2,"forks_count":0,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-07-25T10:12:40.283Z","etag":null,"topics":["networking","nos","sonic"],"latest_commit_sha":null,"homepage":"https://sonic-net.github.io/SONiC/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ansible-collections.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.rst","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-18T07:57:38.000Z","updated_at":"2025-04-17T16:02:33.000Z","dependencies_parsed_at":"2024-11-20T21:57:05.594Z","dependency_job_id":"5dd891aa-59b3-4cb1-bfcf-106523534f17","html_url":"https://github.com/ansible-collections/community.sonic","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":"ansible-collections/collection_template","purl":"pkg:github/ansible-collections/community.sonic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.sonic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.sonic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.sonic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.sonic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ansible-collections","download_url":"https://codeload.github.com/ansible-collections/community.sonic/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ansible-collections%2Fcommunity.sonic/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267293766,"owners_count":24065321,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["networking","nos","sonic"],"created_at":"2024-11-20T21:57:02.188Z","updated_at":"2025-07-27T03:07:05.150Z","avatar_url":"https://github.com/ansible-collections.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible collection for SONiC Network Operating System\n\n[![CI](https://github.com/ansible-collections/community.sonic/workflows/CI/badge.svg?event=push)](https://github.com/ansible-collections/community.sonic/actions) [![Codecov](https://img.shields.io/codecov/c/github/ansible-collections/community.sonic)](https://codecov.io/gh/ansible-collections/community.sonic)\n\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/149442/232787483-7a348ed3-265a-4d5d-8c05-95246a3aa7e9.png\" alt=\"SONiC project logo\" /\u003e\n\u003c/p\u003e\n\n\n\n## Using this collection\n\nTo jump straight to it - this collection is useful for you if you want to manage the configuration of your SONiC switch(es) via Ansible.\n\nAn example says more than a thousand words, so here is an example:\n\n```yaml\n# set_port_play.yml\n---\n- name: Connect to a SONiC swich and set properties on a port\n  hosts: sonic-sw1.example.com\n  gather_facts: false\n  tasks:\n    - name: Set port description\n      community.sonic.sonic_interface_port:\n        interface: qsfp1\n        description: This is the uplink\n        speed: 100G\n        fec: rs\n        enabled: True\n```\n\n```ini\n# inventory.ini\n[my_sonic_switches]\nsonic-sw1.example.com ansible_user=sonic ansible_password=password\n```\n```bash\n$ ansible-playbook -i inventory.ini set_port_play.yml\n```\n\n## Code of Conduct\n\nWe follow the [Ansible Code of Conduct](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html) in all our interactions within this project.\n\nIf you encounter abusive behavior, please refer to the [policy violations](https://docs.ansible.com/ansible/devel/community/code_of_conduct.html#policy-violations) section of the Code for information on how to raise a complaint.\n\n## Communication\n\nWe mostly hang out in the [SONiC Community Matrix](https://matrix.to/#/#sonic-net:matrix.org) room and on the [sonic-dev](https://lists.sonicfoundation.dev/g/sonic-dev) mailinglist.\n\n\n## Contributing to this collection\n\n\n\u003c!--Describe how the community can contribute to your collection. At a minimum, fill up and include the CONTRIBUTING.md file containing how and where users can create issues to report problems or request features for this collection. List contribution requirements, including preferred workflows and necessary testing, so you can benefit from community PRs. If you are following general Ansible contributor guidelines, you can link to - [Ansible Community Guide](https://docs.ansible.com/ansible/devel/community/index.html). List the current maintainers (contributors with write or higher access to the repository). The following can be included:--\u003e\n\nThe content of this collection is made by people like you, a community of individuals collaborating on making the world better through developing automation software.\n\nWe are actively accepting new contributors.\n\nAny kind of contribution is very welcome.\n\nYou don't know how to start? Refer to our [contribution guide](CONTRIBUTING.md)!\n\nWe use the following guidelines:\n\n* [CONTRIBUTING.md](CONTRIBUTING.md)\n* [REVIEW_CHECKLIST.md](REVIEW_CHECKLIST.md)\n* [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html)\n* [Ansible Development Guide](https://docs.ansible.com/ansible/devel/dev_guide/index.html)\n* [Ansible Collection Development Guide](https://docs.ansible.com/ansible/devel/dev_guide/developing_collections.html#contributing-to-collections)\n\n### Running tests locally\n\nWhen developing new features you will want to run the tests to ensure things\nare working as they should.\n\nTo run the unit and sanity tests:\n\n```\n$ ansible-test units --docker\n$ ansible-test sanity --docker\n```\n\nTo run the full integration suite using a virtual SONiC switch:\n\n```\n$ docker build -t testbed -f testbed/Dockerfile testbed\n$ docker run --device /dev/kvm -ti -w /work/ansible_collections/community/sonic \\\n    -v $PWD:/work/ansible_collections/community/sonic --user 1000:1000 testbed /docker.sh\n```\n\n## Collection maintenance\n\nThe current maintainers are listed in the [MAINTAINERS](MAINTAINERS) file. If you have questions or need help, feel free to mention them in the proposals.\n\nTo learn how to maintain / become a maintainer of this collection, refer to the [Maintainer guidelines](MAINTAINING.md).\n\n## Governance\n\nThe process of decision making in this collection is based on discussing and finding consensus among participants.\n\nEvery voice is important. If you have something on your mind, create an issue or dedicated discussion and let's discuss it!\n\n## Tested with Ansible\n\n * Ansible 2.14\n * Ansible 2.15\n * Ansible 2.16\n\n## Tested with SONiC\n\n * Release 202211\n\n### Supported connections\n\n * Only SSH connections supported\n\n### Installing the Collection from Ansible Galaxy\n\nBefore using this collection, you need to install it with the Ansible Galaxy command-line tool:\n\n```bash\nansible-galaxy collection install community.sonic\n```\n\nYou can also include it in a `requirements.yml` file and install it with `ansible-galaxy collection install -r requirements.yml`, using the format:\n\n```yaml\n---\ncollections:\n  - name: community.sonic\n```\n\nNote that if you install the collection from Ansible Galaxy, it will not be upgraded automatically when you upgrade the `ansible` package.\nTo upgrade the collection to the latest available version, run the following command:\n\n```bash\n$ ansible-galaxy collection install community.sonic --upgrade\n```\n\nYou can also install a specific version of the collection, for example, if you need to downgrade when something is broken in the latest version (please report an issue in this repository). Use the following syntax to install version `0.1.0`:\n\n```bash\n$ ansible-galaxy collection install community.sonic:==0.1.0\n```\n\nSee [Ansible Using collections](https://docs.ansible.com/ansible/devel/user_guide/collections_using.html) for more details.\n\n## Release notes\n\nSee the [changelog](https://github.com/ansible-collections/community.sonic/tree/main/CHANGELOG.rst).\n\n## Licensing\n\nGNU General Public License v3.0 or later.\n\nSee [LICENSE](https://www.gnu.org/licenses/gpl-3.0.txt) to see the full text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-collections%2Fcommunity.sonic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fansible-collections%2Fcommunity.sonic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fansible-collections%2Fcommunity.sonic/lists"}