Commit Graph
127 Commits
Author SHA1 Message Date
Travis Nielsen 1af84e34c0 Merge pull request #7778 from henryzhangsta/ceph-cluster-helm-chart
ceph: implement CephCluster CRD Helm Chart
2021-05-27 12:41:01 -06:00
Henry Zhang ecf6bdcfae ceph: add build and tests for rook-ceph-cluster Helm chart
Adds rook-ceph-cluster chart to chart build, add tests.
Pulled out some common functionality between the Helm and non-Helm installers

Signed-off-by: Henry Zhang <me@henry.dev>
2021-05-27 01:08:27 -07:00
subhamkrai bf7b4609b1 build: bump to golang version 1.16
this commit bump to golang version 1.16.

Signed-off-by: subhamkrai <srai@redhat.com>
2021-05-19 13:35:20 +05:30
Satoru Takeuchi 8a48dbb00d ceph: stop vendoring
We generate vendor directory in building process. It doesn't reduce
build time. In addition, we have encountered some vendoring-related
problems. So let's stop vendoring.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
2021-04-21 02:01:56 +00:00
Sébastien Han 57131e1a90 ci: build and run various make commands on MacOS
Introducing a small action on MacOS to help us catch errors with various
'make' command on OSX, most notably 'sed' versus 'gnu-sed'.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-04-20 17:21:08 +02:00
Blaine Gardner a818a01a13 test: do not allow go.test parallel dependencies
Dependencies for `make go.test` have to run in order, so call them
explicitly from the target rather than allowing them to be done in
parallel if `make -j` flag is used.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-16 12:24:39 -06:00
Blaine Gardner 37b31a7c5e build: run 'go mod vendor' on each build
CI fails on builds warning with the warning below

    [2021-04-15T14:15:28.461Z] go: inconsistent vendoring in /home/rook/go/src/github.com/rook/rook:
    [2021-04-15T14:15:28.461Z] 	github.com/jstemmer/go-junit-report@v0.9.1: is explicitly required in go.mod, but not marked as explicit in vendor/modules.txt

Fix this by running `go mod vendor` before each build.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-15 16:11:59 -06:00
Travis Nielsen 31c4ef622e build: update the build to use go 1.16
With the release of go 1.16, we update the tools. The -i flag is
now deprecated, no longer necessary for building in a private directory.
The go modules are cleaned up at the same time.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-04-12 15:01:14 -06:00
Blaine Gardner f2f622412c build: allow CSV gen on mac
CSV generation now requires versions of yq and operator-sdk that are
downloaded by the makefiles. Previously Ceph image creation used
makefile versions but `make csv-ceph` used versions present on the
system.

`sed -i 's///g' $FILE` doesn't work on Unix/Mac.
`sed -i'' -e 's///g' $FILE` is portable.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-09 13:22:15 -06:00
Travis Nielsen 043f947321 build: remove yugabytedb operator
The YugabyteDB team has decided to move support of their operator
to a new repo at https://github.com/yugabyte/yugabyte-operator.
The operator in Rook is no longer needed. Further usage of
the YugabyteDB operator is recommended at the new location.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-02-06 00:03:41 -07:00
Sébastien Han 1bdee1e512 build: try sha256sum if shasum is not present
shasum is not always available and sha256sum seems to exist more often
since it's part of coreutils where sha256sum comes with perl.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-02 14:43:52 +01:00
Travis Nielsen 53ed11f15b build: remove the edgefs operator from rook
The EdgeFS operator has been deprecated for some time in Rook.
If the replacement is added back to Rook it can be completed
according to the new guidelines in the documentation.
https://rook.io/docs/rook/master/storage-providers.html

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-25 17:51:24 -07:00
Travis Nielsen 2294851ca3 build: remove the cockroachdb operator from rook
The cockroachDB operator has not had community support in Rook.
Therefore, the time has come to deprecate and remove it.
If the sources are still needed, there is always git history.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-20 17:28:58 -07:00
Travis Nielsen 7f169a71a5 build: enforce golang 1.15 in the build
The build currently requires golang 1.15 and will fail if an
older version is used.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-19 11:20:18 -07:00
Travis Nielsen 9ba8c937dd build: print the golang version during the build
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-19 11:19:53 -07:00
Artur 0754695655 build: switch to new aws buckets
Signed-off-by: Artur <artur@upbound.io>
2021-01-15 23:58:23 -08:00
Pete Birley 152a05c85e ceph: update to helm 3 for the rook chart
This updates the chart to make use of helm3 which has been released
for some time, and also permits CRDs to be installed pror to other objects
allowing the chart to be deployed at the same time as CRs for rook objects.

Co-authored-by: Pete Birley <pete@port.direct>
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-11-11 14:41:24 -07:00
Mateusz Gozdek 8ba3762fa4 docs: fix bunch of typos
Found by running the following command:

codespell -S .git,*.png,*.jpg -L \
aks,keyserver,atleast,dne,ser,ist,files\',ba,dum,iam,te -f -H

Signed-off-by: Mateusz Gozdek <mgozdekof@gmail.com>
2020-11-06 10:01:04 +01:00
Thomas Bechtold 7eae8086e4 ceph: use get.helm.sh instead of storage.googleapis.com
To be able to switch to helm v3, helm itself needs to be downloaded from
get.helm.sh. The old location from googleapis.com will only contain
helm v2 binaries. See [1].

[1] https://helm.sh/blog/get-helm-sh/

Signed-off-by: Thomas Bechtold <tbechtold@suse.com>
2020-10-20 14:47:09 +02:00
Alexander Trost 2f5d076e20 build: allow golang 1.15
Added Golang 1.15 to the supported versions in the Makefile check.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-08-24 11:30:18 +02:00
binoue a86b060849 ceph: update helm version
Currently, Helm v2.5.1 is used, but this version is released in 2017
and a little outdated.
To use the latest version of helm v2.x.x would be beneficial
as we can use more useful Helm commands like `helm template`.

This commit updates Helm version and stop using `helm lint`
with `--strict` option because Helm v2.16.7 does not allow
to use undefined values in values.yaml and
the Helm upstream is now stopping using the `--strict` option.

Signed-off-by: binoue <banji-inoue@cybozu.co.jp>
2020-05-24 16:48:05 +09:00
Alexander Trost a85df12b73 build: allow go 1.14
This adds v1.14 to the supported Golang versions in the makefile.

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-04-01 15:11:35 +02:00
moricho f556add260 codegen: use the bopilerplate for the header of the generated codes
This specifies `--output-base` and `--go-header-file` option at executing `code-generator`.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-30 17:54:56 +09:00
moricho 7d0215d820 ci: switch to use go.mod.check target
This switches to use `go.mod.check` target instead of `go.vendor.check` target.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:48:43 +09:00
moricho 437a0b1d9b go: versionup sig-storage-lib-external-provisioner/controller
version up sig-storage-lib-external-provisioner/controller to v4.1.0 and
modify related files

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:55 +09:00
moricho 2beb731a7e go: move to gomodules
This switches Rook to use `go mod` instead of `dep` for
dependencies management.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +09:00
Travis Nielsen a960e263db ceph: remove obsolete longhaul tests
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>
2020-02-17 14:11:39 -07:00
taeuk_kim 58a99c5410 build: fix typo in makelib
Fix a grammer typo in /build/makelib/golang.mk

Signed-off-by: taeuk_kim <taeuk_kim@tmax.co.kr>
2020-01-13 21:37:14 +09:00
Travis Nielsen 55c5f44cb1 Merge pull request #4632 from HaichaoLii/rook-arm
Dep: Update golang dep to support Arm64
2020-01-10 23:50:10 -07:00
Haichao Li 065bb6677e Dep: Update golang dep to support Arm64
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>
2020-01-09 10:13:54 +08:00
Travis Nielsen 9a078bf9e6 minio: remove from rook
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>
2020-01-08 15:45:21 -08:00
Ashish Ranjan ec7bd4dda0 enhance: Updates Makefile to allow compiling with go 1.13
This commit updates Makefile to allow compiling with golang 1.13.

Signed-off-by: Ashish Ranjan <aranjan@redhat.com>
2019-09-25 21:22:12 +05:30
Dinar Valeev df7580e86c Remove helm incompatible chars from values.yaml
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>
2019-09-16 10:29:10 +02:00
Dinar Valeev f81145a283 bugfix: copy helm chart aside for packaging
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>
2019-09-01 19:12:26 +02:00
Travis Nielsen d11481ebe4 Merge pull request #3701 from k0da/helm_chart
helm: rename values.yaml.tmpl to values.yaml
2019-08-27 15:23:51 -06:00
Sameer Kulkarni dd9e51286e yugabytedb: rook/yugabutedb image build
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Dinar Valeev d52bd0278b helm: rename values.yaml.tmpl to values.yaml
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>
2019-08-27 00:06:48 +02:00
Guy Margalit 2ce2382676 Refactor operator context init and allow to run local
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.
2019-06-19 20:47:55 +03:00
Alexander Trost a33503493b Added Golang v1.12 to supported versions
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2019-03-14 09:45:45 +01:00
John Mulligan 49f3b68dea build: support specifying custom sha-256 hash command
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>
2019-02-25 18:49:11 -05:00
Dmitry Yusupov 4f958162e1 Edgefs Image
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2018-12-05 23:05:42 -08:00
Yannis Zarkadas 0ccc04cccd cassandra: controller scaffolding, image build and manifests
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>
2018-12-05 12:44:29 +02:00
Alexander Trost ac19f85fbb Allow specifying custom Ceph user and secret name for mounting
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>
2018-12-04 20:17:15 +01:00
travisn efd581e7ed start toolbox pod with the ceph image instead of a separate image
Signed-off-by: travisn <tnielsen@redhat.com>
2018-10-02 15:43:53 -06:00
Bassam Tabbara eabc9bde1a simplify dependencies and add vendor.update target
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>
2018-09-30 16:01:43 -07:00
Bassam Tabbara 2464e32857 add vendor checks
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>
2018-09-30 08:10:42 -07:00
Bassam Tabbara 1503484ce9 fix the check for dep ensure
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>
2018-09-19 07:41:36 -07:00
Bassam Tabbara 98cefc66de use a consistent version of gofmt
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-12 10:53:53 -07:00
Ganesh Maharaj Mahalingam 92f91ab156 golang 1.11 support
Signed-off-by: Ganesh Maharaj Mahalingam <ganesh.mahalingam@intel.com>
2018-09-12 10:53:53 -07:00
Dennis Chen 1c2de4b55d Add golang 1.11 version support
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>
2018-09-12 17:55:02 +08:00