Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-32494

Not possible to create control plane machines with more than one blockDevice in AWS at IPI installation

XMLWordPrintable

    • Moderate
    • False
    • Hide

      None

      Show
      None

      Description of problem:

      Not possible to create control plane machines with more than 1 `blockDevice` for an IPI installation in AWS.
      
      As per OCPCLOUD-711 [1], it should be possible to configure more than 1 `blockDevice` in AWS. As discussed in Slack [2], the configuration for the `blockDevices` can be checked in the code [3].

       

      Version-Release number of selected component (if applicable):

      4.15, 4.14, 4.13, 4.12

       

      How reproducible:

      Always

       

      Steps to Reproduce:

      1. Create the manifests for a new IPI installation in AWS with `openshift-install create manifests` command.
      2. Edit the 3 control plane machines in `install_dir/openshift/99_openshift-cluster-api_master-machines-*.yaml`
      3. Configure a second `blockDevice` in the 2 machines, the only difference is the "deviceName: /dev/sdf" (check that the indentation is correct):
      
              blockDevices:
              - ebs:
                  encrypted: true
                  iops: 0
                  kmsKey:
                    arn: ""
                  volumeSize: 120
                  volumeType: gp3
              - deviceName: /dev/sdf
                ebs:
                  encrypted: true
                  iops: 0
                  kmsKey:
                    arn: ""
                  volumeSize: 120
                  volumeType: gp3
      
      4. Create the cluster.
      5. During cluster creation, when the control plane machines are already created, check the machines with the following command, and both `blockDevices` will be shown:
      
      $ oc get machines -l "machine.openshift.io/cluster-api-machine-role=master" -n openshift-machine-api -o yaml | grep -A 16 "blockDevices"
      
      6. Check the Instances in the AWS console, and only 1 block device is shown in the Storage section of the Instance.
      
      7. Access to the node via `oc debug node` and check that only on disk is attached with `lsblk`:
      
      # lsblk 
      NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
      nvme0n1     259:0    0   120G  0 disk 
      ├─nvme0n1p1 259:1    0     1M  0 part 
      ├─nvme0n1p2 259:2    0   127M  0 part 
      ├─nvme0n1p3 259:3    0   384M  0 part /boot
      └─nvme0n1p4 259:4    0 119.5G  0 part /var
                                            /sysroot/ostree/deploy/rhcos/var
                                            /sysroot
                                            /usr
                                            /etc
                                            /
      
      8. Check that the `controlplanemachineset` automatically start replacing the control plane nodes with a new configuration: only 1 `blockDevice` in the `machine` resource.
      
      9. After letting the `controlplanemachineset` to create the `machines` with the new configuration (the result in the instances is the same shown in steps 6 and 7), change the `controlplanemachineset` with 2 `blockDevices` (same configuration than in step 3, but checking the indentation).
      
      10. This time, the new control plane Instances and nodes includes both disks, and that can be shown in both the AWS web console and `oc debug node` (the `lsblk` output this time includes also `nvme1n1` as a `disk`).

       

      Actual results:

      Not possible to directly create the control plane nodes (probably also the worker nodes) with more than 1 `blockDevices` at installation time, while possible to do as day1/day2 task via the `controlplanemachineset`.

       

      Expected results:

      Being able to create the nodes with more than 1 `blockDevices` at installation time.

       

       

      [1] OCPCLOUD-711
      [2] https://redhat-internal.slack.com/archives/CBZHF4DHC/p1713364768250489
      [3] https://github.com/openshift/api/blob/3efee42522172bc5e3c04010968ca06092f15c5b/machine/v1beta1/types_awsprovider.go#L89-L114

            joelspeed Joel Speed
            oarribas@redhat.com Oscar Arribas Arribas
            Huali Liu Huali Liu
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: