# config reload -y /home/cisco/full.txt
Acquired lock on /etc/sonic/reload.lock
Input file /home/cisco/full.txt must contain all asics config. ns_list: ['', 'asic0', 'asic1', 'asic2'] file ns_list: ['ACL_RULE', 'ACL_TABLE', 'ASIC_SENSORS', 'AUTO_TECHSUPPORT', 'AUTO_TECHSUPPORT_FEATURE', 'BANNER_MESSAGE', 'BGP_DEVICE_GLOBAL', 'BGP_INTERNAL_NEIGHBOR', 'BGP_NEIGHBOR', 'BUFFER_PG', 'BUFFER_POOL', 'BUFFER_PROFILE', 'BUFFER_QUEUE', 'CABLE_LENGTH', 'CONSOLE_SWITCH', 'CRM', 'DEVICE_METADATA', 'DEVICE_NEIGHBOR', 'DEVICE_NEIGHBOR_METADATA', 'DSCP_TO_TC_MAP', 'FEATURE', 'FLEX_COUNTER_TABLE', 'KDUMP', 'LOGGER', 'LOOPBACK_INTERFACE', 'MAP_PFC_PRIORITY_TO_QUEUE', 'MGMT_INTERFACE', 'MGMT_PORT', 'NTP', 'PASSW_HARDENING', 'PORT', 'PORTCHANNEL', 'PORTCHANNEL_INTERFACE', 'PORTCHANNEL_MEMBER', 'PORT_QOS_MAP', 'QUEUE', 'RESTAPI', 'SCHEDULER', 'STATIC_ROUTE', 'SYSLOG_CONFIG', 'SYSLOG_CONFIG_FEATURE', 'SYSTEM_DEFAULTS', 'TC_TO_PRIORITY_GROUP_MAP', 'TC_TO_QUEUE_MAP', 'TELEMETRY', 'VERSIONS', 'WRED_PROFILE']
Released lock on /etc/sonic/reload.lock
Aborted!
Found this issue, while fixing Issue - Multi-asic support for ApplyPatchDb API for gNMI
gnoi_reboothappens intest_gnmi_configdb.py::test_gnmi_configdb_full_01.gnoi_rebootruns fine in single-asic devices & in case of multi-asic beforegnmi_setis run in thetest_gnmi_configdb.py::test_gnmi_configdb_full_01function. Aftergnmi_sethappening here which entirely updates theconfig_db,gnoi_rebootfails.Reason,
gnoi_rebootis failing in multi-asic devices is because as per Config reload in Multi-Asic documentation for any successfulconfig reloadto take place after a change in configuration we need to pass all the different config_db that exist;before
gnmi_settakes place in the TC, if we run theconfig_reloadorgnoi_reboot(which underneath is doing aconfig_reload), then since there has been no changes in configuration, it picks up the asic specificconfig_dband reloads successfully; BUT, when we rungnmi_setin TC & do agnmi_rebootthen by default currentlygnoi_rebootis picking up the temporaryconfig_dbthat is written bygnmi_setviz stored at/tmp/config_db.json.tmp, but since we didn't pass other asic specifc config_dbs,gnoi_rebootfails with error -Do debug further, we manually tried doing
config_reloadon multi-asic device, first we tried a normal config reload without passing new config_db file -config reload -y&config_reloadwas successful.Then we tried a
config_reloadpassing thefull.txtwhich was passed as payload tognmi_setin the TC here, and it errored out -But then, we tried a
config_reloadpassing all the asic specificconfig_db's along with thefull.txt& it ran fine as shown below & when we checked value ofadmin_statusforEthernet0interface it wasdownas expected (since that was the update being done as part of TC)Therefore, we can conclude, that we need to enable Multi-Asic support for
reload funcas well ingnoi_clientso that whengnoi_rebootis triggered in Multi-Asic device after a change, then it reboots successfully.Ref :