WIFI-1967 add quali workflow (#42)

* add example Quali workflow
This commit is contained in:
Max
2021-05-04 16:52:14 +02:00
committed by GitHub
parent e118e049bf
commit c1bb42a5a4
4 changed files with 46 additions and 8 deletions

View File

@@ -3,7 +3,7 @@ import time
from cloudshell.api.cloudshell_api import CloudShellAPISession
TIMEOUT=600
TIMEOUT=1200
def get_session():
url = os.environ['CLOUDSHELL_URL']
@@ -12,12 +12,11 @@ def get_session():
return CloudShellAPISession(url, user, password, "Global")
def wait_for_reservation_status(session, res_id, target_status):
def __wait_for_status(session, res_id, field, target_status):
timer = 0
sleep_time = 5
while True:
status = session.GetReservationStatus(res_id).ReservationSlimStatus.ProvisioningStatus
status = session.GetReservationStatus(res_id).ReservationSlimStatus.__dict__[field]
if status == target_status:
break
@@ -27,3 +26,9 @@ def wait_for_reservation_status(session, res_id, target_status):
time.sleep(sleep_time)
timer += sleep_time
def wait_for_provisioning_status(session, res_id, target_status):
__wait_for_status(session, res_id, 'ProvisioningStatus', target_status)
def wait_for_reservation_status(session, res_id, target_status):
__wait_for_status(session, res_id, 'Status', target_status)

View File

@@ -1,6 +1,6 @@
import os
from common import wait_for_reservation_status, get_session
from common import wait_for_provisioning_status, get_session
run_id = os.environ.get('GITHUB_RUN_NUMBER', 1)
@@ -11,12 +11,12 @@ def main():
reservationName=f'sanity-{run_id}',
owner=session.username,
durationInMinutes=60,
topologyFullPath='API TESTING'
topologyFullPath='Testing - Basic Lab01'
).Reservation
print(reservation.Id)
wait_for_reservation_status(session, reservation.Id, 'Ready')
wait_for_provisioning_status(session, reservation.Id, 'Ready')
if __name__ == '__main__':
main()

View File

@@ -6,7 +6,7 @@ def main():
session = get_session()
res_id = sys.argv[1]
session.EndReservation(res_id)
wait_for_reservation_status(session, res_id, 'Teardown')
wait_for_reservation_status(session, res_id, 'Completed')
if __name__ == '__main__':
main()