Commit Graph

80 Commits

Author SHA1 Message Date
Mehdy Khoshnoody
79cef18f8f ci: Use bionic dist for test environments
As bionic uses a newer version of linux we'd also be using
a newer version of krbd.

Signed-off-by: Mehdy Khoshnoody <mehdy.khoshnoody@gmail.com>
2020-05-29 10:08:24 +00:00
Madhu Rajanna
f134fe5e86 ci: Add commitlint to travis CI
Added commitlint tool to travis CI
to test the commit messages.

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-27 12:51:26 +00:00
Niels de Vos
3d0395d448 ci: require ci/centos/containerized-tests for merging
The ci/centos/containerized-tests status is already set by the Jenkins
job in the CentOS CI. It can now be used to gate the automatic merging
of PRs.

Reduce the load on Travis CI, do not run the containerized-tests job
there any longer.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-05-27 12:59:05 +05:30
Madhu Rajanna
3482cb7091 ci: updated shell script to run individual test
Earlier we were running all the linter for non-go
files in one short, this wont be helpful for the
users who want to run particular tests.

now the Makefile as different target to
run separate lint test for different type
of non-go files.

Fixes: #979

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-05-14 16:54:19 +00:00
Niels de Vos
3f0d2b3c4f ci: run e2e tests on Kubernetes 1.16.9
Kubernetes 1.16 still is maintained, so run e2e tests with that.
Currently 1.16.9 is the most current release.

See-also: https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md#116
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-05-11 19:30:39 +00:00
Niels de Vos
23faa600c1 ci: run e2e tests with current Kubernetes 1.17.5 release
Kubernetes 1.17.0 has had several updates, 1.17.5 is the latest patch
release.

See-also: https://github.com/kubernetes/sig-release/blob/master/releases/patch-releases.md#117
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-05-11 19:30:39 +00:00
Niels de Vos
8a1e633403 ci: remove unmaintained k8s versions
Version 1.18.x is currently out, and the k8s community does not maintain
versions 1.14 and 1.15 anymore. No need to test on versions that users
should not deploy.

Fixes: #1023
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-05-11 19:30:39 +00:00
Niels de Vos
b6ea4ecdf0 travis: run deploy as final stage
The `deploy:` section is executed as part of each successful job. That
means the container images and Helm charts are built and pushed many
times during testing after a push/merge event.

By creating a deploy stage and listing it after the tests, it is
guaranteed to run only once after all tests have succeeded. By adding a
condition to only run the stage for push events, the images and Helm
charts should only get built+pushed after a PR has been merged.

See-also: https://docs.travis-ci.com/user/conditional-builds-stages-jobs#Specifying-conditions
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-28 15:05:15 +00:00
Niels de Vos
99dabca319 add build step logging to multi-arch build
With extra logging, there is no need to call `travis_wait` anymore. In
addition the `travis_wait` command blocks output, so the build steps are
not reported until the script finishes.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-28 09:13:55 +00:00
Niels de Vos
5a4517e38e move build-multi-arch-image.sh to scripts/
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-28 09:13:55 +00:00
Niels de Vos
9fd4005819 travis: remove 'travis_wait' from deploy section
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-28 09:13:55 +00:00
Madhu Rajanna
d0abc3f5e6 Add travis_wait to deploy section
the deploy section is getting timeout to build and push
the images. see https://travis-ci.org/github/ceph/ceph-csi/jobs/678228818#L1617-L1622

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-23 09:09:28 +00:00
Madhu Rajanna
86500c06c3 Helm3: update scripts to install helm3
Updated scripts to install helm3

fixes #920

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-23 04:43:04 +00:00
Madhu Rajanna
f696567517 Update Travis CI to install helm3
Updated CI scripts to install helm3

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-23 04:43:04 +00:00
Madhu Rajanna
2de2d348c1 Add a travis job to build multi arch image
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-22 15:41:40 +00:00
Niels de Vos
43fbc00d49 travis: group build/e2e testing in stages
This reduces the number of concurrent jobs that get executed. The "build
test" jobs are relatively quick, and give developers the 1st feedback.
Longer e2e testing now only happens once the build tests have passed.

See-also: https://docs.travis-ci.com/user/build-stages/
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-22 11:43:06 +00:00
Niels de Vos
4d60e76241 travis: split static checks and continue with tests in case one fails
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-21 07:01:10 +00:00
Niels de Vos
bd6393cf76 travis: add "make containerized-test" job
Add the containerized test to the existing containerized-build job so
that resources are shared a little.

Both tests use a different distribution, similar to what a developer has
on their system, and production deployments on a server.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-21 05:26:32 +00:00
Madhu Rajanna
d09ffbd6de helm: add helm charts E2E
This PR adds the support for helm
installation, and cephcsi helm charts
deployment and teardown and also runs E2E
on for helm charts.

Add socat to provide port forwadring access for helm

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-04-06 11:01:25 +00:00
Niels de Vos
a1de56dbd3 tests: in case 'go test' is run in a container, skip TestGetPIDLimit()
In (standard, non-privileged) container environments the /sys/fs/cgroup
mountpoint is not available. This would cause the tests to fail, as
TestGetPIDLimit() tries to write to the cgroup configuration.

The test will work when run as root on a privileged container or
directly on a host (as Travis CI does).

Setting the CEPH_CSI_RUN_ALL_TESTS environment variable to a non-empty
value will cause the test to be executed.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-04-02 06:08:03 +00:00
Niels de Vos
2124f6e775 travis: add job to test 'make containerized-build'
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-03-26 08:45:53 +00:00
Niels de Vos
79b0b8cfa6 travis: re-enable running on arm64
Travis CI has fixed their Ubuntu Xenial images for arm64, so the job can
be enabled again.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-03-20 12:01:56 +00:00
Madhu Rajanna
179084a60a Skip arm64 building in CI
currently we are facing an issue related to
mongodb in arm64 travis CI

updates: #873

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-03-19 13:47:56 +00:00
Madhu Rajanna
d5a0606c33 Migrate from dep to go module
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2020-03-17 10:44:07 +00:00
Niels de Vos
66b73e3682 travis: install Ceph development packages for go-ceph
The Ceph community does not guarantee that arm64 packages get build and
published with each release. In order to prevent falling back to ancient
Ceph versions from ubuntu-ports, add an unsigned repository with Ceph
Nautilus 14.2.5.

Signed-off-by: Niels de Vos <ndevos@redhat.com>
2020-03-11 16:09:10 +00:00
wilmardo
f04af5742d refact: Remove Kubernetes 1.13.x support
Signed-off-by: wilmardo <info@wilmardenouden.nl>
2020-01-20 10:32:30 +00:00
Yibo Cai
4b8b52e0de Support Arm64 image
Update CI merge job to build and push Arm64 image to
quay.io/cephcsi/cephcsi:version-arm64.

Add CI PR job running on Travis Arm64 nodes to make sure cephcsi
compiles successfully on Arm64.

No CI test job is availabe for Arm64 now due to below issues
- k8s-csi sidecar images for Arm64 are not available
- Travis Arm64 CI job runs inside unprivileged LXD which blocks
  launching minikube test environment

Signed-off-by: Yibo Cai <yibo.cai@arm.com>
2020-01-09 09:53:50 +00:00
Madhu Rajanna
aa32e8b43b update E2E testing to 1.15.6 and 1.17.0
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-12-13 11:45:54 +00:00
Madhu Rajanna
0ae7cd36ce Update minikube to latest released version
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-12-13 11:45:54 +00:00
Woohyung Han
8a16f740d6 Update golangci-lint version to v1.21.0
Signed-off-by: Woohyung Han <techhanx@gmail.com>
2019-12-12 04:57:14 +00:00
Humble Chirammal
671e2d814a Add volumesize roundoff for expandrequest
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-11-27 14:00:47 +00:00
Madhu Rajanna
52c4d29f65 Remove csi-v0.3 from deploy.sh
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-10-15 11:10:19 +05:30
Niels de Vos
8f133e03b8 Add 'gosec' to the static-checks
Run static security scanning tool 'gosec' while testing.

URL: https://github.com/securego/gosec
Signed-off-by: Niels de Vos <ndevos@redhat.com>
2019-09-04 11:48:37 +00:00
wilmardo
30fb7de118 feat: Implement helm lint
Signed-off-by: wilmardo <info@wilmardenouden.nl>
2019-08-16 07:38:33 +00:00
Madhu Rajanna
f1d61070cf remove work around for golangci-lint installation
as https://github.com/golangci/golangci-lint/issues/575
is fixed now.removing the workaround in CI

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-07-25 15:03:46 +00:00
Madhu Rajanna
6eac2e366e install dep on travis
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-07-25 15:03:46 +00:00
Madhu Rajanna
21a02fb559 Add dep check to the Makefile
check vendor directory is out of sync
with Gopkh .lock and .toml file

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-07-25 15:03:46 +00:00
Madhu Rajanna
5cf0599367 Enable Travis to run E2E against kube 1.15.0
Remove Travis from skip doc check

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-07-02 11:47:05 +00:00
Madhu Rajanna
ffe99403fc update minikube version to v1.2.0
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-07-02 11:47:05 +00:00
Madhu Rajanna
a083cb713f update golang version to 1.12.x
tls.VersionTLS13 requires 1.12.x

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-23 11:53:37 +00:00
Madhu Rajanna
fb0cbef68b update travis to run func test against different kube version
updated travis to run functional tests
against different kubernetes versions

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-14 13:18:24 +00:00
Humble Chirammal
8fb87ef8a4 Use v1.1.1 of minikube
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-11 12:31:05 +05:30
Madhu Rajanna
a38986fce0 Enable all static-checks in golangci-lint
* Enable all static-checks in golangci-lint
* Update golangci-lint version
* Fix issue found in golangci-lint

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-10 15:56:17 +05:30
Humble Devassy Chirammal
dc04362ac5
Merge pull request #406 from Madhu-1/update-golangci
update golangci-lint to latest stable version
2019-06-05 10:13:07 +05:30
Madhu Rajanna
beb2410a13 update golangci-lint to latest stable version
Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 23:30:10 +05:30
Madhu Rajanna
fc529f4831 Add E2E framework
deploys rook
deploy cephfs plugin
deploy rbd plugin
create PVC/POD to test cephfs
create PVC/POD to test rbd

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:42 +05:30
Madhu Rajanna
9bb23e4e32 code changes for E2E
update travis and makefile for functional test

skip docker pull if image is already present
on local machine.

if the image is not present locally  pull the
image from repo.

export kubeconfig in travis

build cephcsi image in travis job for
functional testing

Signed-off-by: Madhu Rajanna <madhupr007@gmail.com>
2019-06-04 11:39:40 +05:30
Humble Devassy Chirammal
5e04be9e1f
Merge pull request #397 from humblec/kube-upgrade
Update minikube to 1.14 and also update container images to latest
2019-06-04 11:30:00 +05:30
Humble Chirammal
dcdee86c44 Update minikube to 1.14 and also update container images to latest
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-04 05:44:40 +05:30
Humble Chirammal
d4ae041505 Remove csi-v1.0 from branches in travis.
Signed-off-by: Humble Chirammal <hchiramm@redhat.com>
2019-06-02 15:34:37 +05:30