From b87ae7dcceff47a31be6e276b4018f85110e4b76 Mon Sep 17 00:00:00 2001 From: Jakob Meng Date: Wed, 20 Jul 2022 10:12:10 +0200 Subject: [PATCH] Dropped symbolic links and plugin routing for deprecated module names With Ansible OpenStack collection 2.0.0 we break backward compatibility to older releases, mainly due to breaking changes coming with openstacksdk >=0.99.0. For example, results will change for most Ansible modules in this collection. We take this opportunity to drop the symbolic links with prefix os_ in plugins/modules and the plugin routing in meta/runtime.yml. This means users have to call modules of the Ansible OpenStack collection using their FQCN (Fully Qualified Collection Name) such as openstack.cloud.server. Short module names such as os_server will now raise an Ansible error. This also decreases the likelihood of incompatible Ansible code going undetected. Symbolic links were introduced to keep our collection backward compatible to user code which was written for old(er) Ansible releases which did not have support for collections and where OpenStack modules where named with a prefix os_ such as os_server which is nowadays known and stored as openstack.cloud.server. In Ansible aka ansible-base 2.10, a internal routing table lib/ansible/config/ansible_builtin_runtime.yml [1] was introduced which Ansible uses to resolve deprecated module names missing the FQCN (Fully Qualified Collection Name). Additionally, collections can define their own plugin routing table in meta/runtime.yml [2] which we did. In ansible-base 2.10 and ansible-core 2.11 or later, if a user uses a short module name and the collections keyword is not used, Ansible will first look in the internal routing table, get an FQCN, and then looks in the collection for that FQCN. If there is another routing entry for that new name in that collection's meta/runtime.yml, Ansible will continue with that redirect. If it does not find another redirect, Ansible will look for the plugin itself, so it will not find a redirect in the collection before looking at its internal redirects. Except if the user uses a FQCN, then it looks directly in that collection. Ansible 2.9 and 2.8 do not have any notion of these redirects with a plugin routing table, backward compatibility with deprecated os_* module names is solely achieved with symbolic links. Ansible releases older than 2.11 are EOL [3], so usage of os_* symlinks should reduce soon. [1] https://github.com/ansible/ansible/blob/devel/lib/ansible/config/ansible_builtin_runtime.yml [2] https://github.com/openstack/ansible-collections-openstack/blob/master/meta/runtime.yml [3] https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html Change-Id: I28cc05c95419b72552899c926721eb87fb6f0868 --- meta/runtime.yml | 540 +----------------- plugins/module_utils/openstack.py | 31 +- plugins/modules/compute_flavor_info.py | 4 - plugins/modules/container.py | 1 - plugins/modules/identity_domain_info.py | 4 - plugins/modules/identity_user_info.py | 4 - plugins/modules/image.py | 2 - plugins/modules/image_info.py | 4 - plugins/modules/keypair.py | 1 - plugins/modules/networks_info.py | 5 - plugins/modules/os_auth.py | 1 - plugins/modules/os_client_config.py | 1 - plugins/modules/os_coe_cluster.py | 1 - plugins/modules/os_coe_cluster_template.py | 1 - plugins/modules/os_flavor_info.py | 1 - plugins/modules/os_floating_ip.py | 1 - plugins/modules/os_group.py | 1 - plugins/modules/os_group_info.py | 1 - plugins/modules/os_image.py | 1 - plugins/modules/os_image_info.py | 1 - plugins/modules/os_ironic.py | 1 - plugins/modules/os_ironic_inspect.py | 1 - plugins/modules/os_ironic_node.py | 1 - plugins/modules/os_keypair.py | 1 - plugins/modules/os_keystone_domain.py | 1 - plugins/modules/os_keystone_domain_info.py | 1 - plugins/modules/os_keystone_endpoint.py | 1 - .../os_keystone_federation_protocol.py | 1 - .../os_keystone_federation_protocol_info.py | 1 - .../modules/os_keystone_identity_provider.py | 1 - .../os_keystone_identity_provider_info.py | 1 - plugins/modules/os_keystone_mapping.py | 1 - plugins/modules/os_keystone_mapping_info.py | 1 - plugins/modules/os_keystone_role.py | 1 - plugins/modules/os_keystone_service.py | 1 - plugins/modules/os_listener.py | 1 - plugins/modules/os_loadbalancer.py | 1 - plugins/modules/os_member.py | 1 - plugins/modules/os_network.py | 1 - plugins/modules/os_networks_info.py | 1 - plugins/modules/os_nova_flavor.py | 1 - plugins/modules/os_nova_host_aggregate.py | 1 - plugins/modules/os_object.py | 1 - plugins/modules/os_pool.py | 1 - plugins/modules/os_port.py | 1 - plugins/modules/os_port_info.py | 1 - plugins/modules/os_project.py | 1 - plugins/modules/os_project_access.py | 1 - plugins/modules/os_project_info.py | 1 - plugins/modules/os_quota.py | 1 - plugins/modules/os_recordset.py | 1 - plugins/modules/os_router.py | 1 - plugins/modules/os_routers_info.py | 1 - plugins/modules/os_security_group.py | 1 - plugins/modules/os_security_group_rule.py | 1 - plugins/modules/os_server.py | 1 - plugins/modules/os_server_action.py | 1 - plugins/modules/os_server_group.py | 1 - plugins/modules/os_server_info.py | 1 - plugins/modules/os_server_metadata.py | 1 - plugins/modules/os_server_volume.py | 1 - plugins/modules/os_stack.py | 1 - plugins/modules/os_subnet.py | 1 - plugins/modules/os_subnets_info.py | 1 - plugins/modules/os_user.py | 1 - plugins/modules/os_user_group.py | 1 - plugins/modules/os_user_info.py | 1 - plugins/modules/os_user_role.py | 1 - plugins/modules/os_volume.py | 1 - plugins/modules/os_volume_snapshot.py | 1 - plugins/modules/os_zone.py | 1 - plugins/modules/port_info.py | 2 - plugins/modules/project_info.py | 4 - plugins/modules/routers_info.py | 2 - plugins/modules/security_group_rule.py | 1 - plugins/modules/server.py | 1 - plugins/modules/server_action.py | 2 - plugins/modules/server_info.py | 4 - plugins/modules/subnets_info.py | 5 - tools/groups-to-routing.py | 128 ----- 80 files changed, 8 insertions(+), 798 deletions(-) delete mode 120000 plugins/modules/container.py delete mode 120000 plugins/modules/os_auth.py delete mode 120000 plugins/modules/os_client_config.py delete mode 120000 plugins/modules/os_coe_cluster.py delete mode 120000 plugins/modules/os_coe_cluster_template.py delete mode 120000 plugins/modules/os_flavor_info.py delete mode 120000 plugins/modules/os_floating_ip.py delete mode 120000 plugins/modules/os_group.py delete mode 120000 plugins/modules/os_group_info.py delete mode 120000 plugins/modules/os_image.py delete mode 120000 plugins/modules/os_image_info.py delete mode 120000 plugins/modules/os_ironic.py delete mode 120000 plugins/modules/os_ironic_inspect.py delete mode 120000 plugins/modules/os_ironic_node.py delete mode 120000 plugins/modules/os_keypair.py delete mode 120000 plugins/modules/os_keystone_domain.py delete mode 120000 plugins/modules/os_keystone_domain_info.py delete mode 120000 plugins/modules/os_keystone_endpoint.py delete mode 120000 plugins/modules/os_keystone_federation_protocol.py delete mode 120000 plugins/modules/os_keystone_federation_protocol_info.py delete mode 120000 plugins/modules/os_keystone_identity_provider.py delete mode 120000 plugins/modules/os_keystone_identity_provider_info.py delete mode 120000 plugins/modules/os_keystone_mapping.py delete mode 120000 plugins/modules/os_keystone_mapping_info.py delete mode 120000 plugins/modules/os_keystone_role.py delete mode 120000 plugins/modules/os_keystone_service.py delete mode 120000 plugins/modules/os_listener.py delete mode 120000 plugins/modules/os_loadbalancer.py delete mode 120000 plugins/modules/os_member.py delete mode 120000 plugins/modules/os_network.py delete mode 120000 plugins/modules/os_networks_info.py delete mode 120000 plugins/modules/os_nova_flavor.py delete mode 120000 plugins/modules/os_nova_host_aggregate.py delete mode 120000 plugins/modules/os_object.py delete mode 120000 plugins/modules/os_pool.py delete mode 120000 plugins/modules/os_port.py delete mode 120000 plugins/modules/os_port_info.py delete mode 120000 plugins/modules/os_project.py delete mode 120000 plugins/modules/os_project_access.py delete mode 120000 plugins/modules/os_project_info.py delete mode 120000 plugins/modules/os_quota.py delete mode 120000 plugins/modules/os_recordset.py delete mode 120000 plugins/modules/os_router.py delete mode 120000 plugins/modules/os_routers_info.py delete mode 120000 plugins/modules/os_security_group.py delete mode 120000 plugins/modules/os_security_group_rule.py delete mode 120000 plugins/modules/os_server.py delete mode 120000 plugins/modules/os_server_action.py delete mode 120000 plugins/modules/os_server_group.py delete mode 120000 plugins/modules/os_server_info.py delete mode 120000 plugins/modules/os_server_metadata.py delete mode 120000 plugins/modules/os_server_volume.py delete mode 120000 plugins/modules/os_stack.py delete mode 120000 plugins/modules/os_subnet.py delete mode 120000 plugins/modules/os_subnets_info.py delete mode 120000 plugins/modules/os_user.py delete mode 120000 plugins/modules/os_user_group.py delete mode 120000 plugins/modules/os_user_info.py delete mode 120000 plugins/modules/os_user_role.py delete mode 120000 plugins/modules/os_volume.py delete mode 120000 plugins/modules/os_volume_snapshot.py delete mode 120000 plugins/modules/os_zone.py delete mode 100644 tools/groups-to-routing.py diff --git a/meta/runtime.yml b/meta/runtime.yml index 29e358ed..b01d9294 100644 --- a/meta/runtime.yml +++ b/meta/runtime.yml @@ -4,59 +4,36 @@ action_groups: - address_scope - auth - baremetal_inspect - - baremetal_inspect - baremetal_node - - baremetal_node - - baremetal_node_action - baremetal_node_action - baremetal_node_info - - baremetal_port_info - baremetal_port - - catalog_endpoint - - catalog_service + - baremetal_port_info - catalog_service - coe_cluster - coe_cluster_template - compute_flavor - - compute_flavor - - compute_flavor - - compute_flavor_info - compute_flavor_info - compute_service_info - - compute_service_info - - config - config - dns_zone - dns_zone_info - endpoint - - endpoint - - federation_idp - federation_idp - federation_idp_info - - federation_idp_info - federation_mapping - - federation_mapping - - federation_mapping_info - federation_mapping_info - floating_ip - floating_ip_info - group_assignment - - group_assignment - - host_aggregate - host_aggregate - identity_domain - - identity_domain - - identity_domain_info - identity_domain_info - identity_group - - identity_group - - identity_group_info - identity_group_info - identity_role - - identity_role + - identity_role_info - identity_user - - identity_user - - identity_user_info - identity_user_info - image - image_info @@ -64,15 +41,15 @@ action_groups: - keypair_info - keystone_federation_protocol - keystone_federation_protocol_info - - lb_listener + - lb_health_monitor - lb_listener - lb_member - - lb_member - - lb_pool - lb_pool - loadbalancer - network - networks_info + - neutron_rbac_policies_info + - neutron_rbac_policy - object - object_container - port @@ -83,7 +60,6 @@ action_groups: - quota - recordset - role_assignment - - role_assignment - router - routers_info - security_group @@ -97,106 +73,9 @@ action_groups: - server_metadata - server_volume - stack + - stack_info - subnet - - subnets_info - subnet_pool - - volume - - volume_backup - - volume_backup_info - - volume_info - - volume_snapshot - - volume_snapshot_info - os: - - auth - - baremetal_inspect - - baremetal_inspect - - baremetal_node - - baremetal_node - - baremetal_node_action - - baremetal_node_action - - catalog_endpoint - - catalog_service - - catalog_service - - coe_cluster - - coe_cluster_template - - compute_flavor - - compute_flavor - - compute_flavor - - compute_flavor_info - - compute_flavor_info - - config - - config - - dns_zone - - dns_zone - - endpoint - - endpoint - - federation_idp - - federation_idp - - federation_idp_info - - federation_idp_info - - federation_mapping - - federation_mapping - - federation_mapping_info - - federation_mapping_info - - floating_ip - - group_assignment - - group_assignment - - host_aggregate - - host_aggregate - - identity_domain - - identity_domain - - identity_domain_info - - identity_domain_info - - identity_group - - identity_group - - identity_group_info - - identity_group_info - - identity_role - - identity_role - - identity_user - - identity_user - - identity_user_info - - identity_user_info - - image - - image_info - - keypair - - keypair_info - - keystone_federation_protocol - - keystone_federation_protocol_info - - lb_listener - - lb_listener - - lb_member - - lb_member - - lb_pool - - lb_pool - - loadbalancer - - network - - networks_info - - object - - object_container - - port - - port_info - - project - - project_access - - project_info - - quota - - recordset - - role_assignment - - role_assignment - - router - - routers_info - - security_group - - security_group_info - - security_group_rule - - security_group_rule_info - - server - - server_action - - server_group - - server_info - - server_metadata - - server_volume - - stack - - subnet - subnets_info - volume - volume_backup @@ -204,410 +83,3 @@ action_groups: - volume_info - volume_snapshot - volume_snapshot_info - - os_auth - - os_client_config - - os_client_config - - os_coe_cluster - - os_coe_cluster_template - - os_endpoint - - os_flavor - - os_flavor_info - - os_flavor_info - - os_floating_ip - - os_group - - os_group - - os_group_info - - os_group_info - - os_image - - os_image_info - - os_ironic - - os_ironic - - os_ironic_inspect - - os_ironic_inspect - - os_ironic_node - - os_ironic_node - - os_keypair - - os_keystone_domain - - os_keystone_domain - - os_keystone_domain_info - - os_keystone_domain_info - - os_keystone_endpoint - - os_keystone_endpoint - - os_keystone_federation_protocol - - os_keystone_federation_protocol_info - - os_keystone_identity_provider - - os_keystone_identity_provider - - os_keystone_identity_provider_info - - os_keystone_identity_provider_info - - os_keystone_mapping - - os_keystone_mapping - - os_keystone_mapping_info - - os_keystone_mapping_info - - os_keystone_role - - os_keystone_role - - os_keystone_service - - os_keystone_service - - os_listener - - os_listener - - os_loadbalancer - - os_member - - os_member - - os_network - - os_networks_info - - os_nova_flavor - - os_nova_flavor - - os_nova_host_aggregate - - os_nova_host_aggregate - - os_object - - os_pool - - os_pool - - os_port - - os_port_info - - os_project - - os_project_access - - os_project_info - - os_quota - - os_recordset - - os_router - - os_routers_info - - os_security_group - - os_security_group_rule - - os_server - - os_server_action - - os_server_group - - os_server_info - - os_server_metadata - - os_server_volume - - os_stack - - os_subnet - - os_subnets_info - - os_user - - os_user - - os_user_group - - os_user_group - - os_user_info - - os_user_info - - os_user_role - - os_user_role - - os_volume - - os_volume_snapshot - - os_zone - - os_zone - -plugin_routing: - modules: - os_auth: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.auth - redirect: openstack.cloud.auth - os_client_config: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.config - redirect: openstack.cloud.config - os_coe_cluster: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.coe_cluster - redirect: openstack.cloud.coe_cluster - os_coe_cluster_template: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.coe_cluster_template - redirect: openstack.cloud.coe_cluster_template - os_endpoint: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.catalog_endpoint - redirect: openstack.cloud.catalog_endpoint - os_flavor: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.compute_flavor - redirect: openstack.cloud.compute_flavor - os_flavor_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.compute_flavor_info - redirect: openstack.cloud.compute_flavor_info - os_floating_ip: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.floating_ip - redirect: openstack.cloud.floating_ip - os_group: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_group - redirect: openstack.cloud.identity_group - os_group_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_group_info - redirect: openstack.cloud.identity_group_info - os_image: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.image - redirect: openstack.cloud.image - os_image_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.image_info - redirect: openstack.cloud.image_info - os_ironic: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.baremetal_node - redirect: openstack.cloud.baremetal_node - os_ironic_inspect: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.baremetal_inspect - redirect: openstack.cloud.baremetal_inspect - os_ironic_node: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.baremetal_node_action - redirect: openstack.cloud.baremetal_node_action - os_keypair: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.keypair - redirect: openstack.cloud.keypair - os_keystone_domain: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_domain - redirect: openstack.cloud.identity_domain - os_keystone_domain_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_domain_info - redirect: openstack.cloud.identity_domain_info - os_keystone_endpoint: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.endpoint - redirect: openstack.cloud.endpoint - os_keystone_federation_protocol: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.keystone_federation_protocol - redirect: openstack.cloud.keystone_federation_protocol - os_keystone_federation_protocol_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.keystone_federation_protocol_info - redirect: openstack.cloud.keystone_federation_protocol_info - os_keystone_identity_provider: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.federation_idp - redirect: openstack.cloud.federation_idp - os_keystone_identity_provider_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.federation_idp_info - redirect: openstack.cloud.federation_idp_info - os_keystone_mapping: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.federation_mapping - redirect: openstack.cloud.federation_mapping - os_keystone_mapping_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.federation_mapping_info - redirect: openstack.cloud.federation_mapping_info - os_keystone_role: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_role - redirect: openstack.cloud.identity_role - os_keystone_service: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.catalog_service - redirect: openstack.cloud.catalog_service - os_listener: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.lb_listener - redirect: openstack.cloud.lb_listener - os_loadbalancer: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.loadbalancer - redirect: openstack.cloud.loadbalancer - os_member: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.lb_member - redirect: openstack.cloud.lb_member - os_network: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.network - redirect: openstack.cloud.network - os_networks_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.networks_info - redirect: openstack.cloud.networks_info - os_nova_flavor: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.compute_flavor - redirect: openstack.cloud.compute_flavor - os_nova_host_aggregate: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.host_aggregate - redirect: openstack.cloud.host_aggregate - os_object: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.object - redirect: openstack.cloud.object - os_pool: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.lb_pool - redirect: openstack.cloud.lb_pool - os_port: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.port - redirect: openstack.cloud.port - os_port_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.port_info - redirect: openstack.cloud.port_info - os_project: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.project - redirect: openstack.cloud.project - os_project_access: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.project_access - redirect: openstack.cloud.project_access - os_project_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.project_info - redirect: openstack.cloud.project_info - os_quota: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.quota - redirect: openstack.cloud.quota - os_recordset: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.recordset - redirect: openstack.cloud.recordset - os_router: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.router - redirect: openstack.cloud.router - os_routers_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.routers_info - redirect: openstack.cloud.routers_info - os_security_group: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.security_group - redirect: openstack.cloud.security_group - os_security_group_rule: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.security_group_rule - redirect: openstack.cloud.security_group_rule - os_server: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server - redirect: openstack.cloud.server - os_server_action: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server_action - redirect: openstack.cloud.server_action - os_server_group: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server_group - redirect: openstack.cloud.server_group - os_server_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server_info - redirect: openstack.cloud.server_info - os_server_metadata: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server_metadata - redirect: openstack.cloud.server_metadata - os_server_volume: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.server_volume - redirect: openstack.cloud.server_volume - os_stack: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.stack - redirect: openstack.cloud.stack - os_subnet: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.subnet - redirect: openstack.cloud.subnet - os_subnets_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.subnets_info - redirect: openstack.cloud.subnets_info - os_user: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_user - redirect: openstack.cloud.identity_user - os_user_group: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.group_assignment - redirect: openstack.cloud.group_assignment - os_user_info: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.identity_user_info - redirect: openstack.cloud.identity_user_info - os_user_role: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.role_assignment - redirect: openstack.cloud.role_assignment - os_volume: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.volume - redirect: openstack.cloud.volume - os_volume_snapshot: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.volume_snapshot - redirect: openstack.cloud.volume_snapshot - os_zone: - deprecation: - removal_date: 2021-12-12 - warning_text: os_ prefixed module names are deprecated, use openstack.cloud.dns_zone - redirect: openstack.cloud.dns_zone diff --git a/plugins/module_utils/openstack.py b/plugins/module_utils/openstack.py index 21acf300..329405ff 100644 --- a/plugins/module_utils/openstack.py +++ b/plugins/module_utils/openstack.py @@ -36,34 +36,7 @@ import os from ansible.module_utils.basic import AnsibleModule from ansible.module_utils.six import iteritems -OVERRIDES = {'os_client_config': 'config', - 'os_endpoint': 'catalog_endpoint', - 'os_flavor': 'compute_flavor', - 'os_flavor_info': 'compute_flavor_info', - 'os_group': 'identity_group', - 'os_group_info': 'identity_group_info', - 'os_ironic': 'baremetal_node', - 'os_ironic_inspect': 'baremetal_inspect', - 'os_ironic_node': 'baremetal_node_action', - 'os_keystone_domain': 'identity_domain', - 'os_keystone_domain_info': 'identity_domain_info', - 'os_keystone_endpoint': 'endpoint', - 'os_keystone_identity_provider': 'federation_idp', - 'os_keystone_identity_provider_info': 'federation_idp_info', - 'os_keystone_mapping': 'federation_mapping', - 'os_keystone_mapping_info': 'federation_mapping_info', - 'os_keystone_role': 'identity_role', - 'os_keystone_service': 'catalog_service', - 'os_listener': 'lb_listener', - 'os_member': 'lb_member', - 'os_nova_flavor': 'compute_flavor', - 'os_nova_host_aggregate': 'host_aggregate', - 'os_pool': 'lb_pool', - 'os_user': 'identity_user', - 'os_user_group': 'group_assignment', - 'os_user_info': 'identity_user_info', - 'os_user_role': 'role_assignment', - 'os_zone': 'dns_zone'} +OVERRIDES = {} CUSTOM_VAR_PARAMS = ['min_ver', 'max_ver'] @@ -320,7 +293,7 @@ class OpenStackModule: "The '%s' module has been renamed to '%s' in openstack " "collection: openstack.cloud.%s" % ( self.module_name, new_module_name, new_module_name), - version='2.0.0', collection_name='openstack.cloud') + version='3.0.0', collection_name='openstack.cloud') def openstack_cloud_from_module(self): """Sets up connection to cloud using provided options. Checks if all diff --git a/plugins/modules/compute_flavor_info.py b/plugins/modules/compute_flavor_info.py index facaf581..05644eda 100644 --- a/plugins/modules/compute_flavor_info.py +++ b/plugins/modules/compute_flavor_info.py @@ -16,8 +16,6 @@ description: available to the flavor, or both. When specifying multiple filters, *ALL* filters must match on a flavor before that flavor is returned as a fact. - - This module was called C(openstack.cloud.compute_flavor_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.compute_flavor_info) module no longer returns C(ansible_facts)! notes: - The result contains a list of unsorted flavors. options: @@ -206,8 +204,6 @@ class ComputeFlavorInfoModule(OpenStackModule): supports_check_mode=True ) - deprecated_names = ('openstack.cloud.compute_flavor_facts') - def run(self): name = self.params['name'] vcpus = self.params['vcpus'] diff --git a/plugins/modules/container.py b/plugins/modules/container.py deleted file mode 120000 index 0f5a2509..00000000 --- a/plugins/modules/container.py +++ /dev/null @@ -1 +0,0 @@ -object_container.py \ No newline at end of file diff --git a/plugins/modules/identity_domain_info.py b/plugins/modules/identity_domain_info.py index 4073c8d0..c9f43d2c 100644 --- a/plugins/modules/identity_domain_info.py +++ b/plugins/modules/identity_domain_info.py @@ -9,8 +9,6 @@ short_description: Retrieve information about one or more OpenStack domains author: OpenStack Ansible SIG description: - Retrieve information about a one or more OpenStack domains - - This module was called C(openstack.cloud.identity_domain_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.identity_domain_info) module no longer returns C(ansible_facts)! options: name: description: @@ -99,8 +97,6 @@ class IdentityDomainInfoModule(OpenStackModule): supports_check_mode=True ) - deprecated_names = ('openstack.cloud.identity_domain_facts') - def run(self): name = self.params['name'] filters = self.params['filters'] or {} diff --git a/plugins/modules/identity_user_info.py b/plugins/modules/identity_user_info.py index c3487b4a..7fa03a85 100644 --- a/plugins/modules/identity_user_info.py +++ b/plugins/modules/identity_user_info.py @@ -9,8 +9,6 @@ short_description: Retrieve information about one or more OpenStack users author: OpenStack Ansible SIG description: - Retrieve information about a one or more OpenStack users - - This module was called C(openstack.cloud.identity_user_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.identity_user_info) module no longer returns C(ansible_facts)! options: name: description: @@ -143,8 +141,6 @@ class IdentityUserInfoModule(OpenStackModule): supports_check_mode=True ) - deprecated_names = ('openstack.cloud.identity_user_facts') - def run(self): name = self.params['name'] domain = self.params['domain'] diff --git a/plugins/modules/image.py b/plugins/modules/image.py index 94f273a7..8e0daf09 100644 --- a/plugins/modules/image.py +++ b/plugins/modules/image.py @@ -447,8 +447,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class ImageModule(OpenStackModule): - deprecated_names = ('os_image', 'openstack.cloud.os_image') - argument_spec = dict( name=dict(required=True, type='str'), id=dict(type='str'), diff --git a/plugins/modules/image_info.py b/plugins/modules/image_info.py index 1039e2fb..8fdf9064 100644 --- a/plugins/modules/image_info.py +++ b/plugins/modules/image_info.py @@ -10,8 +10,6 @@ short_description: Retrieve information about an image within OpenStack. author: OpenStack Ansible SIG description: - Retrieve information about a image image from OpenStack. - - This module was called C(openstack.cloud.image_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.image_info) module no longer returns C(ansible_facts)! options: image: description: @@ -376,8 +374,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class ImageInfoModule(OpenStackModule): - deprecated_names = ('openstack.cloud.os_image_facts', 'openstack.cloud.os_image_info') - argument_spec = dict( image=dict(type='str', required=False), filters=dict(type='dict', required=False, aliases=['properties']), diff --git a/plugins/modules/keypair.py b/plugins/modules/keypair.py index df6bb5d1..04763eaf 100644 --- a/plugins/modules/keypair.py +++ b/plugins/modules/keypair.py @@ -84,7 +84,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import ( class KeyPairModule(OpenStackModule): - deprecated_names = ('os_keypair', 'openstack.cloud.os_keypair') argument_spec = dict( name=dict(required=True), diff --git a/plugins/modules/networks_info.py b/plugins/modules/networks_info.py index 669fcdcf..88dca30a 100644 --- a/plugins/modules/networks_info.py +++ b/plugins/modules/networks_info.py @@ -10,8 +10,6 @@ short_description: Retrieve information about one or more OpenStack networks. author: OpenStack Ansible SIG description: - Retrieve information about one or more networks from OpenStack. - - This module was called C(openstack.cloud.networks_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.networks_info) module no longer returns C(ansible_facts)! options: name: description: @@ -174,9 +172,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class NetworkInfoModule(OpenStackModule): - - deprecated_names = ('networks_facts', 'openstack.cloud.networks_facts') - argument_spec = dict( name=dict(required=False, default=None), filters=dict(required=False, type='dict', default=None) diff --git a/plugins/modules/os_auth.py b/plugins/modules/os_auth.py deleted file mode 120000 index 064c1cb1..00000000 --- a/plugins/modules/os_auth.py +++ /dev/null @@ -1 +0,0 @@ -auth.py \ No newline at end of file diff --git a/plugins/modules/os_client_config.py b/plugins/modules/os_client_config.py deleted file mode 120000 index f85c6b18..00000000 --- a/plugins/modules/os_client_config.py +++ /dev/null @@ -1 +0,0 @@ -config.py \ No newline at end of file diff --git a/plugins/modules/os_coe_cluster.py b/plugins/modules/os_coe_cluster.py deleted file mode 120000 index 16eab8ac..00000000 --- a/plugins/modules/os_coe_cluster.py +++ /dev/null @@ -1 +0,0 @@ -coe_cluster.py \ No newline at end of file diff --git a/plugins/modules/os_coe_cluster_template.py b/plugins/modules/os_coe_cluster_template.py deleted file mode 120000 index 2590bbbb..00000000 --- a/plugins/modules/os_coe_cluster_template.py +++ /dev/null @@ -1 +0,0 @@ -coe_cluster_template.py \ No newline at end of file diff --git a/plugins/modules/os_flavor_info.py b/plugins/modules/os_flavor_info.py deleted file mode 120000 index f61ab4e2..00000000 --- a/plugins/modules/os_flavor_info.py +++ /dev/null @@ -1 +0,0 @@ -compute_flavor_info.py \ No newline at end of file diff --git a/plugins/modules/os_floating_ip.py b/plugins/modules/os_floating_ip.py deleted file mode 120000 index 42e93cf2..00000000 --- a/plugins/modules/os_floating_ip.py +++ /dev/null @@ -1 +0,0 @@ -floating_ip.py \ No newline at end of file diff --git a/plugins/modules/os_group.py b/plugins/modules/os_group.py deleted file mode 120000 index fe9ff363..00000000 --- a/plugins/modules/os_group.py +++ /dev/null @@ -1 +0,0 @@ -identity_group.py \ No newline at end of file diff --git a/plugins/modules/os_group_info.py b/plugins/modules/os_group_info.py deleted file mode 120000 index b278189b..00000000 --- a/plugins/modules/os_group_info.py +++ /dev/null @@ -1 +0,0 @@ -identity_group_info.py \ No newline at end of file diff --git a/plugins/modules/os_image.py b/plugins/modules/os_image.py deleted file mode 120000 index f085dcef..00000000 --- a/plugins/modules/os_image.py +++ /dev/null @@ -1 +0,0 @@ -image.py \ No newline at end of file diff --git a/plugins/modules/os_image_info.py b/plugins/modules/os_image_info.py deleted file mode 120000 index 5ab137a4..00000000 --- a/plugins/modules/os_image_info.py +++ /dev/null @@ -1 +0,0 @@ -image_info.py \ No newline at end of file diff --git a/plugins/modules/os_ironic.py b/plugins/modules/os_ironic.py deleted file mode 120000 index d6b8b969..00000000 --- a/plugins/modules/os_ironic.py +++ /dev/null @@ -1 +0,0 @@ -baremetal_node.py \ No newline at end of file diff --git a/plugins/modules/os_ironic_inspect.py b/plugins/modules/os_ironic_inspect.py deleted file mode 120000 index b8b043a9..00000000 --- a/plugins/modules/os_ironic_inspect.py +++ /dev/null @@ -1 +0,0 @@ -baremetal_inspect.py \ No newline at end of file diff --git a/plugins/modules/os_ironic_node.py b/plugins/modules/os_ironic_node.py deleted file mode 120000 index 4cfa6e61..00000000 --- a/plugins/modules/os_ironic_node.py +++ /dev/null @@ -1 +0,0 @@ -baremetal_node_action.py \ No newline at end of file diff --git a/plugins/modules/os_keypair.py b/plugins/modules/os_keypair.py deleted file mode 120000 index 03083d09..00000000 --- a/plugins/modules/os_keypair.py +++ /dev/null @@ -1 +0,0 @@ -keypair.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_domain.py b/plugins/modules/os_keystone_domain.py deleted file mode 120000 index 74ce1571..00000000 --- a/plugins/modules/os_keystone_domain.py +++ /dev/null @@ -1 +0,0 @@ -identity_domain.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_domain_info.py b/plugins/modules/os_keystone_domain_info.py deleted file mode 120000 index 611aef91..00000000 --- a/plugins/modules/os_keystone_domain_info.py +++ /dev/null @@ -1 +0,0 @@ -identity_domain_info.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_endpoint.py b/plugins/modules/os_keystone_endpoint.py deleted file mode 120000 index 00354625..00000000 --- a/plugins/modules/os_keystone_endpoint.py +++ /dev/null @@ -1 +0,0 @@ -endpoint.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_federation_protocol.py b/plugins/modules/os_keystone_federation_protocol.py deleted file mode 120000 index 25ef7fc0..00000000 --- a/plugins/modules/os_keystone_federation_protocol.py +++ /dev/null @@ -1 +0,0 @@ -keystone_federation_protocol.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_federation_protocol_info.py b/plugins/modules/os_keystone_federation_protocol_info.py deleted file mode 120000 index c05e9630..00000000 --- a/plugins/modules/os_keystone_federation_protocol_info.py +++ /dev/null @@ -1 +0,0 @@ -keystone_federation_protocol_info.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_identity_provider.py b/plugins/modules/os_keystone_identity_provider.py deleted file mode 120000 index ec2e8386..00000000 --- a/plugins/modules/os_keystone_identity_provider.py +++ /dev/null @@ -1 +0,0 @@ -federation_idp.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_identity_provider_info.py b/plugins/modules/os_keystone_identity_provider_info.py deleted file mode 120000 index c5ac8bcd..00000000 --- a/plugins/modules/os_keystone_identity_provider_info.py +++ /dev/null @@ -1 +0,0 @@ -federation_idp_info.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_mapping.py b/plugins/modules/os_keystone_mapping.py deleted file mode 120000 index a018548c..00000000 --- a/plugins/modules/os_keystone_mapping.py +++ /dev/null @@ -1 +0,0 @@ -federation_mapping.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_mapping_info.py b/plugins/modules/os_keystone_mapping_info.py deleted file mode 120000 index bb3223a0..00000000 --- a/plugins/modules/os_keystone_mapping_info.py +++ /dev/null @@ -1 +0,0 @@ -federation_mapping_info.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_role.py b/plugins/modules/os_keystone_role.py deleted file mode 120000 index 077bb640..00000000 --- a/plugins/modules/os_keystone_role.py +++ /dev/null @@ -1 +0,0 @@ -identity_role.py \ No newline at end of file diff --git a/plugins/modules/os_keystone_service.py b/plugins/modules/os_keystone_service.py deleted file mode 120000 index 3e118858..00000000 --- a/plugins/modules/os_keystone_service.py +++ /dev/null @@ -1 +0,0 @@ -catalog_service.py \ No newline at end of file diff --git a/plugins/modules/os_listener.py b/plugins/modules/os_listener.py deleted file mode 120000 index f784ebfc..00000000 --- a/plugins/modules/os_listener.py +++ /dev/null @@ -1 +0,0 @@ -lb_listener.py \ No newline at end of file diff --git a/plugins/modules/os_loadbalancer.py b/plugins/modules/os_loadbalancer.py deleted file mode 120000 index df6fc6ed..00000000 --- a/plugins/modules/os_loadbalancer.py +++ /dev/null @@ -1 +0,0 @@ -loadbalancer.py \ No newline at end of file diff --git a/plugins/modules/os_member.py b/plugins/modules/os_member.py deleted file mode 120000 index e39e0e63..00000000 --- a/plugins/modules/os_member.py +++ /dev/null @@ -1 +0,0 @@ -lb_member.py \ No newline at end of file diff --git a/plugins/modules/os_network.py b/plugins/modules/os_network.py deleted file mode 120000 index 7a739baa..00000000 --- a/plugins/modules/os_network.py +++ /dev/null @@ -1 +0,0 @@ -network.py \ No newline at end of file diff --git a/plugins/modules/os_networks_info.py b/plugins/modules/os_networks_info.py deleted file mode 120000 index 855d0e85..00000000 --- a/plugins/modules/os_networks_info.py +++ /dev/null @@ -1 +0,0 @@ -networks_info.py \ No newline at end of file diff --git a/plugins/modules/os_nova_flavor.py b/plugins/modules/os_nova_flavor.py deleted file mode 120000 index b2bb871d..00000000 --- a/plugins/modules/os_nova_flavor.py +++ /dev/null @@ -1 +0,0 @@ -compute_flavor.py \ No newline at end of file diff --git a/plugins/modules/os_nova_host_aggregate.py b/plugins/modules/os_nova_host_aggregate.py deleted file mode 120000 index c5656c9b..00000000 --- a/plugins/modules/os_nova_host_aggregate.py +++ /dev/null @@ -1 +0,0 @@ -host_aggregate.py \ No newline at end of file diff --git a/plugins/modules/os_object.py b/plugins/modules/os_object.py deleted file mode 120000 index e2c18bb4..00000000 --- a/plugins/modules/os_object.py +++ /dev/null @@ -1 +0,0 @@ -object.py \ No newline at end of file diff --git a/plugins/modules/os_pool.py b/plugins/modules/os_pool.py deleted file mode 120000 index e9caa19c..00000000 --- a/plugins/modules/os_pool.py +++ /dev/null @@ -1 +0,0 @@ -lb_pool.py \ No newline at end of file diff --git a/plugins/modules/os_port.py b/plugins/modules/os_port.py deleted file mode 120000 index 99c1f7fc..00000000 --- a/plugins/modules/os_port.py +++ /dev/null @@ -1 +0,0 @@ -port.py \ No newline at end of file diff --git a/plugins/modules/os_port_info.py b/plugins/modules/os_port_info.py deleted file mode 120000 index 2445b194..00000000 --- a/plugins/modules/os_port_info.py +++ /dev/null @@ -1 +0,0 @@ -port_info.py \ No newline at end of file diff --git a/plugins/modules/os_project.py b/plugins/modules/os_project.py deleted file mode 120000 index 41d1fa30..00000000 --- a/plugins/modules/os_project.py +++ /dev/null @@ -1 +0,0 @@ -project.py \ No newline at end of file diff --git a/plugins/modules/os_project_access.py b/plugins/modules/os_project_access.py deleted file mode 120000 index 9de9e147..00000000 --- a/plugins/modules/os_project_access.py +++ /dev/null @@ -1 +0,0 @@ -project_access.py \ No newline at end of file diff --git a/plugins/modules/os_project_info.py b/plugins/modules/os_project_info.py deleted file mode 120000 index bb015c97..00000000 --- a/plugins/modules/os_project_info.py +++ /dev/null @@ -1 +0,0 @@ -project_info.py \ No newline at end of file diff --git a/plugins/modules/os_quota.py b/plugins/modules/os_quota.py deleted file mode 120000 index 45b165ff..00000000 --- a/plugins/modules/os_quota.py +++ /dev/null @@ -1 +0,0 @@ -quota.py \ No newline at end of file diff --git a/plugins/modules/os_recordset.py b/plugins/modules/os_recordset.py deleted file mode 120000 index f3a191f9..00000000 --- a/plugins/modules/os_recordset.py +++ /dev/null @@ -1 +0,0 @@ -recordset.py \ No newline at end of file diff --git a/plugins/modules/os_router.py b/plugins/modules/os_router.py deleted file mode 120000 index 7a3bfa53..00000000 --- a/plugins/modules/os_router.py +++ /dev/null @@ -1 +0,0 @@ -router.py \ No newline at end of file diff --git a/plugins/modules/os_routers_info.py b/plugins/modules/os_routers_info.py deleted file mode 120000 index bf5d3baa..00000000 --- a/plugins/modules/os_routers_info.py +++ /dev/null @@ -1 +0,0 @@ -routers_info.py \ No newline at end of file diff --git a/plugins/modules/os_security_group.py b/plugins/modules/os_security_group.py deleted file mode 120000 index 7e4c6c03..00000000 --- a/plugins/modules/os_security_group.py +++ /dev/null @@ -1 +0,0 @@ -security_group.py \ No newline at end of file diff --git a/plugins/modules/os_security_group_rule.py b/plugins/modules/os_security_group_rule.py deleted file mode 120000 index 2ad5a0fa..00000000 --- a/plugins/modules/os_security_group_rule.py +++ /dev/null @@ -1 +0,0 @@ -security_group_rule.py \ No newline at end of file diff --git a/plugins/modules/os_server.py b/plugins/modules/os_server.py deleted file mode 120000 index 48c45cb2..00000000 --- a/plugins/modules/os_server.py +++ /dev/null @@ -1 +0,0 @@ -server.py \ No newline at end of file diff --git a/plugins/modules/os_server_action.py b/plugins/modules/os_server_action.py deleted file mode 120000 index 94d48b8c..00000000 --- a/plugins/modules/os_server_action.py +++ /dev/null @@ -1 +0,0 @@ -server_action.py \ No newline at end of file diff --git a/plugins/modules/os_server_group.py b/plugins/modules/os_server_group.py deleted file mode 120000 index 248acf85..00000000 --- a/plugins/modules/os_server_group.py +++ /dev/null @@ -1 +0,0 @@ -server_group.py \ No newline at end of file diff --git a/plugins/modules/os_server_info.py b/plugins/modules/os_server_info.py deleted file mode 120000 index c166a5e3..00000000 --- a/plugins/modules/os_server_info.py +++ /dev/null @@ -1 +0,0 @@ -server_info.py \ No newline at end of file diff --git a/plugins/modules/os_server_metadata.py b/plugins/modules/os_server_metadata.py deleted file mode 120000 index 1afd7796..00000000 --- a/plugins/modules/os_server_metadata.py +++ /dev/null @@ -1 +0,0 @@ -server_metadata.py \ No newline at end of file diff --git a/plugins/modules/os_server_volume.py b/plugins/modules/os_server_volume.py deleted file mode 120000 index c925bd71..00000000 --- a/plugins/modules/os_server_volume.py +++ /dev/null @@ -1 +0,0 @@ -server_volume.py \ No newline at end of file diff --git a/plugins/modules/os_stack.py b/plugins/modules/os_stack.py deleted file mode 120000 index c0069ab2..00000000 --- a/plugins/modules/os_stack.py +++ /dev/null @@ -1 +0,0 @@ -stack.py \ No newline at end of file diff --git a/plugins/modules/os_subnet.py b/plugins/modules/os_subnet.py deleted file mode 120000 index e4e58a1e..00000000 --- a/plugins/modules/os_subnet.py +++ /dev/null @@ -1 +0,0 @@ -subnet.py \ No newline at end of file diff --git a/plugins/modules/os_subnets_info.py b/plugins/modules/os_subnets_info.py deleted file mode 120000 index 730830d2..00000000 --- a/plugins/modules/os_subnets_info.py +++ /dev/null @@ -1 +0,0 @@ -subnets_info.py \ No newline at end of file diff --git a/plugins/modules/os_user.py b/plugins/modules/os_user.py deleted file mode 120000 index 7d89f34e..00000000 --- a/plugins/modules/os_user.py +++ /dev/null @@ -1 +0,0 @@ -identity_user.py \ No newline at end of file diff --git a/plugins/modules/os_user_group.py b/plugins/modules/os_user_group.py deleted file mode 120000 index 844c7261..00000000 --- a/plugins/modules/os_user_group.py +++ /dev/null @@ -1 +0,0 @@ -group_assignment.py \ No newline at end of file diff --git a/plugins/modules/os_user_info.py b/plugins/modules/os_user_info.py deleted file mode 120000 index 37158cec..00000000 --- a/plugins/modules/os_user_info.py +++ /dev/null @@ -1 +0,0 @@ -identity_user_info.py \ No newline at end of file diff --git a/plugins/modules/os_user_role.py b/plugins/modules/os_user_role.py deleted file mode 120000 index eefa904d..00000000 --- a/plugins/modules/os_user_role.py +++ /dev/null @@ -1 +0,0 @@ -role_assignment.py \ No newline at end of file diff --git a/plugins/modules/os_volume.py b/plugins/modules/os_volume.py deleted file mode 120000 index 1d6acb7b..00000000 --- a/plugins/modules/os_volume.py +++ /dev/null @@ -1 +0,0 @@ -volume.py \ No newline at end of file diff --git a/plugins/modules/os_volume_snapshot.py b/plugins/modules/os_volume_snapshot.py deleted file mode 120000 index 8657aeea..00000000 --- a/plugins/modules/os_volume_snapshot.py +++ /dev/null @@ -1 +0,0 @@ -volume_snapshot.py \ No newline at end of file diff --git a/plugins/modules/os_zone.py b/plugins/modules/os_zone.py deleted file mode 120000 index e6552542..00000000 --- a/plugins/modules/os_zone.py +++ /dev/null @@ -1 +0,0 @@ -dns_zone.py \ No newline at end of file diff --git a/plugins/modules/port_info.py b/plugins/modules/port_info.py index 938dd429..41010fa2 100644 --- a/plugins/modules/port_info.py +++ b/plugins/modules/port_info.py @@ -9,8 +9,6 @@ short_description: Retrieve information about ports within OpenStack. author: OpenStack Ansible SIG description: - Retrieve information about ports from OpenStack. - - This module was called C(openstack.cloud.port_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.port_info) module no longer returns C(ansible_facts)! options: port: description: diff --git a/plugins/modules/project_info.py b/plugins/modules/project_info.py index 0a0c357c..5ed3344e 100644 --- a/plugins/modules/project_info.py +++ b/plugins/modules/project_info.py @@ -9,8 +9,6 @@ short_description: Retrieve information about one or more OpenStack projects author: OpenStack Ansible SIG description: - Retrieve information about a one or more OpenStack projects - - This module was called C(openstack.cloud.project_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.project_info) module no longer returns C(ansible_facts)! options: name: description: @@ -121,8 +119,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class IdentityProjectInfoModule(OpenStackModule): - deprecated_names = ('project_facts', 'openstack.cloud.project_facts') - argument_spec = dict( name=dict(required=False), domain=dict(required=False), diff --git a/plugins/modules/routers_info.py b/plugins/modules/routers_info.py index 37bbecba..5c08bfd6 100644 --- a/plugins/modules/routers_info.py +++ b/plugins/modules/routers_info.py @@ -191,8 +191,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class RouterInfoModule(OpenStackModule): - deprecated_names = ('os_routers_info', 'openstack.cloud.os_routers_info') - argument_spec = dict( name=dict(required=False, default=None), filters=dict(required=False, type='dict', default={}) diff --git a/plugins/modules/security_group_rule.py b/plugins/modules/security_group_rule.py index caf3a23e..c4a530ed 100644 --- a/plugins/modules/security_group_rule.py +++ b/plugins/modules/security_group_rule.py @@ -303,7 +303,6 @@ def _ports_match(protocol, module_min, module_max, rule_min, rule_max): class SecurityGroupRuleModule(OpenStackModule): - deprecated_names = ('os_security_group_rule', 'openstack.cloud.os_security_group_rule') argument_spec = dict( security_group=dict(required=True), diff --git a/plugins/modules/server.py b/plugins/modules/server.py index a3ca7d05..b2818143 100644 --- a/plugins/modules/server.py +++ b/plugins/modules/server.py @@ -481,7 +481,6 @@ def _parse_meta(meta): class ServerModule(OpenStackModule): - deprecated_names = ('os_server', 'openstack.cloud.os_server') argument_spec = dict( name=dict(required=True), diff --git a/plugins/modules/server_action.py b/plugins/modules/server_action.py index 341ff374..c49d6c44 100644 --- a/plugins/modules/server_action.py +++ b/plugins/modules/server_action.py @@ -116,8 +116,6 @@ _admin_actions = ['pause', 'unpause', 'suspend', 'resume', 'lock', 'unlock', 'sh class ServerActionModule(OpenStackModule): - deprecated_names = ('os_server_action', 'openstack.cloud.os_server_action') - argument_spec = dict( server=dict(required=True, type='str'), action=dict(required=True, type='str', diff --git a/plugins/modules/server_info.py b/plugins/modules/server_info.py index bac1d211..f8d6a4e4 100644 --- a/plugins/modules/server_info.py +++ b/plugins/modules/server_info.py @@ -10,8 +10,6 @@ short_description: Retrieve information about one or more compute instances author: OpenStack Ansible SIG description: - Retrieve information about server instances from OpenStack. - - This module was called C(os_server_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.server_info) module no longer returns C(ansible_facts)! notes: - The result contains a list of servers. options: @@ -62,8 +60,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class ServerInfoModule(OpenStackModule): - deprecated_names = ('os_server_info', 'openstack.cloud.os_server_info') - argument_spec = dict( server=dict(required=False), detailed=dict(required=False, type='bool', default=False), diff --git a/plugins/modules/subnets_info.py b/plugins/modules/subnets_info.py index 7a771b53..c0b374b2 100644 --- a/plugins/modules/subnets_info.py +++ b/plugins/modules/subnets_info.py @@ -10,8 +10,6 @@ short_description: Retrieve information about one or more OpenStack subnets. author: OpenStack Ansible SIG description: - Retrieve information about one or more subnets from OpenStack. - - This module was called C(openstack.cloud.subnets_facts) before Ansible 2.9, returning C(ansible_facts). - Note that the M(openstack.cloud.subnets_info) module no longer returns C(ansible_facts)! options: name: description: @@ -133,9 +131,6 @@ from ansible_collections.openstack.cloud.plugins.module_utils.openstack import O class SubnetInfoModule(OpenStackModule): - - deprecated_names = ('subnets_facts', 'openstack.cloud.subnets_facts') - argument_spec = dict( name=dict(required=False, default=None, aliases=['subnet']), filters=dict(required=False, type='dict', default=None) diff --git a/tools/groups-to-routing.py b/tools/groups-to-routing.py deleted file mode 100644 index 7a09e428..00000000 --- a/tools/groups-to-routing.py +++ /dev/null @@ -1,128 +0,0 @@ -import os -import yaml - -overrides = dict( - os_client_config='config', - os_endpoint='catalog_endpoint', - os_flavor_info='compute_flavor_info', - os_flavor='compute_flavor', - os_group_info='identity_group_info', - os_group='identity_group', - os_ironic_node='baremetal_node_action', - os_ironic_inspect='baremetal_inspect', - os_ironic='baremetal_node', - os_keystone_domain_info='identity_domain_info', - os_keystone_domain='identity_domain', - os_keystone_endpoint='endpoint', - os_keystone_identity_provider_info='federation_idp_info', - os_keystone_identity_provider='federation_idp', - os_keystone_mapping_info='federation_mapping_info', - os_keystone_mapping='federation_mapping', - os_keystone_role='identity_role', - os_keystone_service='catalog_service', - os_listener='lb_listener', - os_member='lb_member', - os_nova_flavor='compute_flavor', - os_nova_host_aggregate='host_aggregate', - os_pool='lb_pool', - os_user_group='group_assignment', - os_user_info='identity_user_info', - os_user_role='role_assignment', - os_user='identity_user', - os_zone='dns_zone', -) - -old_list = [] -new_list = [] -module_runtime = dict() -mapping = dict() -os.system('git checkout HEAD^1 meta/action_groups.yml plugins ci') -groups = yaml.safe_load(open('meta/action_groups.yml', 'r')) -# Do override keys first so that they're done in sequence -for module in list(overrides.keys()) + groups['os']: - old_list.append(module) - new_name = overrides.get(module, module.replace('os_', '')) - new_list.append(new_name) - mapping[module] = new_name - module_runtime[module] = dict( - deprecation=dict( - removal_date='TBD', - warning_text=( - 'os_ prefixed module names are deprecated, use' - f' openstack.cloud.{new_name}' - ), - ), - redirect=f'openstack.cloud.{new_name}', - ) - -groups['os'] = sorted(new_list) + sorted(old_list) -groups['openstack'] = sorted(new_list) - -yaml.dump(groups, open('meta/action_groups.yml', 'w')) - -runtime = dict(plugin_runtime=dict(modules=module_runtime)) - -yaml.dump(runtime, open('meta/runtime.yml', 'w')) - - -def replace_content(content): - for old, new in mapping.items(): - content = content.replace( - f'modules import {old}', - f'modules import {new}', - ) - content = content.replace( - f'modules.{old}', - f'modules.{new}', - ) - content = content.replace( - f'self.module = {old}', - f'self.module = {new}', - ) - content = content.replace( - f'test_{old}', - f'test_{new}', - ) - content = content.replace( - f'openstack.cloud.{old}', - f'openstack.cloud.{new}', - ) - content = content.replace( - old, - f'openstack.cloud.{new}', - ) - content = content.replace( - 'module: openstack.cloud.', - 'module: ', - ) - return content - - -for todo_path in ('ci', 'plugins', 'tests'): - for (dirpath, dirnames, filenames) in os.walk(todo_path): - for filename in filenames: - contents = None - oldfile = os.path.join(dirpath, filename) - with open(oldfile, 'r') as infile: - contents = replace_content(infile.read()) - with open(oldfile, 'w') as outfile: - outfile.write(contents) - if filename.endswith('.py'): - old_file_base = os.path.splitext(filename)[0] - if old_file_base in mapping: - new_file_base = mapping[old_file_base] - newfile = os.path.join(dirpath, f'{new_file_base}.py') - os.system(f'git mv {oldfile} {newfile}') - os.system(f'ln -s {new_file_base}.py {oldfile}') - os.system(f'git add {oldfile}') - continue - if not filename.startswith('test_'): - continue - old_file_module_base = old_file_base[5:] - new_file_base = mapping.get(old_file_module_base) - if not new_file_base: - continue - newfile = os.path.join(dirpath, f'test_{new_file_base}.py') - os.system(f'git mv {oldfile} {newfile}') - -print("Edit tests/unit/modules/cloud/openstack/test_server.py by hand")