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:
committed by
Eli Uriegas
parent
bd4b12ce5d
commit
8ddc1eeedd
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user