ovirt-openshift-extensions

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2019 License: Apache-2.0

README

ovirt-openshift-extensions

Build Status Go Report Card

container image status
ovirt-flexvolume-driver ovirt-flexvolume-driver
ovirt-volume-provisioner ovirt-volume-provisioner
ovirt-cloud-provider ovirt-cloud-provider
ovirt-flexvolume-driver-apb Docker Repository on Quay
ovirt-openshift-installer Docker Repository on Quay

Purpose

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
ovirt-volume-provisioner

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.

ovirt-flexvolume-driver

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 for a container.

ovirt-cloud-provider

An out-of-tree implementation of a cloudprovider.
A controller that manages the admission of new nodes for openshift, from oVirt VMs. \

Versions
version ovirt version openshift version
<= v0.3.1 >= 4.2 3.9, 3.10
>= v0.3.2 >= 4.2 3.10, 3.11
Deployment
Deploy via service-catalog

Pre-requisite:

  • Openshift 3.10.0 or higher
  • 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:
    IMAGE ALT TEXT HERE
Deploy via cli
  • make sure oc command is configured and has access to your cluster, e.g. run oc 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 these 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           17m
Documentation

For topics not covered in this Readme, see the project documentation.

Contributing

Feedback is most welcome, if you have an idea, proposal, fix, or want to chat
you'll find the details here:

Blog post in ovirt: https://www.ovirt.org/blog/2018/02/your-container-volumes-served-by-ovirt/

Youtube Demo: https://youtu.be/_E9pUVrI0hs

References

Directories

Path Synopsis
cmd
ovirt-flexvolume-driver
Note: the example only works with the code within the same release/branch.
Note: the example only works with the code within the same release/branch.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL