On Wed, Dec 20, 2023 at 4:28 PM Mohammad Heib <[email protected]> wrote:

> Add basic flow columns to interconnect northbound DB and
> interconnect Southbound DB.
>
> Those columns will be used by future patches to add basic
> support for Information Flow in OVN  interconnect.
>
> Signed-off-by: Mohammad Heib <[email protected]>
> ---
> v3: rebase over main.
> ---
>  NEWS                |  8 ++++++++
>  ovn-ic-nb.ovsschema |  6 ++++--
>  ovn-ic-nb.xml       | 17 +++++++++++++++++
>  ovn-ic-sb.ovsschema |  8 +++++---
>  ovn-ic-sb.xml       | 21 +++++++++++++++++++++
>  5 files changed, 55 insertions(+), 5 deletions(-)
>
> diff --git a/NEWS b/NEWS
> index e10fb79dd..0be3b07cc 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -9,6 +9,14 @@ Post v23.09.0
>      connection method and doesn't require additional probing.
>      external_ids:ovn-openflow-probe-interval configuration option for
>      ovn-controller no longer matters and is ignored.
> +  - OVN Interconnection:
> +    * INB provides basic feedback to the CMS about the ISB changes
> +      handling status.
> +    * IC_NB_Global now have "nb_ic_cfg" and "sb_ic_cfg" columns for
> +      for ISB informational status.
> +    * IC_SB_Global now have "nb_ic_cfg" column for ISB informational
> status.
> +    * Availability_Zone now have "nb_ic_cfg" column for local AZ
> +      informational status.
>
>  OVN v23.09.0 - 15 Sep 2023
>  --------------------------
> diff --git a/ovn-ic-nb.ovsschema b/ovn-ic-nb.ovsschema
> index 894db8344..bee174357 100644
> --- a/ovn-ic-nb.ovsschema
> +++ b/ovn-ic-nb.ovsschema
> @@ -1,10 +1,12 @@
>  {
>      "name": "OVN_IC_Northbound",
> -    "version": "1.0.0",
> -    "cksum": "45589876 3383",
> +    "version": "1.1.0",
> +    "cksum": "3964083684 3501",
>      "tables": {
>          "IC_NB_Global": {
>              "columns": {
> +                "nb_ic_cfg": {"type": {"key": "integer"}},
> +                "sb_ic_cfg": {"type": {"key": "integer"}},
>                  "external_ids": {
>                      "type": {"key": "string", "value": "string",
>                               "min": 0, "max": "unlimited"}},
> diff --git a/ovn-ic-nb.xml b/ovn-ic-nb.xml
> index 8c53bec3b..2ae9bf6d5 100644
> --- a/ovn-ic-nb.xml
> +++ b/ovn-ic-nb.xml
> @@ -36,6 +36,23 @@
>        one row.
>      </p>
>
> +    <group title="Status">
> +      These columns allow a client to track the overall configuration
> state of
> +      the system.
> +
> +      <column name="nb_ic_cfg">
> +        Sequence number for client to increment. When a client modifies
> the
> +        interconnect northbound database configuration and wishes to wait
> for
> +        <code>OVN-ICs</code> to handle this change and update the
> Interconnect
> +        southbound database, it may increment this sequence number.
> +      </column>
> +      <column name="sb_ic_cfg">
> +        Sequence number that one <code>OVN-IC</code> sets to the value of
> +        <ref column="nb_ic_cfg"/> after waiting to all the
> <code>OVN-ICs</code>
> +        finish applying their changes to interconnect southbound database.
> +      </column>
> +    </group>
> +
>      <group title="Common Columns">
>        <column name="external_ids">
>          See <em>External IDs</em> at the beginning of this document.
> diff --git a/ovn-ic-sb.ovsschema b/ovn-ic-sb.ovsschema
> index 1d60b36d1..5baf141cf 100644
> --- a/ovn-ic-sb.ovsschema
> +++ b/ovn-ic-sb.ovsschema
> @@ -1,10 +1,11 @@
>  {
>      "name": "OVN_IC_Southbound",
> -    "version": "1.1.1",
> -    "cksum": "3684563024 6914",
> +    "version": "1.2.0",
> +    "cksum": "1381014956 7032",
>      "tables": {
>          "IC_SB_Global": {
>              "columns": {
> +                "nb_ic_cfg": {"type": {"key": "integer"}},
>                  "external_ids": {
>                      "type": {"key": "string", "value": "string",
>                               "min": 0, "max": "unlimited"}},
> @@ -24,7 +25,8 @@
>              "isRoot": true},
>          "Availability_Zone": {
>              "columns": {
> -                "name": {"type": "string"}},
> +                "name": {"type": "string"},
> +                "nb_ic_cfg": {"type": {"key": "integer"}}},
>              "isRoot": true,
>              "indexes": [["name"]]},
>          "Gateway": {
> diff --git a/ovn-ic-sb.xml b/ovn-ic-sb.xml
> index f7e17e113..c3e7d2173 100644
> --- a/ovn-ic-sb.xml
> +++ b/ovn-ic-sb.xml
> @@ -69,6 +69,21 @@
>        one row.
>      </p>
>
> +    <group title="Status">
> +      This column allow a client to track the overall configuration state
> of
> +      the system.
> +
> +      <column name="nb_ic_cfg">
> +        Sequence number for the configuration. When a CMS or
> +        <code>ovn-ic-nbctl</code> updates the Interconnect northbound
> database,
> +        it increments the <code>nb_ic_cfg</code> column in the
> +        <code>NB_IC_Global</code> table in the Interconnect northbound
> +        database. when <code>OVN-ICs</code> updates the southbound
> database to
> +        bring it up to date with these changes, one <code>OVN-IC</code>
> updates
> +        this column to the same value.
> +      </column>
> +    </group>
> +
>      <group title="Common Columns">
>        <column name="external_ids">
>          See <em>External IDs</em> at the beginning of this document.
> @@ -102,6 +117,12 @@
>      <column name="name">
>        A name that uniquely identifies the availability zone.
>      </column>
> +
> +    <column name="nb_ic_cfg">
> +      This column is used by the <code>OVN-IC</code> to inform
> +      that this IC instance is aligned with the changes in INB
> +    </column>
> +
>    </table>
>
>    <table name="Gateway" title="Interconnection Gateway Information">
> --
> 2.34.3
>
> _______________________________________________
> dev mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>
>
Looks good to me, thanks.

Acked-by: Ales Musil <[email protected]>

-- 

Ales Musil

Senior Software Engineer - OVN Core

Red Hat EMEA <https://www.redhat.com>

[email protected]
<https://red.ht/sig>
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to