From f67c2d8c39ae1f8518ade0a882c900c69ec5f6c5 Mon Sep 17 00:00:00 2001 From: Sonic Build Admin Date: Sat, 9 Aug 2025 00:16:09 +0000 Subject: [PATCH] Revert "[SPM] Rename the variable tag to docker-image-reference" Reverts sonic-net/sonic-utilities#3998 to fix build issue. Details in https://github.com/sonic-net/sonic-utilities/pull/3998 --- sonic_package_manager/database.py | 11 +++++------ sonic_package_manager/service_creator/creator.py | 2 +- sonic_package_manager/source.py | 6 +++--- tests/sonic_package_manager/conftest.py | 2 +- tests/sonic_package_manager/test_database.py | 6 +++--- tests/sonic_package_manager/test_manager.py | 12 ++++++------ 6 files changed, 19 insertions(+), 20 deletions(-) diff --git a/sonic_package_manager/database.py b/sonic_package_manager/database.py index 3bfcf69b9d..11f7b305d6 100644 --- a/sonic_package_manager/database.py +++ b/sonic_package_manager/database.py @@ -31,8 +31,7 @@ class PackageEntry: built_in: Boolean flag whether the package is built in. image_id: Image ID for this package or None if package is not installed. - docker_image_reference: Docker image reference for this package or None if package - is not installed. + tag: Tag for this package or None if package is not installed. """ name: str @@ -43,7 +42,7 @@ class PackageEntry: installed: bool = False built_in: bool = False image_id: Optional[str] = None - docker_image_reference: Optional[str] = None + tag: Optional[str] = None def package_from_dict(name: str, package_info: Dict) -> PackageEntry: @@ -58,10 +57,10 @@ def package_from_dict(name: str, package_info: Dict) -> PackageEntry: installed = package_info.get('installed', False) built_in = package_info.get('built-in', False) image_id = package_info.get('image-id') - docker_image_reference = package_info.get('docker-image-reference') + tag = package_info.get('tag') return PackageEntry(name, repository, description, default_reference, version, installed, - built_in, image_id, docker_image_reference) + built_in, image_id, tag) def package_to_dict(package: PackageEntry) -> Dict: @@ -75,7 +74,7 @@ def package_to_dict(package: PackageEntry) -> Dict: 'installed': package.installed, 'built-in': package.built_in, 'image-id': package.image_id, - 'docker-image-reference': package.docker_image_reference, + 'tag': package.tag, } diff --git a/sonic_package_manager/service_creator/creator.py b/sonic_package_manager/service_creator/creator.py index 857b6365a9..815055c224 100644 --- a/sonic_package_manager/service_creator/creator.py +++ b/sonic_package_manager/service_creator/creator.py @@ -283,7 +283,7 @@ def generate_container_mgmt(self, package: Package): 'docker_container_name': name, 'docker_image_id': image_id, 'docker_image_name': package.entry.repository, - 'docker_image_reference': package.entry.docker_image_reference, + 'docker_image_tag': package.entry.tag, 'docker_image_run_opt': run_opt, 'sonic_asic_platform': sonic_asic_platform } diff --git a/sonic_package_manager/source.py b/sonic_package_manager/source.py index 9ff04abbc5..37c6cb3928 100644 --- a/sonic_package_manager/source.py +++ b/sonic_package_manager/source.py @@ -51,10 +51,10 @@ def install(self, package: Package): image = self.install_image(package) package.entry.image_id = image.id - if image.docker_image_references: - package.entry.docker_image_reference = image.docker_image_references[0] + if image.tags: + package.entry.tag = image.tags[0] else: - package.entry.docker_image_reference = image.id + package.entry.tag = image.id # if no repository is defined for this package # get repository from image diff --git a/tests/sonic_package_manager/conftest.py b/tests/sonic_package_manager/conftest.py index 2d16e43a0d..e8c616d3f0 100644 --- a/tests/sonic_package_manager/conftest.py +++ b/tests/sonic_package_manager/conftest.py @@ -26,7 +26,7 @@ def mock_docker_api(): @dataclass class Image: id: str - docker_image_references: list[str] + tags: list[str] @property def attrs(self): diff --git a/tests/sonic_package_manager/test_database.py b/tests/sonic_package_manager/test_database.py index 6f87aeee36..2b8380835d 100644 --- a/tests/sonic_package_manager/test_database.py +++ b/tests/sonic_package_manager/test_database.py @@ -99,7 +99,7 @@ def test_package_from_dict(): 'installed': True, 'built-in': False, 'image-id': 'abc123', - 'docker-image-reference': 'latest' + 'tag': 'latest' } package = package_from_dict('test-package', package_info) @@ -112,7 +112,7 @@ def test_package_from_dict(): assert package.installed is True assert package.built_in is False assert package.image_id == 'abc123' - assert package.docker_image_reference == 'latest' + assert package.tag == 'latest' def test_package_from_dict_minimal(): @@ -131,4 +131,4 @@ def test_package_from_dict_minimal(): assert package.installed is False assert package.built_in is False assert package.image_id is None - assert package.docker_image_reference is None + assert package.tag is None diff --git a/tests/sonic_package_manager/test_manager.py b/tests/sonic_package_manager/test_manager.py index c97afc771a..5c236dc869 100644 --- a/tests/sonic_package_manager/test_manager.py +++ b/tests/sonic_package_manager/test_manager.py @@ -602,13 +602,13 @@ def test_download_file_sftp(package_manager): ) -def test_installation_from_file_no_image_references(package_manager, mock_docker_api, sonic_fs): - # Override the load function to return an image without image references - def load_no_image_references(filename): +def test_installation_from_file_no_tags(package_manager, mock_docker_api, sonic_fs): + # Override the load function to return an image without tags + def load_no_tags(filename): class Image: def __init__(self, id): self.id = id - self.docker_image_references = [] + self.tags = [] @property def attrs(self): @@ -616,7 +616,7 @@ def attrs(self): return Image(filename) - mock_docker_api.load = MagicMock(side_effect=load_no_image_references) + mock_docker_api.load = MagicMock(side_effect=load_no_tags) sonic_fs.create_file('Azure/docker-test:1.6.0') package_manager.install(tarball='Azure/docker-test:1.6.0') @@ -626,4 +626,4 @@ def attrs(self): # Get the package from the database and verify the tag was set to the image ID package = package_manager.database.get_package('test-package') - assert package.docker_image_reference == 'Azure/docker-test:1.6.0' + assert package.tag == 'Azure/docker-test:1.6.0'