From 3c8b2d2cd40235ad41d73f6b8f0323885ecc75ee Mon Sep 17 00:00:00 2001 From: Michal Jagiello Date: Wed, 20 Apr 2022 11:32:38 +0000 Subject: [INTEGRATION] Add one more conditional statement during service onboarding Sometimes if we restart tests service can be on the "unexpected" state - for example Checked In Then we shouldn't try to check it in again because it raises an exception Check if service is not already checked in and if it's move forward Issue-ID: SDC-3949 Signed-off-by: Michal Jagiello Change-Id: I95dfd21f2dc92021b89db9e62abbb0005c06f907 (cherry picked from commit 0a22650bbcc263fcb42193468197f3ec290e195e) --- src/onaptests/steps/onboard/service.py | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/src/onaptests/steps/onboard/service.py b/src/onaptests/steps/onboard/service.py index f95cc14..fa21d2c 100644 --- a/src/onaptests/steps/onboard/service.py +++ b/src/onaptests/steps/onboard/service.py @@ -72,8 +72,14 @@ class ServiceOnboardStep(BaseStep): # If service is replayed, no need to try to re-onboard the model # Double check because of: https://gitlab.com/Orange-OpenSource/lfn/onap/python-onapsdk/-/issues/176 if not service.distributed and service.status != onapsdk_const.DISTRIBUTED: - time.sleep(10) - service.checkin() + if service.status == onapsdk_const.DRAFT: + try: + service.checkin() + except (APIError, ResourceNotFound): + # Retry as checkin may be a bit long + # Temp workaround to avoid internal race in SDC + time.sleep(10) + service.checkin() service.onboard() @@ -173,13 +179,14 @@ class YamlTemplateServiceOnboardStep(YamlTemplateBaseStep): # If service is replayed, no need to try to re-onboard the model # Double check because of: https://gitlab.com/Orange-OpenSource/lfn/onap/python-onapsdk/-/issues/176 if not service.distributed and service.status != onapsdk_const.DISTRIBUTED: - try: - service.checkin() - except (APIError, ResourceNotFound): - # Retry as checkin may be a bit long - # Temp workaround to avoid internal race in SDC - time.sleep(10) - service.checkin() + if service.status == onapsdk_const.DRAFT: + try: + service.checkin() + except (APIError, ResourceNotFound): + # Retry as checkin may be a bit long + # Temp workaround to avoid internal race in SDC + time.sleep(10) + service.checkin() service.onboard() def declare_resources(self, service: Service) -> None: -- cgit 1.2.3-korg