# Openstack Ansible collection ###### tags: `Design` [TOC] ## Modules and their status **migrated - whether module is migrated to use OpenstackModule class* ### Network 1. [dns_zone](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/dns_zone.py): - <span style="color:green">migrated</span> - tested: basic 2. [floating_ip](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/floating_ip.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 3. [lb_health_monitor](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/lb_health_monitor.py): - <span style="color:green">migrated</span> - tested: <span style="color:red">nothing</span> 4. [lb_listener](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/lb_listener.py): - <span style="color:red"><span style="color:red">not migrated</span></span> - tested: <span style="color:red">nothing</span> 5. [lb_member](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/lb_member.py): - <span style="color:red"><span style="color:red">not migrated</span></span> - tested: <span style="color:red">nothing</span> 6. [lb_pool](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/lb_pool.py): - <span style="color:red"><span style="color:red">not migrated</span></span> - tested: <span style="color:red">nothing</span> 7. [loadbalancer](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/loadbalancer.py): - <span style="color:green">migrated</span> - tested: <span style="color:red">nothing</span> 8. [network](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/network.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 9. [networks_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/networks_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 10. [port](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/port.py): - <span style="color:red"><span style="color:red">not migrated</span></span> - tested: <span style="color:green">moderate</span> 11. [port_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/port_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 12. [recordset](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/recordset.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">moderate</span> 13. [router](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/router.py): - <span style="color:green">migrated</span> - tested: basic 14. [routers_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/routers_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 15. [security_group](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/security_group.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 16. [security_group_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/security_group_rule_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 17. [security_group_rule](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/security_group_rule.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 18. [security_group_rule_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/security_group_rule_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 19. [subnet](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/subnet.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 20. [subnets_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/subnets_info.py): - <span style="color:green">migrated</span> - tested: very basic ### Storage 1. [image](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/image.py): - <span style="color:red">not migrated</span> - tested: basic 2. [image_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/image_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 3. [object](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/object.py): - <span style="color:red">not migrated</span> - tested: basic - **object_info** - <span style="color:red">does not exist</span> 4. [volume](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume.py): - <span style="color:green">migrated</span> - tested: basic 5. [volume_backup](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume_backup.py): - <span style="color:green">migrated</span> - tested: basic 6. [volume_backup_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume_backup_info.py): - <span style="color:green">migrated</span> - tested: basic 7. [volume_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 8. [volume_snapshot](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume_snapshot.py): - <span style="color:red">not migrated</span> - tested: basic 9. [volume_snapshot_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/volume_snapshot_info.py): - <span style="color:green">migrated</span> - tested: basic ### Users, projects, keystone 1. [auth](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/auth.py): - <span style="color:red">not migrated</span> - tested: basic 2. [catalog_service](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/catalog_service.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 3. [endpoint](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/endpoint.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 4. [federation_idp](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/federation_idp.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 5. [federation_idp_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/federation_idp_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 6. [federation_mapping](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/federation_mapping.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 7. [federation_mapping_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/federation_mapping_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 8. [group_assignment](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/group_assignment.py): - <span style="color:red">not migrated</span> - tested: basic 9. [identity_domain](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_domain.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">moderate</span> 10. [identity_domain_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_domain_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 11. [identity_group](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_group.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">moderate</span> 12. [identity_group_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_group_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 13. [identity_role](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_role.py): - <span style="color:red">not migrated</span> - tested: basic 14. [identity_role_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_user_info.py): - <span style="color:green">migrated</span> - tested: basic 15. [identity_user](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_user.py): - <span style="color:red">not migrated</span> - tested: basic 16. [identity_user_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/identity_user_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 17. [keystone_federation_protocol](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/keystone_federation_protocol.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 18. [keystone_federation_protocol_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/keystone_federation_protocol_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 19. [project](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/project.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">good</span> 20. [project_access](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/project_access.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 21. [project_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/project_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 22. [role_assignment](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/role_assignment.py): - <span style="color:red">not migrated</span> - tested: basic ### Ironic/Baremetal 1. [baremetal_inspect](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/baremetal_inspect.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 2. [baremetal_node](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/baremetal_node.py): - <span style="color:red">not migrated</span> - tested: basic 3. [baremetal_node_action](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/baremetal_node_action.py): - <span style="color:red">not migrated</span> - tested: basic - **baremetal_node_info** - on [review](https://review.opendev.org/c/openstack/ansible-collections-openstack/+/743533) ### Other 1. [coe_cluster](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/coe_cluster.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 2. [coe_cluster_template](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/coe_cluster_template.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 3. [config](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/config.py): - <span style="color:red">not migrated</span> - tested: very basic 4. [quota](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/quota.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 5. [stack](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/stack.py): - <span style="color:red">not migrated</span> - tested: basic 6. [stack_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/stack_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> ### Compute 1. [compute_flavor](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/compute_flavor.py): - <span style="color:red">not migrated</span> - tested: <span style="color:green">moderate</span> 2. [compute_flavor_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/compute_flavor_info.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 3. [host_aggregate](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/host_aggregate.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 4. [keypair](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/keypair.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 5. [keypair_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/keypair_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 6. [server](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">moderate</span> 7. [server_action](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server_action.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 8. [server_group](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server_group.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 9. [server_info](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server_info.py): - <span style="color:green">migrated</span> - tested: <span style="color:green">good</span> 10. [server_metadata](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server_metadata.py): - <span style="color:red">not migrated</span> - tested: <span style="color:red">nothing</span> 11. [server_volume](https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/plugins/modules/server_volume.py): - <span style="color:green">migrated</span> - tested: <span style="color:red">nothing</span> ## Summary #### Modules necessary to write: - object_info #### Modules without any testing: - floating_ip - lb_health_monitor - lb_listener - lb_member - lb_pool - loadbalancer - port_info - image_info - catalog_service - endpoint - identity_domain_info - identity_group_info - identity_user_info - project_access - project_info - baremetal_inspect - coe_cluster - coe_cluster_template - quota - compute_flavor_info - host_aggregate - server_group - server_metadata - server_volume #### Modules require better testing: - dns_zone - router - stack - subnets_info - image - object - volume - volume_backup - volume_backup_info - volume_snapshot - volume_snapshot_info - auth - group_assignment - identity_role - identity_user - role_assignment - baremetal_node_action - config ### Sources Upstream source: https://opendev.org/openstack/ansible-collections-openstack/ Galaxy: https://galaxy.ansible.com/openstack/cloud RPMs are in RDO and CentOS: https://cbs.centos.org/koji/packageinfo?packageID=8306 Installation docs: https://opendev.org/openstack/ansible-collections-openstack/src/branch/master/README.md ### CI #### Upstream: - Jobs are running set of tests on devstack, you can see their scope above. Jobs: https://zuul.openstack.org/builds?project=openstack%2Fansible-collections-openstack Branches: 1. queens Openstack, **train** SDK (queens SDK is not supported for collections) 2. rocky Openstack, rocky SDK 3. stein Openstack, stein SDK 4. train Openstack, train SDK 5. ussuri Openstack, ussuri SDK 6. victoria Openstack, victoria SDK 7. wallaby Openstack, wallaby SDK 8. master Openstack, master SDK 9. master Openstack, last released version of SDK - We check the following versions of Ansible: 1. 2.9 2. 2.11 3. 2.12 - devel - We also have a job that tests installation with Pip. TripleO based jobs in Upstream are in development. #### Downstream Jobs: https://sf.hosted.upshift.rdu2.redhat.com/zuul/t/tripleo-ci-internal/builds?pipeline=periodic * tripleo-ci-rhel-7-multinode-1ctlr-featureset010-osa * tripleo-ci-rhel-8-multinode-1ctlr-featureset010-rhos-16.2-osa We run same tests as in upstream on OSP jobs, not devstack. 1. OSP 13 2. OSP 16.2