| container image | status |
|---|---|
| ovirt-flexvolume-driver | |
| ovirt-volume-provisioner | |
| ovirt-cloud-provider | |
| ovirt-flexvolume-driver-apb | |
| ovirt-openshift-extensions-ci |
Make oVirt the a prefered platform for openshift installation. The main components this project will ship are:
- storage integration through plugin - currently flex, CSI in the future
- cloud provider
- easy deployement of all those components
A kubernetes controller that creates/deletes persistent volumes, and allocates disks
in ovirt as a result. This is the first part for providing volumes from ovirt.
A kubernetes node plugin that attaches/detaches a volume to a container.
It attaches the ovirt disk to the kube node(which is an ovirt vm). It identifies the disk device on the os,
prepares a filesystem, then mounts it so it is ready as a volume mount into a container.
An out-of-tree implementation of a cloudprovider.
A controller that manages the admission of new nodes for openshift, from ovirt vms.
Merging this code is work in progress here: oVirt#59
NOTE: ovirt-cloud-provider will be available in v0.3.3
| version | ovirt version | openshift version |
|---|---|---|
| <= v0.3.1 | >= 4.2 | 3.9, 3.10 |
| >= v0.3.2 | >= 4.2 | 3.10, 3.11 |
Pre-requisite:
- Openshift 3.10.0
- Running service catalog
From the repo:
- push the apb image to your cluster repo
$ make apb_build apb_push - go to the service catalog UI and deploy the ovirt-flexvolume-driver-apb.
Here is a demo doing that:
-
make sure
occommand is configured and has access to your cluster, e.g runoc status -
use a cluster admin user to deploy, or grant permission to one
$ oc login -u system:admin $ oc adm policy add-cluster-role-to-user cluster-admin developer
-
Run on a master(replace the input with yours):
docker run \ -it \ --rm \ --net=host \ -v $HOME/.kube:/opt/apb/.kube:z \ -u $UID quay.io/rgolangh/ovirt-flexvolume-driver-apb \ provision -e \ '{ "admin_user":"developer", "admin_password":"YOURPASS", "cluster":"openshift", "namespace":"default", "engine_username":"admin@internal", "engine_password":"YOURPASS", "engine_url":"https://ENGINE-FQDN/ovirt-engine/api", }'
- If its the first time deploying the image then it should take few moments to download it.
Upon completion you have the components running:
$ oc get ds -n default ovirt-flexvolume-driver
name desired current ready up-to-date available node selector age
ovirt-flexvolume-driver 1 1 1 1 1 <none> 15m
$ oc get deployment -n default ovirt-volume-provisioner
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
ovirt-volume-provisioner 1 1 1 1 17mFeedback is most welcome, if you have an idea, proposal, fix, or want to chat
you'll find the details here:
- Patches are usual pull-request, see the pull request template.
- Upstream bugs: https://github.com/oVirt/ovirt-openshift-extensions/issues
- Trello Board: ovirt-openshift-extensions (may change to Jira)
- Bugzilla tracker bug: https://bugzilla.redhat.com/show_bug.cgi?id=1581638 (see the bugzilla tracker for the component under rhev)
- IRC: upstream: #ovirt @ oftc.net
- Mailing List: devel@ovirt.org
Blog post in ovirt: https://www.ovirt.org/blog/2018/02/your-container-volumes-served-by-ovirt/
Youtube Demo: https://youtu.be/_E9pUVrI0hs
