From 03705108717d02b260b2c7100688a5526f49ef37 Mon Sep 17 00:00:00 2001 From: Shyam Kumar Date: Mon, 10 Jan 2022 14:37:24 -0800 Subject: [PATCH] Added gbsyncd infra for multi-ASIC, multi-PHY mode - External PHY is managed via gearbox (gbsybcd docker container) in SONiC - Enhanced 'External PHY management' from SONiC's single-ASIC environment to multi-ASIC - Enhanced gbsyncd docker container from single Namespace to multi-Namspace mode - Added gbsyncd.service.j2 on per_namespace basis. - Each namepace/ASIC now to have its unique gbsyncd docker container with its own Gearbox table, redis-DB Signed-off-by: Shyam Kumar --- files/build_templates/gbsyncd.service.j2 | 22 ------------------- .../per_namespace/gbsyncd.service.j2 | 22 +++++++++++++++++++ 2 files changed, 22 insertions(+), 22 deletions(-) delete mode 100644 files/build_templates/gbsyncd.service.j2 create mode 100644 files/build_templates/per_namespace/gbsyncd.service.j2 diff --git a/files/build_templates/gbsyncd.service.j2 b/files/build_templates/gbsyncd.service.j2 deleted file mode 100644 index 732d9c89336..00000000000 --- a/files/build_templates/gbsyncd.service.j2 +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description={{docker_container_name}} service -Requires=database.service updategraph.service -ConditionPathExists=!/usr/share/sonic/hwsku/gearbox_config.json -After=database.service updategraph.service -After=interfaces-config.service -After=swss.service -BindsTo=sonic.target -After=sonic.target -Before=ntp-config.service - -[Service] -User=root -Environment=sonic_asic_platform={{ sonic_asic_platform }} -Environment=gbsyncd_platform={{ docker_container_name }} -ExecCondition=/usr/bin/gbsyncd-platform.sh -ExecStartPre=/usr/local/bin/gbsyncd.sh start -ExecStart=/usr/local/bin/gbsyncd.sh wait -ExecStop=/usr/local/bin/gbsyncd.sh stop - -[Install] -WantedBy=sonic.target diff --git a/files/build_templates/per_namespace/gbsyncd.service.j2 b/files/build_templates/per_namespace/gbsyncd.service.j2 new file mode 100644 index 00000000000..90a92b7e850 --- /dev/null +++ b/files/build_templates/per_namespace/gbsyncd.service.j2 @@ -0,0 +1,22 @@ +[Unit] +Description={{docker_container_name}} service +Requires=database{% if multi_instance == 'true' %}@%i{% endif %}.service updategraph.service +ConditionPathExists=!/usr/share/sonic/hwsku/gearbox_config.json +After=database{% if multi_instance == 'true' %}@%i{% endif %}.service updategraph.service +After=interfaces-config.service +After=swss{% if multi_instance == 'true' %}@%i{% endif %}.service +BindsTo=sonic.target +After=sonic.target +Before=ntp-config.service + +[Service] +User=root +Environment=sonic_asic_platform={{ sonic_asic_platform }} +Environment=gbsyncd_platform={{ docker_container_name }} +ExecCondition=/usr/bin/gbsyncd-platform.sh +ExecStartPre=/usr/local/bin/gbsyncd.sh start{% if multi_instance == 'true' %} %i{% endif %} +ExecStart=/usr/local/bin/gbsyncd.sh wait{% if multi_instance == 'true' %} %i{% endif %} +ExecStop=/usr/local/bin/gbsyncd.sh stop{% if multi_instance == 'true' %} %i{% endif %} + +[Install] +WantedBy=sonic.target