openshift/installer

[RFE] libvirt: Attach additional disks to VMs

kshlm opened this issue · 12 comments

kshlm commented

It would be really good to have a way to attach additional disks to the VMs (master and worker) created by the libvirt installer. This will help developers working on openshift storage projects.

An additional nice to have enhancement would be to make the attached disks become available as a storage class in the created cluster.

Use case

The primary requirement for this is from the openshift container storage team. The OCS project will be deploying rook-ceph on openshift to provide storage for applications. Rook-ceph will use be using storage classes provided by the underlying platform to get block devices for the rook osds. On cloud deployments the storage class would be the cloud provided block service, so for AWS we'd use an EBS storage class.

Similarly we want to have a storage class that provides block devices when developing using openshit-libvirt on our laptops. By allowing openshift-libvirt installer to attach additional disks to the created VMs, we'll be able to create and use a storageclass for rook-ceph osds.

kshlm commented

/label platform/libvirt
/label kind/feature

@kshlm thanks for filing this. Unfortunately you can't ask the bot to label unless you're in the Openshift group but it's OK, i can do that for you.

/label platform/libvirt
/kind feature

/label platform/libvirt

@kshlm It sounds like something that could be useful and nice but we've to focus on features that affect real use cases so I'm hoping you've one. If so, please do describe it.

kshlm commented

@zeenix, I've updated the issue description. Sorry it took this long, I noticed it only late last week when I was travelling.

@zeenix, I've updated the issue description.

Thanks so much @kshlm, that helps a lot. I've still one question though: why can't the disks be added/remove after the cluster-creation?

Sorry it took this long, I noticed it only late last week when I was travelling.

No worries. :)

kshlm commented

They can be added after the creation of the cluster. virsh attach-disk makes it simple enough. But adding a line in the install-config file to add additional disks, compared with running as many virsh commands as required, is more simpler (for the end user of this feature).

For the previous dev setups for OCS-3.x and Openshift 3, we were using a Vagrant based environment which attached disks as requested when creating the VMs. This allowed us to launch a working cluster on our laptops, with additional storage, in just 1 command. We'd really like it if we can get a similar setup with Openshift 4.

Thanks @kshlm for explaining in detail. I kinda knew your usecase already but I wanted it to be all here for the record and others. :)

Fortunately, there isn't anything needed on the Terraform side. However, currently the TF config is kinda static so need to think about how to support this. If you've any ideas, that would be great.

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

Stale issues rot after 30d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle rotten
/remove-lifecycle stale

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

@openshift-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.

Reopen the issue by commenting /reopen.
Mark the issue as fresh by commenting /remove-lifecycle rotten.
Exclude this issue from closing again by commenting /lifecycle frozen.

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.