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

SONiC-to-SONiC update #464

Merged
merged 9 commits into from Apr 22, 2017
Merged

SONiC-to-SONiC update #464

merged 9 commits into from Apr 22, 2017

Conversation

andriymoroz-mlnx
Copy link
Collaborator

Usage:

  • build as usual
  • install sonic-xxx.bin image via ONIE
  • install any following updates from SONiC (same as in ONIE: scp and execute)

@lguohan
Copy link
Collaborator

lguohan commented Mar 31, 2017

@qiluo-msft, please review

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}
Copy link
Collaborator

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:

  1. kernel argument, provided by bootloader ONIE/Aboot/etc.
  2. parse /proc/cmdline
  3. parse a file with image version on the disk

Then we can remove the %GIT_REVISION% from build_debian.sh #Closed

Copy link
Collaborator Author

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

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!


In reply to: 109391921 [](ancestors = 109391921)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed

@@ -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
Copy link
Collaborator

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

@@ -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}"
Copy link
Collaborator

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

sonic_dir="$SONIC_IMAGE_DIR_PREFIX-$git_revision"

echo "Installing SONiC to $demo_mnt/$sonic_dir"
mkdir $demo_mnt/$sonic_dir || {
Copy link
Collaborator

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

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" ")
Copy link
Collaborator

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

Copy link
Collaborator Author

@andriymoroz-mlnx andriymoroz-mlnx Apr 3, 2017

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

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're correct. Thanks!


In reply to: 109413786 [](ancestors = 109413786)

# 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
Copy link
Collaborator

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.

Copy link
Collaborator Author

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.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I said nothing related to entry order.


In reply to: 109420255 [](ancestors = 109420255)

Copy link
Collaborator Author

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

cp $grub_cfg $onie_initrd_tmp/$demo_mnt/grub/grub.cfg

# Remove extra SONiC image if any
if [ "$environment" = "sonic" ]; then
Copy link
Collaborator

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.

Copy link
Collaborator Author

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

Copy link
Collaborator Author

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
Copy link
Collaborator

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

Copy link
Collaborator

@qiluo-msft qiluo-msft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As comments.

@@ -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
Copy link
Collaborator Author

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".

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You should reuse the code to detect ONIE/Sonic.


In reply to: 109438459 [](ancestors = 109438459)

[ -r platforms/$onie_platform ] && source platforms/$onie_platform
if [ -d "/etc/sonic" ]; then
echo "Running in SONiC"
environment="sonic"
Copy link
Collaborator

@qiluo-msft qiluo-msft Apr 3, 2017

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

Copy link
Collaborator

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

## 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
Copy link
Collaborator

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

Copy link
Collaborator

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.

echo "Running in SONiC"
environment="sonic"
else
echo "Running NOT in SONiC"
Copy link
Collaborator

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

@@ -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"
Copy link
Collaborator

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

[ -r platforms/$onie_platform ] && source platforms/$onie_platform
if [ -d "/etc/sonic" ]; then
echo "Running in SONiC"
environment="sonic"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

environment -> install_env

demo_mnt="/host"
fi

sonic_dir="$SONIC_IMAGE_DIR_PREFIX-$git_revision"
Copy link
Collaborator

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

mkfs.ext4 -q $demo_mnt/disk-img/var-log.ext4 -F
fi
else
echo "Log file system already exists. Skipping..."
fi
Copy link
Collaborator

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.

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")
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename to onie_menuentry

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
Copy link
Collaborator

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

@@ -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")
Copy link
Collaborator

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
Copy link
Collaborator

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.

rm -rf $demo_mnt/$sonic_dir/*
else
mkdir $demo_mnt/$sonic_dir || {
echo "Error: Unable to create sonic directory"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sonic -> SONiC

@qiluo-msft
Copy link
Collaborator

qiluo-msft commented Apr 4, 2017

@andriymoroz-mlnx Could you resolve the conflicts? #Closed

@andriymoroz-mlnx
Copy link
Collaborator Author

resolved conflicts

@andriymoroz-mlnx
Copy link
Collaborator Author

andriymoroz-mlnx commented Apr 12, 2017

Updated. Used version string instead of git hash
GRUB menu example:

                          GNU GRUB  version 2.02~beta3

 +----------------------------------------------------------------------------+
 |*SONiC-OS-S2S_VER.6-dirty                                                   |
 | SONiC-OS-S2S_VER.4-dirty                                                   |
 | ONIE                                                                       |
 |                                                                            |

Directories with sonic images:

root@arc-switch1025:/home/admin# ls -l /host/
total 36
drwxr-xr-x 2 root root  4096 Apr 12 11:43 disk-img
drwxr-xr-x 5 root root  4096 Apr 12 11:45 grub
drwxr-xr-x 6 root root  4096 Apr 12 13:38 image-S2S_VER.4-dirty
drwxr-xr-x 6 root root  4096 Apr 12 14:21 image-S2S_VER.6-dirty
drwx------ 2 root root 16384 Apr 12 11:43 lost+found
-rw-r--r-- 1 root root   329 Apr 12 11:45 machine.conf
root@arc-switch1025:/home/admin#

@lguohan, @qiluo-msft, @stcheng please review

@andriymoroz-mlnx
Copy link
Collaborator Author

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 ...'
Copy link
Collaborator

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 ...'
Copy link
Collaborator

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"
Copy link
Collaborator

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 }}"
Copy link
Collaborator

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.

@@ -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
Copy link
Collaborator

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%%"

fi
done

## Unzip the image
unzip -oq "$swipath" -x boot0 -d "$target_path"
unzip -oq "$swipath" -x boot0 -d "$target_path/image-%%IMAGE_VERSION%%"
Copy link
Collaborator

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

@@ -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/')
Copy link
Collaborator

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.

@lguohan lguohan merged commit b549adc into sonic-net:master Apr 22, 2017
stcheng pushed a commit to stcheng/sonic-buildimage that referenced this pull request Jun 13, 2019
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>
stcheng pushed a commit that referenced this pull request Jun 14, 2019
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>
Kalimuthu-Velappan pushed a commit to Kalimuthu-Velappan/sonic-buildimage that referenced this pull request Sep 12, 2019
* Access DB directly to get the PSU status information
* Add test case for psu CLI

Signed-off-by: Kevin Wang <kevinw@mellanox.com>
seiferteric pushed a commit to project-arlo/sonic-buildimage that referenced this pull request Oct 14, 2019
* 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
dmytroxshevchuk pushed a commit to dmytroxshevchuk/sonic-buildimage that referenced this pull request Aug 31, 2020
lguohan pushed a commit that referenced this pull request Mar 29, 2021
- fix getting hash from redis db (#465)
- [dbconnector] Initialize redisContext (#464)
daall added a commit to daall/sonic-buildimage that referenced this pull request Apr 1, 2021
…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>
daall added a commit that referenced this pull request Apr 2, 2021
…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>
raphaelt-nvidia pushed a commit to raphaelt-nvidia/sonic-buildimage that referenced this pull request May 23, 2021
- fix getting hash from redis db (sonic-net#465)
- [dbconnector] Initialize redisContext (sonic-net#464)
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
- fix getting hash from redis db (sonic-net#465)
- [dbconnector] Initialize redisContext (sonic-net#464)
mssonicbld added a commit that referenced this pull request Apr 11, 2024
…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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants