- name: disable telegraf for host service include_role: name: utils/disable-telegraf-service - name: "set lbagent_listen_interface for IPv6" set_fact: 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')) }}" when: ip_type is defined and ip_type == 'ipv6' - name: "set lbagent_access_ip for IPv6" set_fact: lbagent_access_ip: "{{ node_ip | default(ansible_all_ipv6_addresses | difference(['::1']) | select('match', '^(?!fe80:).*') | first) }}" when: ip_type is defined and ip_type == 'ipv6' - name: "set lbagent_listen_interface to {{ ansible_default_ipv4.interface }}" set_fact: lbagent_listen_interface: "{{ ansible_default_ipv4.interface }}" when: ip_type is not defined or ip_type != 'ipv6' - name: "set lbagent_access_ip to {{ ansible_default_ipv4.address|default(ansible_all_ipv4_addresses[0]) }}" set_fact: lbagent_access_ip: "{{ ansible_default_ipv4.address|default(ansible_all_ipv4_addresses[0]) }}" when: ip_type is not defined or ip_type != 'ipv6' - name: ensure that the directory /etc/yunion/ exists. file: path: /etc/yunion/ state: directory mode: '0755' - name: copy lbagent configuration file template: dest: /etc/yunion/lbagent.conf src: lbagent.conf.j2 mode: '0755' # this service can not be enabled on ubunt/debian - name: enable openvswitch service: name: "{{ item }}" enabled: yes state: started loop: - openvswitch when: - ansible_os_family != 'Debian' - onecloud_version is version('v4.0', '<') - name: add label onecloud.yunion.io/lbagent=enable to {{ k8s_controlplane_host }} shell: | KUBECONFIG={{ENV_KUBECONFIG}} {{ K3S_CMDLINE_PREFIX }} kubectl label node {{ ansible_hostname }} onecloud.yunion.io/lbagent=enable delegate_to: "{{ k8s_controlplane_host }}" run_once: yes environment: http_proxy: '' https_proxy: ''