#!/bin/bash # # lib/kubernetes_vim # functions - functions specific to kubernetes_vim function configure_k8s_vim { iniset "/$Q_PLUGIN_CONF_FILE" ml2_type_flat flat_networks $PUBLIC_PHYSICAL_NETWORK,$MGMT_PHYS_NET,$K8S_PHYS_NET iniset "/$Q_PLUGIN_CONF_FILE" ovs bridge_mappings $PUBLIC_PHYSICAL_NETWORK:$PUBLIC_BRIDGE,$MGMT_PHYS_NET:$BR_MGMT,$K8S_PHYS_NET:$BR_K8S echo "Creating Kubernetes bridge" sudo ovs-vsctl --may-exist add-br ${BR_K8S} iniset $TACKER_CONF k8s_vim use_barbican True } function tacker_create_initial_k8s_network { SUBNETPOOL_V4_ID=$(openstack subnet pool create ${SUBNETPOOL_NAME_V4} --default-prefix-length ${SUBNETPOOL_SIZE_V4} --pool-prefix ${FIXED_RANGE_K8S} --share --default -f value -c id) NET_K8S_ID=$(openstack network create --provider-network-type flat --provider-physical-network ${K8S_PHYS_NET} --share ${NET_K8S} | awk '/ id /{print $4}') SUBNET_K8S_ID=$(openstack subnet create ${SUBNET_K8S} --ip-version 4 --gateway ${NETWORK_GATEWAY_K8S} --network ${NET_K8S_ID} --subnet-pool ${SUBNETPOOL_V4_ID} | awk '/ id /{print $4}') SUBNET_K8S_CIDR=$(openstack subnet show ${SUBNET_K8S_ID} -c cidr -f value) echo "Assign ip address to ${BR_K8S}" sudo ip link set ${BR_K8S} up sudo ip -4 address flush dev ${BR_K8S} sudo ip address add ${NETWORK_GATEWAY_K8S_IP} dev ${BR_K8S} echo "Create router to connect VM, Pod and Service networks" openstack router create ${Q_ROUTER_NAME} | grep ' id ' | get_field 2 ROUTER_K8S_PORT_IP=$(_cidr_range "${SUBNET_K8S_CIDR}" | cut -f2) ROUTER_K8S_PORT_ID=$(openstack port create --network ${NET_K8S_ID} --fixed-ip subnet=${SUBNET_K8S_ID},ip-address=${ROUTER_K8S_PORT_IP} port-router -f value -c id) openstack router add port ${Q_ROUTER_NAME} ${ROUTER_K8S_PORT_ID} openstack subnet set --host-route destination=${FIXED_RANGE_K8S},gateway=${ROUTER_K8S_PORT_IP} ${SUBNET_K8S_ID} } function _cidr_range { python - <