From 4ad1944e87f1390c1d7aa8bb8e8ff5b9a43a239c Mon Sep 17 00:00:00 2001 From: Yutong Zhang Date: Tue, 4 Mar 2025 14:42:34 +0800 Subject: [PATCH 1/3] Validate docker image before uploading to registry --- .azure-pipelines/docker-sonic-mgmt.yml | 45 +++++++++++++++++++++++--- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/.azure-pipelines/docker-sonic-mgmt.yml b/.azure-pipelines/docker-sonic-mgmt.yml index dd48720a1fe..f1e7d71514a 100644 --- a/.azure-pipelines/docker-sonic-mgmt.yml +++ b/.azure-pipelines/docker-sonic-mgmt.yml @@ -20,6 +20,13 @@ pr: include: - dockers/docker-sonic-mgmt +resources: + repositories: + - repository: sonic-mgmt + type: github + name: sonic-net/sonic-mgmt + endpoint: sonic-net + parameters: - name: registry_url type: string @@ -46,7 +53,6 @@ stages: - bash: | set -xe git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data src/sonic-dash-api - make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic make -f Makefile.work BLDENV=bullseye SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y LEGACY_SONIC_MGMT_DOCKER=y target/docker-sonic-mgmt.gz cp target -r $(Build.ArtifactStagingDirectory)/target @@ -55,14 +61,43 @@ stages: env: REGISTRY_SERVER: ${{ parameters.registry_url }} displayName: Build docker-sonic-mgmt.gz + + - publish: $(Build.ArtifactStagingDirectory) + artifact: 'docker-sonic-mgmt' + displayName: "Archive docker image sonic-mgmt" + + - job: validate_docker_image_and_upload + pool: sonicbld-1es + timeoutInMinutes: 360 + dependsOn: Build + steps: + - checkout: sonic-mgmt + clean: true + displayName: 'Checkout sonic-mgmt' + + - download: current + artifact: 'docker-sonic-mgmt' + displayName: "Download docker image sonic-mgmt" + + - script: | + set -ex + + docker load -i $(Pipeline.Workspace)/docker-sonic-mgmt/target/docker-sonic-mgmt.gz + + cd ansible + sudo ./setup-management-network.sh -d + cd ../ + docker rm -f sonic-mgmt + + ./setup-container.sh -n sonic-mgmt -d /data -i docker-sonic-mgmt -v + exit 1 + displayName: 'Setup sonic-mgmt docker container' + - task: Docker@2 displayName: Upload image + condition: succeeded() inputs: containerRegistry: ${{ parameters.registry_conn }} repository: docker-sonic-mgmt command: push tags: latest - - publish: $(Build.ArtifactStagingDirectory) - artifact: 'docker-sonic-mgmt' - displayName: "Archive docker image sonic-mgmt" - From 2724929c0daa75ec86c6dad3265a98a5f39a1015 Mon Sep 17 00:00:00 2001 From: Yutong Zhang Date: Tue, 11 Mar 2025 09:54:51 +0800 Subject: [PATCH 2/3] remove exit1 --- .azure-pipelines/docker-sonic-mgmt.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.azure-pipelines/docker-sonic-mgmt.yml b/.azure-pipelines/docker-sonic-mgmt.yml index f1e7d71514a..1edaf6db13b 100644 --- a/.azure-pipelines/docker-sonic-mgmt.yml +++ b/.azure-pipelines/docker-sonic-mgmt.yml @@ -90,7 +90,6 @@ stages: docker rm -f sonic-mgmt ./setup-container.sh -n sonic-mgmt -d /data -i docker-sonic-mgmt -v - exit 1 displayName: 'Setup sonic-mgmt docker container' - task: Docker@2 From 137be0714d5854349badfab31f04dc6623149a3e Mon Sep 17 00:00:00 2001 From: Yutong Zhang Date: Thu, 13 Mar 2025 16:27:09 +0800 Subject: [PATCH 3/3] Add verify --- .azure-pipelines/docker-sonic-mgmt.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.azure-pipelines/docker-sonic-mgmt.yml b/.azure-pipelines/docker-sonic-mgmt.yml index 1edaf6db13b..187c165498f 100644 --- a/.azure-pipelines/docker-sonic-mgmt.yml +++ b/.azure-pipelines/docker-sonic-mgmt.yml @@ -90,7 +90,9 @@ stages: docker rm -f sonic-mgmt ./setup-container.sh -n sonic-mgmt -d /data -i docker-sonic-mgmt -v - displayName: 'Setup sonic-mgmt docker container' + + docker exec sonic-mgmt bash -c "echo 'Container is running' && ps aux" + displayName: 'Setup sonic-mgmt docker container and verify' - task: Docker@2 displayName: Upload image