From a28e5609f991ce32255f7badcad2514ca8e66ab8 Mon Sep 17 00:00:00 2001 From: Andrei Ozerov Date: Fri, 29 Jun 2018 15:00:35 +0300 Subject: [PATCH] Provide a region to the K8S Fedora Atomic config Kubernetes should initialize its Global configuration for the OpenStack provider with the region specified in the Heat stack. This will allow user to create Magnum Kubernetes clusters in multiregional OpenStack installation with different public endpoint for services. Task: 22576 Story: 2002728 Change-Id: I66820369b889e16445cad7a48cd0f458aae1c41f --- .../kubernetes/fragments/write-heat-params-master.yaml | 1 + .../templates/kubernetes/fragments/write-kube-os-config.sh | 5 +++++ .../drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml | 1 + .../drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml | 5 +++++ .../bug-2002728-kube-os-conf-region-46cd60537bdabdb2.yaml | 6 ++++++ 5 files changed, 18 insertions(+) create mode 100644 releasenotes/notes/bug-2002728-kube-os-conf-region-46cd60537bdabdb2.yaml diff --git a/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.yaml b/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.yaml index 7e2b7bf1a3..8f5f70fc85 100644 --- a/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.yaml +++ b/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.yaml @@ -38,6 +38,7 @@ write_files: CLUSTER_UUID="$CLUSTER_UUID" MAGNUM_URL="$MAGNUM_URL" VOLUME_DRIVER="$VOLUME_DRIVER" + REGION_NAME="$REGION_NAME" HTTP_PROXY="$HTTP_PROXY" HTTPS_PROXY="$HTTPS_PROXY" NO_PROXY="$NO_PROXY" diff --git a/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh b/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh index 8db5575bb0..d4ec4679cb 100644 --- a/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh +++ b/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh @@ -25,3 +25,8 @@ monitor-max-retries=3 [BlockStorage] bs-version=v2 EOF + +# Provide optional region parameter if it's set. +if [ -n ${REGION_NAME} ]; then + sed -i '/ca-file/a region='${REGION_NAME}'' $KUBE_OS_CLOUD_CONFIG +fi diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml index ec97256f72..daaf0f31dd 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubecluster.yaml @@ -660,6 +660,7 @@ resources: cluster_uuid: {get_param: cluster_uuid} magnum_url: {get_param: magnum_url} volume_driver: {get_param: volume_driver} + region_name: {get_param: region_name} fixed_network: {get_attr: [network, fixed_network]} fixed_subnet: {get_attr: [network, fixed_subnet]} api_pool_id: {get_attr: [api_lb, pool_id]} diff --git a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml index e8ff06186f..24b2f05892 100644 --- a/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml +++ b/magnum/drivers/k8s_fedora_atomic_v1/templates/kubemaster.yaml @@ -72,6 +72,10 @@ parameters: type: string description: volume driver to use for container storage + region_name: + type: string + description: A logically separate section of the cluster + flannel_network_cidr: type: string description: network range for flannel overlay network @@ -456,6 +460,7 @@ resources: "$CLUSTER_UUID": {get_param: cluster_uuid} "$MAGNUM_URL": {get_param: magnum_url} "$VOLUME_DRIVER": {get_param: volume_driver} + "$REGION_NAME": {get_param: region_name} "$HTTP_PROXY": {get_param: http_proxy} "$HTTPS_PROXY": {get_param: https_proxy} "$NO_PROXY": {get_param: no_proxy} diff --git a/releasenotes/notes/bug-2002728-kube-os-conf-region-46cd60537bdabdb2.yaml b/releasenotes/notes/bug-2002728-kube-os-conf-region-46cd60537bdabdb2.yaml new file mode 100644 index 0000000000..c5be07c79a --- /dev/null +++ b/releasenotes/notes/bug-2002728-kube-os-conf-region-46cd60537bdabdb2.yaml @@ -0,0 +1,6 @@ +--- +fixes: + - | + Add `region` parameter to the Global configuration section of the + Kubernetes configuration file. Setting this parameter will allow Magnum + cluster to be created in the multi-regional OpenStack installation.