Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
anamehra opened this issue May 25, 2021 · 4 comments
Closed

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

anamehra opened this issue May 25, 2021 · 4 comments
Assignees
Labels
Chassis 🤖 Modular chassis support Triaged this issue has been triaged

Comments

@anamehra
Copy link
Contributor

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):

@anamehra
Copy link
Contributor Author

@anshuv-mfst Please assign this git issue to me.

@anshuv-mfst
Copy link

To be discussed in Chassis Subgroup meeting - 5/26

@zhangyanzhao zhangyanzhao added the Triaged this issue has been triaged label Jun 23, 2021
@rlhui
Copy link
Contributor

rlhui commented May 25, 2022

@abdosi - please comment and/or close if suitable.

@anamehra
Copy link
Contributor Author

This is handled via #7477

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Chassis 🤖 Modular chassis support Triaged this issue has been triaged
Projects
None yet
Development

No branches or pull requests

4 participants