Port cassandra charm to power ppc64le

Bug #1387387 reported by Matt Bruzek
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
cassandra (Juju Charms Collection)
Incomplete
High
Matt Bruzek

Bug Description

In order for cassandra to be deployable on power8 le hardware there needs to be a port available.

There may be an upstream fix for ppc64le at this location
http://www.apache.org/dist/cassandra/debian/pool/main/c/cassandra/

This needs to be tested and verified and working on the trusty version.

Tags: audit ppc64el
Revision history for this message
Kevin W Monroe (kwmonroe) wrote :

I tried dropping in the latest .deb from that URL (cassandra_2.1.1_all.deb) into the charm's ./files subdir, but the install hook failed:

...
W: Failed to fetch http://www.apache.org/dist/cassandra/debian/dists/12x/main/binary-ppc64el/Packages 404 Not Found [IP: 140.211.11.131 80]

E: Some index files failed to download. They have been ignored, or old ones used instead.
...

That error makes sense because there is no binary-ppc64el subdir (apache.org only has binary-amd64 and binary-i386). I can work around this by making sure we don't call apt update when we have the .deb packed into the charm. We can then dpkg -i and get cassandra started on ppc64el.

So the good news is that 2.1.1 seems to run on LE, but I don't know what (if anything) we miss by ignoring the repo. Testing needed.

Revision history for this message
Adam Israel (aisrael) wrote :

I think using the deb can be a short-term workaround, but not a final solution. That would require we update the charm with every version release in order to remain current.

The apache mirrors for Cassandra are currently broken, which is why you saw the initial 404 during apt-get. Their tarballs and debian repo are both broken on most (but not all) mirrors. I've filed a public bug report[1] to get this fixed upstream.

I'm also running into errors running the unit tests, but it looks like those may be dependent on the apt repo so that will need to be re-run once upstream is working.

[1] https://issues.apache.org/jira/browse/INFRA-8585

Revision history for this message
Johnny Shieh (jshieh) wrote :

The mirrors were fixed shortly after Adam opened up the issue with apache. However, a ppc64el directory
still doesn't exist.

A ticket was opened up to support LE on Power:
https://issues.apache.org/jira/browse/DAEMON-326

But note that he described the architecture as powerpc64le. This is part of the diff in his fix:
+ powerpc64le)
+ CFLAGS="$CFLAGS -DCPU=\\\"powerpc64le\\\""
+ supported_os="powerpc64le"
+ HOST_CPU=powerpc64le;;

Hmm, need to see how to resolve this.

Revision history for this message
Johnny Shieh (jshieh) wrote :

The IBM ppc64 port is available on github:

https://github.com/ibmsoe/cassandra/tree/cassandra-2.1

We'll look into getting this mainstreamed into the apache tree.

Revision history for this message
Antonio Rosales (arosales) wrote :

IBM is actively pursing a fix in Cassandra upstream, and should resolve this issue. IBM will post a comment when a version with Power support is available.

-thanks,
Antonior

Changed in cassandra (Juju Charms Collection):
importance: Undecided → High
Revision history for this message
Mahesh Waidande (mahesh-waidande1248) wrote :

I am working porting Cassandra charm on trusty ppc64le. Cassandra charm was failing due to unavailability python3-cassandra on trusty. Python3-cassandra is python client driver for Apache Cassandra.

Cassandra charm is dependent on python driver so before porting charm we must port python-cassandra driver on ppc64le. I successfully build python-cassandra driver of version 3.0.0 from source (https://github.com/datastax/python-driver.git ). I test a driver installation using python script present on https://datastax.github.io/python-driver/installation.html site and result is positive.

Even though I am able to build python-cassandra from source and test it, while building a driver I encountered with ‘Unable to find pgen, not compiling formal grammar.’ warning and I am working on resolving it. I will keep posting updates here as and when I see some progress on porting front.

Revision history for this message
Mahesh Waidande (mahesh-waidande1248) wrote :

For keeping track of work done on python Cassandra driver I raised two bugs, one is on JIRA (https://datastax-oss.atlassian.net/browse/PYTHON-461 ) against python driver for compilation error while building python C extension and another is on launchpad (https://bugs.launchpad.net/ubuntu/+source/python-cassandra-driver/+bug/1529600 ) as python Cassandra was not present on Ubuntu trusty.

Revision history for this message
Stuart Bishop (stub) wrote :

I've added the ppc64le architecture to the ppa:stub/cassandra PPA and now have cassandra drivers available there. I have not tested them. This is the default PPA used by the Trusty Cassandra charm.

If Apache or DataStax Enterprise packages are available in their respective package archives, this should now 'just work'. I'm setting this bug to Incomplete until someone can test.

Changed in cassandra (Juju Charms Collection):
status: New → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.