uber-compose 2.1.5b2__tar.gz → 2.1.5b4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/PKG-INFO +1 -1
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose.py +31 -6
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/interface.py +2 -2
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/health_policy.py +2 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose.egg-info/PKG-INFO +1 -1
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/LICENSE +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/README.md +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/setup.cfg +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/setup.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/constants.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/types.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/sequence_run_types.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/system_docker_compose.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/compose_files.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/compose_instance_cfg.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/env_files.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/process_command_output.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/shell_process.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/state_waiting.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/env_description/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/env_description/env_tools.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/env_description/env_types.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/errors/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/errors/migrations.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/errors/up.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/broken_services.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/bytes_pickle.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/countdown_counter.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/exec_record.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/exec_result.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/jobs_result.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/labels.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/singleton.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/helpers/state_keeper.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/output/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/output/console.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/output/styles.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/uber_compose.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/docker_compose_files_path.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/docker_compose_service_deps.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/search_docker_compose_files.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/services_construction.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/base_structures/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/base_structures/common_json_cli.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/helpers/__init__.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/helpers/scenario_ordering.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/helpers/scenario_tag_processing.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/helpers/test_env_vars_setter.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/plugin.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/version +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/version.py +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose.egg-info/SOURCES.txt +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose.egg-info/dependency_links.txt +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose.egg-info/requires.txt +0 -0
- {uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose.egg-info/top_level.txt +0 -0
|
@@ -112,24 +112,49 @@ class ComposeInstance:
|
|
|
112
112
|
# TODO check if need to template migrations
|
|
113
113
|
# substituted_cmd = handler.cmd.format(**env_config_instance.env_services_map)
|
|
114
114
|
substituted_cmd = handler.cmd
|
|
115
|
-
|
|
115
|
+
migration_result = await self.compose_executor.dc_exec_until_state(
|
|
116
116
|
target_service, substituted_cmd,
|
|
117
117
|
kill_before=False,
|
|
118
118
|
kill_after=False,
|
|
119
119
|
)
|
|
120
|
-
|
|
120
|
+
|
|
121
|
+
migration_errors = [error for error in migration_result.stderr.split(b'\n') if error] # empty or none skips
|
|
122
|
+
skipper_migration_errors = [
|
|
123
|
+
current_error
|
|
124
|
+
for current_error in migration_errors
|
|
125
|
+
if any(
|
|
126
|
+
skip_error in current_error for skip_error in (self.health_policy.skip_migrations_errors or [])
|
|
127
|
+
)
|
|
128
|
+
]
|
|
129
|
+
|
|
130
|
+
for skipped_error in skipper_migration_errors:
|
|
131
|
+
self.logger.stage_info(
|
|
132
|
+
Text(
|
|
133
|
+
f'⚠️Skipping migration error for "{substituted_cmd}" on {target_service}:'
|
|
134
|
+
f'\n{skipped_error=}'
|
|
135
|
+
)
|
|
136
|
+
)
|
|
137
|
+
|
|
138
|
+
critical_migration_errors = [
|
|
139
|
+
error
|
|
140
|
+
for error in migration_errors
|
|
141
|
+
if error not in skipper_migration_errors
|
|
142
|
+
]
|
|
143
|
+
if not migration_result.finished or critical_migration_errors:
|
|
121
144
|
services_status = await self.compose_executor.dc_state()
|
|
122
145
|
error = Text(f"Can't migrate service {target_service}, with {substituted_cmd}", style=Style.bad).append(
|
|
123
|
-
Text(f"\n{
|
|
146
|
+
Text(f"\n{migration_result.stdout=}\n",style=Style.regular)
|
|
147
|
+
).append(
|
|
148
|
+
Text(f"{migration_result.stderr=}\n", style=Style.bad)
|
|
124
149
|
).append(
|
|
125
|
-
Text(f"
|
|
150
|
+
Text(f"Services status:\n", style=Style.info)
|
|
126
151
|
).append(
|
|
127
152
|
services_status.as_rich_text()
|
|
128
153
|
)
|
|
129
154
|
self.logger.error(error)
|
|
130
155
|
self.logger.error_details(f"\nServices logs:\n {await self.logs(services)}")
|
|
131
|
-
raise ServicesUpError(f"Can't migrate service {target_service}, with {substituted_cmd}"
|
|
132
|
-
f"\n{
|
|
156
|
+
raise ServicesUpError(f"Can't migrate service {target_service}, with {substituted_cmd}: {migration_result.finished=}"
|
|
157
|
+
f"\n{migration_result.stdout=}\n{migration_result.stderr=}\n"
|
|
133
158
|
f"\nServices status:\n {services_status.as_rich_text()}") from None
|
|
134
159
|
|
|
135
160
|
async def run_services_pack(self, services: list[str], migrations):
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/interface.py
RENAMED
|
@@ -366,12 +366,12 @@ class ComposeShellInterface:
|
|
|
366
366
|
if process_ids == [-1]:
|
|
367
367
|
self.logger.stage_details(Text(
|
|
368
368
|
(
|
|
369
|
-
f'Process:\n{cmd}\nwas not checked for completion '
|
|
369
|
+
f'⚠️ Process:\n{cmd}\nwas not checked for completion '
|
|
370
370
|
f'due to no "pidof" tool in container {container}'
|
|
371
371
|
),
|
|
372
372
|
style=Style.suspicious
|
|
373
373
|
))
|
|
374
|
-
check_finished_result =
|
|
374
|
+
check_finished_result = True
|
|
375
375
|
elif process_ids:
|
|
376
376
|
self.logger.error(Text('Process was not completed', style=Style.suspicious))
|
|
377
377
|
check_finished_result = False
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/__init__.py
RENAMED
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/docker_compose_shell/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/compose_instance_cfg.py
RENAMED
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/core/utils/process_command_output.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/docker_compose_files_path.py
RENAMED
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/docker_compose_service_deps.py
RENAMED
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/utils/search_docker_compose_files.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/base_structures/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{uber_compose-2.1.5b2 → uber_compose-2.1.5b4}/uber_compose/vedro_plugin/helpers/scenario_ordering.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|