Skip to content

Commit 252a643

Browse files
authored
[SPM] Rename the variable tag to docker-image-reference (#3998)
What I did Rename the variable tag to docker_image_reference since it can also hold image digest. How I did it Change the variable name to match the name agreed on sonic-net/sonic-buildimage#22911 How to verify it Install App Extension
1 parent 3e3daf3 commit 252a643

File tree

6 files changed

+20
-19
lines changed

6 files changed

+20
-19
lines changed

sonic_package_manager/database.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class PackageEntry:
3131
built_in: Boolean flag whether the package is built in.
3232
image_id: Image ID for this package or None if package
3333
is not installed.
34-
tag: Tag for this package or None if package is not installed.
34+
docker_image_reference: Docker image reference for this package or None if package
35+
is not installed.
3536
"""
3637

3738
name: str
@@ -42,7 +43,7 @@ class PackageEntry:
4243
installed: bool = False
4344
built_in: bool = False
4445
image_id: Optional[str] = None
45-
tag: Optional[str] = None
46+
docker_image_reference: Optional[str] = None
4647

4748

4849
def package_from_dict(name: str, package_info: Dict) -> PackageEntry:
@@ -57,10 +58,10 @@ def package_from_dict(name: str, package_info: Dict) -> PackageEntry:
5758
installed = package_info.get('installed', False)
5859
built_in = package_info.get('built-in', False)
5960
image_id = package_info.get('image-id')
60-
tag = package_info.get('tag')
61+
docker_image_reference = package_info.get('docker-image-reference')
6162
return PackageEntry(name, repository, description,
6263
default_reference, version, installed,
63-
built_in, image_id, tag)
64+
built_in, image_id, docker_image_reference)
6465

6566

6667
def package_to_dict(package: PackageEntry) -> Dict:
@@ -74,7 +75,7 @@ def package_to_dict(package: PackageEntry) -> Dict:
7475
'installed': package.installed,
7576
'built-in': package.built_in,
7677
'image-id': package.image_id,
77-
'tag': package.tag,
78+
'docker-image-reference': package.docker_image_reference,
7879
}
7980

8081

sonic_package_manager/service_creator/creator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,7 @@ def generate_container_mgmt(self, package: Package):
283283
'docker_container_name': name,
284284
'docker_image_id': image_id,
285285
'docker_image_name': package.entry.repository,
286-
'docker_image_tag': package.entry.tag,
286+
'docker_image_reference': package.entry.docker_image_reference,
287287
'docker_image_run_opt': run_opt,
288288
'sonic_asic_platform': sonic_asic_platform
289289
}

sonic_package_manager/source.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ def install(self, package: Package):
5151

5252
image = self.install_image(package)
5353
package.entry.image_id = image.id
54-
if image.tags:
55-
package.entry.tag = image.tags[0]
54+
if image.docker_image_references:
55+
package.entry.docker_image_reference = image.docker_image_references[0]
5656
else:
57-
package.entry.tag = image.id
57+
package.entry.docker_image_reference = image.id
5858

5959
# if no repository is defined for this package
6060
# get repository from image

tests/sonic_package_manager/conftest.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ def mock_docker_api():
2626
@dataclass
2727
class Image:
2828
id: str
29-
tags: list[str]
29+
docker_image_references: list[str]
3030

3131
@property
3232
def attrs(self):

tests/sonic_package_manager/test_database.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def test_package_from_dict():
9999
'installed': True,
100100
'built-in': False,
101101
'image-id': 'abc123',
102-
'tag': 'latest'
102+
'docker-image-reference': 'latest'
103103
}
104104

105105
package = package_from_dict('test-package', package_info)
@@ -112,7 +112,7 @@ def test_package_from_dict():
112112
assert package.installed is True
113113
assert package.built_in is False
114114
assert package.image_id == 'abc123'
115-
assert package.tag == 'latest'
115+
assert package.docker_image_reference == 'latest'
116116

117117

118118
def test_package_from_dict_minimal():
@@ -131,4 +131,4 @@ def test_package_from_dict_minimal():
131131
assert package.installed is False
132132
assert package.built_in is False
133133
assert package.image_id is None
134-
assert package.tag is None
134+
assert package.docker_image_reference is None

tests/sonic_package_manager/test_manager.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -602,21 +602,21 @@ def test_download_file_sftp(package_manager):
602602
)
603603

604604

605-
def test_installation_from_file_no_tags(package_manager, mock_docker_api, sonic_fs):
606-
# Override the load function to return an image without tags
607-
def load_no_tags(filename):
605+
def test_installation_from_file_no_image_references(package_manager, mock_docker_api, sonic_fs):
606+
# Override the load function to return an image without image references
607+
def load_no_image_references(filename):
608608
class Image:
609609
def __init__(self, id):
610610
self.id = id
611-
self.tags = []
611+
self.docker_image_references = []
612612

613613
@property
614614
def attrs(self):
615615
return {'RepoTags': []}
616616

617617
return Image(filename)
618618

619-
mock_docker_api.load = MagicMock(side_effect=load_no_tags)
619+
mock_docker_api.load = MagicMock(side_effect=load_no_image_references)
620620

621621
sonic_fs.create_file('Azure/docker-test:1.6.0')
622622
package_manager.install(tarball='Azure/docker-test:1.6.0')
@@ -626,4 +626,4 @@ def attrs(self):
626626

627627
# Get the package from the database and verify the tag was set to the image ID
628628
package = package_manager.database.get_package('test-package')
629-
assert package.tag == 'Azure/docker-test:1.6.0'
629+
assert package.docker_image_reference == 'Azure/docker-test:1.6.0'

0 commit comments

Comments
 (0)