From 3ee741af5764ef699323863ff151c8cd2e62fe76 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Feb 24 2021 15:30:29 +0000 Subject: Apply patch BZ_1916073_retry_on_failure_when_activate.patch patch_name: BZ_1916073_retry_on_failure_when_activate.patch present_in_specfile: true location_in_specfile: 18 --- diff --git a/libnmstate/nm/connection.py b/libnmstate/nm/connection.py index 5b9a3ae..45cb690 100644 --- a/libnmstate/nm/connection.py +++ b/libnmstate/nm/connection.py @@ -180,7 +180,8 @@ class ConnectionProfile: "BUG: Cannot activate a profile with empty profile id and " "empty NM.Device" ) - user_data = action + retry = True + user_data = action, retry self._ctx.register_async(action) self._ctx.client.activate_connection_async( self.profile, @@ -267,7 +268,7 @@ class ConnectionProfile: if self._ctx.is_cancelled(): self._activation_clean_up() return - action = user_data + action, retry = user_data try: nm_act_con = src_object.activate_connection_finish(result) @@ -279,6 +280,20 @@ class ConnectionProfile: ) return else: + if retry: + retry = False + user_data = action, retry + specific_object = None + logging.debug(f"Action {action} failed, trying again.") + self._ctx.client.activate_connection_async( + self.profile, + self.nmdevice, + specific_object, + self._ctx.cancellable, + self._active_connection_callback, + user_data, + ) + return self._ctx.fail( NmstateLibnmError(f"{action} failed: error={e}") )