Sync with Longhorn Manager
Manager commit: commit 266f566783e47ce5e351f98491ea5b7b86a875d2 Author: Sheng Yang <sheng@yasker.org> Date: Tue Aug 21 11:48:22 2018 -0700 Update images Manager: rancher/longhorn-manager:2c17d9e UI: rancher/longhorn-ui:72303d9
This commit is contained in:
parent
eb65b2f961
commit
bb1ac25afd
@ -178,7 +178,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: longhorn-manager
|
||||
image: rancher/longhorn-manager:v0.3-rc4
|
||||
image: rancher/longhorn-manager:2c17d9e
|
||||
imagePullPolicy: Always
|
||||
securityContext:
|
||||
privileged: true
|
||||
@ -189,7 +189,7 @@ spec:
|
||||
- --engine-image
|
||||
- rancher/longhorn-engine:v0.3-rc4
|
||||
- --manager-image
|
||||
- rancher/longhorn-manager:v0.3-rc4
|
||||
- rancher/longhorn-manager:2c17d9e
|
||||
- --service-account
|
||||
- longhorn-service-account
|
||||
ports:
|
||||
@ -266,7 +266,7 @@ spec:
|
||||
spec:
|
||||
containers:
|
||||
- name: longhorn-ui
|
||||
image: rancher/longhorn-ui:v0.3-rc4
|
||||
image: rancher/longhorn-ui:72303d9
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
env:
|
||||
@ -305,18 +305,18 @@ spec:
|
||||
spec:
|
||||
initContainers:
|
||||
- name: wait-longhorn-manager
|
||||
image: rancher/longhorn-manager:v0.3-rc4
|
||||
image: rancher/longhorn-manager:2c17d9e
|
||||
command: ['sh', '-c', 'while [ $(curl -m 1 -s -o /dev/null -w "%{http_code}" http://longhorn-backend:9500/v1) != "200" ]; do echo waiting; sleep 2; done']
|
||||
containers:
|
||||
- name: longhorn-driver-deployer
|
||||
image: rancher/longhorn-manager:v0.3-rc4
|
||||
image: rancher/longhorn-manager:2c17d9e
|
||||
imagePullPolicy: Always
|
||||
command:
|
||||
- longhorn-manager
|
||||
- -d
|
||||
- deploy-driver
|
||||
- --manager-image
|
||||
- rancher/longhorn-manager:v0.3-rc4
|
||||
- rancher/longhorn-manager:2c17d9e
|
||||
- --manager-url
|
||||
- http://longhorn-backend:9500/v1
|
||||
# manually choose "flexvolume" or "csi"
|
||||
|
107
scripts/environment_check.sh
Executable file
107
scripts/environment_check.sh
Executable file
@ -0,0 +1,107 @@
|
||||
#!/bin/bash
|
||||
|
||||
dependencies() {
|
||||
local targets=($@)
|
||||
local allFound=true
|
||||
for ((i=0; i<${#targets[@]}; i++)); do
|
||||
local target=${targets[$i]}
|
||||
if [ "$(which $target)" == "" ]; then
|
||||
allFound=false
|
||||
echo Not found: $target
|
||||
fi
|
||||
done
|
||||
if [ "$allFound" == "false" ]; then
|
||||
echo "Please install missing dependencies."
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
create_ds() {
|
||||
cat <<EOF > $TEMP_DIR/environment_check.yaml
|
||||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
labels:
|
||||
app: longhorn-environment-check
|
||||
name: longhorn-environment-check
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: longhorn-environment-check
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: longhorn-environment-check
|
||||
spec:
|
||||
containers:
|
||||
- name: longhorn-environment-check
|
||||
image: busybox
|
||||
args: ["/bin/sh", "-c", "sleep 1000000000"]
|
||||
volumeMounts:
|
||||
- name: mountpoint
|
||||
mountPath: /mnt/tmp
|
||||
mountPropagation: Bidirectional
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumes:
|
||||
- name: mountpoint
|
||||
hostPath:
|
||||
path: /mnt/tmp
|
||||
EOF
|
||||
kubectl create -f $TEMP_DIR/environment_check.yaml
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
kubectl delete -f $TEMP_DIR/environment_check.yaml
|
||||
rm -rf $TEMP_DIR
|
||||
}
|
||||
|
||||
wait_ds_ready() {
|
||||
while true; do
|
||||
local ds=$(kubectl get ds/longhorn-environment-check -o json)
|
||||
local numberReady=$(echo $ds | jq .status.numberReady)
|
||||
local desiredNumberScheduled=$(echo $ds | jq .status.desiredNumberScheduled)
|
||||
|
||||
if [ "$desiredNumberScheduled" == "$numberReady" ] && [ "$desiredNumberScheduled" != "0" ]; then
|
||||
echo "all pods ready ($numberReady/$desiredNumberScheduled)"
|
||||
return
|
||||
fi
|
||||
|
||||
echo "waiting for pods to become ready ($numberReady/$desiredNumberScheduled)"
|
||||
sleep 3
|
||||
done
|
||||
}
|
||||
|
||||
validate_pods() {
|
||||
local allSupported=true
|
||||
local pods=$(kubectl -l app=longhorn-environment-check get po -o json)
|
||||
|
||||
for ((i=0; i<1; i++)); do
|
||||
local pod=$(echo $pods | jq .items[$i])
|
||||
local nodeName=$(echo $pod | jq -r .spec.nodeName)
|
||||
local mountPropagation=$(echo $pod | jq -r '.spec.containers[0].volumeMounts[] | select(.name=="mountpoint") | .mountPropagation')
|
||||
|
||||
if [ "$mountPropagation" != "Bidirectional" ]; then
|
||||
allSupported=false
|
||||
echo "node $nodeName: MountPropagation DISABLED"
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$allSupported" != "true" ]; then
|
||||
echo
|
||||
echo " MountPropagation is disabled on at least one node."
|
||||
echo " As a result, CSI Driver and Base Image aren't supported."
|
||||
echo
|
||||
exit 1
|
||||
else
|
||||
echo -e "\n MountPropagation is enabled!\n"
|
||||
fi
|
||||
}
|
||||
|
||||
dependencies kubectl jq mktemp
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
trap cleanup EXIT
|
||||
create_ds
|
||||
wait_ds_ready
|
||||
validate_pods
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user