Skip to content

Commit 7c88542

Browse files
authoredFeb 1, 2024··
Disable eventd and rsyslog plugin in slim images (#17905) (#17972)
Disable eventd at buildtime for slim images - Microsoft ADO **(number only)**:26386286 Add flags for disabling eventd and only copy rsyslog conf files when eventd is included and not slim image Manual testing
1 parent 15a0f91 commit 7c88542

File tree

9 files changed

+46
-8
lines changed

9 files changed

+46
-8
lines changed
 

‎Makefile.work

+1
Original file line numberDiff line numberDiff line change
@@ -539,6 +539,7 @@ SONIC_BUILD_INSTRUCTION := $(MAKE) \
539539
DOCKER_LOCKFILE_SAVE=$(DOCKER_LOCKFILE_SAVE) \
540540
SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD=$(SONIC_CONFIG_USE_NATIVE_DOCKERD_FOR_BUILD) \
541541
SONIC_INCLUDE_SYSTEM_TELEMETRY=$(INCLUDE_SYSTEM_TELEMETRY) \
542+
SONIC_INCLUDE_SYSTEM_EVENTD=$(INCLUDE_SYSTEM_EVENTD) \
542543
INCLUDE_DHCP_RELAY=$(INCLUDE_DHCP_RELAY) \
543544
INCLUDE_MACSEC=$(INCLUDE_MACSEC) \
544545
SONIC_INCLUDE_RESTAPI=$(INCLUDE_RESTAPI) \

‎dockers/docker-dhcp-relay/Dockerfile.j2

+5-1
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,17 @@ COPY ["dhcp-relay.programs.j2", "dhcpv4-relay.agents.j2", "dhcpv6-relay.agents.j
3535
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
3636
COPY ["critical_processes", "/etc/supervisor"]
3737
COPY ["cli", "/cli/"]
38+
39+
{% if include_system_eventd == "y" %}
40+
{% if build_reduce_image_size != "y" or sonic_asic_platform != "broadcom" %}
3841
# Copy regex json and rsyslog_plugin.conf file into rsyslog.d
3942
COPY ["*.json", "/etc/rsyslog.d/"]
4043
COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"]
41-
4244
# Create dhcp_relay_regex.conf
4345
RUN j2 -f json /etc/rsyslog.d/rsyslog_plugin.conf.j2 /etc/rsyslog.d/events_info.json > /etc/rsyslog.d/dhcp_relay_events.conf
4446
RUN rm -f /etc/rsyslog.d/rsyslog_plugin.conf.j2
4547
RUN rm -f /etc/rsyslog.d/events_info.json
48+
{% endif %}
49+
{% endif %}
4650

4751
ENTRYPOINT ["/usr/bin/docker_init.sh"]

‎dockers/docker-fpm-frr/Dockerfile.j2

+6-2
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,19 @@ COPY ["TSC", "/usr/bin/TSC"]
5454
COPY ["TS", "/usr/bin/TS"]
5555
COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
5656
COPY ["zsocket.sh", "/usr/bin/"]
57-
COPY ["*.json", "/etc/rsyslog.d/"]
58-
COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"]
5957
RUN chmod a+x /usr/bin/TSA && \
6058
chmod a+x /usr/bin/TSB && \
6159
chmod a+x /usr/bin/TSC && \
6260
chmod a+x /usr/bin/zsocket.sh
6361

62+
{% if include_system_eventd == "y" %}
63+
{% if build_reduce_image_size != "y" or sonic_asic_platform != "broadcom" %}
64+
COPY ["*.json", "/etc/rsyslog.d/"]
65+
COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"]
6466
RUN j2 -f json /etc/rsyslog.d/rsyslog_plugin.conf.j2 /etc/rsyslog.d/events_info.json > /etc/rsyslog.d/bgp_events.conf
6567
RUN rm -f /etc/rsyslog.d/rsyslog_plugin.conf.j2
6668
RUN rm -f /etc/rsyslog.d/events_info.json
69+
{% endif %}
70+
{% endif %}
6771

6872
ENTRYPOINT ["/usr/bin/docker_init.sh"]

‎dockers/docker-orchagent/Dockerfile.j2

+7-4
Original file line numberDiff line numberDiff line change
@@ -75,17 +75,20 @@ COPY ["files/supervisor-proc-exit-listener", "/usr/bin"]
7575
# Copy all Jinja2 template files into the templates folder
7676
COPY ["*.j2", "/usr/share/sonic/templates/"]
7777

78-
# Copy all regex json files and rsyslog_plugin.conf to rsyslog.d
79-
COPY ["*.json", "/etc/rsyslog.d/"]
80-
COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"]
81-
8278
RUN sonic-cfggen -a "{\"ENABLE_ASAN\":\"{{ENABLE_ASAN}}\"}" -t /usr/share/sonic/templates/docker-init.j2 > /usr/bin/docker-init.sh
8379
RUN rm -f /usr/share/sonic/templates/docker-init.j2
8480
RUN chmod 755 /usr/bin/docker-init.sh
8581

82+
{% if include_system_eventd == "y" %}
83+
{% if build_reduce_image_size != "y" or sonic_asic_platform != "broadcom" %}
84+
# Copy all regex json files and rsyslog_plugin.conf to rsyslog.d
85+
COPY ["*.json", "/etc/rsyslog.d/"]
86+
COPY ["files/rsyslog_plugin.conf.j2", "/etc/rsyslog.d/"]
8687
# Create swss rsyslog_plugin conf file
8788
RUN j2 -f json /etc/rsyslog.d/rsyslog_plugin.conf.j2 /etc/rsyslog.d/events_info.json > /etc/rsyslog.d/swss_events.conf
8889
RUN rm -f /etc/rsyslog.d/rsyslog_plugin.conf.j2
8990
RUN rm -f /etc/rsyslog.d/events_info.json
91+
{% endif %}
92+
{% endif %}
9093

9194
ENTRYPOINT ["/usr/bin/docker-init.sh"]

‎files/build_templates/init_cfg.json.j2

+5-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
("lldp", "enabled", true, "enabled"),
3939
("pmon", "enabled", true, "enabled"),
4040
("snmp", "enabled", true, "enabled"),
41-
("eventd", "enabled", false, "enabled"),
4241
("swss", "enabled", false, "enabled"),
4342
("syncd", "enabled", false, "enabled")] %}
4443
{%- if include_router_advertiser == "y" %}{% do features.append(("radv", "enabled", false, "enabled")) %}{% endif %}
@@ -58,6 +57,11 @@
5857
{%- if include_sflow == "y" %}{% do features.append(("sflow", "disabled", true, "enabled")) %}{% endif %}
5958
{%- if include_macsec == "y" %}{% do features.append(("macsec", "{% if 'type' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['type'] == 'SpineRouter' and DEVICE_RUNTIME_METADATA['MACSEC_SUPPORTED'] %}enabled{% else %}disabled{% endif %}", false, "enabled")) %}{% endif %}
6059
{%- if include_system_telemetry == "y" %}{% do features.append(("telemetry", "enabled", true, "enabled")) %}{% endif %}
60+
{%- if include_system_eventd == "y" and BUILD_REDUCE_IMAGE_SIZE == "y" and sonic_asic_platform == "broadcom" %}
61+
{% do features.append(("eventd","disabled", false, "enabled")) %}
62+
{%- elif include_system_eventd == "y" %}
63+
{% do features.append(("eventd", "enabled", false, "enabled")) %}
64+
{%- endif %}
6165
"FEATURE": {
6266
{# delayed field if set, will start the feature systemd .timer unit instead of .service unit #}
6367
{%- for feature, state, delayed, autorestart in features %}

‎files/build_templates/sonic_debian_extension.j2

+6
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,9 @@ sudo dpkg --root=$FILESYSTEM_ROOT -i {{deb}} || sudo LANG=C DEBIAN_FRONTEND=noni
322322
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-db-cli_*.deb || \
323323
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
324324

325+
326+
{% if include_system_eventd == "y" %}
327+
{% if build_reduce_image_size != "y" or sonic_asic_platform != "broadcom" %}
325328
# Install sonic-rsyslog-plugin
326329
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/sonic-rsyslog-plugin_*.deb || \
327330
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f
@@ -336,6 +339,9 @@ sudo cp $BUILD_TEMPLATES/kernel_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/
336339
sudo cp $BUILD_TEMPLATES/dockerd_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/
337340
sudo cp $BUILD_TEMPLATES/seu_regex.json $FILESYSTEM_ROOT_ETC/rsyslog.d/
338341

342+
{% endif %}
343+
{% endif %}
344+
339345
# Install custom-built monit package and SONiC configuration files
340346
sudo dpkg --root=$FILESYSTEM_ROOT -i $debs_path/monit_*.deb || \
341347
sudo LANG=C DEBIAN_FRONTEND=noninteractive chroot $FILESYSTEM_ROOT apt-get -y install -f

‎rules/config

+3
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,9 @@ SONIC_DPKG_CACHE_SOURCE ?= /var/cache/sonic/artifacts
125125
DEFAULT_VS_PREPARE_MEM = yes
126126

127127

128+
# INCLUDE_SYSTEM_EVENTD - build docker-eventd for system eventd support
129+
INCLUDE_SYSTEM_EVENTD = y
130+
128131
# INCLUDE_SYSTEM_TELEMETRY - build docker-sonic-telemetry for system telemetry support
129132
INCLUDE_SYSTEM_TELEMETRY = y
130133

‎rules/docker-eventd.mk

+4
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,14 @@ $(DOCKER_DHCP)_SERVICE_REQUIRES = updategraph
2525
$(DOCKER_DHCP)_SERVICE_AFTER = database
2626

2727
SONIC_DOCKER_IMAGES += $(DOCKER_EVENTD)
28+
ifeq ($(INCLUDE_SYSTEM_EVENTD), y)
2829
SONIC_INSTALL_DOCKER_IMAGES += $(DOCKER_EVENTD)
30+
endif
2931

3032
SONIC_DOCKER_DBG_IMAGES += $(DOCKER_EVENTD_DBG)
33+
ifeq ($(INCLUDE_SYSTEM_EVENTD), y)
3134
SONIC_INSTALL_DOCKER_DBG_IMAGES += $(DOCKER_EVENTD_DBG)
35+
endif
3236

3337
$(DOCKER_EVENTD)_CONTAINER_NAME = eventd
3438
$(DOCKER_EVENTD)_RUN_OPT += --privileged -t

‎slave.mk

+9
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,10 @@ ifeq ($(SONIC_INCLUDE_SYSTEM_TELEMETRY),y)
157157
INCLUDE_SYSTEM_TELEMETRY = y
158158
endif
159159

160+
ifeq ($(SONIC_INCLUDE_SYSTEM_EVENTD),y)
161+
INCLUDE_SYSTEM_EVENTD = y
162+
endif
163+
160164
ifeq ($(SONIC_INCLUDE_RESTAPI),y)
161165
INCLUDE_RESTAPI = y
162166
endif
@@ -413,6 +417,7 @@ $(info "VS_PREPARE_MEM" : "$(VS_PREPARE_MEM)")
413417
$(info "INCLUDE_MGMT_FRAMEWORK" : "$(INCLUDE_MGMT_FRAMEWORK)")
414418
$(info "INCLUDE_ICCPD" : "$(INCLUDE_ICCPD)")
415419
$(info "INCLUDE_SYSTEM_TELEMETRY" : "$(INCLUDE_SYSTEM_TELEMETRY)")
420+
$(info "INCLUDE_SYSTEM_EVENTD" : "$(INCLUDE_SYSTEM_EVENTD)")
416421
$(info "ENABLE_HOST_SERVICE_ON_START" : "$(ENABLE_HOST_SERVICE_ON_START)")
417422
$(info "INCLUDE_RESTAPI" : "$(INCLUDE_RESTAPI)")
418423
$(info "INCLUDE_SFLOW" : "$(INCLUDE_SFLOW)")
@@ -1062,6 +1067,8 @@ $(addprefix $(TARGET_PATH)/, $(DOCKER_IMAGES)) : $(TARGET_PATH)/%.gz : .platform
10621067
sudo mount --bind $(PYTHON_DEBS_PATH) $($*.gz_PATH)/python-debs $(LOG)
10631068
sudo mount --bind $(PYTHON_WHEELS_PATH) $($*.gz_PATH)/python-wheels $(LOG)
10641069
# Export variables for j2. Use path for unique variable names, e.g. docker_orchagent_debs
1070+
export include_system_eventd="$(INCLUDE_SYSTEM_EVENTD)"
1071+
export build_reduce_image_size="$(BUILD_REDUCE_IMAGE_SIZE)"
10651072
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_debs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_DEPENDS),RDEPENDS))\n" | awk '!a[$$0]++'))
10661073
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_pydebs=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_DEBS)))\n" | awk '!a[$$0]++'))
10671074
$(eval export $(subst -,_,$(notdir $($*.gz_PATH)))_whls=$(shell printf "$(subst $(SPACE),\n,$(call expand,$($*.gz_PYTHON_WHEELS)))\n" | awk '!a[$$0]++'))
@@ -1288,6 +1295,8 @@ $(addprefix $(TARGET_PATH)/, $(SONIC_INSTALLERS)) : $(TARGET_PATH)/% : \
12881295
export sonic_su_mode="$(SECURE_UPGRADE_MODE)"
12891296
export sonic_su_prod_signing_tool="/sonic/scripts/$(shell basename -- $(SECURE_UPGRADE_PROD_SIGNING_TOOL))"
12901297
export include_system_telemetry="$(INCLUDE_SYSTEM_TELEMETRY)"
1298+
export include_system_eventd="$(INCLUDE_SYSTEM_EVENTD)"
1299+
export build_reduce_image_size="$(BUILD_REDUCE_IMAGE_SIZE)"
12911300
export include_restapi="$(INCLUDE_RESTAPI)"
12921301
export include_nat="$(INCLUDE_NAT)"
12931302
export include_p4rt="$(INCLUDE_P4RT)"

0 commit comments

Comments
 (0)
Please sign in to comment.