Skip to content

Commit c1689a0

Browse files
committed
Adding local-users-passwords-reset feature service, YANG model and its tests
1 parent 3debe78 commit c1689a0

File tree

13 files changed

+323
-74
lines changed

13 files changed

+323
-74
lines changed

files/build_templates/init_cfg.json.j2

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,11 @@
153153
"logout": ""
154154
}
155155
},
156+
"LOCAL_USERS_PASSWORDS_RESET": {
157+
"global": {
158+
"state": "disabled"
159+
}
160+
},
156161
"SYSTEM_DEFAULTS" : {
157162
{%- if include_mux == "y" %}
158163
"mux_tunnel_egress_acl": {

files/build_templates/sonic_debian_extension.j2

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,15 @@ sudo cp $IMAGE_CONFIGS/hostname/hostname-config.service $FILESYSTEM_ROOT_USR_LIB
625625
echo "hostname-config.service" | sudo tee -a $GENERATED_SERVICE_FILE
626626
sudo cp $IMAGE_CONFIGS/hostname/hostname-config.sh $FILESYSTEM_ROOT/usr/bin/
627627

628+
{% if enable_local_users_passwords_reset == "y" %}
629+
# Copy local-users-passwords-reset configuration scripts
630+
sudo cp $IMAGE_CONFIGS/local-users-passwords-reset/local-users-passwords-reset.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
631+
echo "local-users-passwords-reset.service" | sudo tee -a $GENERATED_SERVICE_FILE
632+
sudo cp $IMAGE_CONFIGS/local-users-passwords-reset/local-users-passwords-reset.py $FILESYSTEM_ROOT/usr/bin/
633+
# Set execute permissions only
634+
sudo chmod 100 $FILESYSTEM_ROOT/usr/bin/local-users-passwords-reset.py
635+
{% endif %}
636+
628637
# Copy banner configuration scripts
629638
sudo cp $IMAGE_CONFIGS/bannerconfig/banner-config.service $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
630639
echo "banner-config.service" | sudo tee -a $GENERATED_SERVICE_FILE
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
#!/usr/bin/env python
2+
3+
import os
4+
import syslog
5+
from swsscommon.swsscommon import ConfigDBConnector, DBConnector
6+
from swsscommon import swsscommon
7+
8+
9+
STATE_DB = "STATE_DB"
10+
11+
12+
def get_platform_local_users_passwords_reset():
13+
try:
14+
from sonic_platform.local_users_passwords_reset import LocalUsersConfigurationReset
15+
local_users_password_reset_class = LocalUsersConfigurationReset()
16+
except ImportError:
17+
syslog.syslog(syslog.LOG_WARNING, "LocalUsersConfigurationReset: sonic_platform package not installed. Unable to find platform local users passwords reset implementation")
18+
raise Exception('Local users passwords reset implementation is not defined')
19+
20+
return local_users_password_reset_class
21+
22+
23+
class LocalUsersConfigurationResetService:
24+
def __init__(self):
25+
state_db_conn = DBConnector(STATE_DB, 0)
26+
# Wait if the Warm/Fast boot is in progress
27+
if swsscommon.RestartWaiter.isAdvancedBootInProgress(state_db_conn):
28+
swsscommon.RestartWaiter.waitAdvancedBootDone()
29+
30+
self.config_db = ConfigDBConnector()
31+
self.config_db.connect(wait_for_init=True, retry_on=True)
32+
syslog.syslog(syslog.LOG_INFO, 'ConfigDB connect success')
33+
34+
def get_feature_state(self):
35+
'''
36+
Check if the feature is enabled by reading the redis table
37+
'''
38+
table = self.config_db.get_table(swsscommon.CFG_LOCAL_USERS_PASSWORDS_RESET)
39+
if table:
40+
state = table.get('global', {}).get('state')
41+
return True if state == 'enabled' else False
42+
43+
return False
44+
45+
def start(self):
46+
'''
47+
If the feature is enabled then reset the password's using the platform
48+
specific implementation
49+
'''
50+
local_users_password_reset = get_platform_local_users_passwords_reset()
51+
feature_enabled = self.get_feature_state()
52+
syslog.syslog(syslog.LOG_INFO, 'Feature is {}'.format('enabled' if feature_enabled else 'disabled'))
53+
should_trigger = local_users_password_reset.should_trigger()
54+
if should_trigger and feature_enabled:
55+
local_users_password_reset.start()
56+
57+
58+
def main():
59+
LocalUsersConfigurationResetService().start()
60+
61+
62+
if __name__ == "__main__":
63+
main()
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
[Unit]
2+
Description=Update Local users' passwords config based on configdb
3+
Requires=config-setup.service
4+
After=config-setup.service
5+
Before=systemd-logind.service sshd.service getty.target [email protected]
6+
7+
8+
[Service]
9+
Type=oneshot
10+
RemainAfterExit=no
11+
ExecStart=/usr/bin/local-users-passwords-reset.py
12+
13+
[Install]
14+
WantedBy=sonic.target
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
#
2+
# Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES.
3+
# Apache-2.0
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
#############################################################################
18+
# Mellanox
19+
#
20+
# Module contains an implementation of SONiC Platform Base API and
21+
# provides the local users' passwords reset functionality implementation.
22+
#
23+
#############################################################################
24+
25+
try:
26+
import json
27+
import subprocess
28+
29+
from sonic_platform_base.local_users_passwords_reset_base import LocalUsersConfigurationResetBase
30+
from sonic_py_common.logger import Logger
31+
from . import utils
32+
except ImportError as e:
33+
raise ImportError (str(e) + "- required module not found")
34+
35+
36+
# Global logger class instance
37+
logger = Logger()
38+
39+
40+
LONG_REBOOT_PRESS_FILEPATH = '/var/run/hw-management/system/reset_long_pb'
41+
42+
43+
class LocalUsersConfigurationReset(LocalUsersConfigurationResetBase):
44+
def should_trigger(self):
45+
'''
46+
The condition for triggering passwords reset is by checking if the
47+
reboot cause was a long reboot press.
48+
'''
49+
try:
50+
status = utils.read_int_from_file(LONG_REBOOT_PRESS_FILEPATH, raise_exception=True)
51+
return True if status == 1 else False
52+
except (ValueError, IOError) as e:
53+
logger.log_error(f"Failed to read long reboot press from {LONG_REBOOT_PRESS_FILEPATH} - {e}")
54+
return False
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#
2+
# Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES.
3+
# Apache-2.0
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
#
17+
import os
18+
import pytest
19+
import sys
20+
from mock import patch, mock_open
21+
22+
test_path = os.path.dirname(os.path.abspath(__file__))
23+
modules_path = os.path.dirname(test_path)
24+
sys.path.insert(0, modules_path)
25+
26+
from sonic_platform.local_users_passwords_reset import LocalUsersConfigurationReset
27+
28+
29+
class TestLocalUsersConfigurationReset:
30+
@patch('sonic_platform.utils.read_int_from_file')
31+
def test_should_trigger_method(self, mock_read_int):
32+
'''
33+
Validate should_trigger() method
34+
'''
35+
local_users_reset_class = LocalUsersConfigurationReset()
36+
37+
mock_read_int.return_value = int(1)
38+
assert local_users_reset_class.should_trigger() == True
39+
mock_read_int.return_value = int(0)
40+
assert local_users_reset_class.should_trigger() == False
41+
mock_read_int.return_value = int(2)
42+
assert local_users_reset_class.should_trigger() == False
43+
mock_read_int.side_effect = ValueError()
44+
assert local_users_reset_class.should_trigger() == False

rules/config

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ DEFAULT_PASSWORD = YourPaSsWoRd
5151
# ENABLE_ZTP - installs Zero Touch Provisioning support.
5252
# ENABLE_ZTP = y
5353

54+
# ENABLE_LOCAL_USERS_PASSWORDS_RESET - enable local users' passwords reset during init on switch
55+
ENABLE_LOCAL_USERS_PASSWORDS_RESET ?= n
56+
5457
# INCLUDE_PDE - Enable platform development enviroment
5558
# INCLUDE_PDE = y
5659
# SHUTDOWN_BGP_ON_START - if set to y all bgp sessions will be in admin down state when

slave.mk

Lines changed: 76 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -385,84 +385,85 @@ ifndef SONIC_BUILD_QUIETER
385385
$(info SONiC Build System)
386386
$(info )
387387
$(info Build Configuration)
388-
$(info "CONFIGURED_PLATFORM" : "$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))")
389-
$(info "CONFIGURED_ARCH" : "$(if $(PLATFORM_ARCH),$(PLATFORM_ARCH),$(CONFIGURED_ARCH))")
390-
$(info "SONIC_CONFIG_PRINT_DEPENDENCIES" : "$(SONIC_CONFIG_PRINT_DEPENDENCIES)")
391-
$(info "SONIC_BUILD_JOBS" : "$(SONIC_BUILD_JOBS)")
392-
$(info "SONIC_CONFIG_MAKE_JOBS" : "$(SONIC_CONFIG_MAKE_JOBS)")
393-
$(info "USE_NATIVE_DOCKERD_FOR_BUILD" : "$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD)")
394-
$(info "SONIC_USE_DOCKER_BUILDKIT" : "$(SONIC_USE_DOCKER_BUILDKIT)")
395-
$(info "USERNAME" : "$(USERNAME)")
396-
$(info "PASSWORD" : "$(PASSWORD)")
397-
$(info "CHANGE_DEFAULT_PASSWORD" : "$(CHANGE_DEFAULT_PASSWORD)")
398-
$(info "SECURE_UPGRADE_MODE" : "$(SECURE_UPGRADE_MODE)")
399-
$(info "SECURE_UPGRADE_DEV_SIGNING_KEY" : "$(SECURE_UPGRADE_DEV_SIGNING_KEY)")
400-
$(info "SECURE_UPGRADE_SIGNING_CERT" : "$(SECURE_UPGRADE_SIGNING_CERT)")
401-
$(info "SECURE_UPGRADE_PROD_SIGNING_TOOL": "$(SECURE_UPGRADE_PROD_SIGNING_TOOL)")
402-
$(info "SECURE_UPGRADE_PROD_TOOL_ARGS" : "$(SECURE_UPGRADE_PROD_TOOL_ARGS)")
403-
$(info "ONIE_IMAGE_PART_SIZE" : "$(ONIE_IMAGE_PART_SIZE)")
404-
$(info "SHUTDOWN_BGP_ON_START" : "$(SHUTDOWN_BGP_ON_START)")
405-
$(info "ENABLE_PFCWD_ON_START" : "$(ENABLE_PFCWD_ON_START)")
406-
$(info "SONIC_BUFFER_MODEL" : "$(SONIC_BUFFER_MODEL)")
407-
$(info "INSTALL_DEBUG_TOOLS" : "$(INSTALL_DEBUG_TOOLS)")
408-
$(info "ROUTING_STACK" : "$(SONIC_ROUTING_STACK)")
388+
$(info "CONFIGURED_PLATFORM" : "$(if $(PLATFORM),$(PLATFORM),$(CONFIGURED_PLATFORM))")
389+
$(info "CONFIGURED_ARCH" : "$(if $(PLATFORM_ARCH),$(PLATFORM_ARCH),$(CONFIGURED_ARCH))")
390+
$(info "SONIC_CONFIG_PRINT_DEPENDENCIES" : "$(SONIC_CONFIG_PRINT_DEPENDENCIES)")
391+
$(info "SONIC_BUILD_JOBS" : "$(SONIC_BUILD_JOBS)")
392+
$(info "SONIC_CONFIG_MAKE_JOBS" : "$(SONIC_CONFIG_MAKE_JOBS)")
393+
$(info "USE_NATIVE_DOCKERD_FOR_BUILD" : "$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD)")
394+
$(info "SONIC_USE_DOCKER_BUILDKIT" : "$(SONIC_USE_DOCKER_BUILDKIT)")
395+
$(info "USERNAME" : "$(USERNAME)")
396+
$(info "PASSWORD" : "$(PASSWORD)")
397+
$(info "CHANGE_DEFAULT_PASSWORD" : "$(CHANGE_DEFAULT_PASSWORD)")
398+
$(info "SECURE_UPGRADE_MODE" : "$(SECURE_UPGRADE_MODE)")
399+
$(info "SECURE_UPGRADE_DEV_SIGNING_KEY" : "$(SECURE_UPGRADE_DEV_SIGNING_KEY)")
400+
$(info "SECURE_UPGRADE_SIGNING_CERT" : "$(SECURE_UPGRADE_SIGNING_CERT)")
401+
$(info "SECURE_UPGRADE_PROD_SIGNING_TOOL" : "$(SECURE_UPGRADE_PROD_SIGNING_TOOL)")
402+
$(info "SECURE_UPGRADE_PROD_TOOL_ARGS" : "$(SECURE_UPGRADE_PROD_TOOL_ARGS)")
403+
$(info "ONIE_IMAGE_PART_SIZE" : "$(ONIE_IMAGE_PART_SIZE)")
404+
$(info "SHUTDOWN_BGP_ON_START" : "$(SHUTDOWN_BGP_ON_START)")
405+
$(info "ENABLE_PFCWD_ON_START" : "$(ENABLE_PFCWD_ON_START)")
406+
$(info "SONIC_BUFFER_MODEL" : "$(SONIC_BUFFER_MODEL)")
407+
$(info "INSTALL_DEBUG_TOOLS" : "$(INSTALL_DEBUG_TOOLS)")
408+
$(info "ROUTING_STACK" : "$(SONIC_ROUTING_STACK)")
409409
ifeq ($(SONIC_ROUTING_STACK),frr)
410-
$(info "FRR_USER_UID" : "$(FRR_USER_UID)")
411-
$(info "FRR_USER_GID" : "$(FRR_USER_GID)")
410+
$(info "FRR_USER_UID" : "$(FRR_USER_UID)")
411+
$(info "FRR_USER_GID" : "$(FRR_USER_GID)")
412412
endif
413-
$(info "ENABLE_SYNCD_RPC" : "$(ENABLE_SYNCD_RPC)")
414-
$(info "SAITHRIFT_V2" : "$(SAITHRIFT_V2)")
415-
$(info "ENABLE_ORGANIZATION_EXTENSIONS" : "$(ENABLE_ORGANIZATION_EXTENSIONS)")
416-
$(info "HTTP_PROXY" : "$(HTTP_PROXY)")
417-
$(info "HTTPS_PROXY" : "$(HTTPS_PROXY)")
418-
$(info "NO_PROXY" : "$(NO_PROXY)")
419-
$(info "ENABLE_ZTP" : "$(ENABLE_ZTP)")
420-
$(info "INCLUDE_PDE" : "$(INCLUDE_PDE)")
421-
$(info "SONIC_DEBUGGING_ON" : "$(SONIC_DEBUGGING_ON)")
422-
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
423-
$(info "KERNEL_PROCURE_METHOD" : "$(KERNEL_PROCURE_METHOD)")
424-
$(info "BUILD_TIMESTAMP" : "$(BUILD_TIMESTAMP)")
425-
$(info "BUILD_LOG_TIMESTAMP" : "$(BUILD_LOG_TIMESTAMP)")
426-
$(info "SONIC_IMAGE_VERSION" : "$(SONIC_IMAGE_VERSION)")
427-
$(info "BLDENV" : "$(BLDENV)")
428-
$(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)")
429-
$(info "INCLUDE_MGMT_FRAMEWORK" : "$(INCLUDE_MGMT_FRAMEWORK)")
430-
$(info "INCLUDE_ICCPD" : "$(INCLUDE_ICCPD)")
431-
$(info "INCLUDE_SYSTEM_TELEMETRY" : "$(INCLUDE_SYSTEM_TELEMETRY)")
432-
$(info "INCLUDE_SYSTEM_GNMI" : "$(INCLUDE_SYSTEM_GNMI)")
433-
$(info "INCLUDE_SYSTEM_EVENTD" : "$(INCLUDE_SYSTEM_EVENTD)")
434-
$(info "ENABLE_HOST_SERVICE_ON_START" : "$(ENABLE_HOST_SERVICE_ON_START)")
435-
$(info "INCLUDE_RESTAPI" : "$(INCLUDE_RESTAPI)")
436-
$(info "INCLUDE_SFLOW" : "$(INCLUDE_SFLOW)")
437-
$(info "INCLUDE_NAT" : "$(INCLUDE_NAT)")
438-
$(info "INCLUDE_DHCP_RELAY" : "$(INCLUDE_DHCP_RELAY)")
439-
$(info "INCLUDE_DHCP_SERVER" : "$(INCLUDE_DHCP_SERVER)")
440-
$(info "INCLUDE_P4RT" : "$(INCLUDE_P4RT)")
441-
$(info "INCLUDE_KUBERNETES" : "$(INCLUDE_KUBERNETES)")
442-
$(info "INCLUDE_KUBERNETES_MASTER" : "$(INCLUDE_KUBERNETES_MASTER)")
443-
$(info "INCLUDE_MACSEC" : "$(INCLUDE_MACSEC)")
444-
$(info "INCLUDE_MUX" : "$(INCLUDE_MUX)")
445-
$(info "INCLUDE_TEAMD" : "$(INCLUDE_TEAMD)")
446-
$(info "INCLUDE_ROUTER_ADVERTISER" : "$(INCLUDE_ROUTER_ADVERTISER)")
447-
$(info "INCLUDE_BOOTCHART : "$(INCLUDE_BOOTCHART)")
448-
$(info "ENABLE_BOOTCHART : "$(ENABLE_BOOTCHART)")
449-
$(info "INCLUDE_FIPS" : "$(INCLUDE_FIPS)")
450-
$(info "ENABLE_TRANSLIB_WRITE" : "$(ENABLE_TRANSLIB_WRITE)")
451-
$(info "ENABLE_NATIVE_WRITE" : "$(ENABLE_NATIVE_WRITE)")
452-
$(info "ENABLE_DIALOUT" : "$(ENABLE_DIALOUT)")
453-
$(info "ENABLE_AUTO_TECH_SUPPORT" : "$(ENABLE_AUTO_TECH_SUPPORT)")
454-
$(info "PDDF_SUPPORT" : "$(PDDF_SUPPORT)")
455-
$(info "MULTIARCH_QEMU_ENVIRON" : "$(MULTIARCH_QEMU_ENVIRON)")
456-
$(info "SONIC_VERSION_CONTROL_COMPONENTS": "$(SONIC_VERSION_CONTROL_COMPONENTS)")
457-
$(info "ENABLE_ASAN" : "$(ENABLE_ASAN)")
458-
$(info "DEFAULT_CONTAINER_REGISTRY" : "$(SONIC_DEFAULT_CONTAINER_REGISTRY)")
413+
$(info "ENABLE_SYNCD_RPC" : "$(ENABLE_SYNCD_RPC)")
414+
$(info "SAITHRIFT_V2" : "$(SAITHRIFT_V2)")
415+
$(info "ENABLE_ORGANIZATION_EXTENSIONS" : "$(ENABLE_ORGANIZATION_EXTENSIONS)")
416+
$(info "HTTP_PROXY" : "$(HTTP_PROXY)")
417+
$(info "HTTPS_PROXY" : "$(HTTPS_PROXY)")
418+
$(info "NO_PROXY" : "$(NO_PROXY)")
419+
$(info "ENABLE_ZTP" : "$(ENABLE_ZTP)")
420+
$(info "ENABLE_LOCAL_USERS_PASSWORDS_RESET" : "$(ENABLE_LOCAL_USERS_PASSWORDS_RESET)")
421+
$(info "INCLUDE_PDE" : "$(INCLUDE_PDE)")
422+
$(info "SONIC_DEBUGGING_ON" : "$(SONIC_DEBUGGING_ON)")
423+
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
424+
$(info "KERNEL_PROCURE_METHOD" : "$(KERNEL_PROCURE_METHOD)")
425+
$(info "BUILD_TIMESTAMP" : "$(BUILD_TIMESTAMP)")
426+
$(info "BUILD_LOG_TIMESTAMP" : "$(BUILD_LOG_TIMESTAMP)")
427+
$(info "SONIC_IMAGE_VERSION" : "$(SONIC_IMAGE_VERSION)")
428+
$(info "BLDENV" : "$(BLDENV)")
429+
$(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)")
430+
$(info "INCLUDE_MGMT_FRAMEWORK" : "$(INCLUDE_MGMT_FRAMEWORK)")
431+
$(info "INCLUDE_ICCPD" : "$(INCLUDE_ICCPD)")
432+
$(info "INCLUDE_SYSTEM_TELEMETRY" : "$(INCLUDE_SYSTEM_TELEMETRY)")
433+
$(info "INCLUDE_SYSTEM_GNMI" : "$(INCLUDE_SYSTEM_GNMI)")
434+
$(info "INCLUDE_SYSTEM_EVENTD" : "$(INCLUDE_SYSTEM_EVENTD)")
435+
$(info "ENABLE_HOST_SERVICE_ON_START" : "$(ENABLE_HOST_SERVICE_ON_START)")
436+
$(info "INCLUDE_RESTAPI" : "$(INCLUDE_RESTAPI)")
437+
$(info "INCLUDE_SFLOW" : "$(INCLUDE_SFLOW)")
438+
$(info "INCLUDE_NAT" : "$(INCLUDE_NAT)")
439+
$(info "INCLUDE_DHCP_RELAY" : "$(INCLUDE_DHCP_RELAY)")
440+
$(info "INCLUDE_DHCP_SERVER" : "$(INCLUDE_DHCP_SERVER)")
441+
$(info "INCLUDE_P4RT" : "$(INCLUDE_P4RT)")
442+
$(info "INCLUDE_KUBERNETES" : "$(INCLUDE_KUBERNETES)")
443+
$(info "INCLUDE_KUBERNETES_MASTER" : "$(INCLUDE_KUBERNETES_MASTER)")
444+
$(info "INCLUDE_MACSEC" : "$(INCLUDE_MACSEC)")
445+
$(info "INCLUDE_MUX" : "$(INCLUDE_MUX)")
446+
$(info "INCLUDE_TEAMD" : "$(INCLUDE_TEAMD)")
447+
$(info "INCLUDE_ROUTER_ADVERTISER" : "$(INCLUDE_ROUTER_ADVERTISER)")
448+
$(info "INCLUDE_BOOTCHART : "$(INCLUDE_BOOTCHART)")
449+
$(info "ENABLE_BOOTCHART : "$(ENABLE_BOOTCHART)")
450+
$(info "INCLUDE_FIPS" : "$(INCLUDE_FIPS)")
451+
$(info "ENABLE_TRANSLIB_WRITE" : "$(ENABLE_TRANSLIB_WRITE)")
452+
$(info "ENABLE_NATIVE_WRITE" : "$(ENABLE_NATIVE_WRITE)")
453+
$(info "ENABLE_DIALOUT" : "$(ENABLE_DIALOUT)")
454+
$(info "ENABLE_AUTO_TECH_SUPPORT" : "$(ENABLE_AUTO_TECH_SUPPORT)")
455+
$(info "PDDF_SUPPORT" : "$(PDDF_SUPPORT)")
456+
$(info "MULTIARCH_QEMU_ENVIRON" : "$(MULTIARCH_QEMU_ENVIRON)")
457+
$(info "SONIC_VERSION_CONTROL_COMPONENTS" : "$(SONIC_VERSION_CONTROL_COMPONENTS)")
458+
$(info "ENABLE_ASAN" : "$(ENABLE_ASAN)")
459+
$(info "DEFAULT_CONTAINER_REGISTRY" : "$(SONIC_DEFAULT_CONTAINER_REGISTRY)")
459460
ifeq ($(CONFIGURED_PLATFORM),vs)
460-
$(info "BUILD_MULTIASIC_KVM" : "$(BUILD_MULTIASIC_KVM)")
461+
$(info "BUILD_MULTIASIC_KVM" : "$(BUILD_MULTIASIC_KVM)")
461462
endif
462-
$(info "CROSS_BUILD_ENVIRON" : "$(CROSS_BUILD_ENVIRON)")
463-
$(info "LEGACY_SONIC_MGMT_DOCKER" : "$(LEGACY_SONIC_MGMT_DOCKER)")
464-
$(info "INCLUDE_EXTERNAL_PATCHES" : "$(INCLUDE_EXTERNAL_PATCHES)")
465-
$(info "PTF_ENV_PY_VER" : "$(PTF_ENV_PY_VER)")
463+
$(info "CROSS_BUILD_ENVIRON" : "$(CROSS_BUILD_ENVIRON)")
464+
$(info "GZ_COMPRESS_PROGRAM" : "$(GZ_COMPRESS_PROGRAM)")
465+
$(info "LEGACY_SONIC_MGMT_DOCKER" : "$(LEGACY_SONIC_MGMT_DOCKER)")
466+
$(info "INCLUDE_EXTERNAL_PATCHES" : "$(INCLUDE_EXTERNAL_PATCHES)")
466467
$(info )
467468
else
468469
$(info SONiC Build System for $(CONFIGURED_PLATFORM):$(CONFIGURED_ARCH))
@@ -1418,6 +1419,7 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
14181419
export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))"
14191420
export enable_organization_extensions="$(ENABLE_ORGANIZATION_EXTENSIONS)"
14201421
export enable_ztp="$(ENABLE_ZTP)"
1422+
export enable_local_users_passwords_reset="$(ENABLE_LOCAL_USERS_PASSWORDS_RESET)"
14211423
export include_teamd="$(INCLUDE_TEAMD)"
14221424
export include_router_advertiser="$(INCLUDE_ROUTER_ADVERTISER)"
14231425
export sonic_su_dev_signing_key="$(SECURE_UPGRADE_DEV_SIGNING_KEY)"

0 commit comments

Comments
 (0)