Skip to content

Commit c3593b1

Browse files
author
eskimo
committed
fixing kuberenetes slave and master circle dependency
1 parent a964314 commit c3593b1

File tree

16 files changed

+142
-188
lines changed

16 files changed

+142
-188
lines changed

services_setup/kube-master/setup-kubectl-master.sh

Lines changed: 0 additions & 136 deletions
This file was deleted.

services_setup/kube-master/setup.sh

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,6 @@ fail_if_error $? /dev/null 301
112112
bash ./setup-kubectl.sh
113113
fail_if_error $? /dev/null 302
114114

115-
bash ./setup-kubectl-master.sh
116-
fail_if_error $? /dev/null 303
117-
118115
bash /etc/k8s/runtime_config/setup-runtime-kubectl.sh
119116
fail_if_error $? /dev/null 304
120117

services_setup/kube-slave/setup-kubectl.sh

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,8 @@ while [[ -f /etc/k8s/shared/ssl_management_lock ]] ; do
107107
echo " + /etc/k8s/shared/ssl_management_lock exist. waiting 2 secs ... "
108108
sleep 2
109109
let counter=counter+1
110-
if [[ $counter -ge 15 ]]; then
111-
echo " !!! Couldn't get /etc/k8s/shared/ssl_management_lock in 30 seconds. crashing !"
110+
if [[ $counter -ge 30 ]]; then
111+
echo " !!! Couldn't get /etc/k8s/shared/ssl_management_lock in 60 seconds. crashing !"
112112
exit 150
113113
fi
114114
done
@@ -120,6 +120,7 @@ trap delete_ssl_lock_file EXIT
120120
trap delete_ssl_lock_file ERR
121121

122122

123+
123124
if [[ ! -f /etc/k8s/shared/ssl/ca-config.json ]]; then
124125
echo " + Create and install ca-config.json"
125126
cat > ca-config.json <<EOF
@@ -309,6 +310,71 @@ EOF
309310
sudo mv clusterrolebinding-default-$USER.yaml /etc/k8s/clusterrolebinding-default-$USER.yaml
310311
fi
311312

313+
314+
if [[ ! -f /etc/k8s/shared/ssl//etc/k8s/shared/ssl/kubernetes-csr.json ]]; then
315+
echo " + Create and install kubernetes-csr.json"
316+
cat > kubernetes-csr.json <<EOF
317+
{
318+
"CN": "kubernetes",
319+
"hosts": [
320+
"127.0.0.1",
321+
"${MASTER_KUBE_MASTER_1}",
322+
"${MASTER_URL}",
323+
"${CLUSTER_KUBERNETES_SVC_IP}",
324+
"kubernetes",
325+
"kubernetes.default",
326+
"kubernetes.default.svc",
327+
"kubernetes.default.svc.cluster",
328+
"kubernetes.default.svc.cluster.local",
329+
"eskimo",
330+
"eskimo.default",
331+
"eskimo.default.svc",
332+
"eskimo.default.svc.cluster",
333+
"eskimo.default.svc.cluster.local",
334+
"eskimo.eskimo",
335+
"eskimo.eskimo.svc",
336+
"eskimo.eskimo.svc.cluster",
337+
"eskimo.eskimo.svc.cluster.local"
338+
],
339+
"key": {
340+
"algo": "rsa",
341+
"size": 2048
342+
},
343+
"names": [
344+
{
345+
"C": "SH",
346+
"ST": "Eskimo",
347+
"L": "Eskimo",
348+
"O": "system:masters",
349+
"OU": "System"
350+
}
351+
]
352+
}
353+
EOF
354+
355+
sudo mv kubernetes-csr.json /etc/k8s/shared/ssl/kubernetes-csr.json
356+
sudo chown kubernetes /etc/k8s/shared/ssl/kubernetes-csr.json
357+
sudo chmod 755 /etc/k8s/shared/ssl/kubernetes-csr.json
358+
fi
359+
360+
if [[ ! -f /etc/k8s/shared/ssl//etc/k8s/shared/ssl/kubernetes.pem ]]; then
361+
# Generate certificates
362+
echo " + (Re-)Generate kubernetes certificates"
363+
364+
sudo /usr/local/bin/cfssl gencert -ca=/etc/k8s/shared/ssl/ca.pem \
365+
-ca-key=/etc/k8s/shared/ssl/ca-key.pem \
366+
-config=/etc/k8s/shared/ssl/ca-config.json \
367+
-profile=kubernetes /etc/k8s/shared/ssl/kubernetes-csr.json | cfssljson -bare kubernetes
368+
369+
echo " + (Re-)Install kubernetes certificates"
370+
sudo mv kubernetes*.pem /etc/k8s/shared/ssl/
371+
sudo chown kubernetes /etc/k8s/shared/ssl/kubernetes*.pem
372+
sudo mv kubernetes*csr* /etc/k8s/shared/ssl/
373+
sudo chown kubernetes /etc/k8s/shared/ssl/kubernetes*csr*
374+
fi
375+
376+
377+
312378
delete_ssl_lock_file
313379

314380
set +e

services_setup/zeppelin/inContainerSetupZeppelin.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,14 @@ sudo sed -i -n '1h;1!H;${;g;s/'\
166166
' \"value\": \"python3.7\",'\
167167
'/g;p;}' /usr/local/lib/zeppelin/conf/interpreter.json
168168

169+
sudo sed -i -n '1h;1!H;${;g;s/'\
170+
' \"name\": \"zeppelin.spark.enableSupportedVersionCheck\",\n'\
171+
' \"value\": true,'\
172+
'/'\
173+
' \"name\": \"zeppelin.spark.enableSupportedVersionCheck\",\n'\
174+
' \"value\": false,'\
175+
'/g;p;}' /usr/local/lib/zeppelin/conf/interpreter.json
176+
169177

170178
echo " - Configuring ElasticSearch interpreter"
171179

src/main/java/ch/niceideas/eskimo/model/service/Dependency.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public class Dependency {
5959
@Getter @Setter
6060
private boolean restart = true; // default is true
6161

62+
@Getter @Setter
63+
private boolean dependentInstalledFirst = false; // false by default
64+
6265
private String conditional = null;
6366

6467
public boolean isMandatory(ConfigurationOwner wrapper) {

src/main/java/ch/niceideas/eskimo/model/service/Service.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,11 @@ public List<EditableSettings> getEditableSettings() {
143143

144144
public int getRelevantDependenciesCount() {
145145
return (int) dependencies.stream()
146-
.filter(dep -> !dep.getMasterService().equals(getName()) && !dep.getMasterService().equals(NodesConfigWrapper.NODE_ID_FIELD))
146+
.filter(dep ->
147+
!dep.getMasterService().equals(getName())
148+
&& !dep.getMasterService().equals(NodesConfigWrapper.NODE_ID_FIELD)
149+
&& !dep.isDependentInstalledFirst()
150+
)
147151
.count();
148152
}
149153

src/main/java/ch/niceideas/eskimo/services/ServicesDefinition.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,9 @@ public void afterPropertiesSet() throws Exception {
327327
Boolean depRestart = depObj.has("restart") ? depObj.getBoolean("restart") : null;
328328
dependency.setRestart(depRestart == null || depRestart);
329329

330+
Boolean dependentInstalledFirst = depObj.has("dependentInstalledFirst") ? depObj.getBoolean("dependentInstalledFirst") : null;
331+
dependency.setDependentInstalledFirst(dependentInstalledFirst != null && dependentInstalledFirst); // false by default
332+
330333
String conditionalDependency = depObj.has("conditional") ? depObj.getString("conditional") : null;
331334
if (StringUtils.isNotBlank(conditionalDependency)) {
332335
dependency.setConditional (conditionalDependency);
@@ -739,12 +742,12 @@ public int compareServices(Service one, Service other) {
739742

740743
// need to browse dependencies
741744
for (Dependency dep : one.getDependencies()) {
742-
if (dep.getMasterService().equals(other.getName())) {
745+
if (dep.getMasterService().equals(other.getName()) && !dep.isDependentInstalledFirst()) {
743746
return 1;
744747
}
745748
}
746749
for (Dependency dep : other.getDependencies()) {
747-
if (dep.getMasterService().equals(one.getName())) {
750+
if (dep.getMasterService().equals(one.getName()) && !dep.isDependentInstalledFirst()) {
748751
return -1;
749752
}
750753
}

src/main/java/ch/niceideas/eskimo/services/ServicesInstallationSorter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ public <T extends OperationId> List<List<T>> orderOperations (
8585
operationForService.add(operation);
8686
}
8787

88-
// 2. Order by depencencies
88+
// 2. Order by dependencies
8989
List<Service> services = groupedOperations.keySet().stream()
9090
.sorted((one, other) -> servicesDefinition.compareServices(one, other))
9191
.map(service -> servicesDefinition.getService(service))

src/main/resources/services.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,8 @@
384384
"masterService": "kube-slave",
385385
"numberOfMasters": 1,
386386
"mandatory": true,
387-
"restart": false
387+
"restart": false,
388+
"dependentInstalledFirst": true
388389
}
389390
]
390391
},

src/test/java/ch/niceideas/eskimo/controlers/NodesConfigControllerTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,9 +139,9 @@ public NodesConfigWrapper resolveRanges(NodesConfigWrapper rawNodesConfig) throw
139139
assertEquals ("{\n" +
140140
" \"command\": {\n" +
141141
" \"restarts\": [\n" +
142+
" {\"kube-master\": \"192.168.10.11\"},\n" +
142143
" {\"kube-slave\": \"192.168.10.11\"},\n" +
143144
" {\"kube-slave\": \"192.168.10.13\"},\n" +
144-
" {\"kube-master\": \"192.168.10.11\"},\n" +
145145
" {\"spark-console\": \"(kubernetes)\"},\n" +
146146
" {\"logstash\": \"(kubernetes)\"},\n" +
147147
" {\"zeppelin\": \"(kubernetes)\"}\n" +

0 commit comments

Comments
 (0)