Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Submodule update] sonic-snmpagent #12

Closed
wants to merge 25 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
c2b5e93
Add fabric lane mapping to vs (sai.profile) and HWSKU Force10-S6000 (…
ngoc-do Apr 7, 2021
241fabd
[submodule]: Advance sonic-utilities submodule. (#7246)
nazariig Apr 7, 2021
fca7b24
Revert "Add fabric lane mapping to vs (sai.profile) and HWSKU Force10…
daall Apr 7, 2021
20c8dd2
[IPinIP] Add Loopback2 interface, change dscp mode to uniform (#7234)
prsunny Apr 7, 2021
46a7fac
Bug fix: Support dynamic buffer calculation on ACS-MSN3420 and ACS-MS…
stephenxs Apr 7, 2021
8ec3bdc
[multi-asic] Make sure Everflow tables always gets classified as Mirr…
abdosi Apr 7, 2021
dcb9ef3
[CI] Update sonic image official build template. (#7198)
liushilongbuaa Apr 7, 2021
8f2bd48
[debian] install systemd version 247 from buster-backports (#7228)
stepanblyschak Apr 8, 2021
a7c55a1
[sonic-platform-common] submodule update (#7253)
vdahiya12 Apr 8, 2021
614140e
[sonic-platform-daemons] Update submodule (#7251)
jleveque Apr 8, 2021
be78973
[baseimage]: specify gid for redis group. (#7249)
renukamanavalan Apr 8, 2021
42d22f4
Invoking python3 installation for PDDF 2.0 PAI package (#7100)
FuzailBrcm Apr 8, 2021
ee13837
[sonic-py-common] Add 'general' module with load_module_from_source()…
jleveque Apr 8, 2021
69b03fc
[ethtool]: disable unit test when building ethtool on armhf/arm64 (#7…
vivekrnv Apr 8, 2021
d027aee
DellEMC Z9332f change port alias (#7260)
aravindmani-1 Apr 8, 2021
ef98890
[Mellanox] Fix incomplete platform name for MSN4600C in sfputil plugi…
keboliu Apr 8, 2021
39a5efe
[sonic-py-common.task_base] Provide ability to set stop timeouts (#6914)
jleveque Apr 8, 2021
42059ac
[bgpcfgd] Add bgpcfgd support for static routes (#7233)
shi-su Apr 8, 2021
1ad5dbe
Fixes for errors seen in staging devices (#7171)
judyjoseph Apr 8, 2021
4351db7
[sonic-swss] update sonic-swss submodule (#7263)
stepanblyschak Apr 8, 2021
1c220d9
[CI] Fix the wrong environment variable PLATFORM passing into the sla…
liushilongbuaa Apr 8, 2021
5e17093
[submodule]: update sonic-telemetry submodule (#7275)
MuLinForest Apr 9, 2021
fd58410
[sonic-slave]: install nose package explicity (#7258)
lguohan Apr 9, 2021
e30a7eb
[sonic-syseepromd] Depend on sonic-platform-common (#7279)
jleveque Apr 9, 2021
7560eda
[Submodule update] sonic-snmpagent
liorghub Apr 7, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 78 additions & 51 deletions .azure-pipelines/azure-pipelines-build.yml
Original file line number Diff line number Diff line change
@@ -1,72 +1,99 @@
# The azure pipeline template for Official build, and upgrade version build

parameters:
- name: 'jobFilters'
type: object
default: ''
- name: 'buildOptions'
type: string
default: 'SONIC_CONFIG_BUILD_JOBS=1'
- name: 'buildSlave'
type: string
default: 'n'
- name: 'preSteps'
type: stepList
default: []
- name: 'postSteps'
type: stepList
default: []

jobs:
- template: azure-pipelines-job-groups.yml
- template: azure-pipelines-image-template.yml
parameters:
jobFilters: ${{ parameters.jobFilters }}
preSteps:
- script: |
containers=$(docker container ls | grep "sonic-slave" | awk '{ print $1 }')
if [ ! -z "$containers" ]; then
docker container kill $containers || true
sleep 5
fi
if [ "${{ parameters.buildSlave }}" == "y" ]; then
images=$(docker images 'sonic-slave-*' -a -q)
[ ! -z "$images" ] && docker rmi -f $images
fi
sudo rm -rf $(ls -A1)
displayName: 'Init'
- checkout: self
submodules: recursive
displayName: 'Checkout code'
- script: |
make ${{ parameters.buildOptions }} PLATFORM=$GROUP_NAME configure
displayName: 'Make configure'
postSteps:
- ${{ parameters.postSteps }}
- publish: $(System.DefaultWorkingDirectory)/target
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
displayName: "Archive sonic image"
preSteps: ${{ parameters.preSteps }}
postSteps: ${{ parameters.postSteps }}
jobVariables:
PLATFORM_AZP: $(GROUP_NAME)
PLATFORM_ARCH: amd64
BUILD_OPTIONS: ${{ parameters.buildOptions }}
dbg_image: false
swi_image: false
raw_image: false
sync_rpc_image: false
platform_rpc: false
jobGroups:
- name: vs
script: |
sudo bash -c "echo 1 > /proc/sys/vm/compact_memory"
make ${{ parameters.buildOptions }} target/sonic-vs.img.gz
- name: broadcom
script: |
make ${{ parameters.buildOptions }} target/sonic-broadcom.bin target/sonic-aboot-broadcom.swi
variables:
dbg_image: true
- name: barefoot
script: |
make ${{ parameters.buildOptions }} target/sonic-barefoot.bin target/sonic-aboot-barefoot.swi
variables:
swi_image: true
- name: broadcom
variables:
dbg_image: true
swi_image: true
raw_image: true
sync_rpc_image: true
platform_rpc: brcm
- name: centec
script: |
make ${{ parameters.buildOptions }} INSTALL_DEBUG_TOOLS=y target/sonic-centec.bin
mv target/sonic-centec.bin target/sonic-centec-dbg.bin
make ${{ parameters.buildOptions }} target/sonic-centec.bin
make ${{ parameters.buildOptions }} ENABLE_SYNCD_RPC=y target/docker-syncd-centec-rpc.gz
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: centec
- name: centec-arm64
pool: sonicbld_8c
variables:
arch: arm64
timeoutInMinutes: 1800
- name: generic
variables:
dbg_image: true
- name: innovium
script: |
make ${{ parameters.buildOptions }} SONIC_CONFIG_BUILD_JOBS=1 target/sonic-innovium.bin
variables:
swi_image: true
- name: marvell-armhf
pool: sonicbld_8c
variables:
arch: armhf
timeoutInMinutes: 1800
- name: mellanox
script: |
make ${{ parameters.buildOptions }} target/sonic-mellanox.bin
- name: mellanox
extName: _rpc
script: |
make ${{ parameters.buildOptions }} ENABLE_SYNCD_RPC=y all
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: mlnx
- name: nephos
script: |
make ${{ parameters.buildOptions }} target/sonic-nephos.bin
variables:
dbg_image: true
sync_rpc_image: true
platform_rpc: nephos
buildSteps:
- bash: |
if [ $(GROUP_NAME) == vs ]; then
if [ $(dbg_image) == true ]; then
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-vs.img.gz && mv target/sonic-vs.img.gz target/sonic-vs-dbg.img.gz
fi
make $BUILD_OPTIONS target/docker-sonic-vs.gz target/sonic-vs.img.gz target/docker-ptf.gz
else
if [ $(dbg_image) == true ]; then
make $BUILD_OPTIONS INSTALL_DEBUG_TOOLS=y target/sonic-$(GROUP_NAME).bin && \
mv target/sonic-$(GROUP_NAME).bin target/sonic-$(GROUP_NAME)-dbg.bin
fi
if [ $(swi_image) == true ]; then
make $BUILD_OPTIONS ENABLE_IMAGE_SIGNATURE=y target/sonic-aboot-$(GROUP_NAME).swi
fi
if [ $(raw_image) == true ]; then
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).raw
fi
if [ $(sync_rpc_image) == true ]; then
make $BUILD_OPTIONS ENABLE_SYNCD_RPC=y target/docker-syncd-$(platform_rpc)-rpc.gz
fi
make $BUILD_OPTIONS target/sonic-$(GROUP_NAME).bin
fi
54 changes: 54 additions & 0 deletions .azure-pipelines/azure-pipelines-image-template.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# The azure pipeline template for PR build, Official build, and upgrade version build

parameters:
- name: 'jobFilters'
type: object
default: ''
- name: 'preSteps'
type: stepList
default: []
- name: 'buildSteps'
type: stepList
default: []
- name: 'postSteps'
type: stepList
default: []
- name: jobGroups
type: object
default: []
- name: jobVariables
type: object
default: []
jobs:
- template: azure-pipelines-job-groups.yml
parameters:
jobFilters: ${{ parameters.jobFilters }}
jobVariables: ${{ parameters.jobVariables }}
preSteps:
- template: cleanup.yml
- ${{ parameters. preSteps }}
- script: |
if [ -n "$(CACHE_MODE)" ] && echo $(PLATFORM_AZP) | grep -E -q "^(vs|broadcom|mellanox)$"; then
CACHE_OPTIONS="SONIC_DPKG_CACHE_METHOD=$(CACHE_MODE) SONIC_DPKG_CACHE_SOURCE=/nfs/dpkg_cache/$(PLATFORM_AZP)"
BUILD_OPTIONS="$(BUILD_OPTIONS) $CACHE_OPTIONS"
echo "##vso[task.setvariable variable=BUILD_OPTIONS]$BUILD_OPTIONS"
fi
displayName: "Make build options"
- checkout: self
submodules: recursive
displayName: 'Checkout code'
- script: |
sudo modprobe overlay
sudo apt-get install -y acl
export DOCKER_DATA_ROOT_FOR_MULTIARCH=/data/march/docker
sudo bash -c "echo 1 > /proc/sys/vm/compact_memory"
ENABLE_DOCKER_BASE_PULL=y make PLATFORM=$(PLATFORM_AZP) PLATFORM_ARCH=$(PLATFORM_ARCH) configure
displayName: 'Make configure'
postSteps:
- publish: $(System.DefaultWorkingDirectory)/target
artifact: 'sonic-buildimage.$(GROUP_NAME)$(GROUP_EXTNAME)'
displayName: "Archive sonic image"
- ${{ parameters.postSteps }}
- template: cleanup.yml
jobGroups: ${{ parameters.jobGroups }}
buildSteps: ${{ parameters.buildSteps }}
8 changes: 6 additions & 2 deletions .azure-pipelines/azure-pipelines-job-groups.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@ parameters:
- name: 'preSteps'
type: stepList
default: []
- name: 'buildSteps'
type: stepList
default: []
- name: "postSteps"
type: stepList
default: []
Expand All @@ -16,14 +19,14 @@ parameters:
default: ''
- name: 'timeoutInMinutes'
type: 'number'
default: 1440
default: 600
- name: 'jobFilters'
type: object
default: ''

jobs:
- ${{ each jobGroup in parameters.jobGroups }}:
- ${{ if or(eq(parameters.jobFilters, ''), containsValue(parameters.jobFilters, jobGroup.name)) }}:
- ${{ if or(eq(parameters.jobFilters, ''), containsValue(parameters.jobFilters, jobGroup.name), endswith(variables['Build.DefinitionName'], format('.{0}{1}', jobGroup.name, jobGroup.extName))) }}:
- job: ${{ replace(format('{0}{1}', jobGroup.name, jobGroup.extName), '-', '_') }}
${{ each pair in jobGroup }}:
${{ if not(in(pair.key, 'job', 'name', 'extName', 'variables', 'steps', 'script', 'scriptEnv')) }}:
Expand All @@ -50,4 +53,5 @@ jobs:
displayName: 'JobScript'
- ${{ if ne(jobGroup.steps, '') }}:
- ${{ jobGroup.steps }}
- ${{ parameters.buildSteps }}
- ${{ parameters.postSteps }}
51 changes: 9 additions & 42 deletions .azure-pipelines/official-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,54 +9,21 @@ schedules:
branches:
include:
- master
- 202012
always: true

trigger: none
pr: none

stages:
- stage: Build

pool: sonicbld
variables:
CACHE_MODE: wcache
${{ if eq(variables['Build.SourceBranchName'], '202012') }}:
VERSION_CONTROL_OPTIONS: 'SONIC_VERSION_CONTROL_COMPONENTS=deb,py2,py3,web'
jobs:
- template: build-template.yml
parameters:
platform: broadcom
platform_short: brcm
cache_mode: wcache
dbg_image: true
swi_image: true
raw_image: true
sync_rpc_image: true

- template: build-template.yml
parameters:
platform: mellanox
platform_short: mlnx
cache_mode: wcache
dbg_image: true
sync_rpc_image: true

- template: build-template.yml
parameters:
platform: vs
platform_short: vs
dbg_image: true
cache_mode: wcache

- template: build-template.yml
parameters:
timeout: 3600
platform: marvell-armhf
platform_arch: armhf
platform_short: marvell-armhf
cache_mode: wcache
pool: sonicbld_8c

- template: build-template.yml
- template: azure-pipelines-build.yml
parameters:
timeout: 3600
platform: centec-arm64
platform_arch: arm64
platform_short: centec-arm64
cache_mode: wcache
pool: sonicbld_8c
buildOptions: 'USERNAME=admin SONIC_BUILD_JOBS=$(nproc) ${{ variables.VERSION_CONTROL_OPTIONS }}'
jobFilters: none
22 changes: 16 additions & 6 deletions build_debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,8 @@ TARGET_PATH=$TARGET_PATH scripts/build_debian_base_system.sh $CONFIGURED_ARCH $I
# Prepare buildinfo
sudo scripts/prepare_debian_image_buildinfo.sh $CONFIGURED_ARCH $IMAGE_DISTRO $FILESYSTEM_ROOT $http_proxy

sudo chown root:root $FILESYSTEM_ROOT

## Config hostname and hosts, otherwise 'sudo ...' will complain 'sudo: unable to resolve host ...'
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '$HOSTNAME' > /etc/hostname"
sudo LANG=C chroot $FILESYSTEM_ROOT /bin/bash -c "echo '127.0.0.1 $HOSTNAME' >> /etc/hosts"
Expand Down Expand Up @@ -109,7 +111,7 @@ sudo cp files/apt/apt.conf.d/{81norecommends,apt-{clean,gzip-indexes,no-language
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y update
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y upgrade
echo '[INFO] Install packages for building image'
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc systemd-sysv
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install makedev psmisc

## Create device files
echo '[INFO] MAKEDEV'
Expand Down Expand Up @@ -244,15 +246,16 @@ sudo cp files/docker/docker.service.conf $_
## Fix systemd race between docker and containerd
sudo sed -i '/After=/s/$/ containerd.service/' $FILESYSTEM_ROOT/lib/systemd/system/docker.service

## Create redis group
sudo LANG=C chroot $FILESYSTEM_ROOT groupadd -f redis

## Create default user
## Note: user should be in the group with the same name, and also in sudo/docker/redis groups
sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker,redis $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash
sudo LANG=C chroot $FILESYSTEM_ROOT useradd -G sudo,docker $USERNAME -c "$DEFAULT_USERINFO" -m -s /bin/bash
## Create password for the default user
echo "$USERNAME:$PASSWORD" | sudo LANG=C chroot $FILESYSTEM_ROOT chpasswd

## Create redis group
sudo LANG=C chroot $FILESYSTEM_ROOT groupadd -f redis
sudo LANG=C chroot $FILESYSTEM_ROOT usermod -aG redis $USERNAME

if [[ $CONFIGURED_ARCH == amd64 ]]; then
## Pre-install hardware drivers
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y install \
Expand Down Expand Up @@ -347,7 +350,8 @@ sudo LANG=C chroot $FILESYSTEM_ROOT bash -c "find /usr/share/i18n/locales/ ! -na
# Install certain fundamental packages from $IMAGE_DISTRO-backports in order to get
# more up-to-date (but potentially less stable) versions
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y -t $IMAGE_DISTRO-backports install \
picocom
picocom \
systemd-sysv

if [[ $CONFIGURED_ARCH == amd64 ]]; then
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y download \
Expand Down Expand Up @@ -583,6 +587,12 @@ if [[ $CONFIGURED_ARCH == armhf || $CONFIGURED_ARCH == arm64 ]]; then
DOCKERFS_PATH=../dockerfs/
fi

# Ensure admin gid is 1000
gid_user=$(sudo LANG=C chroot $FILESYSTEM_ROOT id -g $USERNAME) || gid_user="none"
if [ "${gid_user}" != "1000" ]; then
die "expect gid 1000. current:${gid_user}"
fi

## Compress docker files
pushd $FILESYSTEM_ROOT && sudo tar czf $OLDPWD/$FILESYSTEM_DOCKERFS -C ${DOCKERFS_PATH}var/lib/docker .; popd

Expand Down
Loading