public inbox for kdevops@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v1 00/13] Block device provisioning for storage nodes
@ 2025-03-10 14:18 cel
  2025-03-10 14:18 ` [PATCH v1 01/13] terraform/AWS: Upgrade the EBS volume type to "gp3" cel
                   ` (13 more replies)
  0 siblings, 14 replies; 17+ messages in thread
From: cel @ 2025-03-10 14:18 UTC (permalink / raw)
  To: Luis Chamberlain, Chandan Babu R, Jeff Layton; +Cc: kdevops, Chuck Lever

From: Chuck Lever <chuck.lever@oracle.com>

Hi -

Sorry for the length of the series. I'm posting the series as a
whole to provide context for each of the individual changes. Feel
free to focus on whichever patch or patches in this series are most
interesting to you. All review comments are welcome.

The high-level goal is to enable testing NFS / SMB / iSCSI with
kdevops in the cloud. These workflows are already operational for
guestfs. The basic challenge is each cloud provider has a distinct
way of provisioning and attaching block devices.

This series can be considered in two sections:

- the first four patches wrangle the terraform for some of the
  cloud providers to make them provision a set of extra block
  volumes, each of the same size, just as guestfs and AWS
  currently do.

- the second half of the series adds a new playbook that:

  - de-duplicates the scripting that creates an LVM volume group,
    because three different roles each implement this the same way

  - replaces the "skip one device" method for determining which
    extra block volume the /data partition should live on. AWS still
    needs some work here because NVMe devices can get renamed after
    every instance reboot

  - adds LVM support that handles the differences amongst the cloud
    providers, tucked away in the new playbook


GCE and OpenStack are not yet updated, but they are in plan.


Chuck Lever (13):
  terraform/AWS: Upgrade the EBS volume type to "gp3"
  terraform/Azure: Remove managed_disk_type selection
  terraform/Azure: Create a set of multiple generic block devices
  terraform/OCI: Create a set of multiple generic block devices
  guestfs: Set storage options consistently
  playbooks: Add a role to create an LVM volume group
  volume_group: Detect the /data partition directly
  volume_group: Prepare to support cloud providers
  volume_group: Create volume group on terraform/AWS nodes
  volume_group: Create a volume group on Azure nodes
  volume_group: Create a volume group on GCE nodes
  volume_group: Create a volume group on OCI nodes
  volume_group: Create a volume group on OpenStack public clouds

 kconfigs/Kconfig.iscsi                        |  22 ---
 kconfigs/Kconfig.libvirt                      |   3 +
 kconfigs/Kconfig.nfsd                         |  27 +--
 kconfigs/Kconfig.smbd                         |  17 --
 playbooks/roles/gen_nodes/defaults/main.yml   |   2 +-
 playbooks/roles/gen_tfvars/defaults/main.yml  |   1 -
 .../templates/azure/terraform.tfvars.j2       |   4 +-
 .../templates/oci/terraform.tfvars.j2         |   6 +
 playbooks/roles/iscsi/defaults/main.yml       |   2 -
 playbooks/roles/iscsi/tasks/main.yml          |  23 +--
 playbooks/roles/iscsi/vars/Debian.yml         |   1 -
 playbooks/roles/iscsi/vars/RedHat.yml         |   1 -
 playbooks/roles/iscsi/vars/Suse.yml           |   1 -
 playbooks/roles/nfsd/defaults/main.yml        |   3 -
 playbooks/roles/nfsd/tasks/main.yml           |  21 +--
 playbooks/roles/smbd/defaults/main.yml        |   3 -
 playbooks/roles/smbd/tasks/main.yml           |  21 +--
 playbooks/roles/volume_group/README.md        |  42 +++++
 .../roles/volume_group/defaults/main.yml      |   4 +
 .../roles/volume_group/tasks/guestfs.yml      |  59 ++++++
 playbooks/roles/volume_group/tasks/main.yml   |  42 +++++
 .../volume_group/tasks/terraform/aws.yml      |  54 ++++++
 .../volume_group/tasks/terraform/azure.yml    |  40 +++++
 .../volume_group/tasks/terraform/gce.yml      |   4 +
 .../volume_group/tasks/terraform/oci.yml      |  38 ++++
 .../tasks/terraform/openstack.yml             |   4 +
 scripts/gen-nodes.Makefile                    |  10 --
 scripts/iscsi.Makefile                        |   2 -
 scripts/nfsd.Makefile                         |   2 -
 scripts/smbd.Makefile                         |   2 -
 scripts/terraform.Makefile                    |  10 +-
 terraform/aws/main.tf                         |   3 +-
 terraform/azure/Kconfig                       | 168 ++++++++++++++++--
 terraform/azure/main.tf                       |  48 ++---
 terraform/azure/managed_disks/main.tf         |  20 +++
 terraform/azure/managed_disks/vars.tf         |  29 +++
 terraform/azure/vars.tf                       |  17 +-
 terraform/oci/Kconfig                         | 153 ++++++++++++++++
 terraform/oci/main.tf                         |  28 ++-
 terraform/oci/vars.tf                         |  17 ++
 40 files changed, 744 insertions(+), 210 deletions(-)
 create mode 100644 playbooks/roles/volume_group/README.md
 create mode 100644 playbooks/roles/volume_group/defaults/main.yml
 create mode 100644 playbooks/roles/volume_group/tasks/guestfs.yml
 create mode 100644 playbooks/roles/volume_group/tasks/main.yml
 create mode 100644 playbooks/roles/volume_group/tasks/terraform/aws.yml
 create mode 100644 playbooks/roles/volume_group/tasks/terraform/azure.yml
 create mode 100644 playbooks/roles/volume_group/tasks/terraform/gce.yml
 create mode 100644 playbooks/roles/volume_group/tasks/terraform/oci.yml
 create mode 100644 playbooks/roles/volume_group/tasks/terraform/openstack.yml
 create mode 100644 terraform/azure/managed_disks/main.tf
 create mode 100644 terraform/azure/managed_disks/vars.tf

-- 
2.48.1


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2025-03-13  6:31 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-10 14:18 [PATCH v1 00/13] Block device provisioning for storage nodes cel
2025-03-10 14:18 ` [PATCH v1 01/13] terraform/AWS: Upgrade the EBS volume type to "gp3" cel
2025-03-10 14:18 ` [PATCH v1 02/13] terraform/Azure: Remove managed_disk_type selection cel
2025-03-10 14:18 ` [PATCH v1 03/13] terraform/Azure: Create a set of multiple generic block devices cel
2025-03-10 14:18 ` [PATCH v1 04/13] terraform/OCI: " cel
2025-03-13  5:56   ` Chandan Babu R
2025-03-10 14:18 ` [PATCH v1 05/13] guestfs: Set storage options consistently cel
2025-03-10 14:18 ` [PATCH v1 06/13] playbooks: Add a role to create an LVM volume group cel
2025-03-10 14:18 ` [PATCH v1 07/13] volume_group: Detect the /data partition directly cel
2025-03-10 14:18 ` [PATCH v1 08/13] volume_group: Prepare to support cloud providers cel
2025-03-10 14:18 ` [PATCH v1 09/13] volume_group: Create volume group on terraform/AWS nodes cel
2025-03-10 14:18 ` [PATCH v1 10/13] volume_group: Create a volume group on Azure nodes cel
2025-03-10 14:18 ` [PATCH v1 11/13] volume_group: Create a volume group on GCE nodes cel
2025-03-10 14:18 ` [PATCH v1 12/13] volume_group: Create a volume group on OCI nodes cel
2025-03-13  6:29   ` Chandan Babu R
2025-03-10 14:18 ` [PATCH v1 13/13] volume_group: Create a volume group on OpenStack public clouds cel
2025-03-11  3:29 ` [PATCH v1 00/13] Block device provisioning for storage nodes Luis Chamberlain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox