Commit Graph
256 Commits
Author SHA1 Message Date
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
Sébastien Han 8ea9b6b80f ceph: fix CephFNS plurial
Introducing the new flag to get the correct plurial version of CephNFS,
if not overriden the generator will be CephNFSs instead of CephNFSes.

We run deepcopy and client,lister,informer generations separetly so we can use the flag "--plural-exceptions"
which is only known by client,lister,informer binary and not the deepcopy binary.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 16:36:56 +01:00
Sébastien Han 3d556115ce ceph: fix code generation
Somehow, I had things mixed up in the previous patch. Now the code
generation ends up in the right directorty.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-01 15:13:37 +01:00
Sébastien Han 32f5bfd6bf ci: fix code generation
With the recent bump to Golang 1.15, the code generation was broken.
Changing the output-base to the main repo and not the vendor solves the
issue and feel more natural too. The command "go mod vendor" only
cherry-picks certain files for inclusion  in the vendor folder. I
suspect the upgrade to Golang 1.15 introduced that behavior. Previously
our vendir dir was full and now it has nothing (from rook) that's why
the code generator was removing all our interfaces.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 18:21:07 +01:00
Sébastien Han 6936706d81 ci: use code-gen 1.20
Let's just the same version as our go.mod suggests. This workaround
seems old and not necessary anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-01-28 17:06:09 +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
subhamkrai cb0ca66a6b ci: enable gosec linter in golangci-lint
golangci-lint linter gosec showing more errors
than gosec gh. This commit resolve
new errors. And, removing
nosec comments from autogenerated files.

Signed-off-by: subhamkrai <srai@redhat.com>
2020-10-19 11:50:06 +05:30
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
subhamkrai 465a0f0aec ceph: handling gosec error code g601
this commit handles all the gosec g601
error code (i.e Implicit memory aliasing
of items from a range statement).

Signed-off-by: subhamkrai <subhamkumarrai03@gmail.com>
2020-07-28 11:34:49 +05:30
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
Travis Nielsen c2878f693e build: codegen needs to copy to pkg subfolder
The codegen output is moving the apis and client folders to the root
folder instead of under pkg.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-04-15 16:21:50 -06:00
Alexander Trost e5ba1fa7a8 build: update manifest-tools version to v1.0.2
This updates the manifest-tools from v1.0.0 to v1.0.2 to
pickup the following fix
https://github.com/estesp/manifest-tool/pull/90.

This currently prevents the build to push images to Docker
hub.

Resolves #5194

Signed-off-by: Alexander Trost <galexrt@googlemail.com>
2020-04-07 19:47:50 +02:00
Sébastien Han 6a1c9ec5f0 rook: fix codegen path
The path was copied in the wrong location, ending up with a duplicated
directory in pkg/pkg/api. We need pkg/ only.

Signed-off-by: Sébastien Han <seb@redhat.com>
2020-04-07 13:11:59 +02: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 c11d3d1cc9 codegen: modify codegen.sh to work correctly for go modules
This modify codegen.sh to work correctly.
`make codegen` temporarily download code-generator into vendor directory and use it
to refer to the local version of rook.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-18 00:37:23 +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 8907e220ea apis: regenerate files & modify k8sutil tests
This regenerate files with code-generator/deepcopy-gen and modify the related tests.

Signed-off-by: moricho <ikeda.morito@gmail.com>
2020-03-17 16:47:53 +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 de06c5c2ec build: update manifest tool version to v1.0.0
The manifest tool is needed for pushing images to dockerhub.
The tool has been failing the past two days due to running
an old version.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-03-06 11:59:27 -07:00
Travis Nielsen 6807a0566d crds: move supporting types from v1alpha2 to rook.io/v1
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>
2020-02-26 11:18:17 -07: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
Travis Nielsen 67c0b02848 Merge pull request #3078 from travisn/no-extra-release-tags
No longer generate "release" docker tag during release build promotion
2019-12-12 12:55:04 -07:00
Travis Nielsen eb1dadccb2 build: always use the version suffix from tag pipeline
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>
2019-12-09 17:43:29 -07:00
travisn 1d97a6089d build: sanitize the master tag
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>
2019-10-14 10:58:51 -06: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
Dmitry Yusupov b0dffa6f9b Merge pull request #3702 from sabbot/transition-to-v1
Declare EdgeFS CRDs as v1
2019-08-29 11:26:45 -07:00
Anton Skriptsov c0fe6af712 Initial v1
Signed-off-by: Anton Skriptsov <sabbotagge@gmail.com>
2019-08-28 15:18:38 -07:00
travisn 82b5c0d48d allow git tags to be added for alpha, beta, or rc releases
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>
2019-08-27 16:18:26 -06: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
travisn 0dd62eb56f build: do not add generic release docker tag
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>
2019-08-26 14:24:05 -06:00
travisn 9e073857c5 ceph: remove legacy conversion from v1beta1 to v1
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>
2019-07-15 16:58:37 -06: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