main.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. - block:
  2. - name: generate clickhouse spec conf
  3. template:
  4. src: clickhouse.spec.j2
  5. dest: /tmp/clickhouse.spec.yaml
  6. - name: Apply modifications for clickhouse
  7. environment:
  8. KUBECONFIG: "{{ ENV_KUBECONFIG }}"
  9. shell: |
  10. {{ K3S_CMDLINE_PREFIX }} kubectl patch onecloudclusters -n onecloud default --patch "$(cat /tmp/clickhouse.spec.yaml)" --type merge
  11. for i in autoupdate cloudevent glance keystone region kubeserver logger meter monitor notify webconsole
  12. do
  13. {{ K3S_CMDLINE_PREFIX }} kubectl delete configmap -n onecloud default-$i
  14. {{ K3S_CMDLINE_PREFIX }} kubectl rollout restart deployment -n onecloud default-$i
  15. done
  16. sleep 30
  17. # check all services that use clickhouse
  18. for i in autoupdate cloudevent glance keystone region kubeserver logger meter monitor notify webconsole
  19. do
  20. {{ K3S_CMDLINE_PREFIX }} kubectl -n onecloud get configmap default-$i -o yaml | grep -qP '^\s+clickhouse: tcp'
  21. done
  22. args:
  23. executable: /bin/bash
  24. retries: 10
  25. register: clickhouse_result
  26. delay: 30
  27. ignore_errors: true
  28. become: yes
  29. until: clickhouse_result.rc == 0
  30. - name: clean tmp files
  31. shell: |
  32. rm -f /tmp/clickhouse.spec.yaml
  33. when:
  34. - offline_data_path is defined
  35. - offline_data_path | length > 0
  36. - ch_password | default('') | length > 0