diff --git a/device/arista/x86_64-arista_common/plugins/ssd_util.py b/device/arista/x86_64-arista_common/plugins/ssd_util.py index c9ca1e2a722c..6e5b2ab91578 100644 --- a/device/arista/x86_64-arista_common/plugins/ssd_util.py +++ b/device/arista/x86_64-arista_common/plugins/ssd_util.py @@ -2,4 +2,4 @@ try: from arista.utils.sonic_ssd import SsdUtil except ImportError: - from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil + from sonic_platform_base.sonic_storage.ssd import SsdUtil diff --git a/device/micas/arm64-micas_m2-w6010-48gt4x-fa-r0/plugins/ssd_util.py b/device/micas/arm64-micas_m2-w6010-48gt4x-fa-r0/plugins/ssd_util.py index 95ca23e8b351..d7bc164627b4 100644 --- a/device/micas/arm64-micas_m2-w6010-48gt4x-fa-r0/plugins/ssd_util.py +++ b/device/micas/arm64-micas_m2-w6010-48gt4x-fa-r0/plugins/ssd_util.py @@ -9,7 +9,7 @@ try: import subprocess - from sonic_platform_base.sonic_ssd.ssd_base import SsdBase + from sonic_platform_base.sonic_storage.storage_base import StorageBase except ImportError as e: raise ImportError (str(e) + "- required module not found") @@ -18,7 +18,7 @@ FIRMWARE_CMD = "cat /sys/kernel/debug/mmc0/mmc0:0001/ext_csd | cut -c 509-522" NOT_AVAILABLE = "N/A" -class SsdUtil(SsdBase): +class SsdUtil(StorageBase): """ Generic implementation of the SSD health API """ diff --git a/device/micas/arm64-micas_m2-w6010-48gt4x-ra-r0/plugins/ssd_util.py b/device/micas/arm64-micas_m2-w6010-48gt4x-ra-r0/plugins/ssd_util.py index 95ca23e8b351..d7bc164627b4 100644 --- a/device/micas/arm64-micas_m2-w6010-48gt4x-ra-r0/plugins/ssd_util.py +++ b/device/micas/arm64-micas_m2-w6010-48gt4x-ra-r0/plugins/ssd_util.py @@ -9,7 +9,7 @@ try: import subprocess - from sonic_platform_base.sonic_ssd.ssd_base import SsdBase + from sonic_platform_base.sonic_storage.storage_base import StorageBase except ImportError as e: raise ImportError (str(e) + "- required module not found") @@ -18,7 +18,7 @@ FIRMWARE_CMD = "cat /sys/kernel/debug/mmc0/mmc0:0001/ext_csd | cut -c 509-522" NOT_AVAILABLE = "N/A" -class SsdUtil(SsdBase): +class SsdUtil(StorageBase): """ Generic implementation of the SSD health API """ diff --git a/device/nokia/arm64-nokia_ixs7215_52xb-r0/plugins/ssd_util.py b/device/nokia/arm64-nokia_ixs7215_52xb-r0/plugins/ssd_util.py index 11b407bb8dd5..5ec00b69e7c8 100644 --- a/device/nokia/arm64-nokia_ixs7215_52xb-r0/plugins/ssd_util.py +++ b/device/nokia/arm64-nokia_ixs7215_52xb-r0/plugins/ssd_util.py @@ -1,4 +1,4 @@ try: from sonic_ssd import SsdUtil except ImportError: - from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil \ No newline at end of file + from sonic_platform_base.sonic_storage.ssd import SsdUtil \ No newline at end of file diff --git a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py index de570f00f43e..22a6f3eca14f 100644 --- a/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py +++ b/device/nvidia-bluefield/arm64-nvda_bf-9009d3b600cvaa/plugins/ssd_util.py @@ -1,8 +1,8 @@ import os -from sonic_platform_base.sonic_ssd.ssd_emmc import EmmcUtil -from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as SsdUtilDefault +from sonic_platform_base.sonic_storage.emmc import EmmcUtil +from sonic_platform_base.sonic_storage.ssd import SsdUtil as SsdUtilDefault def SsdUtil(diskdev): if os.path.basename(diskdev).startswith('mmcblk'): diff --git a/device/pensando/arm64-elba-asic-r0/plugins/ssd_util.py b/device/pensando/arm64-elba-asic-r0/plugins/ssd_util.py index 6ca016e20b47..e6c1b157fdb9 100644 --- a/device/pensando/arm64-elba-asic-r0/plugins/ssd_util.py +++ b/device/pensando/arm64-elba-asic-r0/plugins/ssd_util.py @@ -10,14 +10,14 @@ try: import re import subprocess - from sonic_platform_base.sonic_ssd.ssd_base import SsdBase + from sonic_platform_base.sonic_storage.storage_base import StorageBase except ImportError as e: raise ImportError (str(e) + "- required module not found") NOT_AVAILABLE = "N/A" MMC_DATA_PATH = "/sys/class/mmc_host/mmc0/mmc0:0001/{}" -class SsdUtil(SsdBase): +class SsdUtil(StorageBase): """ Generic implementation of the SSD health API """ diff --git a/device/ragile/x86_64-ragile_ra-b6510-48v8c-r0/plugins/ssd_util.py b/device/ragile/x86_64-ragile_ra-b6510-48v8c-r0/plugins/ssd_util.py index 89d3ccd770bd..beec4c17ff63 100755 --- a/device/ragile/x86_64-ragile_ra-b6510-48v8c-r0/plugins/ssd_util.py +++ b/device/ragile/x86_64-ragile_ra-b6510-48v8c-r0/plugins/ssd_util.py @@ -11,7 +11,7 @@ import re import os import subprocess - from sonic_platform_base.sonic_ssd.ssd_base import SsdBase + from sonic_platform_base.sonic_storage.storage_base import StorageBase except ImportError as e: raise ImportError (str(e) + "- required module not found") @@ -30,7 +30,7 @@ INNODISK_HEALTH_ID = 169 INNODISK_TEMPERATURE_ID = 194 -class SsdUtil(SsdBase): +class SsdUtil(StorageBase): """ Generic implementation of the SSD health API """ diff --git a/device/ragile/x86_64-ragile_ra-b6920-4s-r0/plugins/ssd_util.py b/device/ragile/x86_64-ragile_ra-b6920-4s-r0/plugins/ssd_util.py index 268d9ab633b1..214c563dfdd2 100644 --- a/device/ragile/x86_64-ragile_ra-b6920-4s-r0/plugins/ssd_util.py +++ b/device/ragile/x86_64-ragile_ra-b6920-4s-r0/plugins/ssd_util.py @@ -2,14 +2,14 @@ # ssd_health # -from sonic_platform_base.sonic_ssd.ssd_base import SsdBase +from sonic_platform_base.sonic_storage.storage_base import StorageBase from subprocess import Popen, PIPE from re import findall from os.path import exists NOT_AVAILABLE = "N/A" -class SsdUtil(SsdBase): +class SsdUtil(StorageBase): def __init__(self, diskdev): """ diff --git a/device/supermicro/x86_64-supermicro_sse_t7132s-r0/plugins/ssd_util.py b/device/supermicro/x86_64-supermicro_sse_t7132s-r0/plugins/ssd_util.py index 3a26dbfe4388..627d41f270cd 100644 --- a/device/supermicro/x86_64-supermicro_sse_t7132s-r0/plugins/ssd_util.py +++ b/device/supermicro/x86_64-supermicro_sse_t7132s-r0/plugins/ssd_util.py @@ -1,4 +1,4 @@ -from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as SsdUtilGeneric +from sonic_platform_base.sonic_storage.ssd import SsdUtil as SsdUtilGeneric class SsdUtil(SsdUtilGeneric): def parse_innodisk_info(self): diff --git a/dockers/docker-platform-monitor/docker-pmon.supervisord.conf.j2 b/dockers/docker-platform-monitor/docker-pmon.supervisord.conf.j2 index 4673b62da6e5..1cfd61ee8474 100644 --- a/dockers/docker-platform-monitor/docker-pmon.supervisord.conf.j2 +++ b/dockers/docker-platform-monitor/docker-pmon.supervisord.conf.j2 @@ -206,3 +206,16 @@ startsecs=10 dependent_startup=true dependent_startup_wait_for=rsyslogd:running {% endif %} + +{% if not skip_stormond %} +[program:stormond] +command=/usr/local/bin/stormond +priority=10 +autostart=false +autorestart=unexpected +stdout_logfile=syslog +stderr_logfile=syslog +startsecs=10 +dependent_startup=true +dependent_startup_wait_for=rsyslogd:running +{% endif %} diff --git a/platform/marvell/sonic-platform-nokia/7215-a1/utils/sonic_ssd.py b/platform/marvell/sonic-platform-nokia/7215-a1/utils/sonic_ssd.py index 563a0b22ce2d..6b2eac44580b 100644 --- a/platform/marvell/sonic-platform-nokia/7215-a1/utils/sonic_ssd.py +++ b/platform/marvell/sonic-platform-nokia/7215-a1/utils/sonic_ssd.py @@ -2,10 +2,10 @@ import os # pylint: disable=import-error -from sonic_platform_base.sonic_ssd.ssd_base import SsdBase -from sonic_platform_base.sonic_ssd.ssd_generic import SsdUtil as SsdUtilDefault +from sonic_platform_base.sonic_storage.storage_base import StorageBase +from sonic_platform_base.sonic_storage.ssd import SsdUtil as SsdUtilDefault -class EmmcUtil(SsdBase): +class EmmcUtil(StorageBase): def __init__(self, diskdev): self.diskdev = diskdev self.path = os.path.join('/sys/block', os.path.basename(diskdev)) diff --git a/rules/docker-platform-monitor.mk b/rules/docker-platform-monitor.mk index bf72808e00ad..71f9678b5f6a 100644 --- a/rules/docker-platform-monitor.mk +++ b/rules/docker-platform-monitor.mk @@ -22,6 +22,7 @@ $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(SONIC_SENSORMOND_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_STORMOND_PY3) ifeq ($(PDDF_SUPPORT),y) $(DOCKER_PLATFORM_MONITOR)_PYTHON_WHEELS += $(PDDF_PLATFORM_API_BASE_PY3) diff --git a/rules/sonic-stormond.dep b/rules/sonic-stormond.dep new file mode 100644 index 000000000000..94b019913421 --- /dev/null +++ b/rules/sonic-stormond.dep @@ -0,0 +1,10 @@ +SPATH:= $($(SONIC_STORMOND_PY3)_SRC_PATH) +DEP_FILES:= $(SONIC_COMMON_FILES_LIST) rules/sonic-stormond.mk rules/sonic-stormond.dep +DEP_FILES+= $(SONIC_COMMON_BASE_FILES_LIST) +SMDEP_FILES:= $(addprefix $(SPATH)/,$(shell cd $(SPATH) && git ls-files)) + +$(SONIC_STORMOND_PY3)_CACHE_MODE:= GIT_CONTENT_SHA +$(SONIC_STORMOND_PY3)_DEP_FLAGS:= $(SONIC_COMMON_FLAGS_LIST) +$(SONIC_STORMOND_PY3)_DEP_FILES:= $(DEP_FILES) +$(SONIC_STORMOND_PY3)_SMDEP_FILES:= $(SMDEP_FILES) +$(SONIC_STORMOND_PY3)_SMDEP_PATHS:= $(SPATH) diff --git a/rules/sonic-stormond.mk b/rules/sonic-stormond.mk new file mode 100644 index 000000000000..714dd61df4a4 --- /dev/null +++ b/rules/sonic-stormond.mk @@ -0,0 +1,9 @@ +# sonic-stormond (SONiC Storage Monitoring daemon) Debian package + +# SONIC_STORMOND_PY3 package + +SONIC_STORMOND_PY3 = sonic_stormond-1.0-py3-none-any.whl +$(SONIC_STORMOND_PY3)_SRC_PATH = $(SRC_PATH)/sonic-platform-daemons/sonic-stormond +$(SONIC_STORMOND_PY3)_DEPENDS = $(SONIC_PY_COMMON_PY3) +$(SONIC_STORMOND_PY3)_PYTHON_VERSION = 3 +SONIC_PYTHON_WHEELS += $(SONIC_STORMOND_PY3) diff --git a/src/sonic-platform-common b/src/sonic-platform-common index 862a67c59de2..cd6a5a42d2d9 160000 --- a/src/sonic-platform-common +++ b/src/sonic-platform-common @@ -1 +1 @@ -Subproject commit 862a67c59de267567563e003f5d0845b5f939527 +Subproject commit cd6a5a42d2d9e4973afe1bc5d8b1b5ff5f02d54c diff --git a/src/sonic-utilities b/src/sonic-utilities index 9b463ca54b4d..f14ed66e8b37 160000 --- a/src/sonic-utilities +++ b/src/sonic-utilities @@ -1 +1 @@ -Subproject commit 9b463ca54b4d65cb77aa733224e2bed2ec4cd22a +Subproject commit f14ed66e8b37801ffd217276d3103c8a881983f9