[build]: combine feature and container feature table (#5081)
1. remove container feature table 2. do not generate feature entry if the feature is not included in the image 3. rename ENABLE_* to INCLUDE_* for better clarity 4. rename feature status to feature state 5. [submodule]: update sonic-utilities * 9700e45 2020-08-03 | [show/config]: combine feature and container feature cli (#1015) (HEAD, origin/master, origin/HEAD) [lguohan] * c9d3550 2020-08-03 | [tests]: fix drops_group_test failure on second run (#1023) [lguohan] * dfaae69 2020-08-03 | [lldpshow]: Fix input device is not a TTY error (#1016) [Arun Saravanan Balachandran] * 216688e 2020-08-02 | [tests]: rename sonic-utilitie-tests to tests (#1022) [lguohan] Signed-off-by: Guohan Lu <lguohan@gmail.com>
This commit is contained in:
parent
6c2c9fe93c
commit
082c26a27d
@ -9,7 +9,7 @@
|
|||||||
# through http.
|
# through http.
|
||||||
# * ENABLE_ZTP: Enables zero touch provisioning.
|
# * ENABLE_ZTP: Enables zero touch provisioning.
|
||||||
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
|
# * SHUTDOWN_BGP_ON_START: Sets admin-down state for all bgp peerings after restart.
|
||||||
# * INSTALL_KUBERNETES: Allows including Kubernetes
|
# * INCLUDE_KUBERNETES: Allows including Kubernetes
|
||||||
# * ENABLE_PFCWD_ON_START: Enable PFC Watchdog (PFCWD) on server-facing ports
|
# * ENABLE_PFCWD_ON_START: Enable PFC Watchdog (PFCWD) on server-facing ports
|
||||||
# * by default for TOR switch.
|
# * by default for TOR switch.
|
||||||
# * ENABLE_SYNCD_RPC: Enables rpc-based syncd builds.
|
# * ENABLE_SYNCD_RPC: Enables rpc-based syncd builds.
|
||||||
@ -188,7 +188,7 @@ SONIC_BUILD_INSTRUCTION := make \
|
|||||||
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
ENABLE_DHCP_GRAPH_SERVICE=$(ENABLE_DHCP_GRAPH_SERVICE) \
|
||||||
ENABLE_ZTP=$(ENABLE_ZTP) \
|
ENABLE_ZTP=$(ENABLE_ZTP) \
|
||||||
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
|
SHUTDOWN_BGP_ON_START=$(SHUTDOWN_BGP_ON_START) \
|
||||||
INSTALL_KUBERNETES=$(INSTALL_KUBERNETES) \
|
INCLUDE_KUBERNETES=$(INCLUDE_KUBERNETES) \
|
||||||
KUBERNETES_VERSION=$(KUBERNETES_VERSION) \
|
KUBERNETES_VERSION=$(KUBERNETES_VERSION) \
|
||||||
KUBERNETES_CNI_VERSION=$(KUBERNETES_CNI_VERSION) \
|
KUBERNETES_CNI_VERSION=$(KUBERNETES_CNI_VERSION) \
|
||||||
K8s_GCR_IO_PAUSE_VERSION=$(K8s_GCR_IO_PAUSE_VERSION) \
|
K8s_GCR_IO_PAUSE_VERSION=$(K8s_GCR_IO_PAUSE_VERSION) \
|
||||||
@ -207,8 +207,8 @@ SONIC_BUILD_INSTRUCTION := make \
|
|||||||
SONIC_DPKG_CACHE_SOURCE=$(SONIC_DPKG_CACHE_SOURCE) \
|
SONIC_DPKG_CACHE_SOURCE=$(SONIC_DPKG_CACHE_SOURCE) \
|
||||||
HTTP_PROXY=$(http_proxy) \
|
HTTP_PROXY=$(http_proxy) \
|
||||||
HTTPS_PROXY=$(https_proxy) \
|
HTTPS_PROXY=$(https_proxy) \
|
||||||
SONIC_ENABLE_SYSTEM_TELEMETRY=$(ENABLE_SYSTEM_TELEMETRY) \
|
SONIC_INCLUDE_SYSTEM_TELEMETRY=$(INCLUDE_SYSTEM_TELEMETRY) \
|
||||||
SONIC_ENABLE_RESTAPI=$(ENABLE_RESTAPI) \
|
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \
|
||||||
TELEMETRY_WRITABLE=$(TELEMETRY_WRITABLE) \
|
TELEMETRY_WRITABLE=$(TELEMETRY_WRITABLE) \
|
||||||
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
|
EXTRA_DOCKER_TARGETS=$(EXTRA_DOCKER_TARGETS) \
|
||||||
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
|
BUILD_LOG_TIMESTAMP=$(BUILD_LOG_TIMESTAMP) \
|
||||||
|
@ -212,7 +212,7 @@ fi
|
|||||||
|
|
||||||
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2
|
sudo LANG=C chroot $FILESYSTEM_ROOT apt-get -y remove software-properties-common gnupg2
|
||||||
|
|
||||||
if [ "$INSTALL_KUBERNETES" == "y" ]
|
if [ "$INCLUDE_KUBERNETES" == "y" ]
|
||||||
then
|
then
|
||||||
## Install Kubernetes
|
## Install Kubernetes
|
||||||
echo '[INFO] Install kubernetes'
|
echo '[INFO] Install kubernetes'
|
||||||
|
@ -9,5 +9,5 @@ with open(INIT_CFG_FILE_PATH) as init_cfg_file:
|
|||||||
init_cfg = json.load(init_cfg_file)
|
init_cfg = json.load(init_cfg_file)
|
||||||
if 'FEATURE' in init_cfg:
|
if 'FEATURE' in init_cfg:
|
||||||
for feature_name, feature_props in init_cfg['FEATURE'].items():
|
for feature_name, feature_props in init_cfg['FEATURE'].items():
|
||||||
if 'status' in feature_props and feature_props['status'] == 'disabled':
|
if 'state' in feature_props and feature_props['state'] == 'disabled':
|
||||||
subprocess.run(['systemctl', 'mask', '{}.service'.format(feature_name)])
|
subprocess.run(['systemctl', 'mask', '{}.service'.format(feature_name)])
|
||||||
|
@ -17,18 +17,27 @@
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{%- set features = [("bgp", "enabled", "enabled"),
|
||||||
|
("database", "enabled", "disabled"),
|
||||||
|
("dhcp_relay", "enabled", "enabled"),
|
||||||
|
("lldp", "enabled", "enabled"),
|
||||||
|
("pmon", "enabled", "enabled"),
|
||||||
|
("radv", "enabled", "enabled"),
|
||||||
|
("snmp", "enabled", "enabled"),
|
||||||
|
("swss", "enabled", "enabled"),
|
||||||
|
("syncd", "enabled", "enabled"),
|
||||||
|
("teamd", "enabled", "enabled")] %}
|
||||||
|
{%- if include_iccpd == "y" %}{% do features.append(("iccpd", "disabled", "enabled")) %}{% endif %}
|
||||||
|
{%- if include_mgmt_framework == "y" %}{% do features.append(("mgmt-framework", "enabled", "enabled")) %}{% endif %}
|
||||||
|
{%- if include_nat == "y" %}{% do features.append(("nat", "disabled", "enabled")) %}{% endif %}
|
||||||
|
{%- if include_restapi == "y" %}{% do features.append(("restapi", "disabled", "enabled")) %}{% endif %}
|
||||||
|
{%- if include_sflow == "y" %}{% do features.append(("sflow", "disabled", "enabled")) %}{% endif %}
|
||||||
|
{%- if include_system_telemetry == "y" %}{% do features.append(("telemetry", "enabled", "enabled")) %}{% endif %}
|
||||||
"FEATURE": {
|
"FEATURE": {
|
||||||
{%- for feature, status in [("sflow", "disabled"), ("telemetry", "enabled")] %}
|
{%- for feature, state, autorestart in features %}
|
||||||
"{{feature}}": {
|
"{{feature}}": {
|
||||||
"status": "{{status}}"
|
"state": "{{state}}",
|
||||||
}{% if not loop.last %},{% endif -%}
|
"auto_restart": "{{autorestart}}",
|
||||||
{% endfor %}
|
|
||||||
},
|
|
||||||
"CONTAINER_FEATURE": {
|
|
||||||
{%- for container in ["bgp", "database", "dhcp_relay", "lldp", "nat", "pmon", "radv", "restapi", "sflow",
|
|
||||||
"snmp", "swss", "syncd", "teamd", "telemetry"] %}
|
|
||||||
"{{container}}": {
|
|
||||||
"auto_restart": "{% if container == "database" %}disabled{% else %}enabled{% endif %}",
|
|
||||||
"high_mem_alert": "disabled"
|
"high_mem_alert": "disabled"
|
||||||
}{% if not loop.last %},{% endif -%}
|
}{% if not loop.last %},{% endif -%}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@ -307,7 +307,7 @@ sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install azure-s
|
|||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install watchdog==0.10.2
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install watchdog==0.10.2
|
||||||
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install futures==3.3.0
|
sudo https_proxy=$https_proxy LANG=C chroot $FILESYSTEM_ROOT pip install futures==3.3.0
|
||||||
|
|
||||||
{% if install_kubernetes == "y" %}
|
{% if include_kubernetes == "y" %}
|
||||||
# Copy kubelet service files
|
# Copy kubelet service files
|
||||||
# Keep it disabled until join, else it continuously restart and as well spew too many
|
# Keep it disabled until join, else it continuously restart and as well spew too many
|
||||||
# non-required log lines wasting syslog resources.
|
# non-required log lines wasting syslog resources.
|
||||||
@ -481,7 +481,7 @@ sudo LANG=C chroot $FILESYSTEM_ROOT docker $SONIC_NATIVE_DOCKERD_FOR_DOCKERFS ta
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
{% if install_kubernetes == "y" %}
|
{% if include_kubernetes == "y" %}
|
||||||
## Pull in kubernetes docker images
|
## Pull in kubernetes docker images
|
||||||
echo "pulling universal k8s images ..."
|
echo "pulling universal k8s images ..."
|
||||||
FLANNEL_ARCH=$([ "${CONFIGURED_ARCH}" == "armhf" ] && echo "arm64" || echo "${CONFIGURED_ARCH}")
|
FLANNEL_ARCH=$([ "${CONFIGURED_ARCH}" == "armhf" ] && echo "arm64" || echo "${CONFIGURED_ARCH}")
|
||||||
@ -537,7 +537,7 @@ sudo LANG=C cp $SCRIPTS_DIR/sonic-netns-exec $FILESYSTEM_ROOT/usr/bin/sonic-netn
|
|||||||
# It implements delayed start of services
|
# It implements delayed start of services
|
||||||
sudo cp $BUILD_TEMPLATES/snmp.timer $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
sudo cp $BUILD_TEMPLATES/snmp.timer $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||||
echo "snmp.timer" | sudo tee -a $GENERATED_SERVICE_FILE
|
echo "snmp.timer" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||||
{% if enable_system_telemetry == 'y' %}
|
{% if include_system_telemetry == 'y' %}
|
||||||
sudo cp $BUILD_TEMPLATES/telemetry.timer $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
sudo cp $BUILD_TEMPLATES/telemetry.timer $FILESYSTEM_ROOT_USR_LIB_SYSTEMD_SYSTEM
|
||||||
echo "telemetry.timer" | sudo tee -a $GENERATED_SERVICE_FILE
|
echo "telemetry.timer" | sudo tee -a $GENERATED_SERVICE_FILE
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
@ -41,8 +41,8 @@ def obfuscate(data):
|
|||||||
return data
|
return data
|
||||||
|
|
||||||
|
|
||||||
def update_feature_status(feature_name, status):
|
def update_feature_state(feature_name, state):
|
||||||
if status == "enabled":
|
if state == "enabled":
|
||||||
start_cmds = []
|
start_cmds = []
|
||||||
start_cmds.append("sudo systemctl unmask {}.service".format(feature_name))
|
start_cmds.append("sudo systemctl unmask {}.service".format(feature_name))
|
||||||
start_cmds.append("sudo systemctl enable {}.service".format(feature_name))
|
start_cmds.append("sudo systemctl enable {}.service".format(feature_name))
|
||||||
@ -56,7 +56,7 @@ def update_feature_status(feature_name, status):
|
|||||||
.format(err.cmd, err.returncode, err.output))
|
.format(err.cmd, err.returncode, err.output))
|
||||||
continue
|
continue
|
||||||
syslog.syslog(syslog.LOG_INFO, "Feature '{}' is enabled and started".format(feature_name))
|
syslog.syslog(syslog.LOG_INFO, "Feature '{}' is enabled and started".format(feature_name))
|
||||||
elif status == "disabled":
|
elif state == "disabled":
|
||||||
stop_cmds = []
|
stop_cmds = []
|
||||||
stop_cmds.append("sudo systemctl stop {}.service".format(feature_name))
|
stop_cmds.append("sudo systemctl stop {}.service".format(feature_name))
|
||||||
stop_cmds.append("sudo systemctl disable {}.service".format(feature_name))
|
stop_cmds.append("sudo systemctl disable {}.service".format(feature_name))
|
||||||
@ -71,7 +71,7 @@ def update_feature_status(feature_name, status):
|
|||||||
continue
|
continue
|
||||||
syslog.syslog(syslog.LOG_INFO, "Feature '{}' is stopped and disabled".format(feature_name))
|
syslog.syslog(syslog.LOG_INFO, "Feature '{}' is stopped and disabled".format(feature_name))
|
||||||
else:
|
else:
|
||||||
syslog.syslog(syslog.LOG_ERR, "Unexpected status value '{}' for feature '{}'".format(status, feature_name))
|
syslog.syslog(syslog.LOG_ERR, "Unexpected state value '{}' for feature '{}'".format(state, feature_name))
|
||||||
|
|
||||||
|
|
||||||
class Iptables(object):
|
class Iptables(object):
|
||||||
@ -272,19 +272,19 @@ class HostConfigDaemon:
|
|||||||
self.iptables = Iptables()
|
self.iptables = Iptables()
|
||||||
self.iptables.load(lpbk_table)
|
self.iptables.load(lpbk_table)
|
||||||
|
|
||||||
def update_all_feature_statuses(self):
|
def update_all_feature_states(self):
|
||||||
feature_table = self.config_db.get_table('FEATURE')
|
feature_table = self.config_db.get_table('FEATURE')
|
||||||
for feature_name in feature_table.keys():
|
for feature_name in feature_table.keys():
|
||||||
if not feature_name:
|
if not feature_name:
|
||||||
syslog.syslog(syslog.LOG_WARNING, "Feature is None")
|
syslog.syslog(syslog.LOG_WARNING, "Feature is None")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
status = feature_table[feature_name]['status']
|
state = feature_table[feature_name]['state']
|
||||||
if not status:
|
if not state:
|
||||||
syslog.syslog(syslog.LOG_WARNING, "Status of feature '{}' is None".format(feature_name))
|
syslog.syslog(syslog.LOG_WARNING, "Eanble state of feature '{}' is None".format(feature_name))
|
||||||
continue
|
continue
|
||||||
|
|
||||||
update_feature_status(feature_name, status)
|
update_feature_state(feature_name, state)
|
||||||
|
|
||||||
def aaa_handler(self, key, data):
|
def aaa_handler(self, key, data):
|
||||||
self.aaacfg.aaa_update(key, data)
|
self.aaacfg.aaa_update(key, data)
|
||||||
@ -314,29 +314,29 @@ class HostConfigDaemon:
|
|||||||
|
|
||||||
self.iptables.iptables_handler(key, data, add)
|
self.iptables.iptables_handler(key, data, add)
|
||||||
|
|
||||||
def feature_status_handler(self, key, data):
|
def feature_state_handler(self, key, data):
|
||||||
feature_name = key
|
feature_name = key
|
||||||
feature_table = self.config_db.get_table('FEATURE')
|
feature_table = self.config_db.get_table('FEATURE')
|
||||||
if feature_name not in feature_table.keys():
|
if feature_name not in feature_table.keys():
|
||||||
syslog.syslog(syslog.LOG_WARNING, "Feature '{}' not in FEATURE table".format(feature_name))
|
syslog.syslog(syslog.LOG_WARNING, "Feature '{}' not in FEATURE table".format(feature_name))
|
||||||
return
|
return
|
||||||
|
|
||||||
status = feature_table[feature_name]['status']
|
state = feature_table[feature_name]['state']
|
||||||
if not status:
|
if not state:
|
||||||
syslog.syslog(syslog.LOG_WARNING, "Status of feature '{}' is None".format(feature_name))
|
syslog.syslog(syslog.LOG_WARNING, "Enable state of feature '{}' is None".format(feature_name))
|
||||||
return
|
return
|
||||||
|
|
||||||
update_feature_status(feature_name, status)
|
update_feature_state(feature_name, state)
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
# Update all feature statuses once upon starting
|
# Update all feature states once upon starting
|
||||||
self.update_all_feature_statuses()
|
self.update_all_feature_states()
|
||||||
|
|
||||||
self.config_db.subscribe('AAA', lambda table, key, data: self.aaa_handler(key, data))
|
self.config_db.subscribe('AAA', lambda table, key, data: self.aaa_handler(key, data))
|
||||||
self.config_db.subscribe('TACPLUS_SERVER', lambda table, key, data: self.tacacs_server_handler(key, data))
|
self.config_db.subscribe('TACPLUS_SERVER', lambda table, key, data: self.tacacs_server_handler(key, data))
|
||||||
self.config_db.subscribe('TACPLUS', lambda table, key, data: self.tacacs_global_handler(key, data))
|
self.config_db.subscribe('TACPLUS', lambda table, key, data: self.tacacs_global_handler(key, data))
|
||||||
self.config_db.subscribe('LOOPBACK_INTERFACE', lambda table, key, data: self.lpbk_handler(key, data))
|
self.config_db.subscribe('LOOPBACK_INTERFACE', lambda table, key, data: self.lpbk_handler(key, data))
|
||||||
self.config_db.subscribe('FEATURE', lambda table, key, data: self.feature_status_handler(key, data))
|
self.config_db.subscribe('FEATURE', lambda table, key, data: self.feature_state_handler(key, data))
|
||||||
self.config_db.listen()
|
self.config_db.listen()
|
||||||
|
|
||||||
|
|
||||||
|
@ -18,9 +18,8 @@ from supervisor import childutils
|
|||||||
# group:<group_name>
|
# group:<group_name>
|
||||||
CRITICAL_PROCESSES_FILE = '/etc/supervisor/critical_processes'
|
CRITICAL_PROCESSES_FILE = '/etc/supervisor/critical_processes'
|
||||||
|
|
||||||
# This table in databse contains the features for container and each
|
# The FEATURE table in config db contains auto-restart field
|
||||||
# feature for a row will be configured a state or number.
|
FEATURE_TABLE_NAME = 'FEATURE'
|
||||||
CONTAINER_FEATURE_TABLE_NAME = 'CONTAINER_FEATURE'
|
|
||||||
|
|
||||||
# Read the critical processes/group names from CRITICAL_PROCESSES_FILE
|
# Read the critical processes/group names from CRITICAL_PROCESSES_FILE
|
||||||
def get_critical_group_and_process_list():
|
def get_critical_group_and_process_list():
|
||||||
@ -82,18 +81,18 @@ def main(argv):
|
|||||||
if container_name != 'database':
|
if container_name != 'database':
|
||||||
config_db = swsssdk.ConfigDBConnector()
|
config_db = swsssdk.ConfigDBConnector()
|
||||||
config_db.connect()
|
config_db.connect()
|
||||||
container_features_table = config_db.get_table(CONTAINER_FEATURE_TABLE_NAME)
|
features_table = config_db.get_table(FEATURE_TABLE_NAME)
|
||||||
if not container_features_table:
|
if not features_table:
|
||||||
syslog.syslog(syslog.LOG_ERR, "Unable to retrieve container features table from Config DB. Exiting...")
|
syslog.syslog(syslog.LOG_ERR, "Unable to retrieve features table from Config DB. Exiting...")
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
|
|
||||||
if not container_features_table.has_key(container_name):
|
if not features_table.has_key(container_name):
|
||||||
syslog.syslog(syslog.LOG_ERR, "Unable to retrieve features for container '{}'. Exiting...".format(container_name))
|
syslog.syslog(syslog.LOG_ERR, "Unable to retrieve feature '{}'. Exiting...".format(container_name))
|
||||||
sys.exit(3)
|
sys.exit(3)
|
||||||
|
|
||||||
restart_feature = container_features_table[container_name].get('auto_restart')
|
restart_feature = features_table[container_name].get('auto_restart')
|
||||||
if not restart_feature:
|
if not restart_feature:
|
||||||
syslog.syslog(syslog.LOG_ERR, "Unable to determine auto-restart feature status for container '{}'. Exiting...".format(container_name))
|
syslog.syslog(syslog.LOG_ERR, "Unable to determine auto-restart feature status for '{}'. Exiting...".format(container_name))
|
||||||
sys.exit(4)
|
sys.exit(4)
|
||||||
|
|
||||||
# If container is database or auto-restart feature is enabled and at the same time
|
# If container is database or auto-restart feature is enabled and at the same time
|
||||||
|
@ -7,7 +7,7 @@ include $(PLATFORM_PATH)/libsaithrift-dev.mk
|
|||||||
include $(PLATFORM_PATH)/docker-ptf-mrvl.mk
|
include $(PLATFORM_PATH)/docker-ptf-mrvl.mk
|
||||||
include $(PLATFORM_PATH)/one-image.mk
|
include $(PLATFORM_PATH)/one-image.mk
|
||||||
include $(PLATFORM_PATH)/linux-kernel-arm64.mk
|
include $(PLATFORM_PATH)/linux-kernel-arm64.mk
|
||||||
ENABLE_SYSTEM_TELEMETRY = ""
|
INCLUDE_SYSTEM_TELEMETRY = ""
|
||||||
|
|
||||||
|
|
||||||
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||||
|
@ -9,7 +9,7 @@ include $(PLATFORM_PATH)/one-image.mk
|
|||||||
include $(PLATFORM_PATH)/linux-kernel-armhf.mk
|
include $(PLATFORM_PATH)/linux-kernel-armhf.mk
|
||||||
include $(PLATFORM_PATH)/platform-et6448m.mk
|
include $(PLATFORM_PATH)/platform-et6448m.mk
|
||||||
|
|
||||||
ENABLE_SYSTEM_TELEMETRY = ""
|
INCLUDE_SYSTEM_TELEMETRY = ""
|
||||||
ENABLE_SYNCD_RPC = ""
|
ENABLE_SYNCD_RPC = ""
|
||||||
|
|
||||||
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
SONIC_ALL += $(SONIC_ONE_IMAGE) \
|
||||||
|
32
rules/config
32
rules/config
@ -83,9 +83,6 @@ ENABLE_ORGANIZATION_EXTENSIONS = y
|
|||||||
#SONIC_DEBUGGING_ON = y
|
#SONIC_DEBUGGING_ON = y
|
||||||
#SONIC_PROFILING_ON = y
|
#SONIC_PROFILING_ON = y
|
||||||
|
|
||||||
# ENABLE_SYSTEM_TELEMETRY - build docker-sonic-telemetry for system telemetry support
|
|
||||||
ENABLE_SYSTEM_TELEMETRY = y
|
|
||||||
|
|
||||||
# DEFAULT_KERNEL_PROCURE_METHOD - default method for obtaining kernel
|
# DEFAULT_KERNEL_PROCURE_METHOD - default method for obtaining kernel
|
||||||
# build: build kernel from source
|
# build: build kernel from source
|
||||||
# download: download pre-built kernel from Azure storage.
|
# download: download pre-built kernel from Azure storage.
|
||||||
@ -116,32 +113,35 @@ SONIC_DPKG_CACHE_SOURCE ?= /var/cache/sonic/artifacts
|
|||||||
DEFAULT_VS_PREPARE_MEM = yes
|
DEFAULT_VS_PREPARE_MEM = yes
|
||||||
|
|
||||||
|
|
||||||
# ENABLE_ICCPD - build docker-iccpd for mclag support
|
# INCLUDE_SYSTEM_TELEMETRY - build docker-sonic-telemetry for system telemetry support
|
||||||
ENABLE_ICCPD = n
|
INCLUDE_SYSTEM_TELEMETRY = y
|
||||||
|
|
||||||
# ENABLE_SYSTEM_SFLOW - build docker-sonic-sflow for sFlow support
|
# INCLUDE_ICCPD - build docker-iccpd for mclag support
|
||||||
ENABLE_SFLOW = y
|
INCLUDE_ICCPD = n
|
||||||
|
|
||||||
# ENABLE_MGMT_FRAMEWORK - build docker-sonic-mgt-framework for CLI and REST server support
|
# INCLUDE_SFLOW - build docker-sflow for sFlow support
|
||||||
ENABLE_MGMT_FRAMEWORK = y
|
INCLUDE_SFLOW = y
|
||||||
|
|
||||||
# ENABLE_RESTAPI - build docker-sonic-restapi for configuring the switch using REST APIs
|
# INCLUDE_MGMT_FRAMEWORK - build docker-sonic-mgmt-framework for CLI and REST server support
|
||||||
ENABLE_RESTAPI = n
|
INCLUDE_MGMT_FRAMEWORK = y
|
||||||
|
|
||||||
# ENABLE_NAT - build docker-sonic-nat for nat support
|
# INCLUDE_RESTAPI - build docker-sonic-restapi for configuring the switch using REST APIs
|
||||||
ENABLE_NAT = y
|
INCLUDE_RESTAPI = n
|
||||||
|
|
||||||
|
# INCLUDE_NAT - build docker-nat for nat support
|
||||||
|
INCLUDE_NAT = y
|
||||||
|
|
||||||
# TELEMETRY_WRITABLE - Enable write/config operations via the gNMI interface.
|
# TELEMETRY_WRITABLE - Enable write/config operations via the gNMI interface.
|
||||||
# Uncomment to enable:
|
# Uncomment to enable:
|
||||||
# TELEMETRY_WRITABLE = y
|
# TELEMETRY_WRITABLE = y
|
||||||
# INSTALL_KUBERNETES - if set to y kubernetes packages are installed to be able to
|
# INCLUDE_KUBERNETES - if set to y kubernetes packages are installed to be able to
|
||||||
# run as worker node in kubernetes cluster.
|
# run as worker node in kubernetes cluster.
|
||||||
INSTALL_KUBERNETES = n
|
INCLUDE_KUBERNETES = n
|
||||||
|
|
||||||
# KUBERNETES_VERSION - Set to the required version.
|
# KUBERNETES_VERSION - Set to the required version.
|
||||||
# K8s_GCR_IO_PAUSE_VERSION - Version of k8s universal pause container image
|
# K8s_GCR_IO_PAUSE_VERSION - Version of k8s universal pause container image
|
||||||
# K8s_CNI_FLANNEL_VERSION - Flannel used as CNI; Appropriate version for this Kubernetes version
|
# K8s_CNI_FLANNEL_VERSION - Flannel used as CNI; Appropriate version for this Kubernetes version
|
||||||
# These are Used *only* when INSTALL_KUBERNETES=y
|
# These are Used *only* when INCLUDE_KUBERNETES=y
|
||||||
# NOTE: As a worker node it has to run version compatible to kubernetes master.
|
# NOTE: As a worker node it has to run version compatible to kubernetes master.
|
||||||
#
|
#
|
||||||
KUBERNETES_VERSION = 1.18.6
|
KUBERNETES_VERSION = 1.18.6
|
||||||
|
@ -10,7 +10,7 @@ $(DOCKER_ICCPD)_DBG_DEPENDS += $(SWSS_DBG) $(LIBSWSSCOMMON_DBG) $(ICCPD_DBG)
|
|||||||
$(DOCKER_ICCPD)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
$(DOCKER_ICCPD)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
||||||
$(DOCKER_ICCPD)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
$(DOCKER_ICCPD)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
||||||
|
|
||||||
ifeq ($(ENABLE_ICCPD), y)
|
ifeq ($(INCLUDE_ICCPD), y)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_ICCPD)
|
SONIC_DOCKER_IMAGES += $(DOCKER_ICCPD)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ICCPD)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_ICCPD)
|
||||||
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_ICCPD_DBG)
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_ICCPD_DBG)
|
||||||
|
@ -13,12 +13,12 @@ $(DOCKER_NAT)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PA
|
|||||||
|
|
||||||
$(DOCKER_NAT)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
$(DOCKER_NAT)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
||||||
|
|
||||||
ifeq ($(ENABLE_NAT), y)
|
ifeq ($(INCLUDE_NAT), y)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_NAT)
|
SONIC_DOCKER_IMAGES += $(DOCKER_NAT)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_NAT)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_NAT)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_NAT), y)
|
ifeq ($(INCLUDE_NAT), y)
|
||||||
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
||||||
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_NAT_DBG)
|
||||||
endif
|
endif
|
||||||
|
@ -10,7 +10,7 @@ $(DOCKER_RESTAPI)_PATH = $(DOCKERS_PATH)/$(DOCKER_RESTAPI_STEM)
|
|||||||
|
|
||||||
$(DOCKER_RESTAPI)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH)
|
$(DOCKER_RESTAPI)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_STRETCH)
|
||||||
|
|
||||||
ifeq ($(ENABLE_RESTAPI), y)
|
ifeq ($(INCLUDE_RESTAPI), y)
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_RESTAPI)
|
SONIC_DOCKER_IMAGES += $(DOCKER_RESTAPI)
|
||||||
SONIC_STRETCH_DOCKERS += $(DOCKER_RESTAPI)
|
SONIC_STRETCH_DOCKERS += $(DOCKER_RESTAPI)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_RESTAPI)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_RESTAPI)
|
||||||
|
@ -14,12 +14,12 @@ $(DOCKER_SFLOW)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_
|
|||||||
$(DOCKER_SFLOW)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
$(DOCKER_SFLOW)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
||||||
|
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_SFLOW)
|
SONIC_DOCKER_IMAGES += $(DOCKER_SFLOW)
|
||||||
ifeq ($(ENABLE_SFLOW), y)
|
ifeq ($(INCLUDE_SFLOW), y)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SFLOW)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_SFLOW)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SFLOW_DBG)
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_SFLOW_DBG)
|
||||||
ifeq ($(ENABLE_SFLOW), y)
|
ifeq ($(INCLUDE_SFLOW), y)
|
||||||
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_SFLOW_DBG)
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_SFLOW_DBG)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -15,12 +15,12 @@ SONIC_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK)
|
|||||||
$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
$(DOCKER_MGMT_FRAMEWORK)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
||||||
$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
$(DOCKER_MGMT_FRAMEWORK)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
||||||
|
|
||||||
ifeq ($(ENABLE_MGMT_FRAMEWORK), y)
|
ifeq ($(INCLUDE_MGMT_FRAMEWORK), y)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_MGMT_FRAMEWORK)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_MGMT_FRAMEWORK_DBG)
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_MGMT_FRAMEWORK_DBG)
|
||||||
ifeq ($(ENABLE_MGMT_FRAMEWORK), y)
|
ifeq ($(INCLUDE_MGMT_FRAMEWORK), y)
|
||||||
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_MGMT_FRAMEWORK_DBG)
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_MGMT_FRAMEWORK_DBG)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -14,12 +14,12 @@ $(DOCKER_TELEMETRY)_LOAD_DOCKERS += $(DOCKER_CONFIG_ENGINE_BUSTER)
|
|||||||
$(DOCKER_TELEMETRY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
$(DOCKER_TELEMETRY)_DBG_IMAGE_PACKAGES = $($(DOCKER_CONFIG_ENGINE_BUSTER)_DBG_IMAGE_PACKAGES)
|
||||||
|
|
||||||
SONIC_DOCKER_IMAGES += $(DOCKER_TELEMETRY)
|
SONIC_DOCKER_IMAGES += $(DOCKER_TELEMETRY)
|
||||||
ifeq ($(ENABLE_SYSTEM_TELEMETRY), y)
|
ifeq ($(INCLUDE_SYSTEM_TELEMETRY), y)
|
||||||
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_TELEMETRY)
|
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_TELEMETRY)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_TELEMETRY_DBG)
|
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_TELEMETRY_DBG)
|
||||||
ifeq ($(ENABLE_SYSTEM_TELEMETRY), y)
|
ifeq ($(INCLUDE_SYSTEM_TELEMETRY), y)
|
||||||
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_TELEMETRY_DBG)
|
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_TELEMETRY_DBG)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# SONiC mgmt-framework package
|
# SONiC mgmt-framework package
|
||||||
|
|
||||||
ifeq ($(ENABLE_MGMT_FRAMEWORK), y)
|
ifeq ($(INCLUDE_MGMT_FRAMEWORK), y)
|
||||||
|
|
||||||
SONIC_MGMT_FRAMEWORK = sonic-mgmt-framework_1.0-01_$(CONFIGURED_ARCH).deb
|
SONIC_MGMT_FRAMEWORK = sonic-mgmt-framework_1.0-01_$(CONFIGURED_ARCH).deb
|
||||||
$(SONIC_MGMT_FRAMEWORK)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-framework
|
$(SONIC_MGMT_FRAMEWORK)_SRC_PATH = $(SRC_PATH)/sonic-mgmt-framework
|
||||||
|
41
slave.mk
41
slave.mk
@ -99,8 +99,8 @@ ifeq ($(SONIC_ENABLE_PFCWD_ON_START),y)
|
|||||||
ENABLE_PFCWD_ON_START = y
|
ENABLE_PFCWD_ON_START = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SONIC_ENABLE_SYSTEM_TELEMETRY),y)
|
ifeq ($(SONIC_INCLUDE_SYSTEM_TELEMETRY),y)
|
||||||
ENABLE_SYSTEM_TELEMETRY = y
|
INCLUDE_SYSTEM_TELEMETRY = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter $(CONFIGURED_ARCH), armhf arm64))
|
ifneq (,$(filter $(CONFIGURED_ARCH), armhf arm64))
|
||||||
@ -108,11 +108,11 @@ ifneq (,$(filter $(CONFIGURED_ARCH), armhf arm64))
|
|||||||
# Issue: qemu crashes when it uses "go get url"
|
# Issue: qemu crashes when it uses "go get url"
|
||||||
# Qemu Support: https://bugs.launchpad.net/qemu/+bug/1838946
|
# Qemu Support: https://bugs.launchpad.net/qemu/+bug/1838946
|
||||||
# Golang Support: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/golang-nuts/1txPOGa4aGc
|
# Golang Support: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!topic/golang-nuts/1txPOGa4aGc
|
||||||
ENABLE_SYSTEM_TELEMETRY = N
|
INCLUDE_SYSTEM_TELEMETRY = n
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SONIC_ENABLE_RESTAPI),y)
|
ifeq ($(SONIC_INCLUDE_RESTAPI),y)
|
||||||
ENABLE_RESTAPI = y
|
INCLUDE_RESTAPI = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SONIC_ENABLE_SYNCD_RPC),y)
|
ifeq ($(SONIC_ENABLE_SYNCD_RPC),y)
|
||||||
@ -123,12 +123,12 @@ ifeq ($(SONIC_INSTALL_DEBUG_TOOLS),y)
|
|||||||
INSTALL_DEBUG_TOOLS = y
|
INSTALL_DEBUG_TOOLS = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SONIC_ENABLE_SFLOW),y)
|
ifeq ($(SONIC_INCLUDE_SFLOW),y)
|
||||||
ENABLE_SFLOW = y
|
INCLUDE_SFLOW = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(SONIC_ENABLE_NAT),y)
|
ifeq ($(SONIC_INCLUDE_NAT),y)
|
||||||
ENABLE_NAT = y
|
INCLUDE_NAT = y
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
||||||
@ -202,7 +202,6 @@ $(info "USERNAME" : "$(USERNAME)")
|
|||||||
$(info "PASSWORD" : "$(PASSWORD)")
|
$(info "PASSWORD" : "$(PASSWORD)")
|
||||||
$(info "ENABLE_DHCP_GRAPH_SERVICE" : "$(ENABLE_DHCP_GRAPH_SERVICE)")
|
$(info "ENABLE_DHCP_GRAPH_SERVICE" : "$(ENABLE_DHCP_GRAPH_SERVICE)")
|
||||||
$(info "SHUTDOWN_BGP_ON_START" : "$(SHUTDOWN_BGP_ON_START)")
|
$(info "SHUTDOWN_BGP_ON_START" : "$(SHUTDOWN_BGP_ON_START)")
|
||||||
$(info "INSTALL_KUBERNETES" : "$(INSTALL_KUBERNETES)")
|
|
||||||
$(info "ENABLE_PFCWD_ON_START" : "$(ENABLE_PFCWD_ON_START)")
|
$(info "ENABLE_PFCWD_ON_START" : "$(ENABLE_PFCWD_ON_START)")
|
||||||
$(info "INSTALL_DEBUG_TOOLS" : "$(INSTALL_DEBUG_TOOLS)")
|
$(info "INSTALL_DEBUG_TOOLS" : "$(INSTALL_DEBUG_TOOLS)")
|
||||||
$(info "ROUTING_STACK" : "$(SONIC_ROUTING_STACK)")
|
$(info "ROUTING_STACK" : "$(SONIC_ROUTING_STACK)")
|
||||||
@ -214,8 +213,6 @@ $(info "ENABLE_SYNCD_RPC" : "$(ENABLE_SYNCD_RPC)")
|
|||||||
$(info "ENABLE_ORGANIZATION_EXTENSIONS" : "$(ENABLE_ORGANIZATION_EXTENSIONS)")
|
$(info "ENABLE_ORGANIZATION_EXTENSIONS" : "$(ENABLE_ORGANIZATION_EXTENSIONS)")
|
||||||
$(info "HTTP_PROXY" : "$(HTTP_PROXY)")
|
$(info "HTTP_PROXY" : "$(HTTP_PROXY)")
|
||||||
$(info "HTTPS_PROXY" : "$(HTTPS_PROXY)")
|
$(info "HTTPS_PROXY" : "$(HTTPS_PROXY)")
|
||||||
$(info "ENABLE_SYSTEM_TELEMETRY" : "$(ENABLE_SYSTEM_TELEMETRY)")
|
|
||||||
$(info "ENABLE_RESTAPI" : "$(ENABLE_RESTAPI)")
|
|
||||||
$(info "ENABLE_ZTP" : "$(ENABLE_ZTP)")
|
$(info "ENABLE_ZTP" : "$(ENABLE_ZTP)")
|
||||||
$(info "SONIC_DEBUGGING_ON" : "$(SONIC_DEBUGGING_ON)")
|
$(info "SONIC_DEBUGGING_ON" : "$(SONIC_DEBUGGING_ON)")
|
||||||
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
|
$(info "SONIC_PROFILING_ON" : "$(SONIC_PROFILING_ON)")
|
||||||
@ -224,8 +221,13 @@ $(info "BUILD_TIMESTAMP" : "$(BUILD_TIMESTAMP)")
|
|||||||
$(info "BUILD_LOG_TIMESTAMP" : "$(BUILD_LOG_TIMESTAMP)")
|
$(info "BUILD_LOG_TIMESTAMP" : "$(BUILD_LOG_TIMESTAMP)")
|
||||||
$(info "BLDENV" : "$(BLDENV)")
|
$(info "BLDENV" : "$(BLDENV)")
|
||||||
$(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)")
|
$(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)")
|
||||||
$(info "ENABLE_SFLOW" : "$(ENABLE_SFLOW)")
|
$(info "INCLUDE_MGMT_FRAMEWORK" : "$(INCLUDE_MGMT_FRAMEWORK)")
|
||||||
$(info "ENABLE_NAT" : "$(ENABLE_NAT)")
|
$(info "INCLUDE_ICCPD" : "$(INCLUDE_ICCPD)")
|
||||||
|
$(info "INCLUDE_SYSTEM_TELEMETRY" : "$(INCLUDE_SYSTEM_TELEMETRY)")
|
||||||
|
$(info "INCLUDE_RESTAPI" : "$(INCLUDE_RESTAPI)")
|
||||||
|
$(info "INCLUDE_SFLOW" : "$(INCLUDE_SFLOW)")
|
||||||
|
$(info "INCLUDE_NAT" : "$(INCLUDE_NAT)")
|
||||||
|
$(info "INCLUDE_KUBERNETES" : "$(INCLUDE_KUBERNETES)")
|
||||||
$(info "TELEMETRY_WRITABLE" : "$(TELEMETRY_WRITABLE)")
|
$(info "TELEMETRY_WRITABLE" : "$(TELEMETRY_WRITABLE)")
|
||||||
$(info )
|
$(info )
|
||||||
|
|
||||||
@ -815,12 +817,15 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
|
|||||||
export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))"
|
export sonic_asic_platform="$(patsubst %-$(CONFIGURED_ARCH),%,$(CONFIGURED_PLATFORM))"
|
||||||
export enable_organization_extensions="$(ENABLE_ORGANIZATION_EXTENSIONS)"
|
export enable_organization_extensions="$(ENABLE_ORGANIZATION_EXTENSIONS)"
|
||||||
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
export enable_dhcp_graph_service="$(ENABLE_DHCP_GRAPH_SERVICE)"
|
||||||
export enable_system_telemetry="$(ENABLE_SYSTEM_TELEMETRY)"
|
|
||||||
export enable_restapi="$(ENABLE_RESTAPI)"
|
|
||||||
export enable_ztp="$(ENABLE_ZTP)"
|
export enable_ztp="$(ENABLE_ZTP)"
|
||||||
export enable_nat="$(ENABLE_NAT)"
|
export include_system_telemetry="$(INCLUDE_SYSTEM_TELEMETRY)"
|
||||||
|
export include_restapi="$(INCLUDE_RESTAPI)"
|
||||||
|
export include_nat="$(INCLUDE_NAT)"
|
||||||
|
export include_sflow="$(INCLUDE_SFLOW)"
|
||||||
|
export include_mgmt_framework="$(INCLUDE_MGMT_FRAMEWORK)"
|
||||||
|
export include_iccpd="$(INCLUDE_ICCPD)"
|
||||||
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
export shutdown_bgp_on_start="$(SHUTDOWN_BGP_ON_START)"
|
||||||
export install_kubernetes="$(INSTALL_KUBERNETES)"
|
export include_kubernetes="$(INCLUDE_KUBERNETES)"
|
||||||
export enable_pfcwd_on_start="$(ENABLE_PFCWD_ON_START)"
|
export enable_pfcwd_on_start="$(ENABLE_PFCWD_ON_START)"
|
||||||
export installer_debs="$(addprefix $(IMAGE_DISTRO_DEBS_PATH)/,$($*_INSTALLS))"
|
export installer_debs="$(addprefix $(IMAGE_DISTRO_DEBS_PATH)/,$($*_INSTALLS))"
|
||||||
export lazy_installer_debs="$(foreach deb, $($*_LAZY_INSTALLS),$(foreach device, $($(deb)_PLATFORM),$(addprefix $(device)@, $(IMAGE_DISTRO_DEBS_PATH)/$(deb))))"
|
export lazy_installer_debs="$(foreach deb, $($*_LAZY_INSTALLS),$(foreach device, $($(deb)_PLATFORM),$(addprefix $(device)@, $(IMAGE_DISTRO_DEBS_PATH)/$(deb))))"
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c0c3cce6bee0e335cf1b5528f1172b511d48ee12
|
Subproject commit 9700e45322a4a58076e5cef604ed15803ffb9314
|
Loading…
Reference in New Issue
Block a user