Skip to content

[multi-asic] multi instance service orchestration for chassis system #7699

@anamehra

Description

@anamehra

Description

This git issue is placeholder for multi instance services like swss, syncd and teamd orchestration for chassis based multi asic system. The containers corresponding to these services need to be started only if the corresponding asic is present.

The asic may not be available due to:

  1. Fabric card hosting the asic not inserted.
  2. Asic or fabric card is faulty.

In case the asic is present, the container should only start after the asic is pulled out of reset and available for initialization otherwise the SDK initialization may fail and cause syncd/swss service restart.

To achieve this here is a brief description of proposed solution:

  1. swss, syncd and teamd services should not start corresponding dockers int start() call (ExecPreStart phase). The dockers should be started in wait() (ExecStart phase). Before docker start, the service start script should wait for asic corresponding to service be available. This could be achieved by providing a call to a platform hook.
    The platform hook may provide the wait logic for service to wait on the asic. This platform call should return only when the asic is available. The platform hook may use a notification method like inotifywait for this purpose.

  2. A asic bootstrap service: This service should start after all database services and before swss service. This service may provide a way to invoke a platform plugin. This platform plugin may implement the logic required to detect an asic and notify the associated services in (1) above when one is detected.

Steps to reproduce the issue:

Describe the results you received:

Describe the results you expected:

Output of show version:

(paste your output here)

Output of show techsupport:

(paste your output here or download and attach the file here )

Additional information you deem important (e.g. issue happens only occasionally):

Metadata

Metadata

Assignees

Labels

Chassis 🤖Modular chassis supportTriagedthis issue has been triaged

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions