Skip to content

Commit 7410e0b

Browse files
committed
Merge branch 'main' of github.com:openstack-k8s-operators/data-plane-adoption into ldap-adoption
2 parents 6385a0e + 4ae44f5 commit 7410e0b

File tree

65 files changed

+321
-126
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+321
-126
lines changed

docs_user/modules/con_adoption-limitations.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Technology Preview::
1111
The following features are Technology Previews and have not been tested within the context of the {rhos_long_noacro} adoption:
1212
+
1313
* NFS Ganesha back end for {rhos_component_storage_file_first_ref}
14-
* iSCSI and FC-based drivers for {block_storage_first_ref}
14+
* FC-based drivers for {block_storage_first_ref}
1515
* {block_storage} back end for the {image_service_first_ref}
1616
+
1717
The following {compute_service_first_ref} features are Technology Previews:

docs_user/modules/con_adoption-prerequisites.adoc

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,6 @@ endif::[]
2020
** link:{defaultOCPURL}/nodes/overview-of-nodes[Overview of nodes]
2121
** link:{defaultOCPURL}/nodes/index#nodes-scheduler-node-selectors-about_nodes-scheduler-node-selectors[About node selectors]
2222
** link:{defaultOCPURL}/machine_configuration/index[Machine configuration overview]
23-
* Make sure to set the correct {rhos_acro} project namespace in which to run commands.
24-
ifeval::["{build_variant}" == "ospdo"]
25-
* In director Operator adoption, the source {rhos_prev_long} {rhos_prev_ver} namespace is `openstack`. In order to successfully adopt the {OpenStackShort} {rhos_prev_ver} environment, the destination {rhos_acro} {rhos_curr_ver} namespace must be different, for example, `rhoso`.
26-
endif::[]
27-
+
28-
[source, shell]
29-
----
30-
ifeval::["{build_variant}" == "ospdo"]
31-
$ oc project rhoso
32-
endif::[]
33-
ifeval::["{build_variant}" != "ospdo"]
34-
$ oc project openstack
35-
endif::[]
36-
----
3723
* Familiarize yourself with mapping RHOSO versions to OpenStack Operators and OpenStackVersion custom resources (CRs). For more information, see the Red Hat Knowledgebase article link:https://access.redhat.com/articles/7125383[How RHOSO versions map to OpenStack Operators and OpenStackVersion CRs].
3824

3925
Back-up information::
@@ -47,21 +33,33 @@ Back-up information::
4733
Compute::
4834
+
4935
* Upgrade your Compute nodes to Red Hat Enterprise Linux {rhel_prev_ver}. For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html-single/framework_for_upgrades_16.2_to_17.1/index#upgrading-compute-nodes_upgrading-the-compute-node-operating-system[Upgrading all Compute nodes to RHEL 9.2] in _Framework for upgrades (16.2 to 17.1)_.
50-
* Perform a minor update to the latest {OpenStackShort} version. For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/performing_a_minor_update_of_red_hat_openstack_platform/index[Performing a minor update of Red Hat OpenStack Platform].
51-
* Install the `systemd-container` package on your Compute hosts. For more information, see xref:installing-the-systemd-container-package-on-compute-hosts_{context}[Installing the `systemd-container` package on Compute hosts].
36+
* On your Compute hosts, the `systemd-container` package must be installed and the `systemd-machined` service must be running. For more information about how to verify that the package is installed and that the service is running, see xref:installing-the-systemd-container-package-on-compute-hosts_{context}[Installing the `systemd-container` package on Compute hosts].
5237

5338
ML2/OVS::
5439
+
5540
* If you use the Modular Layer 2 plug-in with Open vSwitch mechanism driver (ML2/OVS), migrate it to the Modular Layer 2 plug-in with Open Virtual Networking (ML2/OVN) mechanism driver. For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/migrating_to_the_ovn_mechanism_driver/index[Migrating to the OVN mechanism driver].
5641

5742
Tools::
5843
+
59-
* Install the `oc` command line tool on your workstation.
60-
* Install the `podman` command line tool on your workstation.
44+
* The oc and podman command line tools are installed on your workstation.
45+
* Make sure to set the correct {rhos_acro} project namespace in which to run commands.
46+
ifeval::["{build_variant}" == "ospdo"]
47+
* In director Operator adoption, the source {rhos_prev_long} {rhos_prev_ver} namespace is `openstack`. In order to successfully adopt the {OpenStackShort} {rhos_prev_ver} environment, the destination {rhos_acro} {rhos_curr_ver} namespace must be different, for example, `rhoso`.
48+
endif::[]
49+
+
50+
[source, shell]
51+
----
52+
ifeval::["{build_variant}" == "ospdo"]
53+
$ oc project rhoso
54+
endif::[]
55+
ifeval::["{build_variant}" != "ospdo"]
56+
$ oc project openstack
57+
endif::[]
58+
----
6159

6260
{OpenStackShort} {rhos_prev_ver} release::
6361
+
64-
* The {OpenStackShort} {rhos_prev_ver} cloud is updated to the latest minor version of the {rhos_prev_ver} release.
62+
* The {OpenStackShort} {rhos_prev_ver} cloud is updated to the 17.1.4 release or later. For more information, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/performing_a_minor_update_of_red_hat_openstack_platform/index[Performing a minor update of Red Hat OpenStack Platform].
6563

6664
{OpenStackShort} {rhos_prev_ver} hosts::
6765
+

docs_user/modules/con_identity-service-authentication.adoc

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,15 @@
44
= {identity_service} authentication
55

66
[role="_abstract"]
7-
If you have custom policies enabled, contact Red Hat Support before adopting a {OpenStackPreviousInstaller} OpenStack deployment. You must complete the following steps for adoption:
7+
If you have custom policies enabled, complete the following steps for adoption:
88

99
. Remove custom policies.
1010
. Run the adoption.
1111
. Re-add custom policies by using the new SRBAC syntax.
1212

13+
[IMPORTANT]
14+
Red Hat does not support customized roles or policies. Syntax errors or misapplied authorization can negatively impact security or usability. If you need customized roles or policies in your production environment, contact Red Hat support for a support exception before you begin the adoption.
15+
1316
After you adopt a {OpenStackPreviousInstaller}-based OpenStack deployment to a {rhos_long_noacro} deployment, the {identity_service} performs user authentication and authorization by using Secure RBAC (SRBAC). If SRBAC is already enabled, then there is no change to how you perform operations. If SRBAC is disabled, then adopting a {OpenStackPreviousInstaller}-based OpenStack deployment might change how you perform operations due to changes in API access policies.
1417

1518
For more information on SRBAC, see link:{defaultURL}/performing_security_operations/assembly_srbac-in-rhoso_performing-security-services#assembly_srbac-in-rhoso_performing-security-services[Secure role based access control in Red Hat OpenStack Services on OpenShift] in _Performing security operations_.

docs_user/modules/proc_adopting-the-block-storage-service.adoc

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -168,9 +168,8 @@ Ensure that you use the same configuration group name for the driver that you us
168168
====
169169
+
170170
. Configure the NetApp NFS Block Storage volume service:
171-
.. Create secrets that include sensitive information such as hostnames, passwords, and usernames to access the third-party NetApp NFS storage. You can find the credentials in the `cinder.conf` file that was generated from the {OpenStackPreviousInstaller} deployment.
171+
.. Create a secret that includes sensitive information such as hostnames, passwords, and usernames to access the third-party NetApp NFS storage. You can find the credentials in the `cinder.conf` file that was generated from the {OpenStackPreviousInstaller} deployment:
172172
+
173-
[source,yaml]
174173
----
175174
$ oc apply -f - <<EOF
176175
apiVersion: v1
@@ -198,7 +197,9 @@ EOF
198197
$ oc patch openstackcontrolplane openstack --type=merge --patch-file=<cinder_netappNFS.patch>
199198
----
200199
+
201-
* The following example shows a `cinder_netappNFS.patch` file that configures a NetApp NFS Block Storage volume service:
200+
* Replace `<cinder_netappNFS.patch>` with the name of the patch file for your NetApp NFS Block Storage volume back end.
201+
+
202+
The following example shows a `cinder_netappNFS.patch` file that configures a NetApp NFS Block Storage volume service:
202203
+
203204
[source,yaml]
204205
----
@@ -224,6 +225,59 @@ spec:
224225
customServiceConfigSecrets:
225226
- cinder-volume-ontap-secrets
226227
----
228+
+
229+
. Configure the NetApp iSCSI Block Storage volume service:
230+
.. Create a secret that includes sensitive information such as hostnames, passwords, and usernames to access the third-party NetApp iSCSI storage. You can find the credentials in the `cinder.conf` file that was generated from the {OpenStackPreviousInstaller} deployment:
231+
+
232+
----
233+
$ oc apply -f - <<EOF
234+
apiVersion: v1
235+
kind: Secret
236+
metadata:
237+
labels:
238+
service: cinder
239+
component: cinder-volume
240+
name: cinder-volume-ontap-secrets
241+
type: Opaque
242+
stringData:
243+
ontap-cinder-secrets: |
244+
[tripleo_netapp]
245+
netapp_server_hostname = netapp_host
246+
netapp_login = netapp_username
247+
netapp_password = netapp_password
248+
netapp_vserver = netapp_vserver
249+
netapp_pool_name_search_pattern=(netapp_poolpattern)
250+
EOF
251+
----
252+
. Patch the `OpenStackControlPlane` custom resource (CR) to deploy the NetApp iSCSI Block Storage volume back end:
253+
+
254+
----
255+
$ oc patch openstackcontrolplane openstack --type=merge --patch-file=<cinder_netappISCSI.patch>
256+
----
257+
+
258+
* Replace `<cinder_netappISCSI.patch>` with the name of the patch file for your NetApp iSCSI Block Storage volume back end.
259+
+
260+
The following example shows a `cinder_netappISCSI.patch` file that configures a NetApp iSCSI Block Storage volume service:
261+
+
262+
----
263+
spec:
264+
cinder:
265+
enabled: true
266+
template:
267+
cinderVolumes:
268+
ontap-iscsi:
269+
networkAttachments:
270+
- storage
271+
customServiceConfig: |
272+
[tripleo_netapp]
273+
volume_backend_name=ontap-iscsi
274+
volume_driver=cinder.volume.drivers.netapp.common.NetAppDriver
275+
netapp_storage_protocol=iscsi
276+
netapp_storage_family=ontap_cluster
277+
consistencygroup_support=True
278+
customServiceConfigSecrets:
279+
- cinder-volume-ontap-secrets
280+
----
227281
. Check if all the services are up and running:
228282
+
229283
----

docs_user/modules/proc_installing-the-systemd-container-package-on-compute-hosts.adoc

Lines changed: 52 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,60 @@
44
= Installing the `systemd-container` package on Compute hosts
55

66
[role="_abstract"]
7-
Before you adopt the {rhos_long} data plane, you must install the `systemd-container` package on all the hypervisors on your Compute hosts. This procedure must be performed on one Compute host at a time.
7+
Before you adopt the {rhos_long} data plane, you must verify that the `systemd-container` package is installed and that `systemd-machined` is running on all the Compute hosts. You must install the `systemd-container` package on each Compute host that does not have this package.
88

99
.Procedure
1010

11-
. If your Compute host is running a virtual machine, live migrate the virtual machine from the host. For more information about live migration, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/performing_a_minor_update_of_red_hat_openstack_platform/assembly_rebooting-the-overcloud_keeping-updated#proc_rebooting-compute-nodes_rebooting-the-overcloud[Rebooting Compute nodes] in _Performing a minor update of Red Hat OpenStack Platform_.
11+
. Log in to the Compute node host as a user with the appropriate permissions.
12+
13+
. List the instances that are running on the host:
14+
+
15+
----
16+
$ sudo machinectl list
17+
----
18+
+
19+
Sample output::
20+
+
21+
----
22+
MACHINE CLASS SERVICE OS VERSION ADDRESSES
23+
qemu-1-instance-000000b9 vm libvirt-qemu - - -
24+
qemu-2-instance-000000c2 vm libvirt-qemu - - -
25+
26+
2 machines listed.
27+
----
28+
29+
. Verify that the `systemd-machined` service is running:
30+
+
31+
----
32+
$ sudo systemctl status systemd-machined.service
33+
----
34+
+
35+
Sample output::
36+
+
37+
----
38+
systemd-machined.service - Virtual Machine and Container Registration Service
39+
Loaded: loaded (/usr/lib/systemd/system/systemd-machined.service; static)
40+
Active: active (running) since Mon 2025-06-16 11:42:07 EDT; 2min 48s ago
41+
Docs: man:systemd-machined.service(8)
42+
man:org.freedesktop.machine1(5)
43+
Main PID: 136614 (systemd-machine)
44+
Status: "Processing requests..."
45+
Tasks: 1 (limit: 838860)
46+
Memory: 1.4M
47+
CPU: 33ms
48+
CGroup: /system.slice/systemd-machined.service
49+
└─136614 /usr/lib/systemd/systemd-machined
50+
51+
Jun 16 11:42:07 computehost001 systemd[1]: Starting Virtual Machine and Container Registration Service...
52+
Jun 16 11:42:07 computehost001 systemd[1]: Started Virtual Machine and Container Registration Service.
53+
Jun 16 11:43:44 computehost001 systemd-machined[136614]: New machine qemu-1-instance-000000b9.
54+
Jun 16 11:43:51 computehost001 systemd-machined[136614]: New machine qemu-2-instance-000000c2.
55+
----
56+
+
57+
[IMPORTANT]
58+
If the `systemd-machined` service is running, skip the rest of this procedure. Ensure that you verify that the `systemd-machined` service is running each Compute node host in the cluster.
59+
60+
. If the `systemd-machined` service is not running, before you can install the `systemd-container` package, live migrate all virtual machines from the host. For more information about live migration, see link:https://docs.redhat.com/en/documentation/red_hat_openstack_platform/17.1/html/performing_a_minor_update_of_red_hat_openstack_platform/assembly_rebooting-the-overcloud_keeping-updated#proc_rebooting-compute-nodes_rebooting-the-overcloud[Rebooting Compute nodes] in _Performing a minor update of Red Hat OpenStack Platform_.
1261

1362
. Install the `systemd-container` on the host:
1463
** If you upgraded your environment from an earlier version of {rhos_prev_long}, reboot the Compute host to automatically install the `systemd-container`.
@@ -20,4 +69,4 @@ $ sudo dnf -y install systemd-container
2069
[NOTE]
2170
If your Compute host is not running a virtual machine, you can install the `systemd-container` automatically or manually.
2271

23-
. Repeat this procedure on each hypervisor one by one.
72+
. Repeat this procedure on each Compute host in the cluster where the `systemd-machined` service is not running.

docs_user/modules/proc_retrieving-topology-specific-service-configuration.adoc

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,7 @@ $ for CELL in $(echo $CELLS); do
3535
> TRIPLEO_PASSWORDS[$CELL]="$PASSWORD_FILE"
3636
> done
3737
ifeval::["{build_variant}" == "ospdo"]
38-
$ for CELL in $(echo $CELLS); do
39-
> oc get secret tripleo-passwords -o json | jq -r '.data["tripleo-overcloud-passwords.yaml"]' | base64 -d >"${TRIPLEO_PASSWORDS[$CELL]}"
40-
> done
38+
$ oc get secret tripleo-passwords -o json | jq -r '.data["tripleo-overcloud-passwords.yaml"]' | base64 -d >"${TRIPLEO_PASSWORDS[$CELLS]}"
4139
endif::[]
4240
$ declare -A SOURCE_DB_ROOT_PASSWORD
4341
$ for CELL in $(echo $CELLS); do

scenarios/uni02beta.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ stacks:
3838
- "--override-ansible-cfg /home/zuul/ansible_config.cfg"
3939
- "--templates /usr/share/openstack-tripleo-heat-templates"
4040
- "--libvirt-type qemu"
41-
- "--timeout 90"
41+
- "--timeout 120"
4242
- "--overcloud-ssh-user zuul"
4343
- "--deployed-server"
4444
- "--validation-warnings-fatal"

scenarios/uni04delta-ipv6.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ stacks:
5959
- "/usr/share/openstack-tripleo-heat-templates/environments/low-memory-usage.yaml"
6060
- "/usr/share/openstack-tripleo-heat-templates/environments/debug.yaml"
6161
- "/usr/share/openstack-tripleo-heat-templates/environments/enable-legacy-telemetry.yaml"
62+
- "/usr/share/openstack-tripleo-heat-templates/environments/services/ironic-overcloud.yaml"
63+
- "/usr/share/openstack-tripleo-heat-templates/environments/services/ironic-inspector.yaml"
6264
- "/usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml"
6365
- "/usr/share/openstack-tripleo-heat-templates/environments/barbican-backend-simple-crypto.yaml"
6466
network_data_file: "uni04delta-ipv6/network_data.yaml.j2"
@@ -68,3 +70,15 @@ stacks:
6870
stack_nodes:
6971
- osp-computes
7072
- osp-controllers
73+
post_oc_run:
74+
- name: Ironic post overcloud deploy
75+
type: playbook
76+
source: adoption_ironic_post_oc.yml
77+
extra_vars:
78+
_subnet_ip_version: 6
79+
_subnet_ipv6_address_mode: dhcpv6-stateful
80+
_subnet_ipv6_ra_mode: dhcpv6-stateful
81+
_subnet_range: 2620:cf:cf:ffff::0/64
82+
_subnet_gateway: 2620:cf:cf:ffff::1
83+
_subnet_alloc_pool_start: 2620:cf:cf:ffff::300
84+
_subnet_alloc_pool_end: 2620:cf:cf:ffff::399

scenarios/uni04delta-ipv6/config_download.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ resource_registry:
1010
OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_internal_api.yaml
1111
OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_storage.yaml
1212
OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_tenant.yaml
13+
OS::TripleO::Controller::Ports::IronicPort: /usr/share/openstack-tripleo-heat-templates/network/ports/deployed_ironic.yaml
1314
OS::TripleO::Services::CeilometerAgentCentral: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml
1415
OS::TripleO::Services::CeilometerAgentNotification: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
1516
OS::TripleO::Services::CeilometerAgentIpmi: /usr/share/openstack-tripleo-heat-templates/deployment/ceilometer/ceilometer-agent-ipmi-container-puppet.yaml
@@ -88,5 +89,25 @@ parameter_defaults:
8889
host_routes: []
8990
name: ctlplane-subnet
9091
ip_version: 6
92+
NeutronFlatNetworks:
93+
- datacentre
94+
- ironic
95+
ControllerParameters:
96+
NeutronBridgeMappings:
97+
- datacentre:br-ex
98+
- ironic:br-baremetal
9199
NeutronBridgeMappings:
92100
- datacentre:br-ex
101+
IronicInspectorInterface: br-baremetal
102+
IronicInspectorSubnets:
103+
osp-controller-uni04delta-ipv6-0:
104+
- ip_range: 2620:cf:cf:ffff::210,2620:cf:cf:ffff::219
105+
osp-controller-uni04delta-ipv6-1:
106+
- ip_range: 2620:cf:cf:ffff::220,2620:cf:cf:ffff::229
107+
osp-controller-uni04delta-ipv6-2:
108+
- ip_range: 2620:cf:cf:ffff::230,2620:cf:cf:ffff::239
109+
ServiceNetMap:
110+
IronicApiNetwork: ironic
111+
IronicNetwork: ironic
112+
IronicInspectorNetwork: ironic
113+
IronicCleaningDiskErase: metadata

scenarios/uni04delta-ipv6/network_data.yaml.j2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959
subnets:
6060
ironic_subnet:
6161
ipv6_subnet: 2620:cf:cf:ffff::/64
62-
ipv6_allocation_pools: [{'start': '2620:cf:cf:ffff::30', 'end': '2620:cf:cf:ffff::70'}]
62+
ipv6_allocation_pools: [{'start': '2620:cf:cf:ffff::100', 'end': '2620:cf:cf:ffff::250'}]
6363

6464
- name: StorageMgmt
6565
mtu: 1500

0 commit comments

Comments
 (0)