{"id":18925625,"url":"https://github.com/jm1/ansible-collection-jm1-openstack","last_synced_at":"2026-05-09T05:32:53.181Z","repository":{"id":69767409,"uuid":"285267886","full_name":"JM1/ansible-collection-jm1-openstack","owner":"JM1","description":"Ansible Collection for using OpenStack https://galaxy.ansible.com/jm1/openstack","archived":false,"fork":false,"pushed_at":"2024-05-30T09:49:57.000Z","size":152,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T11:37:35.965Z","etag":null,"topics":["ansible","ansible-collection","ansible-galaxy","ansible-modules","ansible-roles","openstack"],"latest_commit_sha":null,"homepage":"","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/JM1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-08-05T11:26:37.000Z","updated_at":"2024-05-30T09:50:01.000Z","dependencies_parsed_at":"2024-05-30T11:20:12.952Z","dependency_job_id":"c07ea80d-106e-4084-a2ea-ee675f35aa40","html_url":"https://github.com/JM1/ansible-collection-jm1-openstack","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JM1/ansible-collection-jm1-openstack","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fansible-collection-jm1-openstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fansible-collection-jm1-openstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fansible-collection-jm1-openstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fansible-collection-jm1-openstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JM1","download_url":"https://codeload.github.com/JM1/ansible-collection-jm1-openstack/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fansible-collection-jm1-openstack/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32808441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"online","status_checked_at":"2026-05-09T02:00:06.633Z","response_time":123,"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":["ansible","ansible-collection","ansible-galaxy","ansible-modules","ansible-roles","openstack"],"created_at":"2024-11-08T11:12:38.830Z","updated_at":"2026-05-09T05:32:53.142Z","avatar_url":"https://github.com/JM1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ansible Collection for using OpenStack\n\nThis repo hosts the Ansible collection [`jm1.openstack`](https://galaxy.ansible.com/jm1/openstack).\n\nThe collection includes a variety of Ansible content to help automate the provisioning and maintenance of OpenStack clusters.\n\nIt provides supplemental modules and roles to the [Ansible OpenStack collection][openstack-cloud]. For example,\n[`jm1.openstack.image_import`](plugins/modules/image_import.py) resembles [`openstack.cloud.image`][\nopenstack-cloud-image] to upload images from remote uri's to the OpenStack Image Repository:\n\n[openstack-cloud]: https://galaxy.ansible.com/openstack/cloud\n[openstack-cloud-image]: https://docs.ansible.com/ansible/latest/collections/openstack/cloud/image_module.html\n\n```yaml\n- hosts: all\n  tasks:\n    - name: Install software required by jm1.openstack's roles and modules\n      import_role:\n        name: jm1.openstack.setup\n\n    - name: Download image from web and upload it to OpenStack image repository\n      jm1.openstack.image_import:\n        auth:\n          auth_url: https://identity.example.com\n          username: admin\n          password: passme\n          project_name: admin\n          os_identity_user_domain_name: Default\n          os_project_domain_name: Default\n        # name is derived from uri\n        uri: 'https://cdimage.debian.org/cdimage/openstack/archive/10.4.2-20200608/debian-10.4.2-20200608-openstack-amd64.qcow2'\n        checksum: 'sha256:00f76f2fd8e3d74c4f0de7cf97cb7b1706be4299ad44a452849e7993757a8549'\n```\n\n## Included content\n\nClick on the name of a module or role to view that content's documentation:\n\n- **Modules**:\n    * [image_import](plugins/modules/image_import.py)\n    * [floating_ip](plugins/modules/floating_ip.py)\n- **Roles**:\n    * [cloud](roles/cloud/README.md)\n    * [setup](roles/setup/README.md)\n\n## Requirements and Installation\n\n### Installing necessary software\n\nContent in this collection requires additional roles and collections, e.g. to collect operating system facts. You can\nfetch them from Ansible Galaxy using the provided [`requirements.yml`](requirements.yml):\n\n```sh\nansible-galaxy collection install --requirements-file requirements.yml\nansible-galaxy role install --role-file requirements.yml\n# or\nmake install-requirements\n```\n\nContent in this collection requires additional tools and libraries, e.g. to interact with OpenStack's APIs. You can use\nrole [`jm1.openstack.setup`](roles/setup/README.md) to install necessary software packages:\n\n```yaml\n- hosts: all\n  roles:\n    - jm1.openstack.setup\n```\n\nOr to install these packages locally:\n\n```sh\nsudo -s\n\nansible-console localhost \u003c\u003c EOF\ngather_facts\ninclude_role name=jm1.openstack.setup\nEOF\n```\n\nThe exact requirements for every module and role are listed in the corresponding documentation.\nSee the module documentations for the minimal version supported for each module.\n\n### Installing the Collection from Ansible Galaxy\n\nBefore using the `jm1.openstack` collection, you need to install it with the Ansible Galaxy CLI:\n\n```sh\nansible-galaxy collection install jm1.openstack\n```\n\nYou can also include it in a `requirements.yml` file and install it via\n`ansible-galaxy collection install -r requirements.yml`, using the format:\n\n```yaml\n---\ncollections:\n  - name: jm1.openstack\n    version: 2024.5.30\n```\n\n## Usage and Playbooks\n\nYou can either call modules by their Fully Qualified Collection Name (FQCN), like `jm1.openstack.volume_import`, or you\ncan call modules by their short name if you list the `jm1.openstack` collection in the playbook's `collections`,\nlike so:\n\n```yaml\n---\n- name: Using jm1.openstack collection\n  hosts: localhost\n\n  collections:\n    - jm1.openstack\n\n  tasks:\n    - name: Satisfy software requirements\n      import_role:\n        name: setup\n\n    - name: Download image from web and upload it to OpenStack image repository\n      image_import:\n        auth:\n          auth_url: https://identity.example.com\n          username: admin\n          password: passme\n          project_name: admin\n          os_identity_user_domain_name: Default\n          os_project_domain_name: Default\n        # name is derived from uri\n        uri: 'https://cdimage.debian.org/cdimage/openstack/archive/10.4.2-20200608/debian-10.4.2-20200608-openstack-amd64.qcow2'\n        checksum: 'sha256:00f76f2fd8e3d74c4f0de7cf97cb7b1706be4299ad44a452849e7993757a8549'\n```\n\nFor documentation on how to use individual modules and other content included in this collection, please see the links\nin the 'Included content' section earlier in this README.\n\nSee [Ansible Using collections](https://docs.ansible.com/ansible/latest/user_guide/collections_using.html) for more\ndetails.\n\n## Contributing\n\nThere are many ways in which you can participate in the project, for example:\n\n- Submit bugs and feature requests, and help us verify them\n- Submit pull requests for new modules, roles and other content\n\nWe're following the general Ansible contributor guidelines;\nsee [Ansible Community Guide](https://docs.ansible.com/ansible/latest/community/index.html).\n\nIf you want to develop new content for this collection or improve what is already here, the easiest way to work on the\ncollection is to clone this repository (or a fork of it) into one of the configured [`ANSIBLE_COLLECTIONS_PATHS`](\nhttps://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths) and work on it there:\n1. Create a directory `ansible_collections/jm1`;\n2. In there, checkout this repository (or a fork) as `openstack`;\n3. Add the directory containing `ansible_collections` to your\n   [`ANSIBLE_COLLECTIONS_PATHS`](https://docs.ansible.com/ansible/latest/reference_appendices/config.html#collections-paths).\n\nHelpful tools for developing collections are `ansible`, `ansible-doc`, `ansible-galaxy`, `ansible-lint`, `flake8`,\n`make` and `yamllint`.\n\n| OS                                           | Install Instructions                                                |\n| -------------------------------------------- | ------------------------------------------------------------------- |\n| Debian 10 (Buster)                           | Enable [Backports](https://backports.debian.org/Instructions/). `apt install ansible ansible-doc ansible-lint flake8 make yamllint` |\n| Debian 11 (Bullseye)                         | `apt install ansible ansible-lint flake8 make yamllint` |\n| Debian 12 (Bookworm)                         | `apt install ansible ansible-lint flake8 make yamllint` |\n| Debian 13 (Trixie)                           | `apt install ansible ansible-lint flake8 make yamllint` |\n| Fedora                                       | `dnf install ansible python3-flake8 make yamllint` |\n| Red Hat Enterprise Linux (RHEL) 7 / CentOS 7 | Enable [EPEL](https://fedoraproject.org/wiki/EPEL). `yum install ansible ansible-lint ansible-doc  python-flake8 make yamllint` |\n| Red Hat Enterprise Linux (RHEL) 8 / CentOS 8 | Enable [EPEL](https://fedoraproject.org/wiki/EPEL). `yum install ansible                          python3-flake8 make yamllint` |\n| Red Hat Enterprise Linux (RHEL) 9 / CentOS 9 | Enable [EPEL](https://fedoraproject.org/wiki/EPEL). `yum install ansible                          python3-flake8 make yamllint` |\n| Ubuntu 18.04 LTS (Bionic Beaver)             | Enable [Launchpad PPA Ansible by Ansible, Inc.](https://launchpad.net/~ansible/+archive/ubuntu/ansible). `apt install ansible ansible-doc ansible-lint flake8 make yamllint` |\n| Ubuntu 20.04 LTS (Focal Fossa)               | Enable [Launchpad PPA Ansible by Ansible, Inc.](https://launchpad.net/~ansible/+archive/ubuntu/ansible). `apt install ansible ansible-doc ansible-lint flake8 make yamllint` |\n| Ubuntu 22.04 LTS (Jammy Jellyfish)           | `apt install ansible ansible-lint flake8 make yamllint` |\n| Ubuntu 24.04 LTS (Noble Numbat)              | `apt install ansible ansible-lint flake8 make yamllint` |\n\nHave a look at the included [`Makefile`](Makefile) for\nseveral frequently used commands, to e.g. build and lint a collection.\n\n## More Information\n\n- [Ansible Collection Overview](https://github.com/ansible-collections/overview)\n- [Ansible User Guide](https://docs.ansible.com/ansible/latest/user_guide/index.html)\n- [Ansible Developer Guide](https://docs.ansible.com/ansible/latest/dev_guide/index.html)\n- [Ansible Community Code of Conduct](https://docs.ansible.com/ansible/latest/community/code_of_conduct.html)\n\n## License\n\nGNU General Public License v3.0 or later\n\nSee [LICENSE.md](LICENSE.md) to see the full text.\n\n## Author\n\nJakob Meng\n@jm1 ([github](https://github.com/jm1), [galaxy](https://galaxy.ansible.com/jm1), [web](http://www.jakobmeng.de))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjm1%2Fansible-collection-jm1-openstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjm1%2Fansible-collection-jm1-openstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjm1%2Fansible-collection-jm1-openstack/lists"}