fix: add asseriton for ovs upgrade
diff --git a/playbooks/openstack.yml b/playbooks/openstack.yml
index db8eda5..25a7913 100644
--- a/playbooks/openstack.yml
+++ b/playbooks/openstack.yml
@@ -102,10 +102,18 @@
tags:
- placement
+- name: Deploy Open vSwitch
+ hosts: controllers:computes
+ become: true
+ gather_facts: false
+ roles:
- role: openvswitch
tags:
- openvswitch
+- hosts: controllers[0]
+ become: true
+ roles:
- role: libvirt
tags:
- libvirt
diff --git a/roles/openvswitch/tasks/main.yml b/roles/openvswitch/tasks/main.yml
index 908b004..9b3b1d5 100644
--- a/roles/openvswitch/tasks/main.yml
+++ b/roles/openvswitch/tasks/main.yml
@@ -12,6 +12,21 @@
# License for the specific language governing permissions and limitations
# under the License.
+# NOTE(mnaser): Open vSwitch will refuse to start if `DefaultLimitMEMLOCK` is
+# not set to `infinity` in `/etc/systemd/system.conf`, so we run
+# this task to ensure that it is set.
+- name: Verify that DefaultLimitMEMLOCK is configured
+ block:
+ - name: Get the current status of all systemd values
+ changed_when: false
+ ansible.builtin.command: systemctl show --property DefaultLimitMEMLOCK # noqa: command-instead-of-module
+ register: _openvswitch_memlock_value
+
+ - name: Assert that DefaultLimitMEMLOCK is set to infinity
+ ansible.builtin.assert:
+ that:
+ - "'DefaultLimitMEMLOCK=infinity' in _openvswitch_memlock_value.stdout"
+
- name: Uninstall the legacy HelmRelease
run_once: true
block:
diff --git a/roles/upload_helm_chart/tasks/main.yml b/roles/upload_helm_chart/tasks/main.yml
index 02bcfaf..b650da8 100644
--- a/roles/upload_helm_chart/tasks/main.yml
+++ b/roles/upload_helm_chart/tasks/main.yml
@@ -1,4 +1,5 @@
- name: Upload Helm chart
+ run_once: true
ansible.posix.synchronize:
src: "{{ upload_helm_chart_src }}"
dest: "{{ upload_helm_chart_dest }}"