Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add image build for ppc64le architecture #339

Merged
merged 1 commit into from Mar 31, 2020
Merged

Add image build for ppc64le architecture #339

merged 1 commit into from Mar 31, 2020

Conversation

carlosedp
Copy link
Contributor

Add image build for ppc64le architecture

Signed-off-by: Carlos de Paula me@carlosedp.com

Signed-off-by: Carlos de Paula <me@carlosedp.com>
Copy link
Member

@beorn7 beorn7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Before merging this, I'd like to find out why we don't do ppc64le anywhere except for node_exporter.

@SuperQ do you know the context around building node_exporter for ppc64le, while we don't build ppc64le for anything else in the Prometheus org?

@carlosedp
Copy link
Contributor Author

Yes, only node_exporter had it. I've also sent PRs to prometheus, alertmanager, snmp_exporter and blackbox_exporter. The last three were already merged.

@SuperQ
Copy link
Member

SuperQ commented Mar 31, 2020

@beorn7 It was only on the node_exporter as a test to make sure everything worked ok before we pushed it to the rest of the repos.

@beorn7
Copy link
Member

beorn7 commented Mar 31, 2020

And did it work? (o:

@carlosedp
Copy link
Contributor Author

Both Prometheus and Alertmanager works fine built on ppc64le:

Alertmanager

❯ make test
>> running all tests
GO111MODULE=on go test   -mod=vendor ./...
?   	github.com/prometheus/alertmanager/api	[no test files]
?   	github.com/prometheus/alertmanager/api/metrics	[no test files]
ok  	github.com/prometheus/alertmanager/api/v1	(cached)
ok  	github.com/prometheus/alertmanager/api/v2	(cached)
?   	github.com/prometheus/alertmanager/api/v2/client	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/client/alert	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/client/alertgroup	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/client/general	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/client/receiver	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/client/silence	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/models	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations/alert	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations/alertgroup	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations/general	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations/receiver	[no test files]
?   	github.com/prometheus/alertmanager/api/v2/restapi/operations/silence	[no test files]
?   	github.com/prometheus/alertmanager/asset	[no test files]
ok  	github.com/prometheus/alertmanager/cli	(cached)
ok  	github.com/prometheus/alertmanager/cli/config	(cached)
?   	github.com/prometheus/alertmanager/cli/format	[no test files]
ok  	github.com/prometheus/alertmanager/client	(cached)
ok  	github.com/prometheus/alertmanager/cluster	(cached)
?   	github.com/prometheus/alertmanager/cluster/clusterpb	[no test files]
ok  	github.com/prometheus/alertmanager/cmd/alertmanager	(cached)
?   	github.com/prometheus/alertmanager/cmd/amtool	[no test files]
ok  	github.com/prometheus/alertmanager/config	(cached)
ok  	github.com/prometheus/alertmanager/dispatch	(cached)
?   	github.com/prometheus/alertmanager/examples/webhook	[no test files]
ok  	github.com/prometheus/alertmanager/inhibit	(cached)
ok  	github.com/prometheus/alertmanager/nflog	(cached)
ok  	github.com/prometheus/alertmanager/nflog/nflogpb	(cached)
ok  	github.com/prometheus/alertmanager/notify	(cached)
ok  	github.com/prometheus/alertmanager/notify/email	(cached)
ok  	github.com/prometheus/alertmanager/notify/hipchat	(cached)
ok  	github.com/prometheus/alertmanager/notify/opsgenie	(cached)
ok  	github.com/prometheus/alertmanager/notify/pagerduty	(cached)
ok  	github.com/prometheus/alertmanager/notify/pushover	(cached)
ok  	github.com/prometheus/alertmanager/notify/slack	(cached)
?   	github.com/prometheus/alertmanager/notify/test	[no test files]
ok  	github.com/prometheus/alertmanager/notify/victorops	(cached)
ok  	github.com/prometheus/alertmanager/notify/webhook	(cached)
ok  	github.com/prometheus/alertmanager/notify/wechat	(cached)
ok  	github.com/prometheus/alertmanager/pkg/labels	(cached)
?   	github.com/prometheus/alertmanager/pkg/modtimevfs	[no test files]
?   	github.com/prometheus/alertmanager/provider	[no test files]
ok  	github.com/prometheus/alertmanager/provider/mem	(cached)
ok  	github.com/prometheus/alertmanager/silence	(cached)
?   	github.com/prometheus/alertmanager/silence/silencepb	[no test files]
ok  	github.com/prometheus/alertmanager/store	(cached)
ok  	github.com/prometheus/alertmanager/template	(cached)
?   	github.com/prometheus/alertmanager/test/cli	[no test files]
ok  	github.com/prometheus/alertmanager/test/cli/acceptance	(cached)
?   	github.com/prometheus/alertmanager/test/with_api_v1	[no test files]
ok  	github.com/prometheus/alertmanager/test/with_api_v1/acceptance	(cached)
?   	github.com/prometheus/alertmanager/test/with_api_v2	[no test files]
ok  	github.com/prometheus/alertmanager/test/with_api_v2/acceptance	(cached)
ok  	github.com/prometheus/alertmanager/types	(cached)
?   	github.com/prometheus/alertmanager/ui	[no test files]

image

Prometheus:

>> running all tests
GO111MODULE=on go test   -mod=vendor ./...
ok  	github.com/prometheus/prometheus/cmd/prometheus	(cached)
ok  	github.com/prometheus/prometheus/cmd/promtool	(cached)
ok  	github.com/prometheus/prometheus/config	(cached)
ok  	github.com/prometheus/prometheus/discovery	(cached)
ok  	github.com/prometheus/prometheus/discovery/azure	(cached)
?   	github.com/prometheus/prometheus/discovery/config	[no test files]
ok  	github.com/prometheus/prometheus/discovery/consul	(cached)
ok  	github.com/prometheus/prometheus/discovery/dns	(cached)
?   	github.com/prometheus/prometheus/discovery/ec2	[no test files]
ok  	github.com/prometheus/prometheus/discovery/file	(cached)
?   	github.com/prometheus/prometheus/discovery/gce	[no test files]
ok  	github.com/prometheus/prometheus/discovery/kubernetes	(cached)
ok  	github.com/prometheus/prometheus/discovery/marathon	(cached)
ok  	github.com/prometheus/prometheus/discovery/openstack	(cached)
ok  	github.com/prometheus/prometheus/discovery/refresh	(cached)
ok  	github.com/prometheus/prometheus/discovery/targetgroup	(cached)
ok  	github.com/prometheus/prometheus/discovery/triton	(cached)
ok  	github.com/prometheus/prometheus/discovery/zookeeper	(cached)
ok  	github.com/prometheus/prometheus/documentation/examples/custom-sd/adapter	(cached)
?   	github.com/prometheus/prometheus/documentation/examples/custom-sd/adapter-usage	[no test files]
?   	github.com/prometheus/prometheus/documentation/examples/remote_storage/example_write_adapter	[no test files]
?   	github.com/prometheus/prometheus/documentation/examples/remote_storage/remote_storage_adapter	[no test files]
ok  	github.com/prometheus/prometheus/documentation/examples/remote_storage/remote_storage_adapter/graphite	(cached)
ok  	github.com/prometheus/prometheus/documentation/examples/remote_storage/remote_storage_adapter/influxdb	(cached)
ok  	github.com/prometheus/prometheus/documentation/examples/remote_storage/remote_storage_adapter/opentsdb	(cached)
ok  	github.com/prometheus/prometheus/notifier	(cached)
?   	github.com/prometheus/prometheus/pkg/exemplar	[no test files]
?   	github.com/prometheus/prometheus/pkg/gate	[no test files]
ok  	github.com/prometheus/prometheus/pkg/labels	(cached)
ok  	github.com/prometheus/prometheus/pkg/logging	(cached)
?   	github.com/prometheus/prometheus/pkg/modtimevfs	[no test files]
?   	github.com/prometheus/prometheus/pkg/pool	[no test files]
ok  	github.com/prometheus/prometheus/pkg/relabel	(cached)
ok  	github.com/prometheus/prometheus/pkg/rulefmt	(cached)
?   	github.com/prometheus/prometheus/pkg/runtime	[no test files]
ok  	github.com/prometheus/prometheus/pkg/textparse	(cached)
?   	github.com/prometheus/prometheus/pkg/timestamp	[no test files]
?   	github.com/prometheus/prometheus/pkg/value	[no test files]
?   	github.com/prometheus/prometheus/prompb	[no test files]
ok  	github.com/prometheus/prometheus/promql	(cached)
ok  	github.com/prometheus/prometheus/promql/parser	(cached)
ok  	github.com/prometheus/prometheus/rules	(cached)
ok  	github.com/prometheus/prometheus/scrape	(cached)
ok  	github.com/prometheus/prometheus/storage	(cached)
ok  	github.com/prometheus/prometheus/storage/fanout	(cached)
ok  	github.com/prometheus/prometheus/storage/remote	(cached)
ok  	github.com/prometheus/prometheus/template	(cached)
ok  	github.com/prometheus/prometheus/tsdb	(cached)
ok  	github.com/prometheus/prometheus/tsdb/chunkenc	(cached)
ok  	github.com/prometheus/prometheus/tsdb/chunks	(cached)
?   	github.com/prometheus/prometheus/tsdb/cmd/tsdb	[no test files]
?   	github.com/prometheus/prometheus/tsdb/encoding	[no test files]
?   	github.com/prometheus/prometheus/tsdb/errors	[no test files]
ok  	github.com/prometheus/prometheus/tsdb/fileutil	(cached)
ok  	github.com/prometheus/prometheus/tsdb/goversion	(cached)
ok  	github.com/prometheus/prometheus/tsdb/index	(cached)
ok  	github.com/prometheus/prometheus/tsdb/record	(cached)
ok  	github.com/prometheus/prometheus/tsdb/test	(cached) [no tests to run]
ok  	github.com/prometheus/prometheus/tsdb/tombstones	(cached)
ok  	github.com/prometheus/prometheus/tsdb/tsdbutil	(cached)
ok  	github.com/prometheus/prometheus/tsdb/wal	(cached)
ok  	github.com/prometheus/prometheus/util/httputil	(cached)
ok  	github.com/prometheus/prometheus/util/promlint	(cached)
ok  	github.com/prometheus/prometheus/util/stats	(cached)
ok  	github.com/prometheus/prometheus/util/strutil	(cached)
?   	github.com/prometheus/prometheus/util/teststorage	[no test files]
?   	github.com/prometheus/prometheus/util/testutil	[no test files]
?   	github.com/prometheus/prometheus/util/treecache	[no test files]
ok  	github.com/prometheus/prometheus/web	(cached)
ok  	github.com/prometheus/prometheus/web/api/v1	(cached)
?   	github.com/prometheus/prometheus/web/api/v2	[no test files]
?   	github.com/prometheus/prometheus/web/ui	[no test files]

image

Copy link
Member

@SuperQ SuperQ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I've created the quay.io repo for this. (Docker hub auto-creates)

@carlosedp
Copy link
Contributor Author

Sorry, I've put the test outputs but not the machine info:

❯ uname -a
Linux debian-blackbird 4.19.0-8-powerpc64le #1 SMP Debian 4.19.98-1 (2020-01-26) ppc64le GNU/Linux
❯ lscpu
Architecture:        ppc64le
Byte Order:          Little Endian
CPU(s):              16
On-line CPU(s) list: 0-15
Thread(s) per core:  4
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Model:               2.2 (pvr 004e 1202)
Model name:          POWER9, altivec supported
CPU max MHz:         3800.0000
CPU min MHz:         2166.0000
L1d cache:           32K
L1i cache:           32K
L2 cache:            512K
L3 cache:            10240K
NUMA node0 CPU(s):   0-15
❯ go version
go version go1.14.1 linux/ppc64le

@beorn7
Copy link
Member

beorn7 commented Mar 31, 2020

Thanks 1M @carlosedp and @SuperQ .

@beorn7 beorn7 merged commit 0704c71 into prometheus:master Mar 31, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants