[cadvisor/f20] Move cadvisor.service and cadvisor config file from patch into repo Fix the build, thanks to Lokesh

Jan Chaloupka jchaloup at fedoraproject.org
Thu Oct 9 18:26:51 UTC 2014


commit 1d0d583cfa33f77d51e2b799b3aad866da15fb68
Author: Jan Chaloupka <jchaloup at redhat.com>
Date:   Thu Oct 9 16:55:56 2014 +0200

    Move cadvisor.service and cadvisor config file from patch into repo
    Fix the build, thanks to Lokesh

 cadvisor         |   46 ++++++++++++
 cadvisor.service |   18 +++++
 cadvisor.spec    |  201 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 265 insertions(+), 0 deletions(-)
---
diff --git a/cadvisor b/cadvisor
new file mode 100644
index 0000000..8a2c793
--- /dev/null
+++ b/cadvisor
@@ -0,0 +1,46 @@
+# config options for cAdvisor
+#
+#
+
+# Docker endpoint to connect to
+# Default: unix:///var/run/docker.sock
+CADVISOR_DOCKER_ENDPOINT="unix:///var/run/docker.sock"
+
+# Port to listen on
+# Default: 8080
+# kubernetes expects it on port 4194
+CADVISOR_PORT="4194"
+
+# Samples
+# Number of samples to keep
+# Default: 1024
+CADVISOR_SAMPLES="1024"
+
+# Storage driver
+# Default: none/blank
+#
+# Available Options:
+#  - [none]
+#  - bigquery
+#  - influxdb
+CADVISOR_STORAGE_DRIVER=""
+
+# Storage driver host
+# Default: localhost:8086"
+CADVISOR_STORAGE_DRIVER_HOST="localhost:8086"
+
+# Storage driver password
+# Default: root
+CADVISOR_STORAGE_DRIVER_PASSWORD="root"
+
+# Storage driver secure connection
+# Default: false
+CADVISOR_STORAGE_DRIVER_SECURE="false"
+
+# Storage driver user
+# Default: root
+CADVISOR_STORAGE_DRIVER_USER="root"
+
+# Log to stderr (and thus to journal)
+# Default: false
+CADVISOR_LOG_TO_STDERR="true"
diff --git a/cadvisor.service b/cadvisor.service
new file mode 100644
index 0000000..c465783
--- /dev/null
+++ b/cadvisor.service
@@ -0,0 +1,18 @@
+[Unit]
+Description=cAdvisor
+
+[Service]
+EnvironmentFile=/etc/sysconfig/cadvisor
+ExecStart=/usr/bin/cadvisor \
+	--docker=${CADVISOR_DOCKER_ENDPOINT} \
+	--port=${CADVISOR_PORT} \
+	--samples=${CADVISOR_SAMPLES} \
+	--storage_driver=${CADVISOR_STORAGE_DRIVER} \
+	--storage_driver_host=${CADVISOR_STORAGE_DRIVER_HOST} \
+	--storage_driver_password=${CADVISOR_STORAGE_DRIVER_PASSWORD} \
+	--storage_driver_secure=${CADVISOR_STORAGE_DRIVER_SECURE} \
+	--storage_driver_user=${CADVISOR_STORAGE_DRIVER_USER} \
+	--logtostderr=${CADVISOR_LOG_TO_STDERR}
+
+[Install]
+WantedBy=multi-user.target
diff --git a/cadvisor.spec b/cadvisor.spec
new file mode 100644
index 0000000..52ea30e
--- /dev/null
+++ b/cadvisor.spec
@@ -0,0 +1,201 @@
+%global provider	github
+%global provider_tld	com
+%global project		google
+%global repo		cadvisor
+%global commit		9d158c3d66e8e6d14cfeb1d73695ab18dbc744e8
+
+%global import_path	%{provider}.%{provider_tld}/%{project}/%{repo}
+%global gopath		%{_datadir}/gocode
+%global shortcommit	%(c=%{commit}; echo ${c:0:7})
+%global debug_package	%{nil}
+
+Name:		%{repo}
+Version:	0.3.0
+Release:	0.4.git%{shortcommit}%{?dist}
+Summary:	Analyzes resource usage and performance characteristics of running containers
+License:	ASL 2.0
+URL:		https://%{import_path}
+Source0:	https://%{import_path}/archive/%{commit}/%{repo}-%{shortcommit}.tar.gz
+Source1:	cadvisor
+Source2:	cadvisor.service
+BuildRequires:	docker-io-pkg-devel
+BuildRequires:	systemd
+BuildRequires:	glibc-static
+BuildRequires:	golang >= 1.2.1-3
+BuildRequires:	golang(github.com/docker/libcontainer)
+BuildRequires:	golang(github.com/fsouza/go-dockerclient)
+BuildRequires:	golang(github.com/coreos/go-systemd)
+BuildRequires:	golang(github.com/godbus/dbus)
+BuildRequires:	golang(github.com/kr/text)
+BuildRequires:	golang(github.com/kr/pretty)
+BuildRequires:	golang(github.com/influxdb/influxdb/client)
+BuildRequires:	golang(github.com/stretchr/testify)
+BuildRequires:	golang(github.com/stretchr/objx)
+BuildRequires:	golang(github.com/golang/glog)
+Requires:	docker-io
+ExclusiveArch:	x86_64 
+
+%description
+%{summary}
+
+cAdvisor (Container Advisor) provides container users an understanding of the
+resource usage and performance characteristics of their running containers.
+It is a running daemon that collects, aggregates, processes, and exports
+information about running containers. Specifically, for each container it keeps
+resource isolation parameters, historical resource usage, histograms of
+complete historical resource usage and network statistics. This data is
+exported by container and machine-wide.
+
+cAdvisor currently supports lmctfy containers as well as Docker containers
+(those that use the default libcontainer execdriver). Other container backends
+can also be added. cAdvisor's container abstraction is based on lmctfy's
+so containers are inherently nested hierarchically.
+
+%package devel
+Requires:	golang
+Summary:	Analyzes resource usage and performance characteristics of running containers
+Provides:	golang(%{import_path}) = %{version}-%{release}
+Provides:	golang(%{import_path}/advice) = %{version}-%{release}
+Provides:	golang(%{import_path}/advice/interface) = %{version}-%{release}
+Provides:	golang(%{import_path}/api) = %{version}-%{release}
+Provides:	golang(%{import_path}/client) = %{version}-%{release}
+Provides:	golang(%{import_path}/container) = %{version}-%{release}
+Provides:	golang(%{import_path}/container/docker) = %{version}-%{release}
+Provides:	golang(%{import_path}/container/libcontainer) = %{version}-%{release}
+Provides:	golang(%{import_path}/container/raw) = %{version}-%{release}
+Provides:	golang(%{import_path}/deploy) = %{version}-%{release}
+Provides:	golang(%{import_path}/info) = %{version}-%{release}
+Provides:	golang(%{import_path}/manager) = %{version}-%{release}
+Provides:	golang(%{import_path}/pages) = %{version}-%{release}
+Provides:	golang(%{import_path}/pages/static) = %{version}-%{release}
+Provides:	golang(%{import_path}/sampling) = %{version}-%{release}
+Provides:	golang(%{import_path}/storage) = %{version}-%{release}
+Provides:	golang(%{import_path}/storage/cache) = %{version}-%{release}
+Provides:	golang(%{import_path}/storage/influxdb) = %{version}-%{release}
+Provides:	golang(%{import_path}/storage/memory) = %{version}-%{release}
+Provides:	golang(%{import_path}/utils) = %{version}-%{release}
+BuildRequires:	docker-io-pkg-devel
+BuildRequires:	golang
+BuildRequires:	golang(github.com/docker/libcontainer)
+BuildRequires:	golang(github.com/fsouza/go-dockerclient)
+BuildRequires:	golang(github.com/coreos/go-systemd)
+BuildRequires:	golang(github.com/godbus/dbus)
+BuildRequires:	golang(github.com/kr/text)
+BuildRequires:	golang(github.com/kr/pretty)
+BuildRequires:	golang(github.com/influxdb/influxdb/client)
+BuildRequires:	golang(github.com/stretchr/testify)
+BuildRequires:	golang(github.com/stretchr/objx)
+
+%description devel
+%{summary}
+
+cAdvisor (Container Advisor) provides container users an understanding of the
+resource usage and performance characteristics of their running containers.
+It is a running daemon that collects, aggregates, processes, and exports
+information about running containers. Specifically, for each container it keeps
+resource isolation parameters, historical resource usage, histograms of
+complete historical resource usage and network statistics. This data is
+exported by container and machine-wide.
+
+cAdvisor currently supports lmctfy containers as well as Docker containers
+(those that use the default libcontainer execdriver). Other container backends
+can also be added. cAdvisor's container abstraction is based on lmctfy's
+so containers are inherently nested hierarchically.
+
+%prep
+%setup -n %{name}-%{commit} -q
+
+%build
+mkdir _build
+
+pushd _build
+  mkdir -p src/github.com/google
+  ln -s $(dirs +1 -l) src/github.com/google/cadvisor
+popd
+export GOPATH=$(pwd)/_build:%{buildroot}%{gopath}:%{gopath}
+
+go build --ldflags '-extldflags "-static"' github.com/google/cadvisor
+
+%install
+# main package binary
+install -d -p %{buildroot}%{_bindir}
+install -p -m0755 cadvisor %{buildroot}%{_bindir}
+
+# install systemd/sysconfig 
+install -d -m0755 %{buildroot}%{_sysconfdir}/sysconfig/
+install -p -m0660 %{SOURCE1} %{buildroot}%{_sysconfdir}/sysconfig/%{name} 
+install -d -m0755 %{buildroot}%{_unitdir}
+install -p -m0644 %{SOURCE2} %{buildroot}%{_unitdir}/%{name}.service
+
+# devel package golang libs
+install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
+cp -pav *.go %{buildroot}/%{gopath}/src/%{import_path}/
+
+for d in advice api client container deploy info manager pages sampling storage \
+       utils
+do
+    cp -pav $d %{buildroot}/%{gopath}/src/%{import_path}/
+done
+
+%post
+%systemd_post cadvisor.service
+
+%preun
+%systemd_preun cadvisor.service
+
+%postun
+%systemd_postun
+
+%files
+%doc AUTHORS CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS LICENSE README.md 
+%{_bindir}/cadvisor
+%{_unitdir}/%{name}.service
+%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+
+%files devel
+%doc AUTHORS CHANGELOG.md CONTRIBUTING.md CONTRIBUTORS LICENSE README.md 
+%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
+%dir %{gopath}/src/%{import_path}
+%dir %{gopath}/src/%{import_path}/api
+%dir %{gopath}/src/%{import_path}/client
+%dir %{gopath}/src/%{import_path}/container
+%dir %{gopath}/src/%{import_path}/deploy
+%dir %{gopath}/src/%{import_path}/info
+%dir %{gopath}/src/%{import_path}/manager
+%dir %{gopath}/src/%{import_path}/pages
+%dir %{gopath}/src/%{import_path}/sampling
+%dir %{gopath}/src/%{import_path}/storage
+%dir %{gopath}/src/%{import_path}/utils
+%{gopath}/src/%{import_path}/*
+%{gopath}/src/%{import_path}/api/*
+%{gopath}/src/%{import_path}/client/*
+%{gopath}/src/%{import_path}/container/*
+%{gopath}/src/%{import_path}/deploy/*
+%{gopath}/src/%{import_path}/info/*
+%{gopath}/src/%{import_path}/manager/*
+%{gopath}/src/%{import_path}/pages/*
+%{gopath}/src/%{import_path}/sampling/*
+%{gopath}/src/%{import_path}/storage/*
+%{gopath}/src/%{import_path}/utils/*
+
+%changelog
+* Thu Oct 09 2014 jchaloup <jchaloup at redhat.com> - 0.3.0-0.4.git9d158c3
+- Move cadvisor.service and cadvisor config file from patch into repo
+- Fix the build, thanks to Lokesh
+
+* Fri Sep 19 2014 Lokesh Mandvekar <lsm5 at fedoraproject.org> - 0.3.0-0.3.git9d158c3
+- own parent directory of <gopath</src/<import_path>
+- preserve timestamps of copied files in -devel
+- use _unitdir macro for systemd install path
+
+* Fri Sep 12 2014 Eric Paris <eparis at redhat.com - 0.3.0-0.2.git9d158c3
+- Log to stderr (and thus journal) by default
+
+* Thu Sep 11 2014 Eric Paris <eparis at redhat.com - 0.3.0-0.1.git9d158c3
+- Bump to upstream 9d158c3d66e8e6d14cfeb1d73695ab18dbc744e8
+
+* Wed Aug 20 2014 Eric Paris <eparis at redhat.com - 0.2.0-2
+- Bump to upstream 17b0ec576bcbeb321c133e4378dee1e500c9850d
+
+* Thu Aug 07 2014 Adam Miller <maxamillion at fedoraproject.org> - 0.2.0-1
+- First package for Fedora


More information about the scm-commits mailing list