diff --git a/ansible/baremetal-compute-inspect.yml b/ansible/baremetal-compute-inspect.yml
index 45d8c3d296eaf1756b08933fbde0108ab7e34b90..87e3eb580ff02c93d8febb33593bf4321612cb55 100644
--- a/ansible/baremetal-compute-inspect.yml
+++ b/ansible/baremetal-compute-inspect.yml
@@ -12,7 +12,7 @@
   vars:
     venv: "{{ virtualenv_path }}/openstacksdk"
   roles:
-    - role: stackhpc.os_openstacksdk
+    - role: stackhpc.openstack.os_openstacksdk
       os_openstacksdk_venv: "{{ venv }}"
       os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
       os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
diff --git a/ansible/baremetal-compute-manage.yml b/ansible/baremetal-compute-manage.yml
index 2f1c586d248a50acc40f95725962fc07259136bd..66eb05a741afea1780e2408f2e122845e5d0ea3e 100644
--- a/ansible/baremetal-compute-manage.yml
+++ b/ansible/baremetal-compute-manage.yml
@@ -12,7 +12,7 @@
   vars:
     venv: "{{ virtualenv_path }}/openstacksdk"
   roles:
-    - role: stackhpc.os_openstacksdk
+    - role: stackhpc.openstack.os_openstacksdk
       os_openstacksdk_venv: "{{ venv }}"
       os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
       os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
diff --git a/ansible/baremetal-compute-provide.yml b/ansible/baremetal-compute-provide.yml
index 964e9c272c717cc75126714ada82e4a67af663f7..5fb1d801cc618f4a07456d6a95e7b9de9e13b5e2 100644
--- a/ansible/baremetal-compute-provide.yml
+++ b/ansible/baremetal-compute-provide.yml
@@ -12,7 +12,7 @@
   vars:
     venv: "{{ virtualenv_path }}/openstacksdk"
   roles:
-    - role: stackhpc.os_openstacksdk
+    - role: stackhpc.openstack.os_openstacksdk
       os_openstacksdk_venv: "{{ venv }}"
       os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
       os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
diff --git a/ansible/external-net.yml b/ansible/external-net.yml
index 66d2adb00351d6315de0a093afde86bb6adb01a7..e3e7a89fd1f6d168a04fbec1fa1043317a401f11 100644
--- a/ansible/external-net.yml
+++ b/ansible/external-net.yml
@@ -3,7 +3,7 @@
   # Only required to run on a single host.
   hosts: controllers[0]
   roles:
-    - role: stackhpc.os-networks
+    - role: stackhpc.openstack.os_networks
       os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
       os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
       os_networks_venv: "{{ virtualenv_path }}/openstacksdk"
diff --git a/ansible/inventory/group_vars/all/ipa b/ansible/inventory/group_vars/all/ipa
index a2c072275b6c54528cec7dca5a14bddf97d68f07..9a5042f9f14956f27147cdb45b98f590b8514ec1 100644
--- a/ansible/inventory/group_vars/all/ipa
+++ b/ansible/inventory/group_vars/all/ipa
@@ -62,7 +62,8 @@ ipa_build_dib_env: >
      combine(ipa_build_dib_env_extra) }}
 
 # List of default git repositories containing Diskimage Builder (DIB) elements.
-# See stackhpc.os-images role for usage. Default is one item for IPA builder.
+# See stackhpc.openstack.os_images role for usage.
+# Default is one item for IPA builder.
 ipa_build_dib_git_elements_default:
   - repo: "{{ ipa_builder_source_url }}"
     local: "{{ source_checkout_path }}/ironic-python-agent-builder"
@@ -70,11 +71,11 @@ ipa_build_dib_git_elements_default:
     elements_path: "dib"
 
 # List of additional git repositories containing Diskimage Builder (DIB)
-# elements. See stackhpc.os-images role for usage. Default is empty.
+# elements. See stackhpc.openstack.os_images role for usage. Default is empty.
 ipa_build_dib_git_elements_extra: []
 
 # List of git repositories containing Diskimage Builder (DIB) elements. See
-# stackhpc.os-images role for usage. Default is a combination of
+# stackhpc.openstack.os_images role for usage. Default is a combination of
 # ipa_build_dib_git_elements_default and ipa_build_dib_git_elements_extra.
 ipa_build_dib_git_elements: >-
   {{ ipa_build_dib_git_elements_default + ipa_build_dib_git_elements_extra }}
diff --git a/ansible/inventory/group_vars/all/overcloud-dib b/ansible/inventory/group_vars/all/overcloud-dib
index 56e0698a958fe309dbcf7e80a55834a62ce7e31c..e927d8cd6360d848b8df41fb42b83451abd13798 100644
--- a/ansible/inventory/group_vars/all/overcloud-dib
+++ b/ansible/inventory/group_vars/all/overcloud-dib
@@ -14,9 +14,10 @@ overcloud_dib_build_host_images: true
 overcloud_dib_host_packages_extra: []
 
 # List of overcloud host disk images to build. Each element is a dict defining
-# an image in a format accepted by the stackhpc.os-images role. Default is to
-# build an image named "deployment_image" configured with the overcloud_dib_*
-# variables defined below: {"name": "deployment_image", "elements": "{{
+# an image in a format accepted by the stackhpc.openstack.os_images role.
+# Default is to build an image named "deployment_image"
+# configured with the overcloud_dib_* variables defined below:
+# {"name": "deployment_image", "elements": "{{
 # overcloud_dib_elements }}", "env": "{{ overcloud_dib_env_vars }}",
 # "packages": "{{ overcloud_dib_packages }}"}.
 overcloud_dib_host_images:
@@ -70,15 +71,15 @@ overcloud_dib_env_vars: "{{ overcloud_dib_env_vars_default | combine(overcloud_d
 overcloud_dib_packages: []
 
 # List of default git repositories containing Diskimage Builder (DIB) elements.
-# See stackhpc.os-images role for usage. Default is empty.
+# See stackhpc.openstack.os_images role for usage. Default is empty.
 overcloud_dib_git_elements_default: []
 
 # List of additional git repositories containing Diskimage Builder (DIB)
-# elements. See stackhpc.os-images role for usage. Default is empty.
+# elements. See stackhpc.openstack.os_images role for usage. Default is empty.
 overcloud_dib_git_elements_extra: []
 
 # List of git repositories containing Diskimage Builder (DIB) elements. See
-# stackhpc.os-images role for usage. Default is a combination of
+# stackhpc.openstack.os_images role for usage. Default is a combination of
 # overcloud_dib_git_elements_default and overcloud_dib_git_elements_extra.
 overcloud_dib_git_elements: >-
   {{ overcloud_dib_git_elements_default + overcloud_dib_git_elements_extra }}
diff --git a/ansible/inventory/group_vars/all/switches/dell-powerconnect b/ansible/inventory/group_vars/all/switches/dell-powerconnect
index b6a188910f81108cdbe143562049b57d5fdf3885..c3bd9464ff38ffd152d460735fd4df4fe28a600e 100644
--- a/ansible/inventory/group_vars/all/switches/dell-powerconnect
+++ b/ansible/inventory/group_vars/all/switches/dell-powerconnect
@@ -5,7 +5,7 @@
 # Authentication configuration.
 
 # For DellOS switches, this defines a 'provider' argument to the
-# dell_powerconnect_switch role.
+# stackhpc.network.dell_powerconnect_switch role.
 switch_dell_powerconnect_provider:
   host: "{{ ansible_host|default(inventory_hostname) }}"
   username: "{{ ansible_user }}"
diff --git a/ansible/inventory/group_vars/all/switches/mellanox b/ansible/inventory/group_vars/all/switches/mellanox
index 759d77725348735d896beea40dcdc155c211348c..0314ca6c441e921b28eb9e69b900842e2c04a75d 100644
--- a/ansible/inventory/group_vars/all/switches/mellanox
+++ b/ansible/inventory/group_vars/all/switches/mellanox
@@ -5,7 +5,7 @@
 # Authentication configuration.
 
 # For Mellanox switches, this defines a 'provider' argument to the
-# mellanox-switch role.
+# stackhpc.network.mellanox_switch role.
 switch_mellanox_provider:
   host: "{{ ansible_host|default(inventory_hostname) }}"
   username: "{{ ansible_user }}"
diff --git a/ansible/overcloud-host-image-build.yml b/ansible/overcloud-host-image-build.yml
index 2a156e662dba22bd2c4ab07410812a1dda78360a..eb0ce5a746d8a52c67283d5069e48afef30c758b 100644
--- a/ansible/overcloud-host-image-build.yml
+++ b/ansible/overcloud-host-image-build.yml
@@ -20,7 +20,7 @@
 
         - name: Ensure overcloud host disk images are built
           include_role:
-            name: stackhpc.os-images
+            name: stackhpc.openstack.os_images
           vars:
             os_images_package_dependencies_extra: "{{ overcloud_dib_host_packages_extra | select | list }}"
             os_images_venv: "{{ virtualenv_path }}/overcloud-host-image-dib"
diff --git a/ansible/overcloud-introspection-rules.yml b/ansible/overcloud-introspection-rules.yml
index 98d3ca8cce0b1e558afa223cb26f985e4a3cfd66..cacbe2e20debb354605cfcb9f2c8e24080406742 100644
--- a/ansible/overcloud-introspection-rules.yml
+++ b/ansible/overcloud-introspection-rules.yml
@@ -33,7 +33,7 @@
 
     - name: Ensure the openstack client is installed
       include_role:
-        name: stackhpc.os-openstackclient
+        name: stackhpc.openstack.os_openstackclient
       vars:
         os_openstackclient_venv: "{{ venv }}"
         os_openstackclient_install_epel: "{{ dnf_install_epel }}"
diff --git a/ansible/overcloud-ipa-build.yml b/ansible/overcloud-ipa-build.yml
index cbd2817ad41c223806f7ea677768ca687d29576d..7eeac0b28ff750054911037e6f7fceee5782c0ba 100644
--- a/ansible/overcloud-ipa-build.yml
+++ b/ansible/overcloud-ipa-build.yml
@@ -26,7 +26,7 @@
     - block:
         - name: Ensure Ironic Python Agent images are built
           include_role:
-            name: stackhpc.os-images
+            name: stackhpc.openstack.os_images
           vars:
             os_images_package_dependencies_extra: "{{ ipa_build_dib_host_packages_extra | select | list }}"
             os_images_venv: "{{ virtualenv_path }}/ipa-build-dib"
diff --git a/ansible/physical-network.yml b/ansible/physical-network.yml
index 1be7bbb3c1e923db0365ca1d86746ff66b5b81a0..fed798576091eb5cdf54c14601777efe7e551183 100644
--- a/ansible/physical-network.yml
+++ b/ansible/physical-network.yml
@@ -130,7 +130,7 @@
   roles:
     - role: ssh-known-host
 
-    - role: stackhpc.dell-powerconnect-switch
+    - role: stackhpc.network.dell_powerconnect_switch
       dell_powerconnect_switch_type: "{{ switch_type }}"
       dell_powerconnect_switch_provider: "{{ switch_dell_powerconnect_provider }}"
       dell_powerconnect_switch_config: "{{ switch_config }}"
@@ -155,7 +155,7 @@
   roles:
     - role: ssh-known-host
 
-    - role: stackhpc.mellanox-switch
+    - role: stackhpc.network.mellanox_switch
       mellanox_switch_type: "{{ switch_type }}"
       mellanox_switch_provider: "{{ switch_mellanox_provider }}"
       mellanox_switch_config: "{{ switch_config }}"
diff --git a/ansible/provision-net.yml b/ansible/provision-net.yml
index f9ce4e658554c3e42ad56fe6b8b6ae2dd4117dcd..66d28adc783013fbd5cc508d439809c7a96baaec 100644
--- a/ansible/provision-net.yml
+++ b/ansible/provision-net.yml
@@ -63,7 +63,7 @@
         - config-validation
 
     - import_role:
-        name: stackhpc.os-networks
+        name: stackhpc.openstack.os_networks
       vars:
         os_openstacksdk_install_epel: "{{ dnf_install_epel }}"
         os_openstacksdk_state: "latest"
diff --git a/ansible/roles/ipa-images/meta/main.yml b/ansible/roles/ipa-images/meta/main.yml
index 4c62fc3636c847ac11e997fecb3ee9b05ff302b9..e0629ea20cff4a4f7ced38b7cbacc7f5526e8ffb 100644
--- a/ansible/roles/ipa-images/meta/main.yml
+++ b/ansible/roles/ipa-images/meta/main.yml
@@ -1,8 +1,8 @@
 ---
 dependencies:
-  - role: stackhpc.os_openstacksdk
+  - role: stackhpc.openstack.os_openstacksdk
     os_openstacksdk_venv: "{{ ipa_images_venv }}"
     os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
-  - role: stackhpc.os-openstackclient
+  - role: stackhpc.openstack.os_openstackclient
     os_openstackclient_venv: "{{ ipa_images_venv }}"
     os_openstackclient_upper_constraints_file: "{{ ipa_images_upper_constraints_file }}"
diff --git a/ansible/roles/ironic-inspector-rules/meta/main.yml b/ansible/roles/ironic-inspector-rules/meta/main.yml
index 225ec9f5cffc26fb83973471ea76af4fa9f6f490..62a9fc3445cb0c6b6d6513a49dc9492007dec3e2 100644
--- a/ansible/roles/ironic-inspector-rules/meta/main.yml
+++ b/ansible/roles/ironic-inspector-rules/meta/main.yml
@@ -1,5 +1,5 @@
 ---
 dependencies:
-  - role: stackhpc.os_openstacksdk
+  - role: stackhpc.openstack.os_openstacksdk
     os_openstacksdk_venv: "{{ ironic_inspector_venv }}"
-    os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
\ No newline at end of file
+    os_openstacksdk_upper_constraints_file: "{{ openstacksdk_upper_constraints_file }}"
diff --git a/ansible/roles/network-debian/tasks/main.yml b/ansible/roles/network-debian/tasks/main.yml
index e0f8ab770e4f62feea1548acc195e78a3a18e8b7..ffbcdc3b7e8a1812cb617f686d01c6c1864c6bc6 100644
--- a/ansible/roles/network-debian/tasks/main.yml
+++ b/ansible/roles/network-debian/tasks/main.yml
@@ -30,7 +30,7 @@
 
 - name: Configure systemd-networkd
   import_role:
-    name: stackhpc.systemd_networkd
+    name: stackhpc.linux.systemd_networkd
   vars:
     systemd_networkd_link: "{{ network_interfaces | networkd_links }}"
     systemd_networkd_netdev: "{{ network_interfaces | networkd_netdevs }}"
diff --git a/ansible/seed-ipa-build.yml b/ansible/seed-ipa-build.yml
index 71875afe5296d197963ba71e33459077c0c9360a..65a331520065ae3f91d28e5a0308cfd1808e7249 100644
--- a/ansible/seed-ipa-build.yml
+++ b/ansible/seed-ipa-build.yml
@@ -16,7 +16,7 @@
     - block:
         - name: Ensure Ironic Python Agent images are built
           include_role:
-            name: stackhpc.os-images
+            name: stackhpc.openstack.os_images
           vars:
             os_images_package_dependencies_extra: "{{ ipa_build_dib_host_packages_extra | select | list }}"
             os_images_venv: "{{ virtualenv_path }}/ipa-build-dib"
diff --git a/doc/source/configuration/reference/ironic-python-agent.rst b/doc/source/configuration/reference/ironic-python-agent.rst
index 4e0de0a60a6f2fdd4a790b533f8cfac9ee2a6f2e..69d58824f96eda5a4dbb05a8c1de7dfe4a196232 100644
--- a/doc/source/configuration/reference/ironic-python-agent.rst
+++ b/doc/source/configuration/reference/ironic-python-agent.rst
@@ -80,18 +80,18 @@ image build``.
     ``ipa_build_dib_env_default`` and ``ipa_build_dib_env_extra``.
 ``ipa_build_dib_git_elements_default``
     List of default git repositories containing Diskimage Builder (DIB)
-    elements. See `stackhpc.os-images
-    <https://galaxy.ansible.com/stackhpc/os-images>`__ role for usage. Default
-    is one item for IPA builder.
+    elements. See `stackhpc.openstack.os_images
+    <https://galaxy.ansible.com/ui/repo/published/stackhpc/openstack/content/role/os_images/>`__
+    role for usage. Default is one item for IPA builder.
 ``ipa_build_dib_git_elements_extra``
     List of additional git repositories containing Diskimage Builder (DIB)
-    elements. See `stackhpc.os-images
-    <https://galaxy.ansible.com/stackhpc/os-images>`__ role for usage. Default
-    is none.
+    elements. See `stackhpc.openstack.os_images
+    <https://galaxy.ansible.com/ui/repo/published/stackhpc/openstack/content/role/os_images/>`__
+    role for usage. Default is none.
 ``ipa_build_dib_git_elements``
     List of git repositories containing Diskimage Builder (DIB) elements. See
-    `stackhpc.os-images <https://galaxy.ansible.com/stackhpc/os-images>`__ role
-    for usage. Default is combination of ``ipa_build_dib_git_elements_default``
+    `stackhpc.openstack.os_images <https://galaxy.ansible.com/ui/repo/published/stackhpc/openstack/content/role/os_images/>`__
+    role for usage. Default is combination of ``ipa_build_dib_git_elements_default``
     and ``ipa_build_dib_git_elements_extra``.
 ``ipa_build_dib_packages``
     List of DIB packages to install. Default is none.
diff --git a/doc/source/configuration/reference/overcloud-dib.rst b/doc/source/configuration/reference/overcloud-dib.rst
index 1f3b22cc0f47395633c8616c0ee97778897411b3..1593e20b4d0cba6b19951053552830c832624c58 100644
--- a/doc/source/configuration/reference/overcloud-dib.rst
+++ b/doc/source/configuration/reference/overcloud-dib.rst
@@ -44,11 +44,11 @@ the configuration drive built by Bifrost during provisioning.
     List of additional host packages to install. Default is an empty list.
 ``overcloud_dib_host_images``
     List of overcloud host disk images to build. Each element is a dict
-    defining an image in a format accepted by the `stackhpc.os-images
-    <https://galaxy.ansible.com/stackhpc/os-images>`__ role. Default is to
-    build an image named ``deployment_image`` configured with the
-    ``overcloud_dib_*`` variables defined below: ``{"name": "deployment_image",
-    "elements": "{{ overcloud_dib_elements }}", "env": "{{
+    defining an image in a format accepted by the `stackhpc.openstack.os_images
+    <https://galaxy.ansible.com/ui/repo/published/stackhpc/openstack/content/role/os_images/>`__
+    role. Default is to build an image named ``deployment_image`` configured
+    with the ``overcloud_dib_*`` variables defined below: ``{"name":
+    "deployment_image", "elements": "{{ overcloud_dib_elements }}", "env": "{{
     overcloud_dib_env_vars }}", "packages": "{{ overcloud_dib_packages }}"}``.
 ``overcloud_dib_os_element``
     DIB base OS element. Default is ``{{ 'rocky-container' if os_distribution == 'rocky' else os_distribution }}``.
@@ -80,13 +80,15 @@ the configuration drive built by Bifrost during provisioning.
     List of DIB packages to install. Default is to install no extra packages.
 ``overcloud_dib_git_elements_default``
     List of default git repositories containing Diskimage Builder (DIB)
-    elements. See stackhpc.os-images role for usage. Default is empty.
+    elements. See stackhpc.openstack.os_images role for usage.
+    Default is empty.
 ``overcloud_dib_git_elements_extra``
     List of additional git repositories containing Diskimage Builder (DIB)
-    elements. See stackhpc.os-images role for usage. Default is empty.
+    elements. See stackhpc.openstack.os_imagesimages role for usage.
+    Default is empty.
 ``overcloud_dib_git_elements``
     List of git repositories containing Diskimage Builder (DIB) elements. See
-    stackhpc.os-images role for usage. Default is a combination of
+    stackhpc.openstack.os_images role for usage. Default is a combination of
     ``overcloud_dib_git_elements_default`` and
     ``overcloud_dib_git_elements_extra``.
 ``overcloud_dib_upper_constraints_file``
@@ -211,10 +213,11 @@ Example: Building multiple images
 It can be necessary to build multiple images to support the various types of
 hardware present in a deployment or the different functions performed by
 overcloud hosts. This can be configured with the ``overcloud_dib_host_images``
-variable, using a format accepted by the `stackhpc.os-images
-<https://galaxy.ansible.com/stackhpc/os-images>`__ role. Note that image names
-should not include the file extension.  For example, to build a second image
-with a development user account and the ``biosdevname`` package:
+variable, using a format accepted by the `stackhpc.openstack.os_images
+<https://galaxy.ansible.com/ui/repo/published/stackhpc/openstack/content/role/os_images/>`__
+role. Note that image names should not include the file extension. For example,
+to build a second image with a development user account and the ``biosdevname``
+package:
 
 .. code-block:: yaml
    :caption: ``dib.yml``
diff --git a/doc/source/configuration/reference/physical-network.rst b/doc/source/configuration/reference/physical-network.rst
index 6ee5cb8ec48cc20b5bc989dd5d08636f13f28070..a6656cc34a64f24133c8254393e6372126ecda2a 100644
--- a/doc/source/configuration/reference/physical-network.rst
+++ b/doc/source/configuration/reference/physical-network.rst
@@ -250,7 +250,7 @@ Dell PowerConnect
 -----------------
 
 Configuration for these devices is applied using the
-``stackhpc.dell-powerconnect-switch`` Ansible role.  The role uses the
+``stackhpc.network.dell_powerconnect_switch`` Ansible role.  The role uses the
 ``expect`` Ansible module to automate interaction with the switch CLI via SSH.
 
 ``switch_type`` should be set to ``dell-powerconnect``.
@@ -299,8 +299,8 @@ Mellanox MLNX OS
 ----------------
 
 Configuration for these devices is applied using the
-``stackhpc.mellanox-switch`` Ansible role.  The role uses the ``expect``
-Ansible module to automate interaction with the switch CLI via SSH.
+``stackhpc.network.mellanox_switch`` Ansible role.  The role uses the
+``expect`` Ansible module to automate interaction with the switch CLI via SSH.
 
 ``switch_type`` should be set to ``mellanox``.
 
diff --git a/etc/kayobe/ipa.yml b/etc/kayobe/ipa.yml
index b3df6dd441f0dc3857722595307efb84beac2f8b..0138c6c44a80c4b51e0d20aa22dc81dcc5079696 100644
--- a/etc/kayobe/ipa.yml
+++ b/etc/kayobe/ipa.yml
@@ -50,15 +50,16 @@
 #ipa_build_dib_env:
 
 # List of default git repositories containing Diskimage Builder (DIB) elements.
-# See stackhpc.os-images role for usage. Default is one item for IPA builder.
+# See stackhpc.openstack.os_images role for usage.
+# Default is one item for IPA builder.
 #ipa_build_dib_git_elements_default:
 
 # List of additional git repositories containing Diskimage Builder (DIB)
-# elements. See stackhpc.os-images role for usage. Default is empty.
+# elements. See stackhpc.openstack.os_images role for usage. Default is empty.
 #ipa_build_dib_git_elements_extra:
 
 # List of git repositories containing Diskimage Builder (DIB) elements. See
-# stackhpc.os-images role for usage. Default is a combination of
+# stackhpc.openstack.os_images role for usage. Default is a combination of
 # ipa_build_dib_git_elements_default and ipa_build_dib_git_elements_extra.
 #ipa_build_dib_git_elements:
 
diff --git a/etc/kayobe/overcloud-dib.yml b/etc/kayobe/overcloud-dib.yml
index abdb4ee2017dbc516878661df6f3bc610809a76f..f5f93520217d4c73440272046f504d1ddd0d1d15 100644
--- a/etc/kayobe/overcloud-dib.yml
+++ b/etc/kayobe/overcloud-dib.yml
@@ -14,9 +14,10 @@
 #overcloud_dib_host_packages_extra:
 
 # List of overcloud host disk images to build. Each element is a dict defining
-# an image in a format accepted by the stackhpc.os-images role. Default is to
-# build an image named "deployment_image" configured with the overcloud_dib_*
-# variables defined below: {"name": "deployment_image", "elements": "{{
+# an image in a format accepted by the stackhpc.openstack.os_images role.
+# Default is to build an image named "deployment_image" configured with the
+# overcloud_dib_* variables defined below:
+# {"name": "deployment_image", "elements": "{{
 # overcloud_dib_elements }}", "env": "{{ overcloud_dib_env_vars }}",
 # "packages": "{{ overcloud_dib_packages }}"}.
 #overcloud_dib_host_images:
@@ -57,15 +58,15 @@
 #overcloud_dib_packages:
 
 # List of default git repositories containing Diskimage Builder (DIB) elements.
-# See stackhpc.os-images role for usage. Default is empty.
+# See stackhpc.openstack.os_images role for usage. Default is empty.
 #overcloud_dib_git_elements_default:
 
 # List of additional git repositories containing Diskimage Builder (DIB)
-# elements. See stackhpc.os-images role for usage. Default is empty.
+# elements. See stackhpc.openstack.os_images role for usage. Default is empty.
 #overcloud_dib_git_elements_extra:
 
 # List of git repositories containing Diskimage Builder (DIB) elements. See
-# stackhpc.os-images role for usage. Default is a combination of
+# stackhpc.openstack.os_images role for usage. Default is a combination of
 # overcloud_dib_git_elements_default and overcloud_dib_git_elements_extra.
 #overcloud_dib_git_elements:
 
diff --git a/kayobe/plugins/filter/networkd.py b/kayobe/plugins/filter/networkd.py
index 191c5ecc3194aead1c643987acdd9df2e650e1cc..ff338aaf23264391d765d033d24745e81a85afa6 100644
--- a/kayobe/plugins/filter/networkd.py
+++ b/kayobe/plugins/filter/networkd.py
@@ -15,7 +15,7 @@
 """
 This module provides Ansible filters that generate configuration for
 systemd-networkd NetDevs, links and networks. The results are compatible with
-the stackhpc.ansible_role_systemd_networkd role.
+the stackhpc.linux.systemd_networkd role.
 
 Systemd-networkd uses INI-style configuration files, with the provision for
 multiple sections with the same name, and multiple options with the same name
@@ -504,7 +504,7 @@ def networkd_netdevs(context, names, inventory_hostname=None):
     """Return a dict representation of networkd NetDev configuration.
 
     The format is compatible with the systemd_networkd_netdev variable in the
-    stackhpc.ansible_role_systemd_networkd role.
+    stackhpc.linux.systemd_networkd role.
 
     :param context: a Jinja2 Context object.
     :param names: List of names of networks.
@@ -554,7 +554,7 @@ def networkd_links(context, names, inventory_hostname=None):
     """Return a dict representation of networkd link configuration.
 
     The format is compatible with the systemd_networkd_link variable in the
-    stackhpc.ansible_role_systemd_networkd role.
+    stackhpc.linux.systemd_networkd role.
 
     :param context: a Jinja2 Context object.
     :param names: List of names of networks.
@@ -570,7 +570,7 @@ def networkd_networks(context, names, inventory_hostname=None):
     """Return a dict representation of networkd network configuration.
 
     The format is compatible with the systemd_networkd_network variable in the
-    stackhpc.ansible_role_systemd_networkd role.
+    stackhpc.linux.systemd_networkd role.
 
     :param context: a Jinja2 Context object.
     :param names: List of names of networks.
diff --git a/releasenotes/notes/collections-roles-switch-0cab17655eb085c8.yaml b/releasenotes/notes/collections-roles-switch-0cab17655eb085c8.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..cd3db836c3236b75bc8528ab911e4dce792d4e97
--- /dev/null
+++ b/releasenotes/notes/collections-roles-switch-0cab17655eb085c8.yaml
@@ -0,0 +1,8 @@
+---
+upgrade:
+  - |
+    Bumps ``stackhpc.linux`` collection to 1.2.0 to include new roles. Adds
+    ``stackhpc.network`` and ``stackhpc.openstack`` collections to
+    requirements. Refactors invocation of the roles moved into collections
+    mentioned above, and updates the documentation - role names and outdated
+    Ansible Galaxy documentation links.
diff --git a/requirements.yml b/requirements.yml
index 1e980756174bd7bc493fc7db6600ab2ad4a89974..4dc087766478b2c749f83133cbd3559c594b5906 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -8,13 +8,15 @@ collections:
   - name: openstack.cloud
     version: '<3'
   - name: stackhpc.linux
-    version: 1.1.0
+    version: 1.2.1
+  - name: stackhpc.network
+    version: 1.0.0
+  - name: stackhpc.openstack
+    version: 0.1.0
 
 roles:
   - src: ahuffman.resolv
     version: 1.3.1
-  - src: stackhpc.systemd_networkd
-    version: v1.0.5
   - src: giovtorres.tuned
     version: 1.1.0
   - src: jriguera.configdrive
@@ -30,8 +32,6 @@ roles:
     version: v0.1.1
   - src: singleplatform-eng.users
     version: v1.2.5
-  - src: stackhpc.dell-powerconnect-switch
-    version: v1.2.1
   - src: stackhpc.drac
     version: 1.1.6
   - src: stackhpc.drac-facts
@@ -42,17 +42,7 @@ roles:
     version: v1.14.2
   - src: stackhpc.luks
     version: 0.4.2
-  - src: stackhpc.mellanox-switch
-    version: v1.0.1
-  - src: stackhpc.os-images
-    version: v1.16.0
   - src: stackhpc.os-ironic-state
     version: v1.3.1
-  - src: stackhpc.os-networks
-    version: v1.5.8
-  - src: stackhpc.os-openstackclient
-    version: v1.5.0
-  - src: stackhpc.os_openstacksdk
-    version: v1.3.0
   - src: stackhpc.timezone
     version: 1.2.1