diff options
author | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2022-04-20 11:32:38 +0000 |
---|---|---|
committer | Michal Jagiello <michal.jagiello@t-mobile.pl> | 2022-04-20 11:32:38 +0000 |
commit | 0a22650bbcc263fcb42193468197f3ec290e195e (patch) | |
tree | 58006556d80dd25b3870f1d7daedad94056ef17e /src/onaptests/steps | |
parent | 81584955687e053d0697a63131b026fa0eda47c7 (diff) |
[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 <michal.jagiello@t-mobile.pl>
Change-Id: I95dfd21f2dc92021b89db9e62abbb0005c06f907
Diffstat (limited to 'src/onaptests/steps')
-rw-r--r-- | src/onaptests/steps/onboard/service.py | 25 |
1 files 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: |