uber-compose 2.1.5b2__tar.gz → 2.1.5b3__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.
Files changed (62) hide show
  1. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/PKG-INFO +1 -1
  2. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/docker_compose.py +28 -5
  3. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/health_policy.py +2 -0
  4. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose.egg-info/PKG-INFO +1 -1
  5. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/LICENSE +0 -0
  6. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/README.md +0 -0
  7. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/setup.cfg +0 -0
  8. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/setup.py +0 -0
  9. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/__init__.py +0 -0
  10. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/__init__.py +0 -0
  11. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/constants.py +0 -0
  12. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/docker_compose_shell/__init__.py +0 -0
  13. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/docker_compose_shell/interface.py +0 -0
  14. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/docker_compose_shell/types.py +0 -0
  15. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/sequence_run_types.py +0 -0
  16. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/system_docker_compose.py +0 -0
  17. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/__init__.py +0 -0
  18. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/compose_files.py +0 -0
  19. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/compose_instance_cfg.py +0 -0
  20. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/env_files.py +0 -0
  21. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/process_command_output.py +0 -0
  22. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/shell_process.py +0 -0
  23. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/core/utils/state_waiting.py +0 -0
  24. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/env_description/__init__.py +0 -0
  25. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/env_description/env_tools.py +0 -0
  26. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/env_description/env_types.py +0 -0
  27. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/errors/__init__.py +0 -0
  28. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/errors/migrations.py +0 -0
  29. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/errors/up.py +0 -0
  30. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/__init__.py +0 -0
  31. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/broken_services.py +0 -0
  32. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/bytes_pickle.py +0 -0
  33. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/countdown_counter.py +0 -0
  34. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/exec_record.py +0 -0
  35. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/exec_result.py +0 -0
  36. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/jobs_result.py +0 -0
  37. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/labels.py +0 -0
  38. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/singleton.py +0 -0
  39. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/helpers/state_keeper.py +0 -0
  40. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/output/__init__.py +0 -0
  41. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/output/console.py +0 -0
  42. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/output/styles.py +0 -0
  43. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/uber_compose.py +0 -0
  44. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/utils/__init__.py +0 -0
  45. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/utils/docker_compose_files_path.py +0 -0
  46. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/utils/docker_compose_service_deps.py +0 -0
  47. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/utils/search_docker_compose_files.py +0 -0
  48. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/utils/services_construction.py +0 -0
  49. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/__init__.py +0 -0
  50. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/base_structures/__init__.py +0 -0
  51. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/base_structures/common_json_cli.py +0 -0
  52. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/helpers/__init__.py +0 -0
  53. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/helpers/scenario_ordering.py +0 -0
  54. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/helpers/scenario_tag_processing.py +0 -0
  55. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/helpers/test_env_vars_setter.py +0 -0
  56. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/vedro_plugin/plugin.py +0 -0
  57. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/version +0 -0
  58. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose/version.py +0 -0
  59. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose.egg-info/SOURCES.txt +0 -0
  60. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose.egg-info/dependency_links.txt +0 -0
  61. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose.egg-info/requires.txt +0 -0
  62. {uber_compose-2.1.5b2 → uber_compose-2.1.5b3}/uber_compose.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uber-compose
3
- Version: 2.1.5b2
3
+ Version: 2.1.5b3
4
4
  Summary: docker compose testing env orchestrator
5
5
  Home-page: https://github.com/ko10ok/uber-compose
6
6
  Author: Yuriy Sagitov
@@ -112,24 +112,47 @@ 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
- migrate_result = await self.compose_executor.dc_exec_until_state(
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
- if not migrate_result.finished or migrate_result.stderr:
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{migrate_result.stdout=}\n",style=Style.regular)
146
+ Text(f"\n{migration_result.stdout=}\n",style=Style.regular)
124
147
  ).append(
125
- Text(f"{migrate_result.stderr=}", style=Style.bad)
148
+ Text(f"{migration_result.stderr=}", style=Style.bad)
126
149
  ).append(
127
150
  services_status.as_rich_text()
128
151
  )
129
152
  self.logger.error(error)
130
153
  self.logger.error_details(f"\nServices logs:\n {await self.logs(services)}")
131
154
  raise ServicesUpError(f"Can't migrate service {target_service}, with {substituted_cmd}"
132
- f"\n{migrate_result.stdout=}\n{migrate_result.stderr=}"
155
+ f"\n{migration_result.stdout=}\n{migration_result.stderr=}"
133
156
  f"\nServices status:\n {services_status.as_rich_text()}") from None
134
157
 
135
158
  async def run_services_pack(self, services: list[str], migrations):
@@ -9,3 +9,5 @@ class UpHealthPolicy:
9
9
  service_up_check_delay_s: int = 3
10
10
 
11
11
  pre_check_delay_s: float = 0
12
+
13
+ skip_migrations_errors: list[bytes] = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: uber-compose
3
- Version: 2.1.5b2
3
+ Version: 2.1.5b3
4
4
  Summary: docker compose testing env orchestrator
5
5
  Home-page: https://github.com/ko10ok/uber-compose
6
6
  Author: Yuriy Sagitov
File without changes
File without changes
File without changes
File without changes