Bring Kubernetes 1.15 50/5250/2
authorFatih Degirmenci <fatih.degirmenci@est.tech>
Thu, 2 Jul 2020 08:34:05 +0000 (08:34 +0000)
committerFatih Degirmenci <fatih.degirmenci@est.tech>
Thu, 2 Jul 2020 14:22:35 +0000 (14:22 +0000)
This change brings K8s 1.15 to Nordix. Some notes about
K8s 1.15 support of engine.
- The support is only included for the scenario k8-calico-nofeature.
- Deployment with the scenario k8-multus-plugins fails and
other scenarios are not tested since they may not be relevant
for us anymore. Due to this those scenarios have been removed from
1.15 branch.
- Installer, infra/installer/kubespray, 1.15 branch is tracked by
this branch.

An example command to deploy K8s 1.15 in online mode with the engine is.

- clone engine repo as usual
- cd engine/engine
- ./deploy.sh -s kubernetes -b 1.15 -c k8-calico-nofeature \
    -p <path to pdf> -i <path to idf> -v

If you are deploying on OpenStack using Heat, you need to
- specify the location of openrc file
- pass heat environment file as pdf

An example command to package K8s 1.15 for offline deployment with the
engine is.

- clone engine repo as usual
- cd engine/engine
- ./package.sh -s kubernetes -b 1.15 -v

Change-Id: Ic594b74780b6cdc309e36c24cea75e8e60863b2b

.gitreview
scenarios/k8-calico-istio.yaml [deleted file]
scenarios/k8-calico-spinnaker.yaml [deleted file]
scenarios/k8-canal-nofeature.yaml [deleted file]
scenarios/k8-cilium-nofeature.yaml [deleted file]
scenarios/k8-flannel-nofeature.yaml [deleted file]
scenarios/k8-multus-nofeature.yaml [deleted file]
scenarios/k8-multus-plugins.yaml [deleted file]
scenarios/k8-weave-nofeature.yaml [deleted file]
vars/kubernetes.yaml

index 5a06466..02f0e76 100644 (file)
@@ -2,4 +2,4 @@
 host=gerrit.nordix.org
 port=29418
 project=infra/stack/kubernetes.git
-defaultbranch=master
+defaultbranch=1.15
diff --git a/scenarios/k8-calico-istio.yaml b/scenarios/k8-calico-istio.yaml
deleted file mode 100644 (file)
index ca09ba8..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to calico
-    - name: Set network plugin to Calico
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: calico"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Istio
-  import_playbook: "../apps/istio/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-calico-spinnaker.yaml b/scenarios/k8-calico-spinnaker.yaml
deleted file mode 100644 (file)
index 9d5cb2f..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to calico
-    - name: Set network plugin to calico
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: calico"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Spinnaker
-  import_playbook: "../apps/spinnaker/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-canal-nofeature.yaml b/scenarios/k8-canal-nofeature.yaml
deleted file mode 100644 (file)
index afad438..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to canal
-    - name: Set network plugin to Canal
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: canal"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-cilium-nofeature.yaml b/scenarios/k8-cilium-nofeature.yaml
deleted file mode 100644 (file)
index d82f251..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to cilium
-    - name: Set network plugin to Cilium
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: cilium"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-flannel-nofeature.yaml b/scenarios/k8-flannel-nofeature.yaml
deleted file mode 100644 (file)
index 1183517..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to flannel
-    - name: Set network plugin to Flannel
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: flannel"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-multus-nofeature.yaml b/scenarios/k8-multus-nofeature.yaml
deleted file mode 100644 (file)
index 1840e4a..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set master plugin to calico for multus to use as the primary network plugin
-    - name: Configure Multus to use Calico as the primary network plugin
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: calico"
-
-    # configure multus to use ca
-    - name: Enable Multus network plugin
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin_multus:.*"
-        line: "kube_network_plugin_multus: true"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-multus-plugins.yaml b/scenarios/k8-multus-plugins.yaml
deleted file mode 100644 (file)
index 599558b..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set master plugin to calico for multus to use as the primary network plugin
-    - name: Configure Multus to use Calico as the primary network plugin
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: calico"
-
-    # configure multus to use ca
-    - name: Enable Multus network plugin
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin_multus:.*"
-        line: "kube_network_plugin_multus: true"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- hosts: k8s-cluster
-  gather_facts: false
-  become: false
-  tags:
-    - postinstall
-
-  tasks:
-    - name: Include Kubespray vars
-      include_vars: "{{ item }}"
-      with_items:
-        - "{{ engine_cache }}/repos/kubespray/roles/kubespray-defaults/defaults/main.yaml"
-        - "{{ engine_cache }}/repos/kubespray/roles/download/defaults/main.yml"
-
-    - include_tasks: "{{ engine_cache }}/repos/kubespray/roles/network_plugin/cni/tasks/main.yml"
-
-# vim: set ts=2 sw=2 expandtab:
diff --git a/scenarios/k8-weave-nofeature.yaml b/scenarios/k8-weave-nofeature.yaml
deleted file mode 100644 (file)
index 56637ab..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
----
-# ============LICENSE_START=======================================================
-#  Copyright (C) 2019 The Nordix Foundation. All rights reserved.
-# ================================================================================
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-# ============LICENSE_END=========================================================
-
-# NOTE (fdegir): scenario specific preinstall tasks
-- hosts: localhost
-  connection: local
-  gather_facts: false
-  become: false
-  tags:
-    - preinstall
-
-  tasks:
-    # set networking plugin to weave
-    - name: Set network plugin to Weave
-      lineinfile:
-        path: "{{ engine_cache }}/repos/kubespray/inventory/engine/group_vars/k8s-cluster/k8s-cluster.yml"
-        regexp: "^kube_network_plugin:.*"
-        line: "kube_network_plugin: weave"
-
-# NOTE (fdegir): common postinstall tasks
-- name: Execute common postinstall tasks
-  import_playbook: "../playbooks/postinstall.yaml"
-  tags: postinstall
-
-# NOTE (fdegir): scenario specific postinstall tasks
-- name: Install CEPH
-  import_playbook: "../apps/ceph/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-- name: Install Prometheus
-  import_playbook: "../apps/prometheus/kubespray/playbooks/install.yml"
-  tags: postinstall
-
-# vim: set ts=2 sw=2 expandtab:
index 5accc01..e9b86cd 100644 (file)
@@ -36,32 +36,19 @@ installers:
   kubespray:
     scm: git
     src: https://gerrit.nordix.org/infra/installer/kubespray.git
-    version: "{{ lookup('env', 'NORDIX_KUBESPRAY_VERSION') | default('master', true) }}"
+    version: "{{ lookup('env', 'NORDIX_KUBESPRAY_VERSION') | default('1.15', true) }}"
     refspec: "{{ lookup('env', 'NORDIX_KUBESPRAY_REFSPEC') | default(omit) }}"
 
-# NOTE (fdegir): this is only the list of scenarios implemented within
-# installer repository and does not list what apps are for curated for
-# them as it is self documented within the scenario playbook in installer
-# repository. Curated apps are not listed separately either as they are
-# similar to scenarios; they are available in installer repository.
+# NOTE (fdegir): this is only the list of scenarios supported by this version of the stack
 scenarios:
-  - k8-calico-istio
   - k8-calico-nofeature
-  - k8-calico-spinnaker
-  - k8-canal-nofeature
-  - k8-cilium-nofeature
-  - k8-flannel-nofeature
-  - k8-multus-nofeature
-  - k8-multus-plugins
-  - k8-weave-nofeature
 
 # -------------------------------------------------------------------------------
 # Kubernetes: Kubernetes and kubectl versions
 # -------------------------------------------------------------------------------
 # Kubernetes version that is supported by the pinned kubespray version
-kubernetes_version: "v1.17.0"
+kubernetes_version: "v1.15.9"
 # version of the kubectl should generally match to the version of kubernetes itself
-# but it would be good to have possibility to override it in case if someone needs it for some reason
 kubectl_version: "{{ kubernetes_version }}"
 
 # -------------------------------------------------------------------------------