ansible/test/integration/targets/openvswitch_db/tests/basic.yaml
Jakub Libosvar 6b81a39daa openvswitch_db: Make 'key' parameter optional (#42110) (#43552)
* 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 commit 3c53e2f8ea)

* 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 commit 26b0908270)
(cherry picked from commit 01097715fd9466c64bfb37d7604d095275a5e9d8)
2018-08-08 16:01:42 +02:00

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