Skip to content

Commit

Permalink
chore(release): prepare v2.12.x as the last branch for maintenance (#…
Browse files Browse the repository at this point in the history
…1819)

- Update readme with new location of code
- Add deprecate note to all user facing CRDs
- shift to using legacy operator
- Use the legacy operator set with v2.12.x branch images
- Replace references to master with HEAD
- update release sequence steps

Signed-off-by: kmova <[email protected]>
  • Loading branch information
kmova authored Sep 3, 2021
1 parent 18c16cf commit 5e848b6
Show file tree
Hide file tree
Showing 11 changed files with 75 additions and 85 deletions.
8 changes: 4 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ OpenEBS uses the standard GitHub pull requests process to review and accept cont
* If you are a first-time contributor, please see [Steps to Contribute](#steps-to-contribute).
* If you have documentation improvement ideas, go ahead and create a pull request. See [Pull Request checklist](#pull-request-checklist).
* If you would like to make code contributions, please start with [Setting up the Development Environment](#setting-up-your-development-environment).
* If you would like to work on something more involved, please connect with the OpenEBS Contributors. See [OpenEBS Community](https://github.com/openebs/openebs/tree/master/community).
* If you would like to work on something more involved, please connect with the OpenEBS Contributors. See [OpenEBS Community](https://github.com/openebs/openebs/tree/HEAD/community).

## Steps to Contribute

Expand All @@ -30,11 +30,11 @@ OpenEBS is an Apache 2.0 Licensed project and all your commits should be signed
- Commit header (first line) should convey what changed.
- Commit body should include details such as why the changes are required and how the proposed changes.
- DCO Signed.
* If your PR is not getting reviewed or you need a specific person to review it, please reach out to the OpenEBS Contributors. See [OpenEBS Community](https://github.com/openebs/openebs/tree/master/community).
* If your PR is not getting reviewed or you need a specific person to review it, please reach out to the OpenEBS Contributors. See [OpenEBS Community](https://github.com/openebs/openebs/tree/HEAD/community).

## Sign your work

We use the Developer Certificate of Origin (DCO) as an additional safeguard for the OpenEBS project. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please read [dcofile](https://github.com/openebs/openebs/blob/master/contribute/developer-certificate-of-origin). If you can certify it, then just add a line to every git commit message:
We use the Developer Certificate of Origin (DCO) as an additional safeguard for the OpenEBS project. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please read [dcofile](https://github.com/openebs/openebs/blob/HEAD/contribute/developer-certificate-of-origin). If you can certify it, then just add a line to every git commit message:

```
Signed-off-by: Random J Developer <[email protected]>
Expand All @@ -57,7 +57,7 @@ For setting up a Development environment on your local host, see the detailed in
## Reviews against Pull Requests

A PR can be reviewed by both core as well as external contributors. Below can be referred to during reviews:
- contributor should be familiar with maya's [idiomatic standards](https://github.com/openebs/maya/blob/master/docs/idiomatic-maya-guide.md)
- contributor should be familiar with maya's [idiomatic standards](https://github.com/openebs/maya/blob/HEAD/docs/idiomatic-maya-guide.md)
- contributor should fix all the linting issues raised by the lint tools integrated with maya
- contributor should try to implement relevant golang based unit tests for the fix/enhancement
- contributor should try to rework on the review comments as much as possible
Expand Down
2 changes: 1 addition & 1 deletion GOVERNANCE.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
This is a OpenEBS sub project and abides by the
[OpenEBS Project Governance](https://github.com/openebs/openebs/blob/master/GOVERNANCE.md).
[OpenEBS Project Governance](https://github.com/openebs/openebs/blob/HEAD/GOVERNANCE.md).
106 changes: 40 additions & 66 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,92 +1,66 @@
## Overview

[![Build Status](https://travis-ci.org/openebs/maya.svg?branch=master)](https://travis-ci.org/openebs/maya)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/703aa9066b2e4c3499971856eb50f72c)](https://www.codacy.com/app/OpenEBS/maya?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=openebs/maya&amp;utm_campaign=Badge_Grade)
[![Build Status](https://app.travis-ci.com/openebs/maya.svg?branch=v2.12.x)](https://app.travis-ci.com/openebs/maya)
[![Go Report](https://goreportcard.com/badge/github.com/openebs/maya)](https://goreportcard.com/report/github.com/openebs/maya)
[![codecov](https://codecov.io/gh/openebs/maya/branch/master/graph/badge.svg)](https://codecov.io/gh/openebs/maya)
[![GoDoc](https://godoc.org/github.com/openebs/maya?status.svg)](https://godoc.org/github.com/openebs/maya)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/openebs/maya/blob/master/LICENSE)
[![codecov](https://codecov.io/gh/openebs/maya/branch/v2.12.x/graph/badge.svg?token=nDwloue1T5)](https://codecov.io/gh/openebs/maya)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/openebs/maya/blob/HEAD/LICENSE)
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenebs%2Fmaya.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenebs%2Fmaya?ref=badge_shield)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/1753/badge)](https://bestpractices.coreinfrastructure.org/projects/1753)

*Visit [https://docs.openebs.io](https://docs.openebs.io) to learn about Container Attached Storage(CAS) and full documentation on using OpenEBS Maya*.

## Project Status: Deprecated

Although all the components still work, this repo is now deprecated, moving work to following repo, come join us there !

- [cstor-operators](https://github.com/openebs/cstor-operators)
- [Jiva-operators](https://github.com/openebs/jiva-operator)
- [LocalPV](https://github.com/openebs/dynamic-localpv-provisioner)

*OpenEBS Maya* extends the capabilities of Kubernetes to orchestrate CAS (aka Container Native) Storage Solutions like OpenEBS Jiva, OpenEBS cStor, etc. *Maya* (meaning *Magic*), seamlessly integrates into the Kubernetes Storage Workflow and helps provision and manage the CAS based Storage Volumes. The core-features of *Maya* include:

- Maintaining the inventory of the underlying disks on the Kubernetes Nodes.

- Managing the allocation of Disks to CAS Storage Engines.

- Provisioning of CAS Volumes by interfacing with K8s Dynamic Volume Provisioner.

- Managing the high availability of the CAS volumes by tuning the scheduling parameters of CAS Deployments (Pods).
## Overview

- Provide adapters to CAS Volumes to interact with Kubernetes and related infrastructure components like Prometheus, Grafana etc.
OpenEBS control plane components like provisioners and operators were hosted in this repository.

*Maya* orchestration and management capabilities are delivered through a set of services and tools. Currently, these services support deploying the CAS Storage Solutions in Kubernetes Clusters. In future, these can be extended to support other Container Orchestrators.
As the OpenEBS community started to add new engines, the engine specific control plane components have been moved to their respective repositories.
- cStor operators and CSI driver have moved to [openebs/cstor-operators](https://github.com/openebs/cstor-operators) and [openebs/cstor-csi](https://github.com/openebs/cstor-csi) respectively.
- Jiva operator and CSI driver have moved to [openebs/jiva-operator](https://github.com/openebs/jiva-operator)
- Local PV Hostpath and Device provisioner has been moved to [openebs/dynamic-localpv-provisioner](https://github.com/openebs/dynamic-localpv-provisioner)
- Jiva and cStor prometheus metrics exporter been moved to [openebs/m-exporter](https://github.com/openebs/m-exporter)
- `mayactl` for displaying status of Jiva and cStor volumes is merged into [openebs/openebsctl](https://github.com/openebs/openebsctl)

## Maya Architecture
This repository mainly contains code required for running the legacy cStor and Jiva pools and volumes like:
- `m-apiserver` - used for provisoining the legacy cStor and Jiva pools and volumes.
- `mayactl` - packaged along with `m-apiserver` for fetching the legacy cStor and Jiva volume status.
- `admission-server` - used for validating Jiva and cStor pool and volume requests.
- `m-upgrade` - used for upgrading the legacy Jiva volumes, cStor pools and volumes.
- `cstor-pool-mgmt` and `cstor-volume-mgmt` - used for managing the legacy cStor pool and volumes.

![Maya Architecture](./docs/openebs-maya-architecture.png)
With OpenEBS 3.0, all of the above legacy components are deprecated and users are requested to migrate towards using:
- CStor CSI Driver
- Jiva CSI Driver

**Maya** components can be broadly classified based on their deployment type as follows:
The steps to migrate are provided here: https://github.com/openebs/upgrade.

- **Control Plane Components** - These are containers that are initialized as part of enabling OpenEBS in a Kubernetes cluster.
- *maya-apiserver* helps with the creation of CAS Volumes and provides API endpoints to manage those volumes. *maya-apiserver* can also be considered as a template engine that can be easily extended to support any kind of CAS storage solutions. It takes as input a set of CAS templates that are converted into CAS K8s YAMLs based on user requests.
- *provisioner* is an implementation of Kubernetes Dynamic Provisioner that processes the PVC requests by interacting with maya-apiserver.
`v2.12.x` is the last active branch on this repository, that will be used to mainly resolve any security vulnerability or kubernetes compatibility issues found on production setups using the legacy provisioners. New features will be developed only cStor and Jiva CSI drivers.

- **CAS Side-car Components** - These are adapter components that help with managing the CAS containers that do not inherently come up with the required endpoints. For example:
- *maya-exporter* helps in providing a metrics endpoint to the CAS container.
- *cas-mgmt* components can be attached as side-cars for helping to store/retrieve configuration information from Kubernetes Config Store (etcd). For cStor CAS solution, cstor-pool-mgmt is one such *cas-mgmt* component.
## Install

- **CLI** - While most of the operations can be performed via the kubectl, *Maya* also comes with *mayactl* that helps retrieve storage related information for debugging/troubleshooting storage related issues.
Please refer to our documentation at [OpenEBS Documentation](http://openebs.io/).

## Install
## Release

Please refer to our documentation at [OpenEBS Documentation](http://docs.openebs.io/).
Prior to creating a release tag on this repository on `v2.12.x` branch with the required fixes, ensure that the dependent data engine repositories and provisioner are tagged. Once the code is merged, use the following sequence to release a new version for the legacy components:
- (Optional) New release tag on v2.12.x branch of [openebs/linux-utils](https://github.com/openebs/linux-utils)
- (Optional) New release tag on v0.6.x branch of [openebs/ndm](https://github.com/openebs/node-disk-manager)
- New release tag on v2.12.x branch of [openebs/cstor](https://github.com/openebs/cstor) and [openebs/libcstor](https://github.com/openebs/libcstor)
- New release tag on v2.12.x branch of [openebs/jiva](https://github.com/openebs/jiva)
- New release tag on v2.12.x branch of [openebs/openebs-k8s-provisioner](https://github.com/openebs/openebs-k8s-provisioner)
- New release tag on v2.12.x branch of [openebs/m-exporter](https://github.com/openebs/m-exporter)
- New release tag on v2.12.x branch of [openebs/maya](https://github.com/openebs/maya)
- New release tag on v2.12.x branch of [openebs/velero-plugin](https://github.com/openebs/velero-plugin)

## Contributing

Head over to the [CONTRIBUTING.md](./CONTRIBUTING.md).
We are looking at further refactoring this repository by moving the common packages from this repository into a new common repository. If you are interested in helping with the refactoring efforts, please reach out to the OpenEBS Community.

For details on setting up the development environment and fixing the code, head over to the [CONTRIBUTING.md](./CONTRIBUTING.md).

## Community

OpenEBS welcomes your feedback and contributions in any form possible.

- [Join OpenEBS community on Kubernetes Slack](https://kubernetes.slack.com)
- Already signed up? Head to our discussions at [#openebs](https://kubernetes.slack.com/messages/openebs/)
- Want to raise an issue or help with fixes and features?
- See [open issues](https://github.com/openebs/openebs/issues)
- See [contributing guide](./CONTRIBUTING.md)
- See [Project Roadmap](https://github.com/orgs/openebs/projects)
- Checkout our existing [adopters](https://github.com/openebs/openebs/tree/master/adopters) and their [feedbacks](https://github.com/openebs/openebs/issues/2719).
- Want to join our contributor community meetings, [check this out](https://hackmd.io/mfG78r7MS86oMx8oyaV8Iw?view).
- Join our OpenEBS CNCF Mailing lists
- For OpenEBS project updates, subscribe to [OpenEBS Announcements](https://lists.cncf.io/g/cncf-openebs-announcements)
- For interacting with other OpenEBS users, subscribe to [OpenEBS Users](https://lists.cncf.io/g/cncf-openebs-users)


## More Info

- Design proposals for *Maya* components are located at [OpenEBS Designs directory](https://github.com/openebs/openebs/tree/master/contribute/design).

- The issues related to *Maya* are logged under [openebs/openebs](https://github.com/openebs/openebs/issues).

- To build Maya from the source code, see [developer's documentation](https://github.com/openebs/maya/blob/master/docs/developer.md).

- Maya uses [golang dep](https://github.com/golang/dep) to manage dependencies.

- The source code for OpenEBS Provisioner is available at [openebs/external-storage](https://github.com/openebs/external-storage).

- *mayactl* is shipped along with the maya-apiserver container.
- Already signed up? Head to our discussions at:
- [#openebs](https://kubernetes.slack.com/messages/openebs/)
- [#openebs-dev](https://kubernetes.slack.com/messages/openebs-dev/)

## License
[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fopenebs%2Fmaya.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fopenebs%2Fmaya?ref=badge_large)
2 changes: 1 addition & 1 deletion buildscripts/code-gen.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.

# This file has been taken from https://github.com/kubernetes/code-generator/blob/master/generate-groups.sh
# This file has been taken from https://github.com/kubernetes/code-generator/blob/HEAD/generate-groups.sh
# A small modification is made in this file at line number 56.

set -o errexit
Expand Down
9 changes: 5 additions & 4 deletions ci/test-script.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
#!/usr/bin/env bash
# set -x

wget https://raw.githubusercontent.com/openebs/openebs/${CI_BRANCH}/k8s/openebs-operator.yaml
wget https://raw.githubusercontent.com/openebs/charts/gh-pages/versioned/legacy-v2.12.x/legacy-openebs-operator-ci.yaml

IMAGE_ORG=${IMAGE_ORG:-openebs}
sed -i "s/quay.io\/openebs/${IMAGE_ORG}/g" openebs-operator.yaml
sed -i "s/quay.io\/openebs/${IMAGE_ORG}/g" legacy-openebs-operator-ci.yaml

echo "Specify Sparse blockdevice count as 5"
sed -i "s/value: \"1\"/value: \"5\"/g" openebs-operator.yaml
kubectl apply -f openebs-operator.yaml
sed -i "s/value: \"1\"/value: \"5\"/g" legacy-openebs-operator-ci.yaml
kubectl apply -f legacy-openebs-operator-ci.yaml

function waitForDeployment() {
DEPLOY=$1
Expand Down
3 changes: 1 addition & 2 deletions ci/travis-ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ set -e

#./ci/helm_install_openebs.sh
# global env vars to be used in test scripts
export CI_BRANCH="master"
export CI_TAG="ci"
export CI_TAG="v2.12.x-ci"
export MAYACTL="$GOPATH/src/github.com/openebs/maya/bin/maya/mayactl"

./ci/build-maya.sh
Expand Down
4 changes: 2 additions & 2 deletions code-standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Sign your commits

We use the Developer Certificate of Origin (DCO) as an additional safeguard for the OpenEBS projects. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please read [dcofile](https://github.com/openebs/openebs/blob/master/contribute/developer-certificate-of-origin). If you can certify it, then just add a line to every git commit message:
We use the Developer Certificate of Origin (DCO) as an additional safeguard for the OpenEBS projects. This is a well established and widely used mechanism to assure that contributors have confirmed their right to license their contribution under the project's license. Please read [dcofile](https://github.com/openebs/openebs/blob/HEAD/contribute/developer-certificate-of-origin). If you can certify it, then just add a line to every git commit message:

````
Signed-off-by: Random J Developer <[email protected]>
Expand All @@ -21,4 +21,4 @@ If PR is about adding a new feature or bug fix then the Author of the PR is expe
```sh
maya/changelogs/unreleased <- folder
12-github_user_name <- file
```
```
2 changes: 1 addition & 1 deletion pkg/apis/openebs.io/ndm/v1alpha1/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ limitations under the License.
*/

// The API files in this package are APIs used by NDM and is copied from
// https://github.com/openebs/node-disk-manager/tree/master/pkg/apis/openebs/v1alpha1.
// https://github.com/openebs/node-disk-manager/tree/HEAD/pkg/apis/openebs/v1alpha1.
//
// All *_types.go from the above directory is copied into this package and code is
// generated. For all resource and resourceList, it should be added to register.go
Expand Down
Loading

0 comments on commit 5e848b6

Please sign in to comment.