Fix dhcp-relay and macsec dockers not being marked as local packages#13059
Fix dhcp-relay and macsec dockers not being marked as local packages#13059saiarcot895 wants to merge 3 commits intosonic-net:masterfrom
Conversation
|
@stepanblyschak could you review this when you get a chance? |
|
How about always saving docker-dhcp-relay:latest to docker-dhcp-relay.gz? For example: And we have different build options, the image tag should be static. |
When INSTALL_DEBUG_TOOLS=y is set (i.e. debug tools and containers are enabled), the non-debug versions of the dhcp-relay and macsec dockers are not added into SONIC_PACKAGES_LOCAL, and thus the tagging for those packages is not handled correctly when loading those dockers. To fix this, change the code that checks to see if something is part of a local package by searching for both just the package name and with the -dbg suffix to the name. Signed-off-by: Saikrishna Arcot <[email protected]>
When saving the dockers to disk, always use the latest tag. The dockers on disk might not necessarily be associated with a specified image, since it may get reused for building a different image if the sources haven't changed. Signed-off-by: Saikrishna Arcot <[email protected]>
This is mainly for vim syntax highlighting purposes. Signed-off-by: Saikrishna Arcot <[email protected]>
fc6bbb4 to
ec68b8d
Compare
|
@xumia, that makes sense, dockers saved to disk can't have version-specific information. I've modified my changes to save the docker with just the latest tag. |
|
@xumia @saiarcot895 Yes, that makes sense. I will rework the fix for #11521 |
Signed-off-by: Saikrishna Arcot [email protected]
Why I did it
When INSTALL_DEBUG_TOOLS=y is set (i.e. debug tools and containers are enabled), the non-debug versions of the dhcp-relay and macsec dockers are not added into SONIC_PACKAGES_LOCAL, and thus the tagging for those packages is not handled correctly when loading those dockers.
This issue happens when a regular build is done, and then the debug image is built with
INSTALL_DEBUG_TOOLS=y. When this happens, the build system tries to load the docker image from thetarget/. However, this image was tagged as if it is a local package, but now in this build, only the debug dockers are considered local package. Because of this, there's a mismatch in the expected tag name, where the loaded docker uses the image tag, but the build system useslatesttag instead.Follow-up fix for #12959 and #12829.
How I did it
To fix this, change the code that checks to see if something is part of a local package by searching for both just the package name and with the -dbg suffix to the name.
How to verify it
Which release branch to backport (provide reason below if selected)
Description for the changelog
Ensure to add label/tag for the feature raised. example - PR#2174 under sonic-utilities repo. where, Generic Config and Update feature has been labelled as GCU.
Link to config_db schema for YANG module changes
A picture of a cute animal (not mandatory but encouraged)