From 833794feefde5999acb89127a06659ad2822b265 Mon Sep 17 00:00:00 2001 From: Hugo Blom Date: Wed, 11 Mar 2020 13:13:36 +0100 Subject: [PATCH] [Openstack] Cleanup the old in-tree openstack cloud provider (#5742) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Added playbook to migrate openstack cloud provider * remove old cloud provider config * Rewrite provisioned-by annotation on Cinder PVs * update indents Co-authored-by: Jonathan Süssemilch Poulain --- extra_playbooks/files/get_cinder_pvs.sh | 2 ++ .../migrate_openstack_provider.yml | 28 +++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 extra_playbooks/files/get_cinder_pvs.sh create mode 100644 extra_playbooks/migrate_openstack_provider.yml diff --git a/extra_playbooks/files/get_cinder_pvs.sh b/extra_playbooks/files/get_cinder_pvs.sh new file mode 100644 index 000000000..73a088ebc --- /dev/null +++ b/extra_playbooks/files/get_cinder_pvs.sh @@ -0,0 +1,2 @@ +#!/bin/sh +kubectl get pv -o go-template --template='{{ range .items }}{{ $metadata := .metadata }}{{ with $value := index .metadata.annotations "pv.kubernetes.io/provisioned-by" }}{{ if eq $value "kubernetes.io/cinder" }}{{printf "%s\n" $metadata.name}}{{ end }}{{ end }}{{ end }}' diff --git a/extra_playbooks/migrate_openstack_provider.yml b/extra_playbooks/migrate_openstack_provider.yml new file mode 100644 index 000000000..114e4cf0c --- /dev/null +++ b/extra_playbooks/migrate_openstack_provider.yml @@ -0,0 +1,28 @@ +--- +- hosts: kube-node:kube-master + tasks: + - name: Remove old cloud provider config + file: + path: "{{ item }}" + state: absent + with_items: + - /etc/kubernetes/cloud_config +- hosts: kube-master[0] + tasks: + - name: Include kubespray-default variables + include_vars: ../roles/kubespray-defaults/defaults/main.yaml + - name: Copy get_cinder_pvs.sh to master + copy: + src: get_cinder_pvs.sh + dest: /tmp + mode: u+rwx + - name: Get PVs provisioned by in-tree cloud provider + command: /tmp/get_cinder_pvs.sh + register: pvs + - name: Remove get_cinder_pvs.sh + file: + path: /tmp/get_cinder_pvs.sh + state: absent + - name: Rewrite the "pv.kubernetes.io/provisioned-by" annotation + command: "{{ bin_dir }}/kubectl annotate --overwrite pv {{ item }} pv.kubernetes.io/provisioned-by=cinder.csi.openstack.org" + loop: "{{ pvs.stdout_lines | list }}"