Instead of adding Ceph packages to Rook's base image, use
ceph-container's base image, which has Ceph packages preinstalled. Rook
now benefits from the testing the ceph-container project does, and the
scope of the Rook project no longer has to maintain builds of base
images containing Ceph packages.
The only ARM builds of ceph-container are CentOS, and as switching to
CentOS was already a thought, that is easily done at the same time as
this change.
Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
Currently there's no official `dep` tool release for arm64, so we
use `go get -u github.com/golang/dep/cmd/dep` command instead of
`curl` official release to workaround this issue, order to support
native build on arm64 server. Will remove this once official arm64
release of `dep` announced.
Signed-off-by: Dennis Chen <dennis.chen@arm.com>
While ceph can build fine on armhf it is not a tested configuration
today nor are debian packages for ceph published. Also ceph requires
more horsepower than is typically available on armhf machines.
We are dropping armhf support for now. arm64 is still supported.
dep ensure blindly updates the whole vendor tree causing everything to be rebuilt. This workaround will only call dep ensure if the .lock file changes or if the vendor dir is non-existent.
this commit will ensure that any concurrency during the go build only happens across platforms, and no concurrent calls to go build or go install happen for a given platform.
the goal here is to reduce races between concurrent invocations of go build where package files are removed form the file system leading to "can't find import" errors.
- Add support for running individual test in a tests suite
- building integration and longhaul test binaries
- Addiing support for skipping CI or running just smoke test on a PR.
refactor integration tests splitting out the kubernetes
cluster setup to just be in a script and making it the reponsibility
of the host/user/jenkins.
integration tests now run just like unit tests using "go test".
inital commit to convert release scripts to makefiles for improved maintenance.
now publishing to docker hub including manifest list support.
initial attempt at reworking the jenkinsfile to pipeline syntax.
- The provisioner is a Kubernetes external volume provisioner
- It calls the Rook API to create and delete volumes on behalf
of Kubernetes
- It automatically discover Ceph monitor endpoints
- It locates RBD ceph user keys based on the Rook cluster location
- It uses the in-tree RBD volume plugin to do the map/unmap
- Also modify the documentation to reflect the changes on the
storageclass
centralized all working directories at .work in the root of the tree. also centralize all download directories to .download at the root of the tree.
cleaned up the rsync behavior between host and docker cross build when running on non-linux host.
we now publish build artifacts to an S3 bucket, by default
its release.rook.io. We no longer push bits to github on
make publish.
Added support for AWS cli in the cross-build container.