Skip to content

Commit b36c0be

Browse files
authored
[tools/shoestring] fix: move MongoDB image to config
problem: MongoDB image name is dependent on shoestring version solution: move MongoDB image to shoestring ini config
1 parent 6ec1030 commit b36c0be

File tree

7 files changed

+12
-7
lines changed

7 files changed

+12
-7
lines changed

tools/shoestring/shoestring/commands/setup.py

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ async def run_main(args):
119119
preparer.configure_docker({
120120
'catapult_client_image': config.images.client,
121121
'catapult_rest_image': config.images.rest,
122+
'mongo_image': config.images.mongo,
122123
'user': f'{config.node.user_id}:{config.node.group_id}',
123124
'api_https': config.node.api_https,
124125
'light_api': NodeFeatures.API in config.node.features and not config.node.full_api,

tools/shoestring/shoestring/internal/ShoestringConfiguration.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
from .NodeFeatures import NodeFeatures
99

10-
ImagesConfiguration = namedtuple('ImagesConfiguration', ['client', 'rest'])
10+
ImagesConfiguration = namedtuple('ImagesConfiguration', ['client', 'rest', 'mongo'])
1111
ServicesConfiguration = namedtuple('ServicesConfiguration', ['nodewatch'])
1212
TransactionConfiguration = namedtuple('TransactionConfiguration', [
1313
'fee_multiplier', 'timeout_hours', 'min_cosignatures_count', 'hash_lock_duration', 'currency_mosaic_id', 'locked_funds_per_aggregate'
@@ -32,7 +32,7 @@ def parse_network_configuration(config):
3232
def parse_images_configuration(config):
3333
"""Parses images configuration."""
3434

35-
return ImagesConfiguration(config['client'], config['rest'])
35+
return ImagesConfiguration(config['client'], config['rest'], config['mongo'])
3636

3737

3838
def parse_services_configuration(config):

tools/shoestring/shoestring/templates/docker-compose-dual.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
version: '2'
33
services:
44
db:
5-
image: mongo:7.0.16
5+
image: '{{ mongo_image }}'
66
user: '{{ user }}'
77
command: mongod --dbpath=/dbdata
88
stop_signal: SIGINT
@@ -13,7 +13,7 @@ services:
1313
- ./dbdata:/data:rw
1414

1515
initiate:
16-
image: mongo:7.0.16
16+
image: '{{ mongo_image }}'
1717
user: '{{ user }}'
1818
command: /bin/bash /startup/mongors.sh /real_data/startup/mongo-initialized
1919
volumes:

tools/shoestring/tests/internal/test_Preparer.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -726,8 +726,8 @@ def _assert_can_configure_docker(self, config, expected_startup_files, expected_
726726
def _assert_can_configure_service(docker_compose_filepath, expected_names):
727727
# - check compose file
728728
expected_image_map = {
729-
'db': 'mongo:7.0.16',
730-
'initiate': 'mongo:7.0.16',
729+
'db': 'mongo:a.b.c',
730+
'initiate': 'mongo:a.b.c',
731731
'client': 'symbolplatform/symbol-server:gcc-a.b.c.d',
732732
'broker': 'symbolplatform/symbol-server:gcc-a.b.c.d',
733733
'rest-api': 'symbolplatform/symbol-rest:a.b.c',
@@ -755,6 +755,7 @@ def _assert_can_configure_service(docker_compose_filepath, expected_names):
755755
preparer.configure_docker({
756756
'catapult_client_image': 'symbolplatform/symbol-server:gcc-a.b.c.d',
757757
'catapult_rest_image': 'symbolplatform/symbol-rest:a.b.c',
758+
'mongo_image': 'mongo:a.b.c',
758759
'user': '2222:3333',
759760
'api_https': config.node.api_https,
760761
'light_api': NodeFeatures.API in config.node.features and not config.node.full_api,

tools/shoestring/tests/internal/test_ShoestringConfiguration.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ class ShoestringConfigurationTest(unittest.TestCase):
3131

3232
VALID_IMAGES_CONFIGURATION = {
3333
'client': 'symbolplatform/symbol-server:gcc-0.0.0.0',
34-
'rest': 'symbolplatform/symbol-rest:1.1.1'
34+
'rest': 'symbolplatform/symbol-rest:1.1.1',
35+
'mongo': 'mongo:2.2.2'
3536
}
3637

3738
VALID_SERVICES_CONFIGURATION = {
@@ -115,6 +116,7 @@ def test_can_parse_valid_images_configuration(self):
115116
# Assert:
116117
self.assertEqual('symbolplatform/symbol-server:gcc-0.0.0.0', images_config.client)
117118
self.assertEqual('symbolplatform/symbol-rest:1.1.1', images_config.rest)
119+
self.assertEqual('mongo:2.2.2', images_config.mongo)
118120

119121
def test_cannot_parse_images_configuration_incomplete(self):
120122
# Arrange:

tools/shoestring/tests/resources/sai.shoestring.ini

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ generationHashSeed = 49D6E1CE276A85B70EAFE52349AACCA389302E7A9754BCF1221E79494FC
99

1010
client = symbolplatform/symbol-server:gcc-1.0.3.7
1111
rest = symbolplatform/symbol-rest:2.4.4
12+
mongo = mongo:7.0.16
1213

1314
[services]
1415

1.43 KB
Binary file not shown.

0 commit comments

Comments
 (0)