magnum/magnum/templates/kubernetes/fragments/write-network-config-coreos...

46 lines
1.1 KiB
YAML

#cloud-config
write_files:
- path: /etc/systemd/system/write-network-config.service
owner: "root:root"
permissions: "0644"
content: |
[Unit]
Description=Write Network Config
[Service]
Type=oneshot
ExecStart=/etc/sysconfig/write-network-config.sh
[Install]
WantedBy=multi-user.target
- path: /etc/sysconfig/write-network-config.sh
owner: "root:root"
permissions: "0755"
content: |
#!/bin/sh
. /etc/sysconfig/heat-params
if [ "$NETWORK_DRIVER" != "flannel" ]; then
exit 0
fi
FLANNEL_JSON=/etc/sysconfig/flannel-network.json
cat > $FLANNEL_JSON <<EOF
{
"Network": "$FLANNEL_NETWORK_CIDR",
"Subnetlen": $FLANNEL_NETWORK_SUBNETLEN,
"Backend": {
"Type": "$FLANNEL_BACKEND"
}
}
EOF
FLANNEL_ETCD="http://127.0.0.1:2379"
FLANNEL_ETCD_KEY="/coreos.com/network"
while ! curl -sf -L ${FLANNEL_ETCD}/v2/keys${FLANNEL_ETCD_KEY}/config \
-X PUT --data-urlencode value@${FLANNEL_JSON}; do
echo "waiting for etcd"
sleep 1
done