Added the metrics plugin to the RPM/DEB packages

- centos
 - fedora
 - ubuntu
 - debian

Signed-off-by: Roberto Gandolfo Hashioka <roberto_hashioka@hotmail.com>
(cherry picked from commit ceac22bf2240df483b1d3bd3a19ac681e665f910)
Signed-off-by: Eli Uriegas <eli.uriegas@docker.com>
This commit is contained in:
Roberto Gandolfo Hashioka
2017-07-25 10:18:39 -07:00
committed by Eli Uriegas
parent bd4b12ce5d
commit 8ddc1eeedd
12 changed files with 173 additions and 8 deletions
+22 -4
View File
@@ -1,9 +1,13 @@
ARCH=$(shell uname -m)
ALPINE_IMG:=$(shell $(CURDIR)/../detect_alpine_image)
KERNEL:=$(shell docker version --format '{{.Server.Os}}')
ENGINE_DIR:=$(CURDIR)/../../engine
COMMON_DIR:=$(CURDIR)/../common
PLUGIN_DIR:=$(CURDIR)/plugin
CLI_DIR:=$(CURDIR)/../../cli
GITCOMMIT=$(shell cd $(ENGINE_DIR) && git rev-parse --short HEAD)
VERSION=$(shell cat $(ENGINE_DIR)/VERSION)
PLUGIN_VERSION?=1.0.0.$(KERNEL)-$(ARCH)-test
DOCKER_EXPERIMENTAL=0
GEN_RPM_VER=$(shell ./gen-rpm-ver $(ENGINE_DIR) $(VERSION))
CHOWN=docker run --rm -i -v $(CURDIR):/v -w /v $(ALPINE_IMG) chown
@@ -13,11 +17,13 @@ RPMBUILD=docker run --privileged --rm -i\
-v $(CURDIR)/rpmbuild/BUILDROOT:/root/rpmbuild/BUILDROOT \
-v $(CURDIR)/rpmbuild/RPMS:/root/rpmbuild/RPMS \
-v $(CURDIR)/rpmbuild/SRPMS:/root/rpmbuild/SRPMS \
-v $(CURDIR)/systemd:/systemd
-v $(CURDIR)/systemd:/systemd \
-v $(COMMON_DIR):/common
RPMBUILD_FLAGS=-ba\
--define '_gitcommit $(word 3,$(GEN_RPM_VER))' \
--define '_release $(word 2,$(GEN_RPM_VER))' \
--define '_version $(word 1,$(GEN_RPM_VER))' \
--define '_plugin_version $(PLUGIN_VERSION)' \
--define '_origversion $(VERSION)' \
--define '_experimental $(DOCKER_EXPERIMENTAL)' \
SPECS/docker-ce.spec
@@ -37,17 +43,17 @@ fedora: fedora-25 fedora-24 ## build all fedora rpm packages
centos: centos-7 ## build all centos rpm packages
fedora-25: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build fedora-25 rpm packages
fedora-25: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz rpmbuild/SOURCES/telemetry.tgz ## build fedora-25 rpm packages
docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
fedora-24: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build fedora-24 rpm packages
fedora-24: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz rpmbuild/SOURCES/telemetry.tgz ## build fedora-24 rpm packages
docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
centos-7: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz ## build centos-7 rpm packages
centos-7: rpmbuild/SOURCES/engine.tgz rpmbuild/SOURCES/cli.tgz rpmbuild/SOURCES/telemetry.tgz ## build centos-7 rpm packages
docker build -t rpmbuild-$@/$(ARCH) -f $@/Dockerfile.$(ARCH) $@
$(RPMBUILD) rpmbuild-$@/$(ARCH) $(RPMBUILD_FLAGS)
$(CHOWN) -R $(shell id -u):$(shell id -g) rpmbuild
@@ -67,3 +73,15 @@ rpmbuild/SOURCES/engine.tgz:
-v $(CURDIR)/rpmbuild/SOURCES:/v \
$(ALPINE_IMG) \
tar -C / -c -z -f /v/engine.tgz --exclude .git engine
rpmbuild/SOURCES/telemetry.tgz:
mkdir -p rpmbuild/SOURCES
mkdir -p $(PLUGIN_DIR)
docker create --name tmp docker/telemetry-tgz:$(PLUGIN_VERSION)
docker export tmp | tar -x -C $(PLUGIN_DIR)
docker run --rm -i -w /plugin \
-v $(PLUGIN_DIR):/plugin \
-v $(CURDIR)/rpmbuild/SOURCES:/v \
alpine \
cp telemetry_$(PLUGIN_VERSION).tgz /v
docker rm -f tmp
@@ -6,6 +6,7 @@ Group: Tools/Docker
License: ASL 2.0
Source0: engine.tgz
Source1: cli.tgz
Source2: telemetry_%{_plugin_version}.tgz
URL: https://www.docker.com
Vendor: Docker
Packager: Docker <support@docker.com>
@@ -68,6 +69,8 @@ pushd engine
TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
hack/make.sh dynbinary
popd
mkdir -p plugin
printf '{"edition_type":"ce","edition_name":"%s","edition_version":"%s"}\n' "${DISTRO}" "%{_version}" > plugin/.plugin-metadata
%check
cli/build/docker -v
@@ -138,6 +141,12 @@ for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
cp "cli/$cli_file" "build-docs/cli-$cli_file"
done
# add telemetry plugin
install -d $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 plugin/.plugin-metadata $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 755 /common/load-telemetry-plugin $RPM_BUILD_ROOT/%{_bindir}/load-telemetry-plugin
# list files owned by the package here
%files
%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
@@ -163,6 +172,9 @@ done
/usr/share/vim/vimfiles/ftdetect/dockerfile.vim
/usr/share/vim/vimfiles/syntax/dockerfile.vim
/usr/share/nano/Dockerfile.nanorc
/var/lib/docker/plugins/tar/telemetry_%{_plugin_version}.tgz
/var/lib/docker/plugins/tar/.plugin-metadata
/usr/bin/load-telemetry-plugin
%pre
if [ $1 -gt 0 ] ; then
@@ -6,6 +6,7 @@ Group: Tools/Docker
License: ASL 2.0
Source0: engine.tgz
Source1: cli.tgz
Source2: telemetry_%{_plugin_version}.tgz
URL: https://www.docker.com
Vendor: Docker
Packager: Docker <support@docker.com>
@@ -69,6 +70,8 @@ pushd engine
TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
hack/make.sh dynbinary
popd
mkdir -p plugin
printf '{"edition_type":"ce","edition_name":"%s","edition_version":"%s"}\n' "${DISTRO}" "%{_version}" > plugin/.plugin-metadata
%check
cli/build/docker -v
@@ -139,6 +142,12 @@ for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
cp "cli/$cli_file" "build-docs/cli-$cli_file"
done
# add telemetry plugin
install -d $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 plugin/.plugin-metadata $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 755 /common/load-telemetry-plugin $RPM_BUILD_ROOT/%{_bindir}/load-telemetry-plugin
# list files owned by the package here
%files
%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
@@ -164,6 +173,9 @@ done
/usr/share/vim/vimfiles/ftdetect/dockerfile.vim
/usr/share/vim/vimfiles/syntax/dockerfile.vim
/usr/share/nano/Dockerfile.nanorc
/var/lib/docker/plugins/tar/telemetry_%{_plugin_version}.tgz
/var/lib/docker/plugins/tar/.plugin-metadata
/usr/bin/load-telemetry-plugin
%pre
if [ $1 -gt 0 ] ; then
@@ -6,6 +6,7 @@ Group: Tools/Docker
License: ASL 2.0
Source0: engine.tgz
Source1: cli.tgz
Source2: telemetry_%{_plugin_version}.tgz
URL: https://www.docker.com
Vendor: Docker
Packager: Docker <support@docker.com>
@@ -67,6 +68,8 @@ pushd engine
TMP_GOPATH="/go" hack/dockerfile/install-binaries.sh runc-dynamic containerd-dynamic proxy-dynamic tini
hack/make.sh dynbinary
popd
mkdir -p plugin
printf '{"edition_type":"ce","edition_name":"%s","edition_version":"%s"}\n' "${DISTRO}" "%{_version}" > plugin/.plugin-metadata
%check
cli/build/docker -v
@@ -137,6 +140,12 @@ for cli_file in LICENSE MAINTAINERS NOTICE README.md; do
cp "cli/$cli_file" "build-docs/cli-$cli_file"
done
# add telemetry plugin
install -d $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 644 plugin/.plugin-metadata $RPM_BUILD_ROOT/var/lib/docker/plugins/tar
install -p -m 755 /common/load-telemetry-plugin $RPM_BUILD_ROOT/%{_bindir}/load-telemetry-plugin
# list files owned by the package here
%files
%doc build-docs/engine-AUTHORS build-docs/engine-CHANGELOG.md build-docs/engine-CONTRIBUTING.md build-docs/engine-LICENSE build-docs/engine-MAINTAINERS build-docs/engine-NOTICE build-docs/engine-README.md
@@ -162,6 +171,9 @@ done
/usr/share/vim/vimfiles/ftdetect/dockerfile.vim
/usr/share/vim/vimfiles/syntax/dockerfile.vim
/usr/share/nano/Dockerfile.nanorc
/var/lib/docker/plugins/tar/telemetry_%{_plugin_version}.tgz
/var/lib/docker/plugins/tar/.plugin-metadata
/usr/bin/load-telemetry-plugin
%pre
if [ $1 -gt 0 ] ; then
@@ -11,6 +11,7 @@ Type=notify
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
ExecStartPost=/usr/bin/load-telemetry-plugin
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity