mirror of
https://github.com/Telecominfraproject/wlan-testing.git
synced 2025-10-28 17:42:31 +00:00
add Quali python scripts (#41)
Signed-off-by: Max Brenner <xamrennerb@gmail.com>
This commit is contained in:
29
.quali/common.py
Normal file
29
.quali/common.py
Normal file
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
import time
|
||||
|
||||
from cloudshell.api.cloudshell_api import CloudShellAPISession
|
||||
|
||||
TIMEOUT=600
|
||||
|
||||
def get_session():
|
||||
url = os.environ['CLOUDSHELL_URL']
|
||||
user = os.environ['CLOUDSHELL_USER']
|
||||
password = os.environ['CLOUDSHELL_PASSWORD']
|
||||
|
||||
return CloudShellAPISession(url, user, password, "Global")
|
||||
|
||||
|
||||
def wait_for_reservation_status(session, res_id, target_status):
|
||||
timer = 0
|
||||
sleep_time = 5
|
||||
while True:
|
||||
status = session.GetReservationStatus(res_id).ReservationSlimStatus.ProvisioningStatus
|
||||
|
||||
if status == target_status:
|
||||
break
|
||||
|
||||
if timer >= TIMEOUT:
|
||||
raise RuntimeError(f'waiting for reservation to reach status {target_status} timed out')
|
||||
|
||||
time.sleep(sleep_time)
|
||||
timer += sleep_time
|
||||
1
.quali/requirements.txt
Normal file
1
.quali/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
cloudshell-automation-api==2021.1.0.181140
|
||||
22
.quali/start_reservation.py
Normal file
22
.quali/start_reservation.py
Normal file
@@ -0,0 +1,22 @@
|
||||
import os
|
||||
|
||||
from common import wait_for_reservation_status, get_session
|
||||
|
||||
run_id = os.environ.get('GITHUB_RUN_NUMBER', 1)
|
||||
|
||||
def main():
|
||||
session = get_session()
|
||||
|
||||
reservation = session.CreateImmediateTopologyReservation(
|
||||
reservationName=f'sanity-{run_id}',
|
||||
owner=session.username,
|
||||
durationInMinutes=60,
|
||||
topologyFullPath='API TESTING'
|
||||
).Reservation
|
||||
|
||||
print(reservation.Id)
|
||||
|
||||
wait_for_reservation_status(session, reservation.Id, 'Ready')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
12
.quali/stop_reservation.py
Normal file
12
.quali/stop_reservation.py
Normal file
@@ -0,0 +1,12 @@
|
||||
import sys
|
||||
|
||||
from common import wait_for_reservation_status, get_session
|
||||
|
||||
def main():
|
||||
session = get_session()
|
||||
res_id = sys.argv[1]
|
||||
session.EndReservation(res_id)
|
||||
wait_for_reservation_status(session, res_id, 'Teardown')
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
Reference in New Issue
Block a user