The types that are used in CRDs across the storage providers do not need
to be in the v1alpha2 package. These should be declared stable in the v1
package. The only types remaining in the v1alpha2 package are the flex
volume types, which will never graduate since their replacement is the
csi driver.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The longhaul tests have not been run for a very long time,
on the order of two years. The intention is to get them running
again, but until then it is better to purge the obsolete sources
than to attempt to keep them building. We'll need to rewrite them
when they are restored.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Current Rook code uses go dep 0.5.0 and separates handling
for Arm and x86. It's because there's no dep 0.5.0 binary
for arm64.Dep has updated to 0.5.4 and supports arm64. Rook
code can be simplified by upgrading dep to fix gaps of Arm
and x86.
Change-Id: Id91a993ca059461faa8a83065c93dadc7cdffeb2
Signed-off-by: Haichao Li <haichao.li@arm.com>
The minio operator has not had community support nor
any updates since being added to Rook. Support is being
removed from Rook due to this lack of community interest.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The version suffix such as alpha.0, beta.0, or rc.0 only apply
when running the tag pipeline or the release build. Otherwise,
we don't want to use the suffix from the master build.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The master branch uses the first tag from the last release
to create the version tag. Since the 1.1 release this tag
can include the alpha, beta, or rc tags, which only make
sense for the release tags, but not the master tag. This
change removes the suffix from the master tag.
Signed-off-by: travisn <tnielsen@redhat.com>
Remove %% around VERSION in charts yaml, so helm can process it.
Otherwise helm complains:
"unmarshal vendor values: yaml: line 7: found character that cannot start any token"
Signed-off-by: Dinar Valeev <k0da@opensuse.org>
In order to not leave any modified file after release, lets put
chart tree aside and run sed logic on it.
Signed-off-by: Dinar Valeev <k0da@opensuse.org>
The tag pipeline currently only allows a strict versioning tag to be
applied with the major, minor, and patch numbers such as v1.1.0.
This change allows adding a suffix to the tag to support alpha,
beta, or rc releases. For example, the version can now be
v1.1.0-alpha.0 or v1.1.0-beta.1 or v1.1.0-rc.2
Signed-off-by: travisn <tnielsen@redhat.com>
version can be set over values.yaml directly, there is no reason
to copy over a file, while lack of values.yaml file makes git tree
helm incompatible.
This is low effort fix for https://github.com/rook/rook/issues/3217
Signed-off-by: Dinar Valeev <k0da@opensuse.org>
To support upgrades, the operator relies on a changing tag
between versions so that when a pod spec is updated, k8s will
restart the pod due to the new image name. If the image name
does not change, the operator cannot control the upgrade deployment.
Therefore, we do not support a generic docker tag such as
rook/ceph:release and we expect specific version tags to be
specified in the operator such as rook/ceph:v1.0.0.
The master build is tagged with a generic tag for convenience
of testing the latest builds, but it is important to note that
upgrades are not supported between master builds.
Signed-off-by: travisn <tnielsen@redhat.com>
In the 0.9 release rook converted the v1beta1 CRD resources
to v1 resources. This conversion code is no longer necessary
as we will be using v1 resources going forward.
The code paths will not be triggered anymore, thus
removing the dead code.
Signed-off-by: travisn <tnielsen@redhat.com>
Signed-off-by: Guy Margalit <guymguym@gmail.com>
Co-Authored-By: Sébastien Han <seb@redhat.com>
Co-Authored-By: Travis Nielsen <tnielsen@redhat.com>
This change is meant to allow running operators locally on a developer machine.
The idea is to allow faster development cycles by reducing the time and complexity of building -> deploying -> debugging on cluster.
For operators that rely only on kubernetes API this works easily - see cockroachdb and minio examples in development-flow doc.
The change includes:
- rook.NewContext() - Refactored to remove repeating initialization code that was copy-pasted in most of the operators in order to create the clusterd.Context and the Clientsets. Also it detects the mode of working in-cluster vs external and sets up the external mode with standard user config (~/.kube/config) and a job executor.
- rook.GetOperatorImage() - Refactor this repeating code in many operators to detect the operator pod image. Also added a global flag --operator-image that developers can use to override this when running locally.
- rook.TerminateOnError() - Added a convenient function.
The alpha, beta, and stable channels do not match the rook release process.
Each storage provider defines their own stability based on the CRDs
rather than defining it with the release process. Rook really
only has two release streams: master and the official releases.
Master is published with each merge, while releases go through
a signoff process to ensure quality. Thus, the alpha, beta,
and stable channels are removed and replaced with a
single release channel.
Signed-off-by: travisn <tnielsen@redhat.com>
Allow the default 'docker' command to be overridden by an environment
variable in the "build/run" shell script and the supporting library
file.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Create a makefile (and shell) variable that can be used to invoke a
different command line, such as 'sha256sum' instead of the default
'shasum -a 256'. The shasum tool is left as the default but, at least on
fedora, this comes from a perl package and it may be that sha256sum,
which comes from coreutils would allow building on a more minimal
install.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Scaffolding of a Kubernetes controller using the informer-workqueue
pattern.
Dockerfiles and Makefiles to build the cassandra operator image.
Manifests to deploy the Cassandra operator and create a Cluster CRD.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
Edited codegen.sh to include cassandra.
Then, run make codegen to generate the rest of the files.
Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
Introduce mount security mode for basic multi tenancy
Fixes#2164.
This adds three new parameters/options to StorageClass/flexvolume entry:
* `mountUser`
* `mountSecret`
* `mountSecretNamespace`
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
remove all cosntraints that are not really needed from Gopkg.toml.
we should only be adding constraints that are direct dependencies
of the project and we require a specific version/revision of.
added a vendor.update makefile target that can be used to update
dependencies to the latest.
Signed-off-by: Bassam Tabbara <bassam@upbound.io>
this commit updates dep to version 0.5, and adds a check during
CI runs that enforces that the vendor dependencies have not changed.
There is a now a makefile target `make vendor.check` that performs
this check. Also removed the requirement that PR run make vendor as
this will be done by CI.
Signed-off-by: Bassam Tabbara <bassam@upbound.io>
the exit code from dep ensure --dry-run was not being checked
correctly resulting a lots of false negatives.
Signed-off-by: Bassam Tabbara <bassam@upbound.io>
Now the golang version 1.1 has been released by the official
website[1], so let's add support for this version, else we'll
get below build error when using golang 1.11:
```
build/makelib/golang.mk:103: *** unsupported go version. Please
make install one of the following supported version: '1.7|1.8|1.9|1.10'. Stop.
```
[1] https://golang.org/dl/
Signed-off-by: Dennis Chen <dennis.chen@arm.com>
The image save step in the image build makefiles takes half or more of
the time of builds, and this step is not necessary for development
builds. Move this functionality to the `build/release/Makefile` so that
images are saved during release builds but not during dev builds. This
will allow developers to iterate more quickly on their builds.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>