Commit Graph
413 Commits
Author SHA1 Message Date
Jared Watts e5cca80654 Operator and cephmgr support for specifying storage resources and configuration 2017-04-04 15:32:49 -07:00
Travis Nielsen 7ba9e8e7c2 merge rook-operator binary wtih rookd 2017-03-30 12:45:11 -07:00
Travis Nielsen 7087bbbdb2 based off alpine 3.5 image 2017-03-29 12:15:05 -07:00
Jared Watts fe0b2b5bfd build: release script arg fixes 2017-03-28 14:47:42 -07:00
David Borman 39e979b77e Update README.md for 'container' subdirectory
The README.md file wasn't updated when the
subdirectory "cross-image" was renamed to "container".
2017-03-22 11:06:06 -05:00
Steve Leon 2f0045db2e Adding lint check for syntax and style. 2017-03-16 09:47:49 -07:00
Bassam Tabbara e24545dad4 build: fix race in release script 2017-03-14 14:31:44 -07:00
Bassam Tabbara 223b3852d3 build: fix docker config bind mount 2017-03-07 15:25:12 -08:00
Bassam Tabbara 82b139ec69 build: simplify Jenkinsfile 2017-03-07 15:25:12 -08:00
Bassam Tabbara 701d03eead build: add dev target for quick builds 2017-03-06 14:51:32 -08:00
Bassam Tabbara cc6f40649a build: run go builds in parallel 2017-03-06 14:51:32 -08:00
Bassam Tabbara 6e84b161fa build: separate externals into their own project
Move external packages including ceph into a separate project under
the externals subdir.
2017-03-06 14:51:32 -08:00
Bassam Tabbara f65c8ede09 ceph: pickup luminous build 2017-03-06 14:51:32 -08:00
Bassam Tabbara cd79504877 build: update build container to support shared + fixes
the build container now builds the package dependencies in both
static and shared form. This was preventing curl and rocksdb from
finding their dependencies.

dependencies now also build with debug information.

Also added a verbose option to the docker build to help find
build issues.
2017-03-06 14:51:32 -08:00
Bassam Tabbara 9b76cb127b build: update build container to zesty and add zstd package
also enabled verbose logging when building packages. make V=1
will now display build logs while building the container
2017-03-06 14:51:32 -08:00
Jared Watts cf5833add0 build and publish rook-operator container also 2017-02-13 12:46:38 -08:00
Bassam Tabbara 75523ccb17 build: add support debug builds and backtraces
we now build with debug information on linux even for release builds. Debug
information is save in a separate .debug file that can be loaded by gdb.

switched to using the golangs's facilities for cgo backtraces. had to add
C++ demangling to it but its now on par with the default backtrace facility
that ceph had. This approach works with static builds and relies on the
symbol table alone -- no need for rdynamic or DWARF sections in the binary.

Update the build container so that all packages now build with debug, also
fixed zlib package which had a broken link.

Fixes #135
2017-02-09 19:52:27 -08:00
Bassam Tabbara 194949f51e build: remove stale comments 2017-02-09 17:06:02 -08:00
Bassam Tabbara 0db5404fa9 build: fix bin bind mount 2017-02-09 17:06:02 -08:00
Bassam Tabbara d4c5ccf621 build: fix incremental build on linux
the go pkg directory was not bind mounted and resulted
in lots of rebuilds.
2017-01-23 15:04:30 -08:00
David Borman 4d47ab7ede Document submodules in README.md
From a fresh clone of the rook source, you have to
update the git submodules before building rook.

Fix a bad reference to build/clean, it should
be build/reset
2016-12-29 14:43:31 -06:00
Bassam Tabbara eac128f576 build: add submodule check to jenkins runs 2016-12-14 20:12:27 -05:00
Bassam Tabbara e8d1470310 build: build more packages from source
we now build all the required packages for rookd from source. also
reorganized the external project a bit to support this.

Removed STATIC makefile option and replaced with LINKMODE
2016-12-12 17:21:52 -05:00
Bassam Tabbara 8721bc60ff build: add missing copyright headers 2016-12-12 17:21:52 -05:00
Bassam Tabbara 85b31a3515 build: rename build/clean to build/reset 2016-12-12 17:21:52 -05:00
Bassam Tabbara 8e271b334f build: add a script to check ceph submodule 2016-12-09 20:57:59 -08:00
Bassam Tabbara cfdd7d800c ceph: add RGW to embedded ceph
this commit adds RGW to rook.
2016-11-28 09:10:43 -08:00
Bassam Tabbara 2b1806aea4 build: build ceph dependencies from source
With this commit we now build some of the packages ceph depends
on directly from source code. We use cmake and externalproject_add
to build the sources using a superbuild project approach. Not all
packages that are compiled into rook are built from source yet, but
enough are there to work around some of the issues we were ran into
with adding RGW to rook.

Specificaly, libcurl is now built from source and removes the
dependency on openldap and other unused protocols. Boost, zlib,
libblkid, and libuuid are now also built from source. More packages
will be added in the future to complete this approach.

The build container is now based on the yakkety release of ubuntu.
2016-11-28 09:10:43 -08:00
Bassam Tabbara 669566da3b ceph: switch the mon to use rocksdb
removed leveldb completely from the codebase
2016-11-18 20:57:21 -08:00
Bassam Tabbara 03b82d5744 build: improve speed of rsync on exit
we were starting the container and stopping it twice to rsync two dirs. with this fix only one start/stop happens.
2016-11-18 20:19:40 -08:00
Bassam Tabbara 29f6834592 build: support concurrent runs of build/run
concurrent runs of build/run are now supported. This is mostly
to benefit jenkins scenarios. removed the need to name containers
and also refactored the rsync path.

Fixes #202
2016-11-17 21:43:40 -08:00
Bassam Tabbara 0216acaa84 build: fix static builds
restructure the build tags and installsuffix usage for golang
to build our projects correctly for static and dynamic builds.
2016-11-16 14:11:29 -08:00
Bassam Tabbara daa9363b53 build: remove ccache dependency on host 2016-11-15 11:32:03 -08:00
Bassam Tabbara fa8980197f build: rsync vendor directory back to host
This works around the issue of bind mounting the vendor directory which does not work with glide. Fixes #93
2016-11-14 21:20:04 -08:00
Bassam Tabbara a218cc3260 docs: document the build process
Fixes #189
2016-11-14 21:20:04 -08:00
Bassam Tabbara d8cc9512a3 build: add packages and upgrade to go1.7.3 in build container
python is still a requirement when running ceph builds even though
we do not use it ourselves. Add liblzma and other packages needed
to use libunwind.

Also upgraded to go 1.7.3.
2016-11-14 12:54:02 -08:00
Bassam Tabbara 94c1c031aa build: add rebuild option to build container
this will always build the container from scratch and avoid caching in docker
2016-11-14 12:54:02 -08:00
Bassam Tabbara 06a9389eb5 build: fix permission issues in cross-build
fix permission issues when running in the cross-build container. on the mac now we use the correct uid and gid.
2016-11-14 12:54:02 -08:00
Bassam Tabbara 0aac00ff79 build: use netgo build tag for static builds
pass netgo build tag just for static builds. this required a refactoring of build flags to avoid passing netgo to non-static packages.

Fixes #80
2016-11-14 12:54:02 -08:00
Travis Nielsen 8613d933a5 use the build tag for the go dns resolver 2016-11-08 00:31:43 -08:00
Bassam Tabbara b3c4f18c89 initial docs and licensing 2016-11-07 17:13:39 -08:00
Bassam Tabbara 9b409a444c pickup new updated ceph from rook/ceph 2016-10-28 20:45:59 +02:00
Travis Nielsen 9bcade40cc remove unnecessary linux packages 2016-10-28 08:19:34 -07:00
Bassam Tabbara 7da39894c0 rename castle to rook
switched to using quay.io for all containers -- we are no longer
publishing to hub.docker.com.
2016-10-27 13:42:03 +02:00
Bassam Tabbara 4936587b94 go import fixes 2016-10-26 00:38:39 +02:00
Bassam Tabbara de18ae8cdd fix permissions for vendor directory 2016-10-18 21:32:21 -07:00
Bassam Tabbara d7c9d41f04 use rsync to speedup build on macOS
we know use rsync to sync sources to the build container
and avoid osxfs which is painfully slow. the macOS/docker
build now is on par with linux builds
2016-10-18 17:55:36 -07:00
Travis Nielsen 3c9b4e52df print code coverage with tests 2016-10-18 09:01:42 -07:00
Bassam Tabbara 10f21a0119 rename castlectl to castle 2016-10-17 17:07:27 -07:00
Bassam Tabbara f9ace65a79 make castle go gettable
changed the cmd/castlectl pacakge to not have a main function and
added main.go at the root of the tree. this makes the whole
project go gettable.

also fixed a number of makefile issues to deal with go files in the
root of the tree.
2016-10-17 17:07:27 -07:00