From 20f47bb5ac66cfc775c73c697f3e9d70fcab73f8 Mon Sep 17 00:00:00 2001
From: Liu Shilong <shilongliu@microsoft.com>
Date: Wed, 11 Jan 2023 16:00:47 +0800
Subject: [PATCH] Update docker-sonic-mgmt to buster (#13287)

Why I did it
docker-sonic-mgmt build is failing.

How I did it
stretch docker is disabled recently. Update docker-sonic-mgmt to buster.
Migrate from sonictest to sonicbld. Because Azure requires migrate vm from uswest2 to uswest3.
Fix a build issue when build image.
How to verify it
---
 .azure-pipelines/docker-sonic-mgmt.yml          | 9 +++++----
 rules/docker-sonic-mgmt.mk                      | 1 -
 src/sonic-build-hooks/scripts/buildinfo_base.sh | 1 +
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/.azure-pipelines/docker-sonic-mgmt.yml b/.azure-pipelines/docker-sonic-mgmt.yml
index 35d12f12234d..34adf9d5d48c 100644
--- a/.azure-pipelines/docker-sonic-mgmt.yml
+++ b/.azure-pipelines/docker-sonic-mgmt.yml
@@ -32,17 +32,18 @@ stages:
 - stage: Build
   jobs:
   - job: Build
-    pool: sonictest
+    pool: sonicbld
     timeoutInMinutes: 360
     steps:
     - template: cleanup.yml
     - checkout: self
       clean: true
-      submodules: recursive
     - bash: |
         set -xe
-        make configure PLATFORM=generic
-        make target/docker-sonic-mgmt.gz
+        git submodule update --init --recursive -- src/sonic-platform-daemons src/sonic-genl-packet src/sonic-sairedis src/ptf src/sonic-device-data
+
+        make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y configure PLATFORM=generic
+        make SONIC_BUILD_JOBS=$(nproc) DEFAULT_CONTAINER_REGISTRY=publicmirror.azurecr.io ENABLE_DOCKER_BASE_PULL=y target/docker-sonic-mgmt.gz
         cp target -r $(Build.ArtifactStagingDirectory)/target
         docker load -i target/docker-sonic-mgmt.gz
         docker tag docker-sonic-mgmt $REGISTRY_SERVER/docker-sonic-mgmt:latest
diff --git a/rules/docker-sonic-mgmt.mk b/rules/docker-sonic-mgmt.mk
index 8d6901755f8a..b1aaad348734 100644
--- a/rules/docker-sonic-mgmt.mk
+++ b/rules/docker-sonic-mgmt.mk
@@ -3,4 +3,3 @@ DOCKER_SONIC_MGMT = docker-sonic-mgmt.gz
 $(DOCKER_SONIC_MGMT)_PATH = $(DOCKERS_PATH)/docker-sonic-mgmt
 $(DOCKER_SONIC_MGMT)_DEPENDS += $(SONIC_DEVICE_DATA) $(PTF)
 SONIC_DOCKER_IMAGES += $(DOCKER_SONIC_MGMT)
-SONIC_STRETCH_DOCKERS += $(DOCKER_SONIC_MGMT)
diff --git a/src/sonic-build-hooks/scripts/buildinfo_base.sh b/src/sonic-build-hooks/scripts/buildinfo_base.sh
index 52e5194f9cf6..38d2e8881588 100755
--- a/src/sonic-build-hooks/scripts/buildinfo_base.sh
+++ b/src/sonic-build-hooks/scripts/buildinfo_base.sh
@@ -21,6 +21,7 @@ else
 	PKG_CACHE_PATH=/sonic/target/vcache/${IMAGENAME}
 fi
 PKG_CACHE_FILE_NAME=${PKG_CACHE_PATH}/cache.tgz
+sudo chown $USER $(dirname $PKG_CACHE_PATH)
 mkdir -p ${PKG_CACHE_PATH}
 
 . ${BUILDINFO_PATH}/scripts/utils.sh