Giter Site home page Giter Site logo

vmware-tanzu / vsphere-kubernetes-drivers-operator Goto Github PK

View Code? Open in Web Editor NEW
28.0 20.0 9.0 3.58 MB

vSphere Kubernetes Driver Operator to simplify and automate the lifecycle management of CSI and CPI for Kubernetes cluster running on vSphere

License: Other

Dockerfile 0.36% Makefile 5.04% Go 93.83% Shell 0.77%
kubernetes operator vsphere csi cpi cni vdo

vsphere-kubernetes-drivers-operator's Introduction

vSphere Kubernetes Drivers Operator

Build codecov Go Report Card

Overview

The vSphere Kubernetes Drivers Operator project is designed to simplify and automate the lifecycle management of CSI and CPI drivers in a Kubernetes cluster running on vSphere. The operator exposes Custom Resources to configure CPI and CSI drivers. To know more about the design and architecture you can see here.

topology

Goals

Our goal is to make vSphere the best place to run any Kubernetes and to vastly simplify the experience of deploying Kubernetes to vSphere.

Prerequisites

VDO has been tested on k8s cluster running versions 1.21 or later. VDO can run on vanilla as well as openshift k8s clusters

  1. vSphere 6.7U3(or later) is supported for VDO
  2. Virtual Machine hardware version should be version 15(or later)
  3. K8s master nodes should be able to communicate with vcenter management interface
  4. Disable Swap(swapoff -a) on all nodes
  5. Enable Disk UUID(disk.EnableUUID) on all node vm's

Getting Started

Getting started with VDO is simple and straightforward. Please head to Getting Started

Community

All of the exising CPI, CSI and CNI driver projects are maintained in GitHub

We really value the community of developers and vSphere users who run Kubernetes on vSphere and our goal is to ensure that the vSphere Drivers Operator is designed and developed 100% in the open. As such, we will be using GitHub issues for tracking all of our work and GitHub markdown for our designs. We will be starting a regular call where design decisions are discussed and we commit to ensuring that decisions are well documented.

If you have an interest in contributing or submitting requirements, we'd love to hear from you!

Contributing

Project Scope

This is a brand new project we are launching on GitHub, developed and designed upstream. We will be setting up a slack channel, regular public developer meetings and design discussions in the next few weeks. Please watch this space.

How to Contribute

The vSphere Kubernetes Drivers Opearator project team welcomes contributions from the community. If you wish to contribute code and you have not signed our contributor license agreement (CLA), our bot will update the issue when you open a Pull Request. For any questions about the CLA process, please refer to our FAQ

Please get in touch with us via Slack or come to one of our meetings if you want to get involved.

License

VDO is licensed under the Apache License, version 2.0

vsphere-kubernetes-drivers-operator's People

Contributors

aggarwalta avatar asifdxtreme avatar corrieb avatar dependabot[bot] avatar dimplerajavamsi avatar jvrahav avatar ridaz avatar ridaz-zz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vsphere-kubernetes-drivers-operator's Issues

Fix Lint issue in Openshift artifacts yaml

Issue/Feature Description:

[yaml-lint : lint-yaml-files] operators/vsphere-kubernetes-drivers-operator/0.1.0/manifests/crd.yaml
[yaml-lint : lint-yaml-files]   1:1       warning  missing document start "---"  (document-start)
[yaml-lint : lint-yaml-files]   25:181    warning  line too long (316 > 180 characters)  (line-length)
[yaml-lint : lint-yaml-files]   28:181    warning  line too long (317 > 180 characters)  (line-length)
[yaml-lint : lint-yaml-files]   177:181   warning  line too long (316 > 180 characters)  (line-length)
[yaml-lint : lint-yaml-files]   180:181   warning  line too long (317 > 180 characters)  (line-length)
[yaml-lint : lint-yaml-files] 
[yaml-lint : lint-yaml-files] operators/vsphere-kubernetes-drivers-operator/0.1.0/manifests/rbac.yaml
[yaml-lint : lint-yaml-files]   1:1       warning  missing document start "---"  (document-start)
[yaml-lint : lint-yaml-files] 
[yaml-lint : lint-yaml-files] operators/vsphere-kubernetes-drivers-operator/0.1.0/manifests/vsphere-kubernetes-drivers-operator.clusterserviceversion.yaml
[yaml-lint : lint-yaml-files]   1:1       warning  missing document start "---"  (document-start)
[yaml-lint : lint-yaml-files]   109:181   warning  line too long (398 > 180 characters)  (line-length)
[yaml-lint : lint-yaml-files]   112:181   warning  line too long (1554 > 180 characters)  (line-length)

Operationalise VDO on Supervisor Cluster

Issue/Feature Description:
Operationalize VDO on Supervisor cluster and all the operators should be functional on the cluster.

What type of Issue/Feature is this?

/kind new feature

To run VDO in openshift/crc cluster we need definition for operator group and catalog source

Issue/Feature Description:
To run vdo on openshift/crc cluster we need operator group and catalog source.
The definition for these resources need to be made available to users

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
If a user wants to run vdo on CRC, the user needs to provide the required information. with these files committed and integrated with deploy-crc command, would complete the automated deployment of vdo on crc clusters

Compatibility matrix spec file with K8s v1.19.16 does not spin CPI and CSI Pods

Issue/Feature Description:
Compatibility matrix spec file with K8s v1.19.16 does not spin CPI and CSI Pos
E1122 10:18:09.565422 1 controller.go:302] controller-runtime/manager/controller/vdoconfig "msg"="Reconciler error" "error"="could not fetch compatible CPI version for vSphere version and k8s version " "name"="compat-matrix-config" "namespace"="vmware-system-vdo" "reconciler group"="vdo.vmware.com" "reconciler kind"="VDOConfig"

What type of Issue/Feature is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:

/kind new feature
/kind bug fix
/kind cleanup
/kind revert change
/kind design
/kind documentation
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
CPI and CSI Pods are not created for the kubernetes v1.19.16

How to reproduce, in case of a bug:
Used the beta delivered compatibility matrix file and K8s v1.19.16

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

vdoctl update command shows incorrect use/example in the description

Issue/Feature Description:

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
In order to provide proper usage of the given command in --help

How to reproduce, in case of a bug:

vdoctl help update 
This command helps to update the VDO Resources which is created by VDO Controller

Examples:
vdoctl update matrix https://sample/sample.yaml

Change ConfigMap watchers to watch on own namespace

Issue/Feature Description:
ConifgMap watcher in the reconciler should watch on own namespace instead of 'vmware-system-vdo'

We also need to check for similar instances/scenario in re-conciler and update the flow

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
We need this feature t make vdo namespace agnoustic

support configuration of kubelet path for CSI

Issue/Feature Description:
VDO should support configuration of kubelet path when deploying CSI
What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
vSphere CSI driver deployment provides an option to specify the path to kubelet.
This comes in handy where kubelet might not be installed in default path.
For more details refer kubernetes-sigs/vsphere-csi-driver#793

VDO must provide the user an option as part of advanced configuration to configure a custom kubelet path

Does compatibility matrix handles version skew for kubernetes w.r.t. CPI

Issue/Feature Description:
Does compatibility matrix handles version skew for kubernetes w.r.t. CPI

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
Compatibility matrix needs to handle patch version support in version skew for kubernetes w.r.t. CPI
For CPI, Any patch version of kubernetes should be accepted in version skew.

How to reproduce, in case of a bug:
Any patch version of k8s can be provided for CPI.

make deploy is failing if kind is not in the path

Issue/Feature Description:
make deploy is failing if kind is not in the path. Use the kind that was downloaded to create the cluster.

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):

  • In case if Kind is not in the path make deploy will fail
  • Even if kind is in the path there might be version differences between the kind that was downloaded and that was already present in the path variable.

How to reproduce, in case of a bug:
Make sure kind is not in the path and run the make deploy command

Update the documents for taints and filepath

Issue/Feature Description:

What type of Issue/Feature is this?
/kind documentation

Why this fix/ feature is needed(give scenarios or use cases):
Updating the documentation with following will help the user bring in VDO who is unfamiliar with implementation :

  1. Taints required on the nodes(master/worker) as pre-requisites for CPI.
    node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
  2. filepath syntax if it is a local path
    file://

How to reproduce, in case of a bug:

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

Configure Default value of Compatibility Matrix

Issue/Feature Description:

Configure the Compatibility Matrix by default from vdoctl if not configured before configuring the drivers.

The default URL should be https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/releases/download/{VERSION}/compatibility.yaml

VERSION should come from vdoctl version.

This should only get triggered if the user hits vdoctl configure drivers and till then the compatibility matrix has not been configured.

We need to give a Warning Message to user saying that Since you have not configured the Compatibility Matrix so the default values of the matrix will be taken, If you want to configure the matrix manually then you can skip this step and run 'vdoctl configure compatibility matrix'

What type of Issue/Feature is this?
/kind enhancement

Add the go version in Github pipeline

Issue/Feature Description:
Add the go version in the Github pipeline, by default it is using 1.15 but the vdo project needs 1.16

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
Pipelines are failing as the go version(1.15) is not compatible with the few packages

How to reproduce, in case of a bug:
From here

go: downloading github.com/google/go-cmp v0.5.6
# github.com/golangci/golangci-lint/internal/robustio
Error: /home/runner/go/pkg/mod/github.com/golangci/[email protected]/internal/robustio/robustio_other.go:18:9: undefined: os.ReadFile
note: module requires Go 1.16
# github.com/golangci/golangci-lint/pkg/fsutils
Error: /home/runner/go/pkg/mod/github.com/golangci/[email protected]/pkg/fsutils/filecache.go:27:20: undefined: os.ReadFile
note: module requires Go 1.16
# github.com/go-critic/go-critic/checkers
Error: /home/runner/go/pkg/mod/github.com/go-critic/[email protected]/checkers/ruleguard_checker.go:149:17: undefined: os.ReadFile
# github.com/breml/bidichk/pkg/bidichk
Error: /home/runner/go/pkg/mod/github.com/breml/[email protected]/pkg/bidichk/bidichk.go:46:15: undefined: os.ReadFile
note: module requires Go 1.16
make[1]: *** [Makefile:320: golangci_lint] Error 2
make: *** [Makefile:292: lint] Error 2
make[1]: Leaving directory '/home/runner/work/vsphere-kubernetes-drivers-operator/vsphere-kubernetes-drivers-operator'
Error: Process completed with exit code 2.

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

Validating Metadata bundle

Issue/Feature Description:

Validating Metadata bundle:

  • Verify bundle using operator-sdk

  • Verify CSV on Operatorhub

Verify that the Metadata Bundle files are properly configured and formatted and add necessary details required in CSV.
Refer this.

What type of Issue/Feature is this?

/kind enhancement

Custom Path Kubelet: CSI Pods are stuck in ContainerCreating Phase with error MountVolume.SetUp failed for volume "registration-dir" : hostPath type check failed: /var/lib/kubelet/plugins_registry is not a directory

Issue/Feature Description:
Custom Path Kubelet: CSI Pods are stuck in ContainerCreating Phase with error
MountVolume.SetUp failed for volume "registration-dir" : hostPath type check failed: /var/lib/kubelet/plugins_registry is not a directory

What type of Issue/Feature is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:

/kind new feature
/kind bug fix
/kind cleanup
/kind revert change
/kind design
/kind documentation
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
On custom K8 deployments on VMWARE, a different kubelet path is used other than the default /var/lib/kubelet but /var/data/kubelet instead. As a resullt, the default value is passed to the csi node driver to be used to mount the storage /var/lib/kubelet fails to perform the mounts

How to reproduce, in case of a bug:
Configure a K8 cluster with a different kublet path other than /var/lib/kubelet

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)
On editing the CSI DaemonSet manually, there are other kubelet path that needs updation

  1. spec:
    containers:

    • args:
      • --v=5
      • --csi-address=$(ADDRESS)
      • --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
      • --health-port=9809
        env:
      • name: ADDRESS
        value: /csi/csi.sock
      • name: DRIVER_REG_SOCK_PATH
        value: /var/lib/kubelet/plugins/csi.vsphere.vmware.com/csi.sock <-------------- Path needs update
  2. volumes:

    • hostPath:
      path: /var/lib/kubelet/plugins_registry <------------- Path needs update
      type: Directory
      name: registration-dir
    • hostPath:
      path: /var/lib/kubelet/plugins/csi.vsphere.vmware.com <------------- Path needs update
      type: DirectoryOrCreate

Search the Daemonset output for /var and /var/lib needs to be replaced with the custom path

Support VDO command line utility

Issue/Feature Description:
VDO command line serves as the point of entry for cloud admin to deploy and configure VDO
More details on the expected behaviour w.r.t command line can be found here https://confluence.eng.vmware.com/pages/viewpage.action?pageId=895856458
The primary goal of this command line tool is to abstract the kubernetes commands to simple user initiated actions

This Issue should cover the Install/Configure/Manage/Upgrade of VDO command line

What type of Issue/Feature is this?
/kind new feature

Why this fix/ feature is needed(give scenarios or use cases):
This feature is required to have a smooth installation of VDO

versionConfigContent not getting updated.

Issue/Feature Description:
VersionConfigContent is not getting updated by vdoctl configure compat command using Local filePath

What type of Issue/Feature is this?
/kind bug

Why this fix/ feature is needed(give scenarios or use cases):
This fix is required to update the content of compatibility matrix by using LocaFilePath

How to reproduce, in case of a bug:

smohammadasi@smohammadas-a01 github-action % vdoctl configure compat
✔ Local filepath
Local filepath file:///Users/smohammadasi/go/src/github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/hack/github-action/comp-matrix.yaml
smohammadasi@smohammadas-a01 github-action % kubectl describe configmaps -n vmware-system-vdo compat-matrix-config
Name:         compat-matrix-config
Namespace:    vmware-system-vdo
Labels:       <none>
Annotations:  <none>

Data
====
auto-upgrade:
----
disabled
versionConfigURL:
----
https://testfly.com
Events:  <none>

Operationalise VDO on openshift platform

Issue/Feature Description:
VDO Operator needs to be able to run on Openshift k8s clusters and vanilla k8s cluster.
This Issue will track the work required to make VDO operator run on openshift platform.
Some of the tasks could be

  • generation of bundle
  • integration with OPM for install/upgrade of the operator
  • Ensure images are loaded successfully and operator is fully functional on Openshift K8S clusters

What type of Issue/Feature is this?
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
This feature is required to ensure the VDO works seamlessly with Openshift platform.

vdoctl help should not expect kubeconfig argument

Issue/Feature Description:

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
when a user runs vdoctl help, the user should not be prompted to specify kubeconfig argument.

How to reproduce, in case of a bug:
Run vdoctl help command

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

Manifest dir missing in the bundle image

Issue/Feature Description:

What type of Issue/Feature is this?
Image failing for batch regeneration on RedHat portal

The image FAILED the batch regeneration.
 2021-10-22T07:09:23.021641Z - redhat-marketplace -failed - Failed to copy the contents of 0be3a830e924f6e83a8f19e3284f1974f1b39ad272915ec8c8df5e7b7401056c:/manifests into /tmp/iib-plij5k65/manifests
2021-10-22T07:09:22.962098Z - certified-operators -failed - Failed to copy the contents of eb555432e39db2266bebcf060a1296845009201c627eaca42575a3b8a967191e:/manifests into /tmp/iib-z2tjcyn7/manifests

Need to copy the contents of artifacts folder to the manifests of bundle image

Display messages for vdoctl configure cm, update and delete command

Issue/Feature Description:

What type of Issue/Feature is this?

Uncomment only one /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:

/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
Display messages for vdoctl configure cm, update and delete command, which confirms the user that the command has been executed successfully and what can be performed next.

Customize golang image path in dockerfile to allow using internal registry

Issue/Feature Description:
Adding customization to golang image path in Dockerfile

What type of Issue/Feature is this?
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
Due to dockerhub pull limit, internal registry can be used to fetch the golang image and deploy VDO.

Add Templates/Placeholders for New Github Issues and PR's

Add the standard templates for Issues/PR's so that Users can use the placeholders to fill in appropriate details while raising a new Issues or PR's.

This will also help reviewers and maintainers to get the necessary information about each Issue or PR's.

Check for the Permissions of the vsphere user provided during drivers configuration

Issue/Feature Description:
Check for the Permissions of the vsphere user provided during drivers configuration

What type of Issue/Feature is this?

/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
during vdoctl configure drivers not checking the permissions required for CPI/CSI configuration which might causes issues for the proper functioning of the CSI/CPI driver

How to reproduce, in case of a bug:
Try to configure the CSI/CPI with the user who has no required privileges.

Setup Github Actions for automated test workflow for each PR’s.

Issue/Feature Description:
Set up Github Actions for automated testing of each PR's . Each PR's should be tested against below items.

  • Static Checks ( gofmt, govert, golint)
  • Unit Test
  • Build artificats
  • Deploy

What type of Issue/Feature is this?
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
This feature is needed to ensure the consistent delivery of good quality and tested code.

How to reproduce, in case of a bug:
Raise a PR, the Github Actions should automatically trigger for the change request and update the status of each check in the PR, without passing of these checks it's suggested not to force merge any PR.

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

CSI configuration is failing if there is no compatible CPI version

Issue/Feature Description:
CSI configuration is failing if there is no compatible CPI version even if the user only configured just CSI

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
Unable to just configure CSI if there is no compatible CPI version

How to reproduce, in case of a bug:
Make sure there is no compatible CPI version for the cluster(I changed to Kubernetes version) and just configure CSI then VDO will throw errors saying that no compatible CPI version and won't configure CSI.

I1028 07:21:20.751922       1 session.go:64] controller-runtime/manager/controller/vdoconfig "msg"="found active cached vSphere client session" "name"="vdo-configca64c175" "namespace"="vmware-system-vdo" "reconciler group"="vdo.vmware.com" "reconciler kind"="VDOConfig" "session"="vcsession" "server"="10.161.136.32"
I1028 07:21:22.347327       1 session.go:106] controller-runtime/manager/controller/vdoconfig "msg"="cached vSphere client session" "name"="vdo-configca64c175" "namespace"="vmware-system-vdo" "reconciler group"="vdo.vmware.com" "reconciler kind"="VDOConfig" "session"="vcsession" "datacenter"="vcqaDC" "server"="10.161.136.32"
I1028 07:21:22.347496       1 vdoconfig_controller.go:1194] controllers/VDOConfig "msg"="vSphere Versions "  "version"=["7.0.3"]
I1028 07:21:22.347531       1 vdoconfig_controller.go:1195] controllers/VDOConfig "msg"="k8s Versions "  "version"="1.21"
E1028 07:21:22.347613       1 vdoconfig_controller.go:1273] controllers/VDOConfig "msg"="Error occurred when fetching the CPI deployment yamls" "error"="could not fetch compatible CPI version for vSphere version and k8s version "  
E1028 07:21:22.347897       1 controller.go:302] controller-runtime/manager/controller/vdoconfig "msg"="Reconciler error" "error"="could not fetch compatible CPI version for vSphere version and k8s version " "name"="vdo-configca64c175" "namespace"="vmware-system-vdo" "reconciler group"="vdo.vmware.com" "reconciler kind"="VDOConfig" 

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)
Tested on Kind and vanilla Kubernetes clusters

Show the version of VDO in case the VDO operator is running

Issue/Feature Description:
Show the version of VDO in case the VDO operator is running on the cluster even if drivers are not configured.
Show help message when consumer ran vdoctl deploy to provide spec field also

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
This needed to let the consumer know of the VDO operator is running or not in the cluster and proper error message

How to reproduce, in case of a bug:

  • Deploy the VDO operator on the cluster and trigger vdoctl version throws VDO is not configured. you can use vdoctl configure drivers to configure VDO.
  • Trigger vdoctl deploy which error Error: unable to read deployment spec from .

Delete the Old deployment in case of an Upgrade

Issue/Feature Description:
Delete the old deployment in case of an upgrade through compatibility matrix.

What type of Issue/Feature is this?

/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
This bug fix is required for seamless upgrade.

How to reproduce, in case of a bug:
Update the matrix url with new version of CSI/CPI, the reconcile doesn't delete's the old deployment.

remove configuring zone/region for CloudProvider while installing CPI

Issue/Feature Description:
As per https://github.com/vmware-tanzu/vsphere-kubernetes-drivers-operator/blob/main/docs/configure_drivers.md
We asking users to refer to CPI doc to configure zone/region.
CPI should never set zone/region label on Nodes.

Can we remove a link to CPI doc to configure zone/region?

We also need to remove CLI option for Cloud Provider to configure zone/region.

Do you want to configure zones/regions for CloudProvider? (Y/N) y
Zones zonea
Regions region1█

topology labels should be set and configured by vSphere CSI driver and not CPI.

Please refer to the following doc to understand CPI and CSI installation for topology

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
CPI should never set zone/region labels on the Node. We should never configure CPI to add topology labels.
This is an incorrect installation for the topology feature.

How to reproduce, in case of a bug:

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)

cc: @SandeepPissay @shalini-b @jgummadi23

Add CleanUp step in the Getting Started Guide

Issue/Feature Description:
Need the Cleanup step to clean the env for a re-deploy

What type of Issue/Feature is this?
/kind documentation

Why this fix/ feature is needed(give scenarios or use cases):
This is needed to ensure we have clean env for a re-deploy of vdo

vdoctl version is failing if the compatibility matrix is from the local file path

Issue/Feature Description:
vdoctl version is failing if the compatibility matrix is from the local file path

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
For proper functioning of vdoctl version when the user configured the compatibility matrix using a local file from the filesystem.

How to reproduce, in case of a bug:

  • use vdoctl configure compatibility-matrix and provide the local file from the file system
  • configure drivers and run vdoctl version
bash-5.1$ vdoctl version
Error: Get "": unsupported protocol scheme ""

Add the Demo for vdoctl usages

Issue/Feature Description:

Add a demo video to illustrates the vdoctl usages.

What type of Issue/Feature is this?
/kind documentation

Add Developer Guide for VDO

Issue/Feature Description:
Add the developer guide for VDO for all the below actions ;

  • Setting up the developer env
  • Building the code from source
  • Running the Test Cases
  • Raising the PR and doing the pre-checks

What type of Issue/Feature is this?
/kind documentation

Why this fix/ feature is needed(give scenarios or use cases):
This is needed to ensure a successful on-boarding of new developers for VDO

Add Compatibility Matrix Support for VDO

Issue/Feature Description:
Add the compatibility matrix support for the VDO(vSphereKubernetes Driver Operator) for the deployment of CSI and CPI Drivers via operator.
As a part of this feature request we intend to find the compatible versions of CSI and CPI with k8s and vSphere and deploy the driver accordingly. It will also help in auto-upgrade of the drivers.

What type of Issue/Feature is this?
/kind new feature

Why this fix/ feature is needed(give scenarios or use cases):
This feature is required to ensure that VDO installs/upgrade the correct versions of driver each time and also give flexibility to Users to choose their own versions and related deployment files.

vdoctl : handle error scenario where VDO is not yet deployed

Issue/Feature Description:
vdoctl status and versions command should handle case where VDO is not yet deployed

What type of Issue/Feature is this?
/kind bug fix

Why this fix/ feature is needed(give scenarios or use cases):
If a user downloads vdoctl CLI tool and chooses to run the commands while vdo is not yet installed, the CLI tool should be resilient, handle the errors and display relevant information

For instance
running vdoctl status command should result in
VDO not deployed
running vdoctl versions command should result in
VDO not deployed
How to reproduce, in case of a bug:
download vdoctl, do not deploy vdo
run vdoctl status and vdoctl version commands

Increase the linter timeout

Issue/Feature Description:
Increase the linter timeout as in some of the CI/CD automation pipelines linting it getting timeout as the default value is 1min

What type of Issue/Feature is this?
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
For CI/CD automation

How to reproduce, in case of a bug:
NA

Other Notes / Environment Information: (Please give the env information, log link or any useful information for this issue)
Hitting this issue only on the Internal CI/CD automation

level=info msg="[runner] Issues before processing: 6, after processing: 0"
level=info msg="[runner] Processors filtering stat (out/in): skip_files: 6/6, filename_unadjuster: 6/6, autogenerated_exclude: 6/6, skip_dirs: 6/6, path_prettifier: 6/6, exclude: 0/6, cgo: 6/6, identifier_marker: 6/6"
level=info msg="[runner] processing took 1.244121ms with stages: exclude: 862.17µs, identifier_marker: 158.112µs, path_prettifier: 95.851µs, autogenerated_exclude: 50.823µs, skip_dirs: 44.076µs, max_same_issues: 10.614µs, cgo: 9.289µs, exclude-rules: 3.859µs, nolint: 3.763µs, filename_unadjuster: 2.519µs, skip_files: 744ns, path_shortener: 541ns, diff: 436ns, max_from_linter: 412ns, uniq_by_line: 378ns, source_code: 276ns, max_per_file_from_linter: 258ns"
level=info msg="[runner] linters took 1m18.970215786s with stages: goanalysis_metalinter: 1m11.33077175s, unused: 7.638061211s"
level=info msg="File cache stats: 0 entries of total size 0B"
level=error msg="Timeout exceeded: try increasing it by passing --timeout option"

Writing status to sub-resources

Issue/Feature Description:

What type of Issue/Feature is this?
/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
Writing status to sub-resources
Add /status API endpoint to CRD

https://redhat-connect.gitbook.io/certified-operator-guide/golang-operators/untitled

Ran the operator-sdk scorecard test to verify if the status is getting as passed


operator-sdk scorecard bundle -c config/scorecard/bases/config.yaml
--------------------------------------------------------------------------------
Image:      quay.io/operator-framework/scorecard-test:latest
Entrypoint: [scorecard-test basic-check-spec]
Labels:
        "suite":"basic"
        "test":"basic-check-spec-test"
Results:
        Name: basic-check-spec
        State: pass

--------------------------------------------------------------------------------
Image:      quay.io/operator-framework/scorecard-test:latest
Entrypoint: [scorecard-test olm-bundle-validation]
Labels:
        "suite":"olm"
        "test":"olm-bundle-validation-test"
Results:
        Name: olm-bundle-validation
        State: pass

        Log:
                time="2021-10-25T10:58:15Z" level=debug msg="Found manifests directory" name=bundle-test
                time="2021-10-25T10:58:15Z" level=debug msg="Found metadata directory" name=bundle-test
                time="2021-10-25T10:58:15Z" level=debug msg="Getting mediaType info from manifests directory" name=bundle-test
                time="2021-10-25T10:58:15Z" level=debug msg="Found annotations file" name=bundle-test
                time="2021-10-25T10:58:15Z" level=debug msg="Could not find optional dependencies file" name=bundle-test

Integration Test framework for VDO

Issue/Feature Description:
This will bring in the integration test framework for VDO, which can be run against each merge on main branch.

What type of Issue/Feature is this?

/kind enhancement

Why this fix/ feature is needed(give scenarios or use cases):
This is needed to ensure all the operators which are getting integrated to VDO is fully functional

Add QuickStart guide for VDO

Issue/Feature Description:
Add Quick Start guide for VDO which can be followed by new users to easily deploy VDO by easy copy paste of sequential commands.

What type of Issue/Feature is this?
/kind documentation

Why this fix/ feature is needed(give scenarios or use cases):
This documentation is required to ensure new users can easily adopt VDO.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.