fuel-ccp-installer/utils/kargo/roles/postinstall/tasks/main.yml

73 lines
2.1 KiB
YAML

---
- name: pick dnsmasq cluster IP
set_fact:
dnsmasq_server: >-
{%- if skip_dnsmasq|bool -%}{{ skydns_server }}{%- else -%}{{ dns_server }}{%- endif -%}
- name: Wait for kubedns to be ready
shell: "nslookup kubernetes.default.svc.{{ dns_domain }} {{ dnsmasq_server }}"
register: kubernetes_resolvable
until: kubernetes_resolvable.rc == 0
delay: 5
retries: 5
changed_when: false
- name: Copy network test script
copy:
src: test_networking.sh
dest: "{{ bin_dir }}/test_networking.sh"
owner: root
group: root
mode: 0755
- name: Get current list of kube nodes
command: kubectl get nodes
register: kubectl_nodes
delegate_to: "{{groups['kube-node'][0]}}"
run_once: true
- name: Ensure kube-nodes are in list of nodes
fail:
msg: "{{inventory_hostname}} is not in kubectl get nodes"
when: inventory_hostname in groups['kube-node'] and
inventory_hostname not in kubectl_nodes.stdout
- name: Test networking connectivity
shell: "bash {{ bin_dir }}/test_networking.sh"
environment:
KUBEDNS_IP: "{{ skydns_server }}"
DNSMASQ_IP: "{{ dnsmasq_server }}"
ADMIN_USER: "{{ ansible_user }}"
ADMIN_IP: "{{ hostvars[groups['kube-master'][0]]['ip'] | default(hostvars[groups['kube-master'][0]]['ansible_default_ipv4']['address']) }}"
SLAVE_IPS: "{{ ip }}"
changed_when: false
become: no
- name: Check netchecker status
uri: url=http://localhost:31081/api/v1/connectivity_check
register: netchecker_status
until: netchecker_status.status == 200
retries: 6
delay: 20
delegate_to: "{{groups['kube-node'][0]}}"
run_once: true
become: no
when: deploy_netchecker|bool | default(false)
- name: Copy dashboard definition
copy:
src: kubernetes-dashboard.yml
dest: /etc/kubernetes/kubernetes-dashboard.yml
owner: root
group: root
mode: 0644
register: dashboard
delegate_to: "{{groups['kube-master'][0]}}"
run_once: true
- name: Create Kubernetes dashboard
command: "{{ bin_dir }}/kubectl create -f /etc/kubernetes/kubernetes-dashboard.yml"
when: dashboard.changed
delegate_to: "{{groups['kube-master'][0]}}"
run_once: true