Update end-to-end test for aarch64 (#2415)

Fix up handling of CPU info collector on non-x86_64 systems due to
fixtures containing `/proc/cpuinfo` from x86_64.
* Update e2e 64k page test fixture from an arm64 system.
* Enable ARM testing in CircleCI.

Fixes: https://github.com/prometheus/node_exporter/issues/1959

Signed-off-by: Ben Kochie <superq@gmail.com>
This commit is contained in:
Ben Kochie 2022-06-26 09:41:21 +02:00 committed by GitHub
parent 26e377dfd5
commit 59c146e57d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 807 additions and 48 deletions

View file

@ -8,6 +8,11 @@ executors:
golang: golang:
docker: docker:
- image: cimg/go:1.18 - image: cimg/go:1.18
arm:
machine:
image: ubuntu-2004:current
resource_class: arm.medium
jobs: jobs:
test: test:
executor: golang executor: golang
@ -17,6 +22,12 @@ jobs:
- run: make - run: make
- prometheus/store_artifact: - prometheus/store_artifact:
file: node_exporter file: node_exporter
test-arm:
executor: arm
steps:
- checkout
- run: uname -a
- run: make test-e2e
codespell: codespell:
docker: docker:
- image: circleci/python - image: circleci/python
@ -86,6 +97,10 @@ workflows:
filters: filters:
tags: tags:
only: /.*/ only: /.*/
- test-arm:
filters:
tags:
only: /.*/
- build: - build:
filters: filters:
tags: tags:

File diff suppressed because it is too large Load diff

View file

@ -71,6 +71,20 @@ case "${arch}" in
*) fixture='collector/fixtures/e2e-output.txt' ;; *) fixture='collector/fixtures/e2e-output.txt' ;;
esac esac
# Only test CPU info collection on x86_64.
case "${arch}" in
x86_64)
cpu_info_collector='--collector.cpu.info'
cpu_info_bugs='^(cpu_meltdown|spectre_.*|mds)$'
cpu_info_flags='^(aes|avx.?|constant_tsc)$'
;;
*)
cpu_info_collector='--no-collector.cpu.info'
cpu_info_bugs=''
cpu_info_flags=''
;;
esac
keep=0; update=0; verbose=0 keep=0; update=0; verbose=0
while getopts 'hkuv' opt while getopts 'hkuv' opt
do do
@ -114,9 +128,9 @@ fi
--collector.netclass.ignored-devices="(dmz|int)" \ --collector.netclass.ignored-devices="(dmz|int)" \
--collector.netclass.ignore-invalid-speed \ --collector.netclass.ignore-invalid-speed \
--collector.bcache.priorityStats \ --collector.bcache.priorityStats \
--collector.cpu.info \ "${cpu_info_collector}" \
--collector.cpu.info.flags-include="^(aes|avx.?|constant_tsc)$" \ --collector.cpu.info.bugs-include="${cpu_info_bugs}" \
--collector.cpu.info.bugs-include="^(cpu_meltdown|spectre_.*|mds)$" \ --collector.cpu.info.flags-include="${cpu_info_flags}" \
--collector.stat.softirq \ --collector.stat.softirq \
--web.listen-address "127.0.0.1:${port}" \ --web.listen-address "127.0.0.1:${port}" \
--log.level="debug" > "${tmpdir}/node_exporter.log" 2>&1 & --log.level="debug" > "${tmpdir}/node_exporter.log" 2>&1 &