Move functionality from playbook to rancher role.
Introduce defaults for holding default values in rancher role.
Other small changes noticed while testing rancher role with molecule.
Issue-ID: OOM-1729
Change-Id: I83befa9f0964c67e209d3def76bafd2a61c1ef33
Signed-off-by: Samuli Silvius <s.silvius@partner.samsung.com>
- registry.npmjs.org
all_simulated_hosts:
"{{ simulated_hosts.git + simulated_hosts.http + simulated_hosts.nexus }}"
-rancher_server_url: "http://{{ hostvars[groups.infrastructure.0].ansible_host }}:8080"
rancher_server_version: v1.6.22
-rancher_remove_other_env: yes
-rancher_redeploy_k8s_env: yes
-populate_nexus: no
-kube_directory: /root/.kube
-kubectl_bin_dir: /usr/local/bin
+populate_nexus: false
helm_bin_dir: /usr/local/bin
helm_repository_name: local
helm_repository_url: http://127.0.0.1:8879
---
-- name: Install binaries for controlling deployment
+- name: Deploy rancher server and create k8s env
hosts: infrastructure
roles:
+ - role: rancher
+ vars:
+ mode: server
- kubectl
- helm
-- name: Deploy rancher server and create k8s env
- hosts: infrastructure
- roles:
- - rancher
- vars:
- rancher_role: server
-
-- name: Deploy rancher agents
+- name: Deploy rancher agents for kube nodes
hosts: kubernetes
roles:
- - rancher
- vars:
- rancher_role: agent
+ - role: rancher
+ vars:
+ mode: agent
- name: Wait for Kubernetes environment to be healthy
hosts: infrastructure
- tasks:
- - name: Check cluster health
- uri:
- url: "{{ rancher_server_url }}/v2-beta/projects/{{ k8s_env_id }}"
- register: env_info
- retries: 30
- delay: 15
- until: "env_info.json.healthState == 'healthy'"
+ roles:
+ - role: rancher
+ vars:
+ mode: health
\ No newline at end of file
--- /dev/null
+---
+kubectl_bin_dir: /usr/local/bin
+kube_directory: ~/.kube
+# Defaulting to rancher setup
+kube_server: "https://{{ ansible_host }}:8080/r/projects/{{ k8s_env_id | mandatory }}/kubernetes:6443"
\ No newline at end of file
dest: "{{ kubectl_bin_dir }}/kubectl"
remote_src: true
mode: 0755
+
+- name: Ensure .kube directory exists
+ file:
+ path: "{{ kube_directory }}"
+ state: directory
+
+- name: Create kube config
+ template:
+ src: kube_config.j2
+ dest: "{{ kube_directory }}/config"
- cluster:
api-version: v1
insecure-skip-tls-verify: true
- server: "https://{{ ansible_host }}:8080/r/projects/{{ k8s_env_id }}/kubernetes:6443"
+ server: "{{ kube_server }}"
name: "{{ app_name }}"
contexts:
- context:
--- /dev/null
+---
+rancher_server_url: "http://{{ hostvars[groups.infrastructure.0].ansible_host }}:8080"
+rancher_remove_other_env: true
+rancher_redeploy_k8s_env: true
---
-- include_tasks: "rancher_{{ rancher_role }}.yml"
+- include_tasks: "rancher_{{ mode }}.yml"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
- "/var/lib/rancher:/var/lib/rancher"
- auto_remove: yes
- privileged: yes
+ auto_remove: true
+ privileged: true
vars:
server_hostvars: "{{ hostvars[groups.infrastructure.0] }}"
--- /dev/null
+---
+- name: Check cluster health
+ uri:
+ url: "{{ rancher_server_url }}/v2-beta/projects/{{ k8s_env_id }}"
+ register: env_info
+ retries: 30
+ delay: 15
+ until: "env_info.json.healthState == 'healthy'"
# DO NOT ADD SPACE AROUND ';'
- name: Start rancher/server:{{ rancher_server_version }}
docker_container:
- name: rancher_server
+ name: rancher-server
image: rancher/server:{{ rancher_server_version }}
command: ["sh", "-c", "/usr/sbin/update-ca-certificates;/usr/bin/entry /usr/bin/s6-svscan /service"]
ports: 8080:8080
key_private: "{{ env.data.apikey.private }}"
rancher_agent_image: "{{ env.data.registration_tokens.image }}"
rancher_agent_reg_url: "{{ env.data.registration_tokens.reg_url }}"
-
-- name: Ensure .kube directory exists
- file:
- path: "{{ kube_directory }}"
- state: directory
-
-- name: Create kube config
- template:
- src: kube_config.j2
- dest: "{{ kube_directory }}/config"