Skip to content

Commit 7baa75b

Browse files
authored
[spm] Rename entry tag variable to docker_image_reference (sonic-net#4019)
What I did Rename entry tag variable to docker_image_reference How I did it How to verify it Run all package manager tests: pytest tests/sonic_package_manager Install App Extension
1 parent 63364a3 commit 7baa75b

6 files changed

Lines changed: 19 additions & 14 deletions

File tree

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 hasattr(image, 'tags') and image.tags:
55+
package.entry.docker_image_reference = image.tags[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: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,16 @@ def mock_docker_api():
2626
@dataclass
2727
class Image:
2828
id: str
29-
tags: list[str]
29+
image_tags: list[str]
3030

3131
@property
3232
def attrs(self):
3333
return {'RepoTags': [self.id]}
3434

35+
@property
36+
def tags(self):
37+
return self.image_tags
38+
3539
def pull(repo, ref):
3640
return Image(f'{repo}:{ref}', [ref])
3741

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: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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)