diff --git a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-docker.sh b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-docker.sh index 59b72bde95..b29611a8ef 100644 --- a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-docker.sh +++ b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-docker.sh @@ -7,6 +7,7 @@ systemctl stop docker ip link del docker0 if [ "$NETWORK_DRIVER" == "flannel" ]; then + FLANNEL_ENV=/run/flannel/subnet.env attempts=60 @@ -19,13 +20,20 @@ if [ "$NETWORK_DRIVER" == "flannel" ]; then source $FLANNEL_ENV if ! [ "\$FLANNEL_SUBNET" ] && [ "\$FLANNEL_MTU" ] ; then - echo "ERROR: missing required environment variables." >&2 - exit 1 + echo "ERROR: missing required environment variables." >&2 + exit 1 + fi + + if `grep -q DOCKER_NETWORK_OPTIONS /etc/sysconfig/docker`; then + sed -i ' + /^DOCKER_NETWORK_OPTIONS=/ s|=.*|="--bip='"$FLANNEL_SUBNET"' --mtu='"$FLANNEL_MTU"'"| + ' /etc/sysconfig/docker + else + echo "DOCKER_NETWORK_OPTIONS=\"--bip=$FLANNEL_SUBNET --mtu=$FLANNEL_MTU\"" >> /etc/sysconfig/docker fi sed -i ' - /^DOCKER_OPTS=/ s/=.*/="--storage-driver=btrfs"/ - /^DOCKER_NETWORK_OPTIONS=/ s|=.*|="--bip='"$FLANNEL_SUBNET"' --mtu='"$FLANNEL_MTU"'"| + /^DOCKER_OPTS=/ s/=.*/="--storage-driver=btrfs"/ ' /etc/sysconfig/docker fi diff --git a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-etcd.sh b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-etcd.sh index 4573978590..aefd1e7947 100644 --- a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-etcd.sh +++ b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-etcd.sh @@ -5,13 +5,13 @@ myip="$KUBE_NODE_IP" sed -i ' - /ETCD_NAME=/c ETCD_NAME="'$myip'" - /ETCD_DATA_DIR=/c ETCD_DATA_DIR="/var/lib/etcd/default.etcd" - /ETCD_LISTEN_CLIENT_URLS=/c ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" - /ETCD_LISTEN_PEER_URLS=/c ETCD_LISTEN_PEER_URLS="http://'$myip':2380" - /ETCD_ADVERTISE_CLIENT_URLS=/c ETCD_ADVERTISE_CLIENT_URLS="http://'$myip':2379" - /ETCD_INITIAL_ADVERTISE_PEER_URLS=/c ETCD_INITIAL_ADVERTISE_PEER_URLS="http://'$myip':2380" - /ETCD_DISCOVERY=/c ETCD_DISCOVERY="'$ETCD_DISCOVERY_URL'" + /ETCD_NAME=/c ETCD_NAME="'$myip'" + /ETCD_DATA_DIR=/c ETCD_DATA_DIR="/var/lib/etcd/default.etcd" + /ETCD_LISTEN_CLIENT_URLS=/c ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379" + /ETCD_LISTEN_PEER_URLS=/c ETCD_LISTEN_PEER_URLS="http://'$myip':2380" + /ETCD_ADVERTISE_CLIENT_URLS=/c ETCD_ADVERTISE_CLIENT_URLS="http://'$myip':2379" + /ETCD_INITIAL_ADVERTISE_PEER_URLS=/c ETCD_INITIAL_ADVERTISE_PEER_URLS="http://'$myip':2380" + /ETCD_DISCOVERY=/c ETCD_DISCOVERY="'$ETCD_DISCOVERY_URL'" ' /etc/sysconfig/etcd echo "activating etcd service" diff --git a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-flanneld-master.sh b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-flanneld-master.sh index 26f59df8bb..844f57bf42 100644 --- a/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-flanneld-master.sh +++ b/contrib/drivers/k8s_opensuse_v1/templates/fragments/configure-flanneld-master.sh @@ -9,13 +9,10 @@ fi FLANNEL_ETCD="http://127.0.0.1:2379" FLANNEL_JSON=/etc/sysconfig/flannel-network.json FLANNELD_CONFIG=/etc/sysconfig/flanneld -FLANNEL_NETWORK_CIDR="$FLANNEL_NETWORK_CIDR" -FLANNEL_NETWORK_SUBNETLEN="$FLANNEL_NETWORK_SUBNETLEN" -FLANNEL_USE_VXLAN="$FLANNEL_USE_VXLAN" sed -i ' - /^FLANNEL_ETCD=/ s/=.*/="http:\/\/127.0.0.1:2379"/ - /^#FLANNEL_OPTIONS=/ s//FLANNEL_OPTIONS="-iface eth0 --ip-masq"/ + /^FLANNEL_ETCD=/ s/=.*/="http:\/\/127.0.0.1:2379"/ + /^#FLANNEL_OPTIONS=/ s//FLANNEL_OPTIONS="-iface eth0 --ip-masq"/ ' /etc/sysconfig/flanneld cat >> /etc/sysconfig/flanneld < $FLANNEL_JSON <> $FLANNEL_JSON <> $FLANNEL_JSON <> /etc/sysconfig/flanneld <> /etc/kubernetes/apiserver <> /etc/kubernetes/controller-manager < /etc/sysconfig/kubernetes_openstack_config <> /etc/environment < @@ -484,6 +494,7 @@ resources: http_proxy: {get_param: http_proxy} https_proxy: {get_param: https_proxy} no_proxy: {get_param: no_proxy} + kube_version: {get_param: kube_version} fixed_network: {get_resource: fixed_network} fixed_subnet: {get_resource: fixed_subnet} api_pool_id: {get_resource: api_pool} @@ -496,6 +507,7 @@ resources: tls_disabled: {get_param: tls_disabled} secgroup_base_id: {get_resource: secgroup_base} secgroup_kube_master_id: {get_resource: secgroup_kube_master} + kube_master_id: 'kube-master%index%' ###################################################################### # @@ -542,10 +554,11 @@ resources: http_proxy: {get_param: http_proxy} https_proxy: {get_param: https_proxy} no_proxy: {get_param: no_proxy} + kube_version: {get_param: kube_version} kubernetes_port: {get_param: kubernetes_port} tls_disabled: {get_param: tls_disabled} secgroup_kube_minion_id: {get_resource: secgroup_kube_minion} - kube_minion_id: 'kube_minion_%index%' + kube_minion_id: 'kube-minion%index%' outputs: diff --git a/contrib/drivers/k8s_opensuse_v1/templates/kubemaster.yaml b/contrib/drivers/k8s_opensuse_v1/templates/kubemaster.yaml index 9bd05ce78e..34a7a951b6 100644 --- a/contrib/drivers/k8s_opensuse_v1/templates/kubemaster.yaml +++ b/contrib/drivers/k8s_opensuse_v1/templates/kubemaster.yaml @@ -73,6 +73,10 @@ parameters: service. default: 6443 + kube_version: + type: string + description: version of kubernetes used for kubernetes cluster + cluster_uuid: type: string description: identifier for the cluster this template is generating @@ -156,6 +160,10 @@ parameters: description: > tenant name + kube_master_id: + type: string + description: ID of for kubernetes master. + resources: master_wait_handle: @@ -198,6 +206,7 @@ resources: "$TENANT_NAME": {get_param: tenant_name} "$CLUSTER_SUBNET": {get_param: fixed_subnet} "$TLS_DISABLED": {get_param: tls_disabled} + "$KUBE_VERSION": {get_param: kube_version} "$CLUSTER_UUID": {get_param: cluster_uuid} "$MAGNUM_URL": {get_param: magnum_url} "$HTTP_PROXY": {get_param: http_proxy} @@ -266,7 +275,7 @@ resources: kube_master: type: OS::Nova::Server properties: - name: kube_master + name: {get_param: kube_master_id} image: {get_param: server_image} flavor: {get_param: master_flavor} key_name: {get_param: ssh_key_name} diff --git a/contrib/drivers/k8s_opensuse_v1/templates/kubeminion.yaml b/contrib/drivers/k8s_opensuse_v1/templates/kubeminion.yaml index 76d2e56804..bb51743d8a 100644 --- a/contrib/drivers/k8s_opensuse_v1/templates/kubeminion.yaml +++ b/contrib/drivers/k8s_opensuse_v1/templates/kubeminion.yaml @@ -3,7 +3,7 @@ heat_template_version: 2014-10-16 description: > This is a nested stack that defines a single Kubernetes minion, This stack is included by an AutoScalingGroup resource in the parent template - (kubecluster-jeos.yaml). + (kubecluster.yaml). parameters: @@ -60,6 +60,10 @@ parameters: type: string description: endpoint to retrieve TLS certs from + kube_version: + type: string + description: version of kubernetes used for kubernetes cluster + kube_master_ip: type: string description: IP address of the Kubernetes master server. @@ -188,32 +192,33 @@ resources: group: ungrouped config: str_replace: - template: {get_file: fragments/write-heat-params.yaml} + template: {get_file: fragments/write-heat-params-minion.yaml} params: - $KUBE_ALLOW_PRIV: {get_param: kube_allow_priv} - $KUBE_MASTER_IP: {get_param: kube_master_ip} - $KUBE_API_PORT: {get_param: kubernetes_port} - $ETCD_SERVER_IP: {get_param: etcd_server_ip} - $DOCKER_VOLUME: {get_resource: docker_volume} - $NETWORK_DRIVER: {get_param: network_driver} - $REGISTRY_ENABLED: {get_param: registry_enabled} - $REGISTRY_PORT: {get_param: registry_port} - $REGISTRY_AUTH_URL: {get_param: registry_auth_url} - $REGISTRY_REGION: {get_param: registry_region} - $REGISTRY_USERNAME: {get_param: registry_username} - $REGISTRY_PASSWORD: {get_param: registry_password} - $REGISTRY_DOMAIN: {get_param: registry_domain} - $REGISTRY_TRUST_ID: {get_param: registry_trust_id} - $REGISTRY_CONTAINER: {get_param: registry_container} - $REGISTRY_INSECURE: {get_param: registry_insecure} - $REGISTRY_CHUNKSIZE: {get_param: registry_chunksize} - $TLS_DISABLED: {get_param: tls_disabled} - $CLUSTER_UUID: {get_param: cluster_uuid} - $MAGNUM_URL: {get_param: magnum_url} - $HTTP_PROXY: {get_param: http_proxy} - $HTTPS_PROXY: {get_param: https_proxy} - $NO_PROXY: {get_param: no_proxy} - $NODE_FIXED_IP: {get_attr: [kube_minion_eth0, fixed_ips, 0, ip_address]} + "$KUBE_ALLOW_PRIV": {get_param: kube_allow_priv} + "$KUBE_MASTER_IP": {get_param: kube_master_ip} + "$KUBE_NODE_IP": {get_attr: [kube_minion_eth0, fixed_ips, 0, ip_address]} + "$KUBE_API_PORT": {get_param: kubernetes_port} + "$ETCD_SERVER_IP": {get_param: etcd_server_ip} + "$DOCKER_VOLUME": {get_resource: docker_volume} + "$NETWORK_DRIVER": {get_param: network_driver} + "$REGISTRY_ENABLED": {get_param: registry_enabled} + "$REGISTRY_PORT": {get_param: registry_port} + "$REGISTRY_AUTH_URL": {get_param: registry_auth_url} + "$REGISTRY_REGION": {get_param: registry_region} + "$REGISTRY_USERNAME": {get_param: registry_username} + "$REGISTRY_PASSWORD": {get_param: registry_password} + "$REGISTRY_DOMAIN": {get_param: registry_domain} + "$REGISTRY_TRUST_ID": {get_param: registry_trust_id} + "$REGISTRY_CONTAINER": {get_param: registry_container} + "$REGISTRY_INSECURE": {get_param: registry_insecure} + "$REGISTRY_CHUNKSIZE": {get_param: registry_chunksize} + "$TLS_DISABLED": {get_param: tls_disabled} + "$KUBE_VERSION": {get_param: kube_version} + "$CLUSTER_UUID": {get_param: cluster_uuid} + "$MAGNUM_URL": {get_param: magnum_url} + "$HTTP_PROXY": {get_param: http_proxy} + "$HTTPS_PROXY": {get_param: https_proxy} + "$NO_PROXY": {get_param: no_proxy} configure_flanneld: type: OS::Heat::SoftwareConfig diff --git a/contrib/drivers/k8s_opensuse_v1/version.py b/contrib/drivers/k8s_opensuse_v1/version.py index dd5a398709..acc670d9b4 100644 --- a/contrib/drivers/k8s_opensuse_v1/version.py +++ b/contrib/drivers/k8s_opensuse_v1/version.py @@ -14,4 +14,4 @@ version = '1.0.0' driver = 'k8s_opensuse_v1' -container_version = '1.12.1' +container_version = '1.12.3'