mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2025-02-25 18:55:28 -06:00
Azure: Preliminary check for provided limits
Reviewed-By: Alexander Bokovoy <abokovoy@redhat.com>
This commit is contained in:
parent
6daf4d2e10
commit
1fa033c32d
@ -6,15 +6,19 @@ import yaml
|
||||
parser = argparse.ArgumentParser(description='Generate Azure jobs matrix.')
|
||||
parser.add_argument('azure_template', help='path to Azure template')
|
||||
|
||||
parser.add_argument('max_azure_env_jobs', type=int,
|
||||
help='maximum number of Docker envs within VM')
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
with open(args.azure_template) as f:
|
||||
data = yaml.safe_load(f)
|
||||
matrix_jobs = {}
|
||||
for vm in data['vms']:
|
||||
vm_jobs = vm['vm_jobs']
|
||||
jobs = {}
|
||||
job_name = ''
|
||||
for job_id, vm_job in enumerate(vm['vm_jobs'], 1):
|
||||
for job_id, vm_job in enumerate(vm_jobs, 1):
|
||||
if not job_name:
|
||||
job_name = f'{vm_job["container_job"]}_{job_id}'
|
||||
jobs[f'ipa_tests_env_name_{job_id}'] = vm_job['container_job']
|
||||
@ -33,7 +37,11 @@ with open(args.azure_template) as f:
|
||||
jobs[f'ipa_tests_replicas_{job_id}'] = replicas
|
||||
jobs[f'ipa_tests_clients_{job_id}'] = clients
|
||||
|
||||
job_name = f'{job_name}_to_{len(vm["vm_jobs"])}'
|
||||
if len(vm_jobs) > args.max_azure_env_jobs:
|
||||
raise ValueError(
|
||||
f"Number of defined jobs:{len(vm_jobs)} within VM:'{job_name}'"
|
||||
f" is greater than limit:{args.max_azure_env_jobs}")
|
||||
job_name = f'{job_name}_to_{len(vm_jobs)}'
|
||||
if job_name in matrix_jobs:
|
||||
raise ValueError(f"Environment names should be unique:{job_name}")
|
||||
matrix_jobs[job_name] = jobs
|
||||
|
@ -15,7 +15,5 @@ steps:
|
||||
{ echo "ipa_tests_env_name_${project} is mandatory."; exit 1; }
|
||||
done
|
||||
[ "$total_envs" -eq 0 ] && { echo 'Nothing to test'; env | sort ; exit 1; }
|
||||
[ "$total_envs" -gt $(MAX_CONTAINER_ENVS) ] && \
|
||||
{ echo "The number of defined jobs:${total_envs} cannot be greater than $(MAX_CONTAINER_ENVS)"; exit 1; }
|
||||
echo "##vso[task.setvariable variable=ipa_tests_total_envs]$total_envs"
|
||||
displayName: Generate environment variables
|
||||
|
@ -4,6 +4,6 @@ parameters:
|
||||
name: ''
|
||||
|
||||
steps:
|
||||
- script: python3 $(IPA_TESTS_SCRIPTS)/generate-matrix.py ${{ parameters.definition }}
|
||||
- script: python3 $(IPA_TESTS_SCRIPTS)/generate-matrix.py ${{ parameters.definition }} $(MAX_CONTAINER_ENVS)
|
||||
name: ${{ parameters.name }}
|
||||
displayName: ${{ parameters.displayName }}
|
||||
|
@ -7,7 +7,7 @@ variables:
|
||||
# Ubuntu-18.04 - 3.6.9
|
||||
# https://github.com/actions/virtual-environments/blob/master/images/linux/Ubuntu1804-REA DME.md
|
||||
VM_IMAGE: 'Ubuntu-18.04'
|
||||
MAX_CONTAINER_ENVS: 3
|
||||
MAX_CONTAINER_ENVS: 5
|
||||
IPA_TESTS_ENV_WORKING_DIR: $(Build.Repository.LocalPath)/ipa_envs
|
||||
IPA_TESTS_SCRIPTS: 'ipatests/azure/scripts'
|
||||
IPA_TESTS_DOCKERFILES: $(Build.Repository.LocalPath)/ipatests/azure/Dockerfiles
|
||||
|
Loading…
Reference in New Issue
Block a user