blob: 0871fb2be51ce0973d7ff15519d50507505302ad [file] [log] [blame]
Mohammed Naserb7b97d62022-03-12 16:30:00 -05001# Copyright (c) 2022 VEXXHOST, Inc.
2#
3# Licensed under the Apache License, Version 2.0 (the "License"); you may
4# not use this file except in compliance with the License. You may obtain
5# a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12# License for the specific language governing permissions and limitations
13# under the License.
14
Oleksandr Kozachenko316f6a72023-03-01 14:14:40 +010015# NOTE(mnaser): Open vSwitch will refuse to start if `LimitMEMLOCK` is
Mohammed Naser179bf0d2023-02-17 23:03:23 +000016# not set to `infinity` in `/etc/systemd/system.conf`, so we run
17# this task to ensure that it is set.
Oleksandr Kozachenkoe5588952023-03-01 10:20:35 +010018- name: Verify that LimitMEMLOCK is configured for containerd
Mohammed Naser179bf0d2023-02-17 23:03:23 +000019 block:
Oleksandr Kozachenkoe5588952023-03-01 10:20:35 +010020 - name: Get the current status of all systemd values for containerd
Mohammed Naser179bf0d2023-02-17 23:03:23 +000021 changed_when: false
Oleksandr Kozachenko316f6a72023-03-01 14:14:40 +010022 ansible.builtin.command: systemctl show containerd --property LimitMEMLOCK # noqa: command-instead-of-module
Mohammed Naser179bf0d2023-02-17 23:03:23 +000023 register: _openvswitch_memlock_value
24
Oleksandr Kozachenkoe5588952023-03-01 10:20:35 +010025 - name: Assert that LimitMEMLOCK is set to infinity
Mohammed Naser179bf0d2023-02-17 23:03:23 +000026 ansible.builtin.assert:
27 that:
Oleksandr Kozachenkoe5588952023-03-01 10:20:35 +010028 - "'LimitMEMLOCK=infinity' in _openvswitch_memlock_value.stdout"
Mohammed Naser179bf0d2023-02-17 23:03:23 +000029
Yaguang Tang76e07442024-08-09 11:28:53 +080030- name: Cache openvswitch image before install or upgrade
31 block:
32 - name: Pull openvswitch image
33 ansible.builtin.command: crictl pull {{ atmosphere_images['openvswitch_vswitchd'] }}
34 register: pull_result
35 changed_when: false
36
37 - name: Verify openvswitch image pull
38 ansible.builtin.assert:
39 that:
40 - pull_result.rc == 0
41 - "'Image is up to date' in pull_result.stdout or 'Image pulled' in pull_result.stdout"
42 fail_msg: "Failed to pull openvswitch image"
43 success_msg: "Successfully pulled openvswitch image"
44
Mohammed Naserb7b97d62022-03-12 16:30:00 -050045- name: Deploy Helm chart
guilhermesteinmuller6cfbdff2023-01-24 19:52:34 +000046 run_once: true
Mohammed Naser1cec1072023-02-25 04:43:38 +000047 delegate_to: "{{ groups['controllers'][0] }}"
guilhermesteinmuller6cfbdff2023-01-24 19:52:34 +000048 kubernetes.core.helm:
Mohammed Naser2145fc32023-01-29 23:23:03 +000049 name: "{{ openvswitch_helm_release_name }}"
50 chart_ref: "{{ openvswitch_helm_chart_ref }}"
51 release_namespace: "{{ openvswitch_helm_release_namespace }}"
guilhermesteinmuller6cfbdff2023-01-24 19:52:34 +000052 create_namespace: true
Austin Talbot78a774a2024-09-25 10:15:36 -060053 kubeconfig: "{{ openvswitch_helm_kubeconfig }}"
Mohammed Naser2145fc32023-01-29 23:23:03 +000054 values: "{{ _openvswitch_helm_values | combine(openvswitch_helm_values, recursive=True) }}"