-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
SONiC-to-SONiC update #464
Conversation
@qiluo-msft, please review |
files/initramfs-tools/union-mount.j2
Outdated
mkdir -p ${rootmnt}/host/rw | ||
mount -n -o dirs=${rootmnt}/host/rw:${rootmnt}=ro -t aufs root-aufs ${rootmnt} | ||
mkdir -p ${rootmnt}/host/image-%%GIT_REVISION%%/rw | ||
mount -n -o dirs=${rootmnt}/host/image-%%GIT_REVISION%%/rw:${rootmnt}=ro -t aufs root-aufs ${rootmnt} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
image-%%GIT_REVISION%% [](start = 33, length = 22)
image-%%GIT_REVISION%% [](start = 33, length = 22)
One suggestion: could you also explore the possibility to dynamically get the path? Ideally the image content should not have the knowledge of its own revision/version.
Some mechanism I can think of, but not limited to:
- kernel argument, provided by bootloader ONIE/Aboot/etc.
- parse /proc/cmdline
- parse a file with image version on the disk
Then we can remove the %GIT_REVISION% from build_debian.sh #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, I will rework all GIT_REVISION places after Marian pushes updated versioning
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed
files/image_config/platform/rc.local
Outdated
@@ -15,25 +15,25 @@ | |||
|
|||
echo "install platform dependent packages at the first boot time" | |||
|
|||
if [ -f /host/platform/firsttime ]; then | |||
if [ -f /host/image-%%GIT_REVISION%%/platform/firsttime ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
GIT_REVISION [](start = 22, length = 12)
GIT_REVISION [](start = 22, length = 12)
The same. Is it possible to get it programmatically? #Closed
installer/x86_64/install.sh
Outdated
@@ -110,7 +118,7 @@ git_revision="%%GIT_REVISION%%" | |||
timestamp="$(date -u +%Y%m%d)" | |||
|
|||
demo_volume_label="SONiC-${demo_type}" | |||
demo_volume_revision_label="SONiC-${demo_type}-${git_revision}" | |||
demo_volume_revision_label="SONiC-${demo_type}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
demo_volume_revision_label [](start = 0, length = 26)
I am quite confused. Why not keep it unchanged and use $demo_volume_label? #Closed
installer/x86_64/install.sh
Outdated
sonic_dir="$SONIC_IMAGE_DIR_PREFIX-$git_revision" | ||
|
||
echo "Installing SONiC to $demo_mnt/$sonic_dir" | ||
mkdir $demo_mnt/$sonic_dir || { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
mkdir $demo_mnt/$sonic_dir [](start = 0, length = 26)
If the directory already exist, it is better to clean up and reinstall it. #Closed
installer/x86_64/install.sh
Outdated
demo_grub_entry="$demo_volume_revision_label" | ||
demo_grub_entry="$demo_volume_revision_label-${git_revision}" | ||
if [ "$environment" = "sonic" ]; then | ||
running_sonic_revision=$(cat /etc/sonic/sonic_version.yml | grep build_version | cut -f2 -d" ") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
running_sonic_revision [](start = 4, length = 22)
Instead of finding the running revision, we can easily find the default entry in grub.cfg. So it is runnable both in ONIE and in sonic, you don't need if-condition. #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm checking for currently running version in order to keep it. It could happen currently running is not the default one #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
installer/x86_64/install.sh
Outdated
# Add menu entries for ONIE -- use the grub fragment provided by the | ||
# ONIE distribution. | ||
$onie_root_dir/grub.d/50_onie_grub >> $grub_cfg | ||
if [ "$environment" != "sonic" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't care ONIE/sonic for the grub_cfg code here. We can just check if there is already sonic entry in grub.cfg or not.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wanted to keep ONIE menu entry at the bottom and it is much simple to append text to the grub.cfg than insert it to the middle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
grub.cfg is recreated on any installation ONIE or SONiC.
Here this "if" is needed to add ONIE submenu only in case of ONIE install or old menuitem+ONIE submenu in case of SONiC install. Also "ONIE submenu" source is different in both cases
installer/x86_64/install.sh
Outdated
cp $grub_cfg $onie_initrd_tmp/$demo_mnt/grub/grub.cfg | ||
|
||
# Remove extra SONiC image if any | ||
if [ "$environment" = "sonic" ]; then |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The same. Just check grub.cfg to determin if we need to remove extra images.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I doubt the code will be simpler. Maybe I'm wrong - I'm not a real shell-script jedi...
And besides if we decide to change menu item format - guessing directory name to remove will require some legacy code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enumerating thru the directories is much simpler than thru the menuitems in grub.cfg
Also in this case we get the exact image directory name we need to remove.
slave.mk
Outdated
@@ -331,7 +331,6 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : .platform | |||
export installer_start_scrips="$(foreach docker, $($*_DOCKERS),$(addsuffix .sh, $($(docker)_CONTAINER_NAME)))" | |||
export installer_services="$(foreach docker, $($*_DOCKERS),$(addsuffix .service, $($(docker)_CONTAINER_NAME)))" | |||
export installer_extra_files="$(foreach docker, $($*_DOCKERS), $(foreach file, $($(docker)_BASE_IMAGE_FILES), $($(docker)_PATH)/base_image_files/$(file)))" | |||
|
|||
j2 -f env files/initramfs-tools/union-mount.j2 onie-image.conf > files/initramfs-tools/union-mount |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep it as is? #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As comments.
installer/x86_64/install.sh
Outdated
@@ -55,7 +53,17 @@ ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="" | |||
# Default var/log device size in MB | |||
VAR_LOG_SIZE=4096 | |||
|
|||
[ -r platforms/$onie_platform ] && source platforms/$onie_platform | |||
|
|||
# simple detect whether script was run in SONiC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Before I added support for installation form SONiC there were two options ONIE and some Linux. I'm not aware about the installation from Linux (some other platforms?) so I tried to keep the old code under "if != sonic" and add new "under if = sonic".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
installer/x86_64/install.sh
Outdated
[ -r platforms/$onie_platform ] && source platforms/$onie_platform | ||
if [ -d "/etc/sonic" ]; then | ||
echo "Running in SONiC" | ||
environment="sonic" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sonic [](start = 17, length = 5)
Prefer say the environment as 'linux' #Closed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
onie is also linux, sonic is more precise, IMHO
files/initramfs-tools/union-mount.j2
Outdated
## Check if the root block device is still there | ||
[ -b ${ROOT} ] || mdev -s | ||
## Mount the raw partition again | ||
mount ${ROOT} ${rootmnt}/host | ||
## Mount the working directory of docker engine in the raw partition, bypass the aufs | ||
mkdir -p ${rootmnt}/var/lib/docker | ||
mount --bind ${rootmnt}/host/{{ DOCKERFS_DIR }} ${rootmnt}/var/lib/docker | ||
mount --bind ${rootmnt}/host/image-%%GIT_REVISION%%/{{ DOCKERFS_DIR }} ${rootmnt}/var/lib/docker | ||
## Mount the boot directory in the raw partition, bypass the aufs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this change is going to break the arista aboot image.
if you search DOCKERFS_DIR, it is also used in files/initramfs-tools/arista-convertfs.j2 and files/Aboot/boot0.j2
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I do not need this commit to support sonic-to-sonic on arista aboot platform, but it is better not to break the existing func.
installer/x86_64/install.sh
Outdated
echo "Running in SONiC" | ||
environment="sonic" | ||
else | ||
echo "Running NOT in SONiC" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running NOT in SONiC [](start = 10, length = 20)
-> Install SONiC in ONIE
installer/x86_64/install.sh
Outdated
@@ -55,7 +53,14 @@ ONIE_PLATFORM_EXTRA_CMDLINE_LINUX="" | |||
# Default var/log device size in MB | |||
VAR_LOG_SIZE=4096 | |||
|
|||
[ -r platforms/$onie_platform ] && source platforms/$onie_platform | |||
if [ -d "/etc/sonic" ]; then | |||
echo "Running in SONiC" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Running in SONiC [](start = 10, length = 16)
-> Installing SONiC in SONiC
installer/x86_64/install.sh
Outdated
[ -r platforms/$onie_platform ] && source platforms/$onie_platform | ||
if [ -d "/etc/sonic" ]; then | ||
echo "Running in SONiC" | ||
environment="sonic" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
environment -> install_env
installer/x86_64/install.sh
Outdated
demo_mnt="/host" | ||
fi | ||
|
||
sonic_dir="$SONIC_IMAGE_DIR_PREFIX-$git_revision" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sonic_dir [](start = 0, length = 9)
sonic_dir -> image_dir
installer/x86_64/install.sh
Outdated
mkfs.ext4 -q $demo_mnt/disk-img/var-log.ext4 -F | ||
fi | ||
else | ||
echo "Log file system already exists. Skipping..." | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can we also check the var-log size since the new sonic image may increase or descreae the file size.
Can we compare the size, if they are not the same then try to create a new one with new size.
installer/x86_64/install.sh
Outdated
running_sonic_revision=$(cat /etc/sonic/sonic_version.yml | grep build_version | cut -f2 -d" ") | ||
old_grub_menuentry=$(cat /host/grub/grub.cfg | sed "/$running_sonic_revision/,/}/!d") | ||
demo_dev=$(echo $old_grub_menuentry | sed -e "s/.*root\=\(.*\)rw.*/\1/") | ||
grub_menuentry=$(cat /host/grub/grub.cfg | sed "/menuentry ONIE/,/}/!d") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to onie_menuentry
installer/x86_64/install.sh
Outdated
demo_dev=$(echo $old_grub_menuentry | sed -e "s/.*root\=\(.*\)rw.*/\1/") | ||
grub_menuentry=$(cat /host/grub/grub.cfg | sed "/menuentry ONIE/,/}/!d") | ||
fi | ||
|
||
cat <<EOF >> $grub_cfg |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename grub_cfg to new_sonic_menuentry
installer/x86_64/install.sh
Outdated
@@ -486,29 +519,53 @@ fi | |||
# Add a menu entry for the DEMO OS | |||
# Note: assume that apparmor is supported in the kernel | |||
demo_grub_entry="$demo_volume_revision_label" | |||
if [ "$environment" = "sonic" ]; then | |||
running_sonic_revision=$(cat /etc/sonic/sonic_version.yml | grep build_version | cut -f2 -d" ") | |||
old_grub_menuentry=$(cat /host/grub/grub.cfg | sed "/$running_sonic_revision/,/}/!d") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to old_sonic_menuentry
rm -rf $f | ||
fi | ||
done | ||
fi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suggest to move this logic before we do the installation, it will save some space.
installer/x86_64/install.sh
Outdated
rm -rf $demo_mnt/$sonic_dir/* | ||
else | ||
mkdir $demo_mnt/$sonic_dir || { | ||
echo "Error: Unable to create sonic directory" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sonic -> SONiC
@andriymoroz-mlnx Could you resolve the conflicts? #Closed |
resolved conflicts |
25f0f78
to
5117cd0
Compare
Updated. Used version string instead of git hash
Directories with sonic images:
@lguohan, @qiluo-msft, @stcheng please review |
440fdd6
to
cf97eae
Compare
rebased on latest master |
cat <<EOF >> $grub_cfg | ||
menuentry '$demo_grub_entry' { | ||
search --no-floppy --label --set=root $demo_volume_label | ||
echo 'Loading $demo_volume_revision_label $demo_type kernel ...' | ||
echo 'Loading $demo_volume_label $demo_type kernel ...' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why not keep the demo_volume_revision_label here? We need to know which version we are loading.
apparmor=1 security=apparmor $ONIE_PLATFORM_EXTRA_CMDLINE_LINUX | ||
echo 'Loading $demo_volume_revision_label $demo_type initial ramdisk ...' | ||
initrd /boot/initrd.img-3.16.0-4-amd64 | ||
echo 'Loading $demo_volume_label $demo_type initial ramdisk ...' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-> demon_volume_revision_label
cp $grub_cfg $onie_initrd_tmp/$demo_mnt/grub/grub.cfg | ||
|
||
cd / | ||
|
||
echo "Installed SONiC base image $demo_volume_revision_label successfully" | ||
echo "Installed SONiC base image $demo_volume_label successfully" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-> demo_volume_revision_label
@@ -191,7 +191,7 @@ cmd="mount -t ext4 $root_dev $root_mnt" | |||
run_cmd "$cmd" "$err_msg" | |||
|
|||
err_msg="Error: extract docker directory" | |||
cmd="[ -f $tmp_mnt/{{ FILESYSTEM_DOCKERFS }} ] && rm -rf $root_mnt/{{ DOCKERFS_DIR }} && mkdir $root_mnt/{{ DOCKERFS_DIR }} && tar xzf $tmp_mnt/{{ FILESYSTEM_DOCKERFS }} -C $root_mnt/{{ DOCKERFS_DIR }} && rm -f $tmp_mnt/{{ FILESYSTEM_DOCKERFS }}" | |||
cmd="[ -f $tmp_mnt/image-%%IMAGE_VERSION%%/{{ FILESYSTEM_DOCKERFS }} ] && rm -rf $root_mnt/image-%%IMAGE_VERSION%%/{{ DOCKERFS_DIR }} && mkdir $root_mnt/image-%%IMAGE_VERSION%%/{{ DOCKERFS_DIR }} && tar xzf $tmp_mnt/image-%%IMAGE_VERSION%%/{{ FILESYSTEM_DOCKERFS }} -C $root_mnt/image-%%IMAGE_VERSION%%/{{ DOCKERFS_DIR }} && rm -f $tmp_mnt/image-%%IMAGE_VERSION%%/{{ FILESYSTEM_DOCKERFS }}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment about having a temporary variable apply here.
files/Aboot/boot0.j2
Outdated
@@ -42,14 +42,14 @@ parse_environment_config() { | |||
|
|||
extract_image() { | |||
## Remove all the other unnecssary files except swi file, boot-config | |||
for f in $(ls -A $target_path); do | |||
for f in $(ls -A $target_path/image-%%IMAGE_VERSION%%); do |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of adding image-%%IMAGE_VERSION%% everywhere it could be cleaner to just define a variable and use it instead of target_path where needs be.
image_path="$target_path/image-%%IMAGE_VERSION%%"
files/Aboot/boot0.j2
Outdated
fi | ||
done | ||
|
||
## Unzip the image | ||
unzip -oq "$swipath" -x boot0 -d "$target_path" | ||
unzip -oq "$swipath" -x boot0 -d "$target_path/image-%%IMAGE_VERSION%%" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
need to create this path. I tested, and here are the errors.
ls: /mnt/flash/image-andriymoroz-mlnx-master.0-cf97eae: No such file or directory
+ unzip -oq /mnt/flash/sonic-aboot-broadcom.swi -x boot0 -d /mnt/flash/image-andriymoroz-mlnx-master.0-cf97eae
unzip: chdir(/mnt/flash/image-andriymoroz-mlnx-master.0-cf97eae): No such file or directory
files/initramfs-tools/union-mount.j2
Outdated
@@ -6,17 +6,18 @@ case $1 in | |||
esac | |||
|
|||
## Mount the aufs file system: rw layer over squashfs | |||
mkdir -p ${rootmnt}/host/rw | |||
mount -n -o dirs=${rootmnt}/host/rw:${rootmnt}=ro -t aufs root-aufs ${rootmnt} | |||
image_dir=$(cat /proc/cmdline | sed -e 's/BOOT_IMAGE=\/\(.*\)\/boot\(.*\)/\1/') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Aboot0 does not pass BOOT_IMAGE in the cmdline, need to add that.
support multi-image installation on aboot
sonic-swss: [vnet]: Extend Bitmap VNET test with "remove" flows (sonic-net#900) [vxlanorch] Ambiguous return code for removeNextHopTunnel (sonic-net#880) Address review comment: remove data member m_entriesCreated, which is introduced for dependancy resolution purpose. (sonic-net#839) Set LAG mtu value based on kernel netlink msg (sonic-net#922) [orchagent]: Remove try/catch for correct coredump file (sonic-net#790) [aclorch] unittest by gtest (sonic-net#924) [orchagent]: Added support of PFC WD for BFN platform (sonic-net#823) [vnetorch]: Fix tunnel route removal flow for bitmap VNET (sonic-net#912) pkill -9 zebra for frr warm restart VS test fix (sonic-net#927) swss-orchagent: add new orch for vnet routes/tunnel routes tables in CONFIG_DB (sonic-net#907) [debian]: Do not build test when building with real SAI (sonic-net#932) sonic-swss-common: Add schema for dot1p to tc mapping config table (sonic-net#274) Fix MIRROR_SESSION table macro name (sonic-net#264) [schema] Add VNET Route tables in config_db (sonic-net#279) [debian] increment debian compatibility to 10 to enable parallel package build (sonic-net#280) White-list clear_stats op from orchagent to syncd (sonic-net#281) Correct comment (sonic-net#282) sonic-sairedis: [debian]: Change build order in target binary (sonic-net#452) [debian] increment debian compatibility to 10 to enable parallel package build (sonic-net#461) Full sleep wait flex counter polling thread when POLL_COUNTER_STATUS is disable (sonic-net#462) add support for SAI_ATTR_VALUE_TYPE_ACL_CAPABILITY (sonic-net#460) Check if port VID exists in db on flex counter query (sonic-net#464) Full sleep wait change for PFC watchdog (sonic-net#465) Add synchronous clear_stats operation path (sonic-net#463) Modify sai_create_port to breakout a port for virtual switch (sonic-net#454) Fix typo (sonic-net#467) Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
sonic-swss: [vnet]: Extend Bitmap VNET test with "remove" flows (#900) [vxlanorch] Ambiguous return code for removeNextHopTunnel (#880) Address review comment: remove data member m_entriesCreated, which is introduced for dependancy resolution purpose. (#839) Set LAG mtu value based on kernel netlink msg (#922) [orchagent]: Remove try/catch for correct coredump file (#790) [aclorch] unittest by gtest (#924) [orchagent]: Added support of PFC WD for BFN platform (#823) [vnetorch]: Fix tunnel route removal flow for bitmap VNET (#912) pkill -9 zebra for frr warm restart VS test fix (#927) swss-orchagent: add new orch for vnet routes/tunnel routes tables in CONFIG_DB (#907) [debian]: Do not build test when building with real SAI (#932) sonic-swss-common: Add schema for dot1p to tc mapping config table (#274) Fix MIRROR_SESSION table macro name (#264) [schema] Add VNET Route tables in config_db (#279) [debian] increment debian compatibility to 10 to enable parallel package build (#280) White-list clear_stats op from orchagent to syncd (#281) Correct comment (#282) sonic-sairedis: [debian]: Change build order in target binary (#452) [debian] increment debian compatibility to 10 to enable parallel package build (#461) Full sleep wait flex counter polling thread when POLL_COUNTER_STATUS is disable (#462) add support for SAI_ATTR_VALUE_TYPE_ACL_CAPABILITY (#460) Check if port VID exists in db on flex counter query (#464) Full sleep wait change for PFC watchdog (#465) Add synchronous clear_stats operation path (#463) Modify sai_create_port to breakout a port for virtual switch (#454) Fix typo (#467) Signed-off-by: Shu0T1an ChenG <shuche@microsoft.com>
* Access DB directly to get the PSU status information * Add test case for psu CLI Signed-off-by: Kevin Wang <kevinw@mellanox.com>
* Update src/sonic-sairedis from branch 'broadcom_sonic' to 9de2a0cd3371723c925341091c3ee9bc6df88527 - Merge 201904 branch to broadcom_sonic branch on Mon Jul 1 13:57:56 PDT 2019 Change-Id: Ibc8bd38f6819bda73ba52fff6358b794f7366d46 - Fix typo (sonic-net#467) * Rename to fix typo Signed-off-by: Wenda Ni <wenni@microsoft.com> * Correct shared_ptr creation parameters Signed-off-by: Wenda Ni <wenni@microsoft.com> - Modify sai_create_port to breakout a port for virtual switch (sonic-net#454) For breakout a port, it needs to support create port and remove port. When create a port, it needs to init some attributes. Signed-off-by: chiourung_huang <chiourung_huang@edge-core.com> - Add synchronous clear_stats operation path (sonic-net#463) * Send clear_stats op from orchagent to syncd via Redis pipeline Signed-off-by: Wenda Ni <wenni@microsoft.com> * Handle clear_stats op in syncd Signed-off-by: Wenda Ni <wenni@microsoft.com> * Receive clear_stats op status response from sycnd in orchagent context Signed-off-by: Wenda Ni <wenni@microsoft.com> * Shift clear_stats to get synchronous response from ASIC Signed-off-by: Wenda Ni <wenni@microsoft.com> * Fix compilation error Signed-off-by: Wenda Ni <wenni@microsoft.com> * Fix log message output Signed-off-by: Wenda Ni <wenni@microsoft.com> * Remove debugging symbols Signed-off-by: Wenda Ni <wenni@microsoft.com> * Remove debugging symbols Signed-off-by: Wenda Ni <wenni@microsoft.com> * Change the validation order of KeyOpFieldsValuesTuple responded from syncd Signed-off-by: Wenda Ni <wenni@microsoft.com> * Expand status log utility to include op type as argument Signed-off-by: Wenda Ni <wenni@microsoft.com> * Address comments: check if object id is present in local db Signed-off-by: Wenda Ni <wenni@microsoft.com> * Leverage newly merged infrastructure to check if object id is present in the local db Signed-off-by: Wenda Ni <wenni@microsoft.com> * Fix compile error Signed-off-by: Wenda Ni <wenni@microsoft.com> - Full sleep wait change for PFC watchdog (sonic-net#465) * Sleep wait change for pfc watchdog, which still has plugins in place so isEmpty() always returns true. When issuing 'pfcwd stop' cli to stop PFC watchdog, it only clears the counter id list for physical ports under the hood, leaving lua script plugins still installed and ieEmpty() returns false. So even when PFC watchdog is stopped, the flex counter thread would wake up every 200 ms. Jun 4 17:58:51.273413 str-a7050-acs-1 ERR syncd#syncd: :- flexCounterThread: End of flex counter thread FC PFC_WD, took 33 ms Jun 4 17:58:51.471288 str-a7050-acs-1 ERR syncd#syncd: :- flexCounterThread: End of flex counter thread FC PFC_WD, took 30 ms Jun 4 17:58:51.672930 str-a7050-acs-1 ERR syncd#syncd: :- flexCounterThread: End of flex counter thread FC PFC_WD, took 31 ms Jun 4 17:58:51.882972 str-a7050-acs-1 ERR syncd#syncd: :- flexCounterThread: End of flex counter thread FC PFC_WD, took 40 ms Jun 4 17:58:52.074862 str-a7050-acs-1 ERR syncd#syncd: :- flexCounterThread: End of flex counter thread FC PFC_WD, took 31 ms This PR is to address the above observation: Fine granularize the isEmpty() to two functions---isIdsEmpty() and isPluginsEmpty(), and use the emptiness check of the counter id list, isIdsEmpty(), as the criteria for full sleep wait. This approach is generally valid because current flex counter use cases would have the presence of non-empty counter id list to be meaningful, followed by an optional execution of the Lua script plugins if they are installed. Signed-off-by: Wenda Ni <wenni@microsoft.com> - Check if port VID exists in db on flex counter query (sonic-net#464) - add support for SAI_ATTR_VALUE_TYPE_ACL_CAPABILITY (sonic-net#460) Signed-off-by: Stepan Blyschak <stepanb@mellanox.com> - Full sleep wait flex counter polling thread when POLL_COUNTER_STATUS is disable (sonic-net#462) Signed-off-by: Wenda Ni <wenni@microsoft.com> - [debian] increment debian compatibility to 10 to enable parallel package build (sonic-net#461) * fix parallel build Signed-off-by: Stepan Blyschak <stepanb@mellanox.com> * [debian] increment debian compatibility to 10 to enable parallel package build From debhelper man pages: "If neither option is specified, debhelper currently defaults to --parallel in compat 10 (or later) and --no-parallel otherwise." Signed-off-by: Stepan Blyschak <stepanb@mellanox.com> * make tests run serial Signed-off-by: Stepan Blyschak <stepanb@mellanox.com> - [debian]: Change build order in target binary (sonic-net#452) Make binary-syncd the last target, so the non-rpc requisites will be available after the first build It will allow doing incremental builds later on for the main binary type - Add buffer pool stat to flex counter architecture (sonic-net#451) - Watermark: test SAI clear api if the stats mode is READ_AND_CLEAR (sonic-net#427) * Test SAI clear api if the stats mode is READ_AND_CLEAR Signed-off-by: Wenda <wenni@microsoft.com> * Address compile error
…tilites submodules sonic-swss -[SFlowMgr] Sflow Crash on 200G ports handled (sonic-net#1683) -Stablize the test case (sonic-net#1679) -Remove PGs from an administratively down port. (sonic-net#1677) sonic-swss-common - fix getting hash from redis db (sonic-net#465) - [dbconnector] Initialize redisContext (sonic-net#464) sonic-utilities - route_check: Fix hanging & logging level (sonic-net#1520) - Add self timeout and crash if exceeded. (sonic-net#1502) - [reboot] User-friendly reboot cause message for kernel panic (sonic-net#1486) - [acl-loader]: do not add default deny rule for egress acl (sonic-net#1531) Signed-off-by: Danny Allen <daall@microsoft.com>
…tilites submodules (#7209) sonic-swss -[SFlowMgr] Sflow Crash on 200G ports handled (#1683) -Stablize the test case (#1679) -Remove PGs from an administratively down port. (#1677) sonic-swss-common - fix getting hash from redis db (#465) - [dbconnector] Initialize redisContext (#464) sonic-utilities - route_check: Fix hanging & logging level (#1520) - Add self timeout and crash if exceeded. (#1502) - [reboot] User-friendly reboot cause message for kernel panic (#1486) - [acl-loader]: do not add default deny rule for egress acl (#1531) Signed-off-by: Danny Allen <daall@microsoft.com>
- fix getting hash from redis db (sonic-net#465) - [dbconnector] Initialize redisContext (sonic-net#464)
- fix getting hash from redis db (sonic-net#465) - [dbconnector] Initialize redisContext (sonic-net#464)
…D automatically (#18652) #### Why I did it src/sonic-platform-daemons ``` * 4ed4fa8 - (HEAD -> 202311, origin/202311) [202311] Fix intermittent build failure for test_SfpStateUpdateTask_task_run_stop (#461) (#464) (8 hours ago) [mihirpat1] ``` #### How I did it #### How to verify it #### Description for the changelog
Usage: