[y_cable] Support for initialization of new daemon ycable to support ycables (#9125)

* [y_cable] Support for initialization of new Daemon ycable to support
ycables
This PR also adds the commit in sonic-platform-daemons

94fa239 [y_cable] refactor y_cable to a seperate logic and new daemon from xcvrd (#219)

Why I did it
This PR separates the logic of Y-Cable from xcvrd. Before this change we were utilizing xcvrd daemon to control all aspects of Y-Cable right from initialization to processing requests from other entities like orch,linkmgr.
Now we would have another daemon ycabled which will serve this purpose.
Logically everything still remains the same from the perspective of other daemons.
it also take care aspects like init/delete daemon from Y-Cable perspective.

How I did it
To serve the purpose we build a new wheel sonic_ycabled-1.0-py3-none-any.whl and install it inside pmon.
We also initalize the daemon ycabled which serves our purpose for refactor inside pmon

How to verify it
Ran the changes with an image for dualtor tests on a 7050cx3 platform

Signed-off-by: vaibhav-dahiya <vdahiya@microsoft.com>
This commit is contained in:
vdahiya12 2022-01-25 11:10:25 -08:00 committed by GitHub
parent 49a036e90c
commit 61e9a7683c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 49 additions and 8 deletions

View File

@ -4,5 +4,6 @@
"skip_pcied": true, "skip_pcied": true,
"skip_psud": true, "skip_psud": true,
"skip_syseepromd": true, "skip_syseepromd": true,
"skip_thermalctld": true "skip_thermalctld": true,
"skip_ycabled": false
} }

View File

@ -110,10 +110,29 @@ dependent_startup=true
dependent_startup_wait_for=rsyslogd:running dependent_startup_wait_for=rsyslogd:running
{% endif %} {% endif %}
{% if 'subtype' in DEVICE_METADATA['localhost'] and DEVICE_METADATA['localhost']['subtype'] == 'DualToR' %}
{% if not skip_ycabled %}
[program:ycabled]
{% if delay_ycabled %}
command=bash -c "sleep 30 && nice -n -20 python3 /usr/local/bin/ycabled"
{% else %}
command=nice -n -20 python3 /usr/local/bin/ycabled
{% endif %}
priority=7
autostart=false
autorestart=unexpected
stdout_logfile=syslog
stderr_logfile=syslog
startsecs=10
dependent_startup=true
dependent_startup_wait_for=rsyslogd:running
{% endif %}
{% endif %}
{% if not skip_psud %} {% if not skip_psud %}
[program:psud] [program:psud]
command={% if API_VERSION == 3 and 'psud' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/psud command={% if API_VERSION == 3 and 'psud' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/psud
priority=7 priority=8
autostart=false autostart=false
autorestart=unexpected autorestart=unexpected
stdout_logfile=syslog stdout_logfile=syslog
@ -126,7 +145,7 @@ dependent_startup_wait_for=rsyslogd:running
{% if not skip_syseepromd %} {% if not skip_syseepromd %}
[program:syseepromd] [program:syseepromd]
command={% if API_VERSION == 3 and 'syseepromd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/syseepromd command={% if API_VERSION == 3 and 'syseepromd' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/syseepromd
priority=8 priority=9
autostart=false autostart=false
autorestart=unexpected autorestart=unexpected
stdout_logfile=syslog stdout_logfile=syslog
@ -139,7 +158,7 @@ dependent_startup_wait_for=rsyslogd:running
{% if not skip_thermalctld %} {% if not skip_thermalctld %}
[program:thermalctld] [program:thermalctld]
command={% if API_VERSION == 3 and 'thermalctld' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/thermalctld command={% if API_VERSION == 3 and 'thermalctld' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/thermalctld
priority=9 priority=10
autostart=false autostart=false
autorestart=unexpected autorestart=unexpected
stdout_logfile=syslog stdout_logfile=syslog
@ -153,7 +172,7 @@ dependent_startup_wait_for=rsyslogd:running
{% if not skip_pcied %} {% if not skip_pcied %}
[program:pcied] [program:pcied]
command={% if API_VERSION == 3 and 'pcied' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/pcied command={% if API_VERSION == 3 and 'pcied' not in python2_daemons %}python3 {% else %} python2 {% endif %}/usr/local/bin/pcied
priority=10 priority=11
autostart=false autostart=false
autorestart=unexpected autorestart=unexpected
stdout_logfile=syslog stdout_logfile=syslog

View File

@ -105,9 +105,9 @@ confvar="{\"HAVE_SENSORS_CONF\":$HAVE_SENSORS_CONF, \"HAVE_FANCONTROL_CONF\":$HA
if [ -e $PMON_DAEMON_CONTROL_FILE ]; if [ -e $PMON_DAEMON_CONTROL_FILE ];
then then
sonic-cfggen -j $PMON_DAEMON_CONTROL_FILE -a "$confvar" -t $SUPERVISOR_CONF_TEMPLATE > $SUPERVISOR_CONF_FILE sonic-cfggen -d -j $PMON_DAEMON_CONTROL_FILE -a "$confvar" -t $SUPERVISOR_CONF_TEMPLATE > $SUPERVISOR_CONF_FILE
else else
sonic-cfggen -a "$confvar" -t $SUPERVISOR_CONF_TEMPLATE > $SUPERVISOR_CONF_FILE sonic-cfggen -d -a "$confvar" -t $SUPERVISOR_CONF_TEMPLATE > $SUPERVISOR_CONF_FILE
fi fi
exec /usr/local/bin/supervisord exec /usr/local/bin/supervisord

View File

@ -20,6 +20,7 @@ $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_PSUD_PY3)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_SYSEEPROMD_PY3) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_SYSEEPROMD_PY3)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_THERMALCTLD_PY3) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_THERMALCTLD_PY3)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_XCVRD_PY3) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_XCVRD_PY3)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_YCABLED_PY3)
$(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_CHASSISD_PY3) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_CHASSISD_PY3)
ifeq ($(PDDF_SUPPORT),y) ifeq ($(PDDF_SUPPORT),y)

10
rules/sonic-ycabled.dep Normal file
View File

@ -0,0 +1,10 @@
SPATH := $($(SONIC_YCABLED_PY3)_SRC_PATH)
DEP_FILES := $(SONIC_COMMON_FILES_LIST) rules/sonic-ycabled.mk rules/sonic-ycabled.dep
DEP_FILES += $(SONIC_COMMON_BASE_FILES_LIST)
SMDEP_FILES := $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files))
$(SONIC_YCABLED_PY3)_CACHE_MODE := GIT_CONTENT_SHA
$(SONIC_YCABLED_PY3)_DEP_FLAGS := $(SONIC_COMMON_FLAGS_LIST)
$(SONIC_YCABLED_PY3)_DEP_FILES := $(DEP_FILES)
$(SONIC_YCABLED_PY3)_SMDEP_FILES := $(SMDEP_FILES)
$(SONIC_YCABLED_PY3)_SMDEP_PATHS := $(SPATH)

10
rules/sonic-ycabled.mk Normal file
View File

@ -0,0 +1,10 @@
# sonic-ycabled (SONiC Y-Cable daemon) Debian package
# SONIC_YCABLED_PY3 package
SONIC_YCABLED_PY3 = sonic_ycabled-1.0-py3-none-any.whl
$(SONIC_YCABLED_PY3)_SRC_PATH = $(SRC_PATH)/sonic-platform-daemons/sonic-ycabled
$(SONIC_YCABLED_PY3)_DEPENDS = $(SONIC_PY_COMMON_PY3) $(SONIC_PLATFORM_COMMON_PY3)
$(SONIC_YCABLED_PY3)_DEBS_DEPENDS = $(LIBSWSSCOMMON) $(PYTHON3_SWSSCOMMON)
$(SONIC_YCABLED_PY3)_PYTHON_VERSION = 3
SONIC_PYTHON_WHEELS += $(SONIC_YCABLED_PY3)

@ -1 +1 @@
Subproject commit c4127c28ada0cbc7fd8cb730320cbc65ef78ead8 Subproject commit 94fa239a7bcfcab008e94fb5c118b628e4256561