Correct permissions on cassandra run script and fix provider.

We must handle null addresses in the cassandra seed provider. This
can occur when there are 'notReadyAddresses' but no 'addresses'.
While we're at it, update the makefile to build the jar.
This commit is contained in:
Muhammed Uluyol 2015-12-26 12:20:40 -06:00
parent 500493a3ac
commit f4b4ca2989
4 changed files with 14 additions and 8 deletions

View File

@ -19,7 +19,7 @@ COPY logback.xml /etc/cassandra/logback.xml
COPY run.sh /run.sh COPY run.sh /run.sh
COPY kubernetes-cassandra.jar /kubernetes-cassandra.jar COPY kubernetes-cassandra.jar /kubernetes-cassandra.jar
RUN chmod a+x /run.sh && \ RUN chmod a+rx /run.sh && \
mkdir -p /cassandra_data/data && \ mkdir -p /cassandra_data/data && \
chown -R cassandra.cassandra /etc/cassandra /cassandra_data && \ chown -R cassandra.cassandra /etc/cassandra /cassandra_data && \
chmod o+w -R /etc/cassandra /cassandra_data chmod o+w -R /etc/cassandra /cassandra_data

View File

@ -4,11 +4,15 @@ VERSION=v7
all: build all: build
# TODO: build the jar and copy it in kubernetes-cassandra.jar: ../java/* ../java/src/io/k8s/cassandra/*.java
build: cd ../java && mvn package
docker build -t gcr.io/google_containers/cassandra:${VERSION} . mv ../java/target/kubernetes-cassandra*.jar kubernetes-cassandra.jar
cd ../java && mvn clean
build: kubernetes-cassandra.jar
docker build -t gcr.io/google_containers/cassandra:${VERSION} .
push: build push: build
gcloud docker push gcr.io/google_containers/cassandra:${VERSION} gcloud docker push gcr.io/google_containers/cassandra:${VERSION}
.PHONY: all .PHONY: all build push

View File

@ -129,8 +129,10 @@ public class KubernetesSeedProvider implements SeedProvider {
// Here is a problem point, endpoints.subsets can be null in first node cases. // Here is a problem point, endpoints.subsets can be null in first node cases.
if (endpoints.subsets != null && !endpoints.subsets.isEmpty()){ if (endpoints.subsets != null && !endpoints.subsets.isEmpty()){
for (Subset subset : endpoints.subsets) { for (Subset subset : endpoints.subsets) {
for (Address address : subset.addresses) { if (subset.addresses != null && !subset.addresses.isEmpty()) {
list.add(InetAddress.getByName(address.ip)); for (Address address : subset.addresses) {
list.add(InetAddress.getByName(address.ip));
}
} }
} }
} }