main.yml 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. - name: disable telegraf for host service
  2. include_role:
  3. name: utils/disable-telegraf-service
  4. - name: "set lbagent_listen_interface for IPv6"
  5. set_fact:
  6. lbagent_listen_interface: "{{ ansible_default_ipv6.interface | default(ansible_all_ipv6_addresses | map('extract', hostvars[inventory_hostname], 'ansible_' + item) | selectattr('interface', 'defined') | map(attribute='interface') | first | default('eth0')) }}"
  7. when: ip_type is defined and ip_type == 'ipv6'
  8. - name: "set lbagent_access_ip for IPv6"
  9. set_fact:
  10. lbagent_access_ip: "{{ node_ip | default(ansible_all_ipv6_addresses | difference(['::1']) | select('match', '^(?!fe80:).*') | first) }}"
  11. when: ip_type is defined and ip_type == 'ipv6'
  12. - name: "set lbagent_listen_interface to {{ ansible_default_ipv4.interface }}"
  13. set_fact:
  14. lbagent_listen_interface: "{{ ansible_default_ipv4.interface }}"
  15. when: ip_type is not defined or ip_type != 'ipv6'
  16. - name: "set lbagent_access_ip to {{ ansible_default_ipv4.address|default(ansible_all_ipv4_addresses[0]) }}"
  17. set_fact:
  18. lbagent_access_ip: "{{ ansible_default_ipv4.address|default(ansible_all_ipv4_addresses[0]) }}"
  19. when: ip_type is not defined or ip_type != 'ipv6'
  20. - name: ensure that the directory /etc/yunion/ exists.
  21. file:
  22. path: /etc/yunion/
  23. state: directory
  24. mode: '0755'
  25. - name: copy lbagent configuration file
  26. template:
  27. dest: /etc/yunion/lbagent.conf
  28. src: lbagent.conf.j2
  29. mode: '0755'
  30. # this service can not be enabled on ubunt/debian
  31. - name: enable openvswitch
  32. service:
  33. name: "{{ item }}"
  34. enabled: yes
  35. state: started
  36. loop:
  37. - openvswitch
  38. when:
  39. - ansible_os_family != 'Debian'
  40. - onecloud_version is version('v4.0', '<')
  41. - name: add label onecloud.yunion.io/lbagent=enable to {{ k8s_controlplane_host }}
  42. shell: |
  43. KUBECONFIG={{ENV_KUBECONFIG}} {{ K3S_CMDLINE_PREFIX }} kubectl label node {{ ansible_hostname }} onecloud.yunion.io/lbagent=enable
  44. delegate_to: "{{ k8s_controlplane_host }}"
  45. run_once: yes
  46. environment:
  47. http_proxy: ''
  48. https_proxy: ''