From 6f43f5c6fb3393008aee57801caa6b2d6090f699 Mon Sep 17 00:00:00 2001 From: Open vSwitch CI Date: Oct 22 2021 01:29:47 +0000 Subject: Import openvswitch2.13-2.13.0-133 from Fast DataPath --- diff --git a/SOURCES/openvswitch-2.13.0.patch b/SOURCES/openvswitch-2.13.0.patch index 91d23d1..b02b19f 100644 --- a/SOURCES/openvswitch-2.13.0.patch +++ b/SOURCES/openvswitch-2.13.0.patch @@ -86843,7 +86843,7 @@ index 8aec6bbac1..ba55566926 100644 from collections import Sequence, MutableSequence from functools import wraps diff --git a/python/ovs/db/idl.py b/python/ovs/db/idl.py -index 020291d486..4cf79cf94e 100644 +index 020291d486..5a17cbd001 100644 --- a/python/ovs/db/idl.py +++ b/python/ovs/db/idl.py @@ -12,6 +12,7 @@ @@ -86865,7 +86865,15 @@ index 020291d486..4cf79cf94e 100644 class Idl(object): """Open vSwitch Database Interface Definition Language (OVSDB IDL). -@@ -241,6 +246,7 @@ class Idl(object): +@@ -96,6 +101,7 @@ class Idl(object): + IDL_S_SERVER_MONITOR_REQUESTED = 2 + IDL_S_DATA_MONITOR_REQUESTED = 3 + IDL_S_DATA_MONITOR_COND_REQUESTED = 4 ++ IDL_S_MONITORING = 5 + + def __init__(self, remote, schema_helper, probe_interval=None, + leader_only=True): +@@ -241,6 +247,7 @@ class Idl(object): i = 0 while i < 50: i += 1 @@ -86873,7 +86881,7 @@ index 020291d486..4cf79cf94e 100644 if not self._session.is_connected(): break -@@ -269,7 +275,7 @@ class Idl(object): +@@ -269,7 +276,7 @@ class Idl(object): if msg.params[0] == str(self.server_monitor_uuid): self.__parse_update(msg.params[1], OVSDB_UPDATE, tables=self.server_tables) @@ -86882,7 +86890,15 @@ index 020291d486..4cf79cf94e 100644 if not self.__check_server_db(): self.force_reconnect() break -@@ -312,7 +318,7 @@ class Idl(object): +@@ -288,6 +295,7 @@ class Idl(object): + else: + assert self.state == self.IDL_S_DATA_MONITOR_REQUESTED + self.__parse_update(msg.result, OVSDB_UPDATE) ++ self.state = self.IDL_S_MONITORING + + except error.Error as e: + vlog.err("%s: parse error in received schema: %s" +@@ -312,7 +320,7 @@ class Idl(object): self.__error() break else: @@ -86891,7 +86907,7 @@ index 020291d486..4cf79cf94e 100644 self.__send_monitor_request() elif (msg.type == ovs.jsonrpc.Message.T_REPLY and self._server_monitor_request_id is not None -@@ -322,7 +328,7 @@ class Idl(object): +@@ -322,7 +330,7 @@ class Idl(object): self._server_monitor_request_id = None self.__parse_update(msg.result, OVSDB_UPDATE, tables=self.server_tables) @@ -86900,7 +86916,7 @@ index 020291d486..4cf79cf94e 100644 if self.__check_server_db(): self.__send_monitor_request() self.__send_db_change_aware() -@@ -336,7 +342,7 @@ class Idl(object): +@@ -336,7 +344,7 @@ class Idl(object): self.__error() break else: @@ -86909,7 +86925,7 @@ index 020291d486..4cf79cf94e 100644 self.__send_monitor_request() elif (msg.type == ovs.jsonrpc.Message.T_REPLY and self._db_change_aware_request_id is not None -@@ -372,7 +378,7 @@ class Idl(object): +@@ -372,7 +380,7 @@ class Idl(object): self.force_reconnect() break else: @@ -86918,7 +86934,7 @@ index 020291d486..4cf79cf94e 100644 self.__send_monitor_request() elif (msg.type in (ovs.jsonrpc.Message.T_ERROR, ovs.jsonrpc.Message.T_REPLY) -@@ -614,6 +620,7 @@ class Idl(object): +@@ -614,6 +622,7 @@ class Idl(object): raise error.Error(" is not an object", table_updates) @@ -86926,7 +86942,7 @@ index 020291d486..4cf79cf94e 100644 for table_name, table_update in table_updates.items(): table = tables.get(table_name) if not table: -@@ -639,7 +646,9 @@ class Idl(object): +@@ -639,7 +648,9 @@ class Idl(object): % (table_name, uuid_string)) if version == OVSDB_UPDATE2: @@ -86937,7 +86953,7 @@ index 020291d486..4cf79cf94e 100644 self.change_seqno += 1 continue -@@ -652,17 +661,20 @@ class Idl(object): +@@ -652,17 +663,20 @@ class Idl(object): raise error.Error(' missing "old" and ' '"new" members', row_update) @@ -86962,7 +86978,7 @@ index 020291d486..4cf79cf94e 100644 else: # XXX rate-limit vlog.warn("cannot delete missing row %s from table" -@@ -681,29 +693,27 @@ class Idl(object): +@@ -681,29 +695,27 @@ class Idl(object): changed = self.__row_update(table, row, row_update) table.rows[uuid] = row if changed: @@ -86997,7 +87013,7 @@ index 020291d486..4cf79cf94e 100644 else: # XXX rate-limit vlog.warn("cannot delete missing row %s from table %s" -@@ -723,7 +733,7 @@ class Idl(object): +@@ -723,7 +735,7 @@ class Idl(object): if op == ROW_CREATE: table.rows[uuid] = row if changed: @@ -87006,7 +87022,7 @@ index 020291d486..4cf79cf94e 100644 else: op = ROW_UPDATE if not row: -@@ -737,8 +747,8 @@ class Idl(object): +@@ -737,8 +749,8 @@ class Idl(object): if op == ROW_CREATE: table.rows[uuid] = row if changed: @@ -87017,7 +87033,19 @@ index 020291d486..4cf79cf94e 100644 def __check_server_db(self): """Returns True if this is a valid server database, False otherwise.""" -@@ -1567,10 +1577,9 @@ class Transaction(object): +@@ -1458,6 +1470,11 @@ class Transaction(object): + if self != self.idl.txn: + return self._status + ++ if self.idl.state != Idl.IDL_S_MONITORING: ++ self._status = Transaction.TRY_AGAIN ++ self.__disassemble() ++ return self._status ++ + # If we need a lock but don't have it, give up quickly. + if self.idl.lock_name and not self.idl.has_lock: + self._status = Transaction.NOT_LOCKED +@@ -1567,10 +1584,9 @@ class Transaction(object): for col, val in row._mutations['_inserts'].items(): column = row._table.columns[col] if column.type.is_map(): diff --git a/SPECS/openvswitch2.13.spec b/SPECS/openvswitch2.13.spec index 2ec5042..8cf050c 100644 --- a/SPECS/openvswitch2.13.spec +++ b/SPECS/openvswitch2.13.spec @@ -59,7 +59,7 @@ Summary: Open vSwitch Group: System Environment/Daemons daemon/database/utilities URL: http://www.openvswitch.org/ Version: 2.13.0 -Release: 132%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} +Release: 133%{?commit0:.%{date}git%{shortcommit0}}%{?commit1:dpdk%{shortcommit1}}%{?dist} # Nearly all of openvswitch is ASL 2.0. The bugtool is LGPLv2+, and the # lib/sflow*.[ch] files are SISSL @@ -712,6 +712,12 @@ exit 0 %endif %changelog +* Thu Oct 21 2021 Open vSwitch CI - 2.13.0-133 +- Merging upstream branch-2.13 [RH git: d37b008459] + Commit list: + 70f6efa41c python: idl: Avoid sending transactions when the DB is not synced up. + + * Tue Oct 19 2021 Open vSwitch CI - 2.13.0-132 - Merging upstream branch-2.13 [RH git: 60a72ee3f6] Commit list: