Skip to content

Commit

Permalink
csi-driver installation
Browse files Browse the repository at this point in the history
Signed-off-by: Prajyot-Parab <prajyot.parab2@ibm.com>
  • Loading branch information
Prajyot-Parab committed Apr 22, 2022
1 parent 284b597 commit 0be3b1b
Show file tree
Hide file tree
Showing 9 changed files with 107 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,20 @@ service_instance_id: "bc895dc9-f626-41c0-bfd3-94a0d8942a5f" #IBM Cloud PowerVS
region: "mon" #IBM Cloud PowerVS service instance region
zone: "mon01" #IBM Cloud PowerVS service instance zone

#Upstream ibm-powervs-block-csi-driver url - https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/deploy/kubernetes/overlays/{csi_driver_type}/?ref={csi_driver_version}
csi_driver_type: "stable" #CSI driver type. Refers to the stable state of upstream ibm-powervs-block-csi-driver deployment code.
csi_driver_version: "v0.1.0" #CSI driver version. Refers to the version of the stable upstream ibm-powervs-block-csi-driver deployment code.

masters:
- name: "mon01-master-0.rdr-pd-410.redhat.com" #OCP Nodes Master name
- name: "mon01-master-0.rdr-pd-410.redhat.com" #OCP Nodes Master name
id: "03c203dc-814f-4e61-88c1-6af4cb6d2e3d" #OCP Nodes Master instance id
- name: "mon01-master-1.rdr-pd-410.redhat.com"
id: "0b67d0c2-339f-45ee-95b3-9b6d7c7524ef"
- name: "mon01-master-2.rdr-pd-410.redhat.com"
id: "38d98bb1-fb58-4ca8-a1c0-a7fb60625716"

workers:
- name: "mon01-worker-0.rdr-pd-410.redhat.com" #OCP Nodes Worker name
- name: "mon01-worker-0.rdr-pd-410.redhat.com" #OCP Nodes Worker name
id: "e24feb20-a962-49a9-9a24-1fe19861f81e" #OCP Nodes Worker instance id
- name: "mon01-worker-1.rdr-pd-410.redhat.com"
id: "e24feb20-a962-49a9-9a24-1fe19861f81e"
5 changes: 0 additions & 5 deletions playbooks/csi_driver_config.yaml

This file was deleted.

13 changes: 13 additions & 0 deletions playbooks/csi_driver_install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
- name: CSI Driver installation
hosts: bastion[0]
tasks:
- name: Fail csi-driver installation incase 'IBMCLOUD_API_KEY' environment variable is an empty string
fail:
msg: IBMCLOUD_API_KEY environment variable must be a non-empty string.
when: (lookup('env', 'IBMCLOUD_API_KEY') == "")

- include_role:
name: csi-driver-install
vars:
IBMCLOUD_API_KEY: "{{ lookup('env', 'IBMCLOUD_API_KEY') }}"
45 changes: 0 additions & 45 deletions playbooks/roles/csi-driver-config/README.md

This file was deleted.

57 changes: 57 additions & 0 deletions playbooks/roles/csi-driver-install/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
csi-driver-install: PowerVS Block CSI Driver Installation
=========

This module will perform necessary configuration on OCP nodes required for CSI Driver installation.

Requirements
------------

- A working OCP 4.X cluster

Role Variables
--------------

| Variable | Required | Default | Comments |
|--------------------------------|----------|----------|---------------------------------------------------------------|
| csi_driver_type | no | `stable` | Set to csi-driver type. Refers to the stable state of upstream ibm-powervs-block-csi-driver deployment code. Upstream ibm-powervs-block-csi-driver url - `https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/deploy/kubernetes/overlays/{csi_driver_type}/?ref={csi_driver_version}` |
| csi_driver_version | no | `v0.1.0` | Set to csi-driver version. Refers to the version of the stable upstream ibm-powervs-block-csi-driver deployment code. Upstream ibm-powervs-block-csi-driver url - `https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/deploy/kubernetes/overlays/{csi_driver_type}/?ref={csi_driver_version}` |
| service_instance_id | yes | | IBM Cloud PowerVS service instance id. |
| region | yes | | IBM Cloud PowerVS service instance region. eg. mon |
| zone | yes | | IBM Cloud PowerVS service instance zone. eg. mon01 |
| masters.name | yes | | OCP Nodes Master name. |
| masters.id | yes | | OCP Nodes Master instance id. |
| workers.name | yes | | OCP Nodes Worker name. |
| workers.id | yes | | OCP Nodes Worker instance id. |

Dependencies
------------

- Export the IBM Cloud API Key

```
$ set +o history
$ export IBMCLOUD_API_KEY='<your API key>'
$ set -o history
```

Example Playbook
----------------

- name: CSI Driver installation
hosts: bastion[0]
tasks:
- include_role:
name: csi-driver-install
vars:
IBMCLOUD_API_KEY: (lookup('env', 'IBMCLOUD_API_KEY')
when: (lookup('env', 'IBMCLOUD_API_KEY') != "")

License
-------

See LICENCE.txt

Author Information
------------------

Prajyot Parab (prajyot.parab2@ibm.com)
5 changes: 5 additions & 0 deletions playbooks/roles/csi-driver-install/defaults/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
# defaults file

csi_driver_type: "stable"
csi_driver_version: "v0.1.0"
18 changes: 18 additions & 0 deletions playbooks/roles/csi-driver-install/tasks/install.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
# tasks file for csi driver installation

- name: Create a Secret resource
k8s:
state: present
definition:
apiVersion: v1
kind: Secret
metadata:
name: ibm-secret
namespace: kube-system
labels:
stringData:
IBMCLOUD_API_KEY: "{{ IBMCLOUD_API_KEY }}"

- name: Create csi driver resource
shell: kubectl apply -k "https://github.com/kubernetes-sigs/ibm-powervs-block-csi-driver/deploy/kubernetes/overlays/{{ csi_driver_type }}?ref={{ csi_driver_version }}"
8 changes: 8 additions & 0 deletions playbooks/roles/csi-driver-install/tasks/main.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
# tasks file for csi driver config and install

- name: Run csi driver configuration tasks
import_tasks: config.yaml

- name: Run csi driver installation tasks
import_tasks: install.yaml

0 comments on commit 0be3b1b

Please sign in to comment.