Skip to content

Commit aa13bda

Browse files
committed
RPM making for pbench-agent
[Back-port with adjustments] Fix the agent Makefile to install the tools, but not tests, gold files etc. Get rid of most of the cruft of the old version: move a couple of things from the old misc-scripts into a new utils/ sudbir and get rid of misc-scripts altogether. Get rid of MANIFEST file: we don't use it any longer. The python lib for the agent is outside the agent/ subdir to begin with, but it is moved inside it on installation, so we have to have special treatment for it. Add some missing stuff to the agent Makefile install target (in particular, the bench-scripts/postprocess scripts).
1 parent 3071aa6 commit aa13bda

File tree

7 files changed

+460
-94
lines changed

7 files changed

+460
-94
lines changed

agent/Makefile

Lines changed: 212 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,61 +1,63 @@
1+
# Caller should override `DESTDIR` when invoking make
2+
DESTDIR=/dev/null
13
# settings - hardwired, but they could be set from the config file or
24
# from the command line.
3-
DESTDIR=/opt/pbench-agent-test
45
OWNER=pbench
56
GROUP=pbench
67

78
# derived directories
8-
CONFIGDIR=${DESTDIR}/config
9-
UTILDIR=${DESTDIR}/util-scripts
9+
ANSIBLEDIR=${DESTDIR}/ansible
1010
BENCHDIR=${DESTDIR}/bench-scripts
11-
TOOLDIR=${DESTDIR}/tool-scripts
11+
CONFIGDIR=${DESTDIR}/config
1212
LIBDIR=${DESTDIR}/lib
13+
STOCKPILEDIR=${DESTDIR}/stockpile
14+
TOOLDIR=${DESTDIR}/tool-scripts
15+
UTILDIR=${DESTDIR}/util-scripts
1316

1417
# commands used below
1518
COPY = cp -a
1619
CHOWN = chown -R ${OWNER}.${GROUP}
1720
INSTALL = install
18-
#INSTALLOPTS = --mode 755 --directory --owner=${OWNER} --group=${GROUP}
1921
INSTALLOPTS = --directory
2022

2123
# all the scripts that's fit to install
2224
util-scripts = \
23-
cdm-get-iterations \
24-
getconf.py \
25-
pbench-add-metalog-option \
26-
pbench-agent-config-activate \
27-
pbench-agent-config-ssh-key \
28-
pbench-avg-stddev \
29-
pbench-cleanup \
30-
pbench-clear-results \
31-
pbench-clear-tools \
32-
pbench-collect-sysinfo \
33-
pbench-copy-results \
34-
pbench-copy-result-tb \
35-
pbench-get-iteration-metrics \
36-
pbench-get-metric-data \
37-
pbench-get-primary-metric \
38-
pbench-import-cdm \
39-
pbench-kill-tools \
40-
pbench-list-tools \
41-
pbench-list-triggers \
42-
pbench-log-timestamp \
43-
pbench-make-result-tb \
44-
pbench-metadata-log \
45-
pbench-move-results \
46-
pbench-output-monitor \
47-
pbench-postprocess-tools \
48-
pbench-postprocess-tools-cdm \
49-
pbench-register-tool \
50-
pbench-register-tool-set \
51-
pbench-register-tool-trigger \
52-
pbench-remote-sysinfo-dump \
53-
pbench-start-tools \
54-
pbench-stop-tools \
55-
pbench-sysinfo-dump \
56-
pbench-tool-trigger \
57-
README \
58-
require-rpm
25+
cdm-get-iterations \
26+
getconf.py \
27+
pbench-add-metalog-option \
28+
pbench-agent-config-activate \
29+
pbench-agent-config-ssh-key \
30+
pbench-avg-stddev \
31+
pbench-cleanup \
32+
pbench-clear-results \
33+
pbench-clear-tools \
34+
pbench-collect-sysinfo \
35+
pbench-copy-results \
36+
pbench-copy-result-tb \
37+
pbench-get-iteration-metrics \
38+
pbench-get-metric-data \
39+
pbench-get-primary-metric \
40+
pbench-import-cdm \
41+
pbench-kill-tools \
42+
pbench-list-tools \
43+
pbench-list-triggers \
44+
pbench-log-timestamp \
45+
pbench-make-result-tb \
46+
pbench-metadata-log \
47+
pbench-move-results \
48+
pbench-output-monitor \
49+
pbench-postprocess-tools \
50+
pbench-postprocess-tools-cdm \
51+
pbench-register-tool \
52+
pbench-register-tool-set \
53+
pbench-register-tool-trigger \
54+
pbench-remote-sysinfo-dump \
55+
pbench-start-tools \
56+
pbench-stop-tools \
57+
pbench-sysinfo-dump \
58+
pbench-tool-trigger \
59+
README \
60+
require-rpm
5961

6062
bench-scripts = \
6163
pbench-cyclictest \
@@ -74,84 +76,201 @@ bench-scripts = \
7476
pbench-uperf \
7577
pbench-uperf.md \
7678
pbench-user-benchmark \
77-
postprocess \
7879
templates
7980

81+
bench-postprocess = \
82+
BenchPostprocess.pm \
83+
compare-bench-results \
84+
dbench-postprocess \
85+
fio-postprocess \
86+
fio-postprocess-cdm \
87+
fio-postprocess-viz.py \
88+
fio-prepare-jobfile \
89+
generate-benchmark-summary \
90+
linpack-postprocess \
91+
linpack-postprocess-cdm \
92+
linpack-prepare-input-file \
93+
process-iteration-samples \
94+
trafficgen-postprocess \
95+
trafficgen-postprocess-cdm \
96+
uperf-postprocess \
97+
user-benchmark-wrapper
8098

8199
tool-scripts = \
100+
base-tool \
101+
blktrace \
102+
bpftrace \
103+
cpuacct \
104+
disk \
105+
dm-cache \
106+
docker \
107+
docker-info \
108+
external-data-source \
109+
haproxy-ocp \
110+
iostat \
111+
jmap \
112+
jstack \
113+
kvm-spinlock \
114+
kvmstat \
115+
kvmtrace \
116+
lockstat \
117+
mpstat \
118+
numastat \
119+
oc \
120+
openvswitch \
121+
pcp \
122+
perf \
123+
perf.README \
124+
pidstat \
125+
pprof \
126+
proc-interrupts \
127+
proc-sched_debug \
128+
proc-vmstat \
129+
prometheus-metrics \
130+
qemu-migrate \
131+
rabbit \
132+
README \
133+
sar \
134+
strace \
135+
sysfs \
136+
systemtap \
137+
tcpdump \
138+
turbostat \
139+
user-tool \
140+
virsh-migrate \
141+
vmstat
142+
143+
tool-datalogs = \
144+
blktrace-datalog \
145+
bpftrace-datalog \
146+
cpuacct-datalog \
147+
disk-datalog \
148+
dm-cache-datalog \
149+
docker-datalog \
150+
docker-info-datalog \
151+
File-Capture-datalog \
152+
haproxy-ocp-datalog \
153+
iostat-datalog \
154+
jmap-datalog \
155+
jstack-datalog \
156+
kvm-spinlock-datalog \
157+
kvmstat-datalog \
158+
kvmtrace-datalog \
159+
lockstat-datalog \
160+
mpstat-datalog \
161+
numastat-datalog \
162+
oc-datalog \
163+
openvswitch-datalog \
164+
pcp-datalog \
165+
perf-datalog \
166+
pidstat-convert \
167+
pidstat-datalog \
168+
pprof-datalog \
169+
prometheus-metrics-datalog \
170+
qemu-migrate-datalog \
171+
rabbit-datalog \
172+
sar-datalog \
173+
strace-datalog \
174+
sysfs-datalog \
175+
systemtap-datalog \
176+
tcpdump-datalog \
177+
turbostat-datalog \
178+
virsh-migrate-datalog \
179+
vmstat-datalog
180+
181+
tool-postprocess = \
182+
blktrace-stop-postprocess \
183+
cpuacct-postprocess \
184+
cpuacct-stop-postprocess \
185+
disk-postprocess \
186+
docker-postprocess \
187+
haproxy-ocp-postprocess \
188+
iostat-postprocess \
189+
iostat-postprocess-cdm \
190+
jmap-postprocess \
191+
jstack-postprocess \
192+
kvm-spinlock-postprocess \
193+
kvmstat-postprocess \
194+
kvmtrace-stop-postprocess \
195+
mpstat-postprocess \
196+
mpstat-postprocess-cdm \
197+
mpstat-stop-postprocess \
198+
numastat-postprocess \
199+
openvswitch-postprocess \
200+
pcp-postprocess \
201+
perf-stop-postprocess \
202+
pidstat-postprocess \
203+
pidstat-postprocess-cdm \
204+
proc-interrupts-postprocess \
205+
proc-sched_debug-postprocess \
206+
proc-vmstat-postprocess \
207+
prometheus-metrics-postprocess \
208+
qemu-migrate-postprocess \
209+
rabbit-postprocess \
210+
sar-postprocess \
211+
sar-postprocess-cdm \
212+
sysfs-postprocess \
213+
virsh-migrate-postprocess \
214+
vmstat-postprocess
82215

83216
# targets
84217
.PHONY: install \
85-
install-dirs \
86-
install-ansible \
218+
install-destdir \
87219
install-util-scripts \
88220
install-bench-scripts \
89221
install-tool-scripts \
90-
install-lib \
91-
install-configtools \
92-
install-stockpile \
93-
install-build-artifacts
222+
install-ansible
94223

95-
install: install-dirs install-ansible install-config install-util-scripts install-bench-scripts install-tool-scripts install-lib install-configtools install-stockpile
224+
# SHA1 and SEQNO - these are used when building an RPM only
225+
# so we provide a target for the spec file to invoke. This
226+
# is *NOT* meant to be invoked interactively.
227+
install: install-destdir install-util-scripts install-bench-scripts install-tool-scripts install-ansible
96228
${COPY} VERSION ${DESTDIR}
97229
${COPY} base ${DESTDIR}
98-
${COPY} profile ${DESTDIR}
99-
100-
install-dirs:
101-
${INSTALL} ${INSTALLOPTS} ${DESTDIR}
102-
${INSTALL} ${INSTALLOPTS} ${DESTDIR}/ansible
103230
${INSTALL} ${INSTALLOPTS} ${CONFIGDIR}
104231
${INSTALL} ${INSTALLOPTS} ${CONFIGDIR}/benchmark
105-
${INSTALL} ${INSTALLOPTS} ${UTILDIR}
106-
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}
107-
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}/postprocess
108-
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}/templates
109-
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}
110-
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}/postprocess
111-
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}/datalog
232+
${COPY} config ${DESTDIR}
112233
${INSTALL} ${INSTALLOPTS} ${LIBDIR}
113-
${INSTALL} ${INSTALLOPTS} ${LIBDIR}/configtools
114-
${INSTALL} ${INSTALLOPTS} ${DESTDIR}/stockpile
115-
116-
install-ansible:
117-
${COPY} -r ansible ${DESTDIR}
234+
${COPY} lib ${DESTDIR}
235+
${COPY} profile ${DESTDIR}
236+
${INSTALL} ${INSTALLOPTS} ${STOCKPILEDIR}
237+
${COPY} stockpile ${DESTDIR}
238+
${COPY} ../lib/configtools ${LIBDIR}
118239

119-
install-config:
120-
${COPY} -r config ${DESTDIR}
240+
install-destdir:
241+
${INSTALL} ${INSTALLOPTS} ${DESTDIR}
121242

122-
install-util-scripts:
243+
install-util-scripts: install-destdir
244+
${INSTALL} ${INSTALLOPTS} ${UTILDIR}
123245
cd util-scripts; \
124246
${COPY} ${util-scripts} ${UTILDIR}
125247

126-
install-bench-scripts:
248+
install-bench-scripts: install-destdir
249+
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}
250+
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}/templates
127251
cd bench-scripts; \
128-
${COPY} -r ${bench-scripts} ${BENCHDIR}
252+
${COPY} ${bench-scripts} ${BENCHDIR}
253+
${INSTALL} ${INSTALLOPTS} ${BENCHDIR}/postprocess
254+
cd bench-scripts/postprocess; \
255+
${COPY} ${bench-postprocess} ${BENCHDIR}/postprocess
129256
cd ${BENCHDIR}; \
130257
ln -sf postprocess/compare-bench-results compare-bench-results
131258

132-
# install-bench-script-postprocess:
133-
# cd bench-scripts; \
134-
# ${COPY} -r postprocess ${BENCHDIR}
135-
136-
install-tool-scripts:
137-
${COPY} -r tool-scripts ${DESTDIR}
138-
139-
install-stockpile:
140-
${COPY} -r stockpile ${DESTDIR}
141-
142-
install-lib:
143-
${COPY} -r lib ${DESTDIR}
144-
145-
install-configtools:
146-
${COPY} -r ../lib/configtools ${DESTDIR}/lib
259+
install-tool-scripts: install-destdir
260+
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}
261+
cd tool-scripts; \
262+
${COPY} ${tool-scripts} ${TOOLDIR}
263+
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}/datalog
264+
cd tool-scripts/datalog; \
265+
${COPY} ${tool-datalogs} ${TOOLDIR}/datalog
266+
${INSTALL} ${INSTALLOPTS} ${TOOLDIR}/postprocess
267+
cd tool-scripts/postprocess; \
268+
${COPY} ${tool-postprocess} ${TOOLDIR}/postprocess
147269

148-
# SHA1 and SEQNO - these are used when building an RPM only
149-
# so we provide a target for the spec file to invoke. This
150-
# is *NOT* meant to be invoked interactively.
151-
install-build-artifacts:
152-
${COPY} ../SHA1 ${DESTDIR}
153-
${COPY} ../SEQNO ${DESTDIR}
154-
${COPY} ../MANIFEST ${DESTDIR}
270+
install-ansible: install-destdir
271+
${INSTALL} ${INSTALLOPTS} ${ANSIBLEDIR}
272+
cd ansible; \
273+
${COPY} ara ${ANSIBLEDIR}
155274

156275
clean:
157276
rm -rf ${DESTDIR}

agent/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.69.3
1+
0.69.4

agent/rpm/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
seqno

0 commit comments

Comments
 (0)