-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
SONiC Application Extension HLD #682
SONiC Application Extension HLD #682
Conversation
75c555e
to
e4ce54f
Compare
Signed-off-by: Stepan Blyschak <stepanb@mellanox.com>
e4ce54f
to
fabe34b
Compare
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
70af4d9
to
ee366f5
Compare
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@mellanox.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
ed1b78a
to
534e542
Compare
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
…inition Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
more clearly. Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
A few of comments/questions:
I can imagine that we can address (1) by simply installing any container image in SONiC, however, it will also be useful to be able to integrate its CLI or management API's with SONiC, without the need for the application to follow the SONiC approach for using supervisord, rsyslogd and systemd unit files. However, (2) is harder to address - AFAIK the docker local registry in /var/lib/docker is completely overwritten during an upgrade. It would help to find a means to address this. |
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Hi, thank you for comments, here are my thoughts:
|
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
-v /var/run/redis$DEV:/var/run/redis:rw \ | ||
$REDIS_MNT \ | ||
-v /usr/share/sonic/device/$PLATFORM:/usr/share/sonic/platform:ro \ | ||
-v /usr/share/sonic/device/$PLATFORM/$HWSKU/$DEV:/usr/share/sonic/hwsku:ro \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We may not need these mount volumes for 3rd party dockers as they may not depend on SONiC resources? can we make it an optional field (e.g SONiC dependent docker vs non-dependent docker) in the manifest file?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is mentioned in https://github.com/Azure/SONiC/pull/682/files#diff-be6a02b89b88eb9dd23104151d3b06081dbc49c58c610f5f2aa5dfc5d1d4e13aR1298.
Normally, if you don't need these volume mounts you will not specify "depends": ["database"], or any other sonic container that has a dependency on database. In this case sonic-package-manager will know that these mounts are not needed.
Please, note, 3rd party dockers are not part of phase 1 implementation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, thanks.
|
||
## Base OS API that a package uses | ||
|
||
- SONiC utilities; Until CLI autogeneration, sonic utilities plugin system API incompatibility must be recorded by base OS major version increment |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we should de-link the CLI autogeneration from this. If we think the sonic-utilities is part of the base-os, we should list here. Alternately, we can let other individual dockers to register their dependencies on sonic-utilities.
CLI is just one form of management, and even for CLI there are multiple models (linux-like, cisco-like etc). The base-os should not have any awareness of the CLI, or any UI.
So, I suggest we look at whether we need sonic-util as part of base-os, independent of a specific CLI model
|
||
- Package release ***happens on SONiC release/branch-out*** or on demand for single Docker image: ***sub-release*** | ||
- Manual version update ***is required*** when SONiC Package releases | ||
- Within a release major and minor version ***must*** not change |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to aid clarity - Within a SONIC release, the major and minor versions of the feature package must not change, i.e., any newer version of the feature package for that SONIC release, remains fully backward compatible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, only bug fixes are allowed as usually for release branches
Signed-off-by: Stepan Blyshchak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
Signed-off-by: Stepan Blyschak <stepanb@nvidia.com>
…anager (#1527) What I did Implemented sonic-package-manager utility to manager SONiC Packages as per HLD sonic-net/SONiC#682. Implemented optional logic to migrate packages into new SONiC image in sonic-installer. How I did it Implemented as per HLD sonic-net/SONiC#682. How to verify it (Doc: sonic-net/SONiC#682) install package uninstall package upgrade package S2S upgrade THANK YOU, Stepan!
…#1378) - What I did Remove dhcp relay commands from sonic-utilities. dhcp-relay commands will come as a plugin with dhcp-relay docker installation. See sonic-net/SONiC#682 - How I did it Remove dhcp-relay commands from vlan. Make "show vlan brief" command table output extendable. - How to verify it Install dhcp-relay docker as app.ext. Verify that "config vlan dhcp-relay" and "show vlan brief" show dhcp data.
@renukamanavalan I believe it is time to merge this PR as the code is almost done and merged. Any objection? |
…anager (sonic-net#1527) What I did Implemented sonic-package-manager utility to manager SONiC Packages as per HLD sonic-net/SONiC#682. Implemented optional logic to migrate packages into new SONiC image in sonic-installer. How I did it Implemented as per HLD sonic-net/SONiC#682. How to verify it (Doc: sonic-net/SONiC#682) install package uninstall package upgrade package S2S upgrade THANK YOU, Stepan!
…sonic-net#1378) - What I did Remove dhcp relay commands from sonic-utilities. dhcp-relay commands will come as a plugin with dhcp-relay docker installation. See sonic-net/SONiC#682 - How I did it Remove dhcp-relay commands from vlan. Make "show vlan brief" command table output extendable. - How to verify it Install dhcp-relay docker as app.ext. Verify that "config vlan dhcp-relay" and "show vlan brief" show dhcp data.
…packages (#7286) #### Why I did it I made this change to support warm/fast reboot for SONiC extension packages as per HLD sonic-net/SONiC#682. #### How I did it I extended manifest.json.j2 with new warm/fast reboot related fields and also extended sonic_debian_extension.j2 script template to generate the shutdown order files for warm and fast reboot.
…packages (#7286) #### Why I did it I made this change to support warm/fast reboot for SONiC extension packages as per HLD sonic-net/SONiC#682. #### How I did it I extended manifest.json.j2 with new warm/fast reboot related fields and also extended sonic_debian_extension.j2 script template to generate the shutdown order files for warm and fast reboot.
…packages (sonic-net#7286) #### Why I did it I made this change to support warm/fast reboot for SONiC extension packages as per HLD sonic-net/SONiC#682. #### How I did it I extended manifest.json.j2 with new warm/fast reboot related fields and also extended sonic_debian_extension.j2 script template to generate the shutdown order files for warm and fast reboot.
…anager (#1527) What I did Implemented sonic-package-manager utility to manager SONiC Packages as per HLD sonic-net/SONiC#682. Implemented optional logic to migrate packages into new SONiC image in sonic-installer. How I did it Implemented as per HLD sonic-net/SONiC#682. How to verify it (Doc: sonic-net/SONiC#682) install package uninstall package upgrade package S2S upgrade THANK YOU, Stepan!
… (#1378) - What I did Remove dhcp relay commands from sonic-utilities. dhcp-relay commands will come as a plugin with dhcp-relay docker installation. See sonic-net/SONiC#682 - How I did it Remove dhcp-relay commands from vlan. Make "show vlan brief" command table output extendable. - How to verify it Install dhcp-relay docker as app.ext. Verify that "config vlan dhcp-relay" and "show vlan brief" show dhcp data.
No description provided.