Merge pull request #237 from dougbtv/entrypoint-nsisolation

[entrypoint] Adds option for namespaceIsolation in entrypoint
This commit is contained in:
Doug Smith 2019-01-15 13:42:49 -05:00 committed by GitHub
commit ac3f0d155e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -9,6 +9,7 @@ CNI_BIN_DIR="/host/opt/cni/bin"
MULTUS_CONF_FILE="/usr/src/multus-cni/images/70-multus.conf" MULTUS_CONF_FILE="/usr/src/multus-cni/images/70-multus.conf"
MULTUS_BIN_FILE="/usr/src/multus-cni/bin/multus" MULTUS_BIN_FILE="/usr/src/multus-cni/bin/multus"
MULTUS_KUBECONFIG_FILE_HOST="/etc/cni/net.d/multus.d/multus.kubeconfig" MULTUS_KUBECONFIG_FILE_HOST="/etc/cni/net.d/multus.d/multus.kubeconfig"
MULTUS_NAMESPACE_ISOLATION=false
# Give help text for parameters. # Give help text for parameters.
function usage() function usage()
@ -27,6 +28,7 @@ function usage()
echo -e "\t--multus-conf-file=$MULTUS_CONF_FILE" echo -e "\t--multus-conf-file=$MULTUS_CONF_FILE"
echo -e "\t--multus-bin-file=$MULTUS_BIN_FILE" echo -e "\t--multus-bin-file=$MULTUS_BIN_FILE"
echo -e "\t--multus-kubeconfig-file-host=$MULTUS_KUBECONFIG_FILE_HOST" echo -e "\t--multus-kubeconfig-file-host=$MULTUS_KUBECONFIG_FILE_HOST"
echo -e "\t--namespace-isolation=$MULTUS_NAMESPACE_ISOLATION"
} }
# Parse parameters given as arguments to this script. # Parse parameters given as arguments to this script.
@ -53,6 +55,9 @@ while [ "$1" != "" ]; do
--multus-kubeconfig-file-host) --multus-kubeconfig-file-host)
MULTUS_KUBECONFIG_FILE_HOST=$VALUE MULTUS_KUBECONFIG_FILE_HOST=$VALUE
;; ;;
--namespace-isolation)
MULTUS_NAMESPACE_ISOLATION=$VALUE
;;
*) *)
echo "ERROR: unknown parameter \"$PARAM\"" echo "ERROR: unknown parameter \"$PARAM\""
usage usage
@ -158,11 +163,16 @@ if [ "$MULTUS_CONF_FILE" == "auto" ]; then
elif [ "$MASTER_PLUGIN" == "00-multus.conf" ]; then elif [ "$MASTER_PLUGIN" == "00-multus.conf" ]; then
echo "Warning: Multus is already configured: auto configuration skipped." echo "Warning: Multus is already configured: auto configuration skipped."
else else
ISOLATION_STRING=""
if [ "$MULTUS_NAMESPACE_ISOLATION" == true ]; then
ISOLATION_STRING="\"namespaceIsolation\": true,"
fi
MASTER_PLUGIN_JSON="$(cat $CNI_CONF_DIR/$MASTER_PLUGIN)" MASTER_PLUGIN_JSON="$(cat $CNI_CONF_DIR/$MASTER_PLUGIN)"
CONF=$(cat <<-EOF CONF=$(cat <<-EOF
{ {
"name": "multus-cni-network", "name": "multus-cni-network",
"type": "multus", "type": "multus",
$ISOLATION_STRING
"kubeconfig": "$MULTUS_KUBECONFIG_FILE_HOST", "kubeconfig": "$MULTUS_KUBECONFIG_FILE_HOST",
"delegates": [ "delegates": [
$MASTER_PLUGIN_JSON $MASTER_PLUGIN_JSON