If the [test ceph] text is included in the PR description,
go ahead and run the ceph tests in Jenkins instead of always
skipping them
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
We are moving towards github action.
This commit allows pushing build images
to Docker hub using gh action for master
build similar to what Jenkins does.
And, also removing `Publish if Master` step
from the Jenkinsfil file.
Signed-off-by: subhamkrai <srai@redhat.com>
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>
With the release of K8s 1.21.0 we now run the integration tests
on v1.21.0. To keep consistent with running master builds on five
recent releases, we keep master builds back to v1.15 and skip other
less changed versions such as v1.16 and 1.19. Jenkins builds just run
five versions, while github actions run four versions.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The integration tests run independently in the github actions so there is
no need to cleanup from every test. The cleanup is still needed in the
Jenkins tests where all the suites run serially.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The integration tests will now read the manifests from the same source
that is used in the examples for installation. No longer is there a need
for a copy of the CRDs in the integration test code.
The tests will read the manifests directly from disk under a path
relative to the rook root. The upgrade test will read the manifests from
a github url where the base version has been published.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
This reverts commit 114a949cfb since
14.2.14 is out and has a fix to use raw mode instead of LVM mode on
partitions.
Signed-off-by: Sébastien Han <seb@redhat.com>
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>
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>
The latest ceph-volume does not support creating OSDs on partitions.
The github actions only have a partition available, so we will run
the github tests on v14.2.12 and v15.2.7 that still support partitions,
while the Jenkins environment has a raw device available where we
can run the latest versions of Ceph in the tests.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The integration tests need to run on all the supported version of K8s.
With the release of 1.20.0, we now enable the tests there. To keep the
tests running in master on 5 versions, we drop 1.17 and keep 1.15 so
we can keep testing against v1beta1 extensions in master.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
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>
Download the pre-defined helm by default to make the integration test simpler.
As a result, we can make PATH/TEST_HELM_PATH environment variable optional.
In addition, the default helm path can be simplified that doesn't include arch and os.
Signed-off-by: Takashi IIGUNI <iiguni.tks@gmail.com>
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
K8s v1.16.13 is used in CI. In this version, there is a serious bug
which causes a continuous restart of both kube-scheduler
and kube-controller-manager. It results in the instability of CI.
This bug is fixed in v1.16.14 or later by the following PR.
https://github.com/kubernetes/kubernetes/pull/93208
Both 6415 and 6390, which only happen in v1.16.13, would be
caused by this issue.
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
The PRs only test against amd64 and have no need for the arm64
builds. This will save several minutes of build time.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Co-authored-by: Sébastien Han <seb@redhat.com>
With the pending release of k8s 1.19 we need to start running
the integration tests on 1.19. In master we remove support for
1.14 to keep the last five releases running in master.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The version of Jenkins has changed such that setting the official build env
var is no longer comparing correctly. Now we will only assume the env
var is set by the PR to false, therefore the tests need to compare
against false instead of true.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
If the PR is a draft, it's not ready for review and most likely the CI
pipeline should not run as the code might be broken in some places.
Signed-off-by: Sébastien Han <seb@redhat.com>
The PVCs for OSD on PVC test is prepared before running the integration test.
In addition, users are forced to run this script for this by themselves.
To avoid this problem, running this script inside the integration test.
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
Ceph orchestrator device ls
Ceph orchestrator status
Ceph orchestrator host ls
Ceph orchestrator create OSD
Ceph orchestrator ls
[test ceph]
Signed-off-by: Juan Miguel Olmo Martínez <jolmomar@redhat.com>
The device name for OSD is fixed to /dev/xvdc. It works fine in the CI.
However, the name would be different in the developer's local environment.
Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
The command line flags parsing inside an init() method was causing
issues at runtime when trying to add certain new features, which
is a limitation of the flag parsing. We now move away from using
any command line flags in the tests and only use environment variables
to simplify adding new parameters to the tests.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The go modules are changed by the install of the junit
tool for the unit tests. Before the release build we need
to ensure that the modules are tidied.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The master build is publishing with the dirty tag so we
need to ensure that the files do not remain modified.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
The recent change to go modules is causing a file to change
during the build, which results in a dirty tag to be
generated.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
Every developer should commit all the files that need to be changed
in a given set of changes. The go.sum file was not being generated
as expected since the update to go modules. Since the Jenkinsfile
was running make mod.check, the build was ending up with a modified
file, which caused a dirty tag on the build. Now it is expected
that each PR will merge with the corresponding go.sum changes.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
This commit updates the jenkins file to pre clean the k8s cluster before the running the integeration tests.
Signed-off-by: Ashish Ranjan <aranjan@redhat.com>
This commit updates jenkins file for executing localPathPV.sh during
bootstrapping of k8s cluster. The localPathPV.sh script is responsible
for creating localPathPVs over disks in the nodes.
Signed-off-by: Ashish Ranjan <ashishranjan738@gmail.com>
The CI will now use the current latest K8S releases.
v1.15: v1.15.9
v1.16: v1.16.6
v1.17: v1.17.2
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
With the release of K8s 1.17 Rook needs to test on this new version.
The integration tests will now run the tests across K8s 1.13-1.17.
The pattern has been to run the tests across the most recent five
versions.
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>
Using the current working directory as the base test directory
fails with an unclear error message when running mkfs for OSDs
if tests are run when the k8s master node is not running on
localhost.
This change creates a new flag for the test suite to set the
base test directory, but uses a default that is safe for
virtualized test environments ("/data").
Fixes: #4205
Signed-off-by: egafford <egafford@redhat.com>
With the desire to run the integration tests on the five
most recent versions of K8s, 1.16 is added and 1.11
is removed from the integration test matrix.
Signed-off-by: travisn <tnielsen@redhat.com>
The CI runs the integration tests on several versions of K8s. By default
the integration tests have all been running on all versions of K8s. With the
recent option to run a minimum matrix for ceph tests it has shown to be reliable
for PRs and is much faster to have the test distribution.
Master and release builds will still run the full set of test suites on all
versions of K8s.
Signed-off-by: travisn <tnielsen@redhat.com>