VOL-642: Installation of VOLT-HA in a Kubernetes cluster
- Changed existing installer to support swarm and kubernetes
- Using kubespray as the base framework to deploy kubernetes
- Implemented config/deploy/teardown tasks for voltha
Amendments:
- Changed from python to python3 when running the inventory builder
Change-Id: I059fd348b9a749397b373e333b5602944c817745
diff --git a/install/ansible/roles/voltha-kubernetes/tasks/config.yml b/install/ansible/roles/voltha-kubernetes/tasks/config.yml
new file mode 100644
index 0000000..87e5ab2
--- /dev/null
+++ b/install/ansible/roles/voltha-kubernetes/tasks/config.yml
@@ -0,0 +1,83 @@
+# Note: When the target == "cluster" the installer
+# is running to install voltha in the cluster hosts.
+# Whe the target == "installer" the installer is being
+# created.
+- name: VOLT-HA Config | The environment is properly set on login
+ template:
+ src: bashrc.j2
+ dest: "{{ target_voltha_home }}/.bashrc"
+ owner: voltha
+ group: voltha
+ mode: "u=rw,g=r,o=r"
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | The .bashrc file is executed on ssh login
+ template:
+ src: bash_profile.j2
+ dest: "{{ target_voltha_home }}/.bash_profile"
+ owner: voltha
+ group: voltha
+ mode: "u=rw,g=r,o=r"
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Required directory exists
+ file:
+ path: "{{ target_voltha_dir }}"
+ state: directory
+ owner: voltha
+ group: voltha
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Configuration files and directories are copied
+ synchronize:
+ src: "{{ install_source }}/{{ item }}"
+ dest: "{{ target_voltha_dir }}"
+ archive: no
+ owner: no
+ perms: no
+ recursive: yes
+ links: yes
+ with_items:
+ - k8s
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Configuration directories are owned by voltha
+ file:
+ path: "{{ target_voltha_dir }}/{{ item }}"
+ owner: voltha
+ group: voltha
+ recurse: yes
+ follow: no
+ with_items:
+ - k8s
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Docker containers for Voltha are pulled
+ command: docker pull {{ docker_registry }}/{{ item }}
+ with_items: "{{ voltha_containers }}"
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Docker images are re-tagged to expected names
+ command: docker tag {{ docker_registry }}/{{ item }} {{ item }}
+ with_items: "{{ voltha_containers }}"
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Docker images are re-tagged to cluster registry names
+ command: docker tag {{ docker_registry }}/{{ item }} {{ inventory_hostname }}:5001/{{ item }}
+ with_items: "{{ voltha_containers }}"
+ when: target == "cluster"
+ tags: [voltha]
+
+- name: VOLT-HA Config | Add CNI bridge for PONSIM layer 2 support
+ template:
+ src: ponsim_bridge.j2
+ dest: "/etc/cni/net.d/10-pon0.conf"
+ when: target == "cluster"
+ tags: [voltha]
\ No newline at end of file