6b81a39daa
* openvswitch_db: Split key-value pairs correctly (#33335) Map values can contain commas, e.g. - name: Configure OVN bridge mapping openvswitch_db: state: present table: open_vswitch record: . col: external_ids key: ovn-bridge-mappings value: '"vmnet-static:br-vmnet-st,vmnet-dynamic:br-vmnet-dyn"' Previous behaviour was splitting the value and raised an exception. (cherry picked from commit3c53e2f8ea
) * openvswitch_db: Make 'key' parameter optional (#42110) The OVSDB schema consists of typed columns. The 'key' parameter is required only for columns with type of a 'map'. This patch makes 'key' an optional parameter to allow setting values for other column types like int. Fixes #42108 (cherry picked from commit26b0908270
) (cherry picked from commit 01097715fd9466c64bfb37d7604d095275a5e9d8)
128 lines
2.3 KiB
YAML
128 lines
2.3 KiB
YAML
---
|
|
|
|
- name: Make sure test bridge does not exist before tests
|
|
command: ovs-vsctl del-br br-test
|
|
ignore_errors: yes
|
|
|
|
- name: Create test bridge
|
|
command: ovs-vsctl add-br br-test
|
|
|
|
- name: Create bridge
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: true
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: Create bridge again (idempotent)
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: true
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Change column value in a map
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: false
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: Change column value in a map again (idempotent)
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: false
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Change column value
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: stp_enable
|
|
value: true
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: Change column value again (idempotent)
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: stp_enable
|
|
value: true
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Try to set value on a map type without a key (negative)
|
|
ignore_errors: true
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
value: true
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.failed == true"
|
|
|
|
- name: Remove bridge
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: false
|
|
state: absent
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == true"
|
|
|
|
- name: Remove bridge again (idempotent)
|
|
openvswitch_db:
|
|
table: Bridge
|
|
record: br-test
|
|
col: other_config
|
|
key: disable-in-band
|
|
value: false
|
|
state: absent
|
|
register: result
|
|
|
|
- assert:
|
|
that:
|
|
- "result.changed == false"
|
|
|
|
- name: Tear down test bridge
|
|
command: ovs-vsctl del-br br-test
|