Changes committed to git://git.pcp.io/markgw/pcp/pcp.git master
commit 260a7fb274b28bc71c43138685cce1a426f0f417
Author: Mark Goodwin <mgoodwin@xxxxxxxxxx>
Date: Fri Jun 19 16:39:20 2015 +1000
build: Makepkgs --with-containers for platforms with RPM and docker.
Infrustructure to build container images using Makepkgs --with-containers
The default and install targets now descend into build/containers for any
prep (currently none but that may change in the future). The pack_pcp
target will build and package RPMs and then descend into build/containers
to build the pcp containers using the RPM packages built from build/rpm.
A simple dnf (aka yum) repo is constructed for the RPM packages in the
pcp-base container (/tmp/RPMS in the container). Because all other PCP
containers are layered on the pcp-base container, this repo is available
to install additional PCP packages. This is especially important for the
pcp-collector container where users can run the following to login to the
running container: docker exec -it pcp-collector /bin/bash -l
and install additional PMDA packages, ./Install additional/optional PMDAs
or perform other PCP administrative tasks. The pcp-devel repo is not enabled
by default. Use e.g. : dnf --enable-repo=pcp-devel install pcp-somepmda
If you don't enable the pcp-devel repo, you fall-back to the standard
fedora:latest repo (curently f22 and f22-updates), which may be what you
want anyway.
Note that the containers build requires access to the docker daemon's unix
domain socket. This is only permitted by default to the root user. You
can edit /etc/sysconfig/docker and specify OPTIONS="-g groupname" to allow
users in the group 'groupname' access to the docker server. Pick a group
that
you are a member of. There are checks in the Makepkgs script for sufficient
docker server access. The --with-containers build will fail of those checks
do not succeed. Obviously the docker service will need to be enabled and
started for this to work too.
Finally - there is still no cron service for the pmlogger-daily scripts
et al. THis is still work in progress - will probably implement this with
another container based on crond, using docker exec to run the scripts.
modified: Makepkgs
modified: build/GNUmakefile
modified: build/containers/GNUlocalrules
modified: build/containers/GNUmakefile
modified: build/containers/pcp-base/Dockerfile
modified: build/containers/pcp-base/GNUmakefile
modified: build/containers/pcp-collector/Dockerfile
modified: build/containers/pcp-collector/GNUmakefile
modified: build/containers/pcp-monitor/Dockerfile
modified: build/containers/pcp-monitor/GNUmakefile
modified: build/containers/pcp-pmlogger/Dockerfile
modified: build/containers/pcp-pmlogger/GNUmakefile
modified: build/containers/pcp-testsuite/Dockerfile
modified: build/containers/pcp-testsuite/GNUmakefile
|