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

HLD template created #670

Merged
merged 3 commits into from
Sep 29, 2020
Merged

HLD template created #670

merged 3 commits into from
Sep 29, 2020

Conversation

kannankvs
Copy link
Collaborator

HLD Template for review.


## Table of Content

### 1. Revision

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the numbers - you have 2 sections 1, 2, and 3.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see you removed all the numbers. Note that I'm not averse to numbers - I just want them to be correct/consistent.


### 2. Requirements

This section list out the basic requirements for the HLD coverage and exemptions (not supported) if any for this design.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest you remove the word "basic" - we want all the requirements.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack


### 3. Architecture Design

This section covers the changes that are required in the SONiC architecture and explains how the module/sub-module fits in the architecture.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would hope that this section is empty for most features - we want to avoid architectural changes, right? Most features will use the existing architecture.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed. It is better if user explains how the new feature/enhancement fits in the current architecture. Added 2 lines to explain this.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack


This section covers the high level design of the feature/enhancement. This section covers the following points in detail.

- What are the modules and sub-modules that are modfiied for this design?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the indentation

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack


This section covers the high level design of the feature/enhancement. This section covers the following points in detail.

- What are the modules and sub-modules that are modfiied for this design?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the typo - "modfiied" - generally I would suggest a spell check

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack for this one - I still see one more spelling error below ("distruption")

- Is this change specific to any platform? Are there dependencies for platforms to implement anything to make this feature work? If yes, explain in detail and inform community in advance.
- SAI API requirements, CLI requirements, ConfigDB requirements. Design is covered in following sections.

### 5. SAI API

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we ask the designer to list the SAI APIs/objects used by the design? This will allow silicon vendors to ensure that they have the required support in their SAI.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a line to explain the same.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

### 6. CLI Enhancements

This section covers the addition/deletion/modification of CLI changes needed for the feature in detail. If there is no change in CLI for HLD feature, it should be explicitly mentioned in this section. Note that the CLI changes should ensure downward compatibility with the previous/existing CLI. i.e. Users should be able to save and restore the CLI from previous release even after the new CLI is implemented.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should also cover whether the CLI is Click or Klish (or both)

Generally this section should be up-leveled to "Configuration and Management", and CLI should be a sub-section of this. Other sub-sections would cover Data models (YANG, REST and gNMI

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added few lines and changed heading levels.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

- Management interfaces - SNMP, CLI, RestAPI, etc.,
- Is this change specific to any platform? Are there dependencies for platforms to implement anything to make this feature work? If yes, explain in detail and inform community in advance.
- SAI API requirements, CLI requirements, ConfigDB requirements. Design is covered in following sections.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest we add something for: -

  • Serviceability and Debug (logging, counters, trace etc)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ack

@ben-gale
Copy link

OK with me

@kannankvs kannankvs merged commit dfd2ae6 into master Sep 29, 2020
#### Config DB Enhancements

This sub-section covers the addition/deletion/modification of config DB changes needed for the feature. If there is no change in configuration for HLD feature, it should be explicitly mentioned in this section. This section should also ensure the downward compatibility for the change.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @kannankvs
I'm sorry to comment so late but I feel it's better to move the Config DB enhancements to a place ahead of or in the section High-Level Design. Because it's can help the readers of the HLD understand it better if there is a database description ahead of the flows which are described in the HLD.
How do you think?
Thanks,
Stephen

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants