sbcli-pre 1.3.4__zip → 1.3.6__zip

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 (138) hide show
  1. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/PKG-INFO +1 -1
  2. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/env_var +1 -1
  3. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/PKG-INFO +1 -1
  4. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/distr_event_collector.py +2 -2
  5. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/tasks_runner_restart.py +14 -1
  6. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/utils.py +3 -0
  7. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_deployer.py +22 -16
  8. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/utils.py +9 -0
  9. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/README.md +0 -0
  10. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/pyproject.toml +0 -0
  11. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/SOURCES.txt +0 -0
  12. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/dependency_links.txt +0 -0
  13. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/entry_points.txt +0 -0
  14. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/requires.txt +0 -0
  15. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/sbcli_pre.egg-info/top_level.txt +0 -0
  16. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/setup.cfg +0 -0
  17. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/setup.py +0 -0
  18. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_cli/cli.py +0 -0
  19. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_cli/main.py +0 -0
  20. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/cluster_ops.py +0 -0
  22. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/compute_node_ops.py +0 -0
  24. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/constants.py +0 -0
  25. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/__init__.py +0 -0
  26. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  27. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/cluster_events.py +0 -0
  28. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/device_controller.py +0 -0
  29. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/device_events.py +0 -0
  30. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/events_controller.py +0 -0
  31. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/health_controller.py +0 -0
  32. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/lvol_controller.py +0 -0
  33. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/lvol_events.py +0 -0
  34. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/mgmt_events.py +0 -0
  35. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/pool_controller.py +0 -0
  36. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/pool_events.py +0 -0
  37. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  38. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/snapshot_events.py +0 -0
  39. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/storage_events.py +0 -0
  40. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/tasks_controller.py +0 -0
  41. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/controllers/tasks_events.py +0 -0
  42. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/distr_controller.py +0 -0
  43. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/kv_store.py +0 -0
  44. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/mgmt_node_ops.py +0 -0
  45. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/__init__.py +0 -0
  46. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/base_model.py +0 -0
  47. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/caching_node.py +0 -0
  48. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/cluster.py +0 -0
  49. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/compute_node.py +0 -0
  50. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/deployer.py +0 -0
  51. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/events.py +0 -0
  52. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/global_settings.py +0 -0
  53. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/iface.py +0 -0
  54. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/job_schedule.py +0 -0
  55. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/lvol_model.py +0 -0
  56. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/mgmt_node.py +0 -0
  57. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/nvme_device.py +0 -0
  58. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/pool.py +0 -0
  59. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/port_stat.py +0 -0
  60. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/snapshot.py +0 -0
  61. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/stats.py +0 -0
  62. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/models/storage_node.py +0 -0
  63. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/pci_utils.py +0 -0
  64. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/rpc_client.py +0 -0
  65. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/__init__.py +0 -0
  66. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  67. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  68. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  69. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/config_docker.sh +0 -0
  70. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  71. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  72. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  73. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  74. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  75. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  76. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/datasource.yml +0 -0
  77. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/db_config_double.sh +0 -0
  78. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/db_config_single.sh +0 -0
  79. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  80. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  81. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  82. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/haproxy.cfg +0 -0
  83. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/install_deps.sh +0 -0
  84. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/prometheus.yml +0 -0
  85. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/run_ssh.sh +0 -0
  86. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/set_db_config.sh +0 -0
  87. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  88. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/__init__.py +0 -0
  89. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/caching_node_monitor.py +0 -0
  90. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/cap_monitor.py +0 -0
  91. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  92. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/device_monitor.py +0 -0
  93. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/health_check_service.py +0 -0
  94. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/install_service.sh +0 -0
  95. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/log_agg_service.py +0 -0
  96. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/lvol_monitor.py +0 -0
  97. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  98. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  99. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/port_stat_collector.py +0 -0
  100. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/remove_service.sh +0 -0
  101. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/service_template.service +0 -0
  102. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/storage_node_monitor.py +0 -0
  103. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  104. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/shell_utils.py +0 -0
  105. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/snode_client.py +0 -0
  106. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_core/storage_node_ops.py +0 -0
  107. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/__init__.py +0 -0
  108. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/app.py +0 -0
  109. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/auth_middleware.py +0 -0
  110. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/__init__.py +0 -0
  111. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  112. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  113. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  114. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  115. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  116. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/snode_ops.py +0 -0
  117. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  118. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  119. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_device.py +0 -0
  120. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  121. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  122. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  123. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  124. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  125. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/caching_node_app.py +0 -0
  126. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/caching_node_app_k8s.py +0 -0
  127. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/node_utils.py +0 -0
  128. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/node_webapp.py +0 -0
  129. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/snode_app.py +0 -0
  130. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/delete.py +0 -0
  131. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/deploy.py +0 -0
  132. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  133. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  134. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/is_up.py +0 -0
  135. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/list_deps.py +0 -0
  136. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/rpac.yaml +0 -0
  137. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/static/tst.py +0 -0
  138. {sbcli_pre-1.3.4 → sbcli_pre-1.3.6}/simplyblock_web/templates/deploy_spdk.yaml.j2 +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-pre
2
- SIMPLY_BLOCK_VERSION=1.3.4
2
+ SIMPLY_BLOCK_VERSION=1.3.6
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:pre-release
5
5
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 1.3.4
3
+ Version: 1.3.6
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -160,8 +160,8 @@ while True:
160
160
  logger.info(f"Processing event: {eid}")
161
161
  process_event(eid)
162
162
 
163
- logger.info(f"Discarding events: {len(events)}")
164
- client.distr_status_events_discard_then_get(len(events), 0)
163
+ logger.info(f"Discarding events: {len(events)}")
164
+ client.distr_status_events_discard_then_get(len(events), 0)
165
165
 
166
166
  except Exception as e:
167
167
  logger.error("Failed to process distr events")
@@ -5,7 +5,7 @@ import sys
5
5
 
6
6
 
7
7
  from simplyblock_core import constants, kv_store, storage_node_ops
8
- from simplyblock_core.controllers import device_controller, tasks_events
8
+ from simplyblock_core.controllers import device_controller, tasks_events, health_controller
9
9
  from simplyblock_core.models.job_schedule import JobSchedule
10
10
  from simplyblock_core.models.nvme_device import NVMeDevice
11
11
 
@@ -169,6 +169,19 @@ def task_runner_node(task):
169
169
  task.write_to_db(db_controller.kv_store)
170
170
  tasks_events.task_updated(task)
171
171
 
172
+ # is node reachable?
173
+ ping_check = health_controller._check_node_ping(node.mgmt_ip)
174
+ logger.info(f"Check: ping mgmt ip {node.mgmt_ip} ... {ping_check}")
175
+ node_api_check = health_controller._check_node_api(node.mgmt_ip)
176
+ logger.info(f"Check: node API {node.mgmt_ip}:5000 ... {node_api_check}")
177
+ if not ping_check or not node_api_check:
178
+ # node is unreachable, retry
179
+ logger.info(f"Node is not reachable: {task.node_id}, retry")
180
+ task.function_result = f"Node is unreachable, retry"
181
+ task.retry += 1
182
+ task.write_to_db(db_controller.kv_store)
183
+ return False
184
+
172
185
  # shutting down node
173
186
  logger.info(f"Shutdown node {node.get_id()}")
174
187
  ret = storage_node_ops.shutdown_storage_node(node.get_id(), force=True)
@@ -295,6 +295,9 @@ def calculate_core_allocation(cpu_count):
295
295
  https://simplyblock.atlassian.net/browse/SFAM-885
296
296
  '''
297
297
 
298
+ if cpu_count > 64:
299
+ cpu_count = 64
300
+
298
301
  all_cores = list(range(0, cpu_count))
299
302
  app_thread_core = all_cores[1:2]
300
303
  jm_cpu_core = all_cores[2:3]
@@ -25,16 +25,16 @@ db_controller = kv_store.DBController()
25
25
  document_name = 'AWS-RunShellScript'
26
26
  output_key_prefix = 'ssm-output'
27
27
 
28
- # intialise clients
29
- ssm = boto3.client('ssm', region_name='us-east-1')
30
- s3 = boto3.client('s3', region_name='us-east-1')
28
+ region = utils.get_aws_region()
29
+ ssm = boto3.client('ssm', region_name=region)
30
+ s3 = boto3.client('s3', region_name=region)
31
31
 
32
32
 
33
- def get_instance_tf_engine_instance_id():
34
- tag_value = 'tfengine'
33
+ def get_instance_tf_engine_instance_id(workspace: str):
34
+ tag_value = f'{workspace}-tfengine'
35
35
  tag_key = 'Name'
36
36
 
37
- ec2 = boto3.client('ec2', region_name='us-east-1')
37
+ ec2 = boto3.client('ec2', region_name=region)
38
38
  response = ec2.describe_instances(
39
39
  Filters=[
40
40
  {
@@ -145,7 +145,7 @@ def update_cluster(d, kv_store, storage_nodes, availability_zone):
145
145
  d.status = "in_progress"
146
146
  d.write_to_db(kv_store)
147
147
 
148
- instance_ids = get_instance_tf_engine_instance_id()
148
+ instance_ids = get_instance_tf_engine_instance_id(d.tf_workspace)
149
149
  if len(instance_ids) == 0:
150
150
  # wait for a min and try again before returning error on the API
151
151
  print('no instance IDs')
@@ -180,15 +180,21 @@ def update_cluster(d, kv_store, storage_nodes, availability_zone):
180
180
  ]
181
181
 
182
182
  # Send command with S3 output parameters
183
- response = ssm.send_command(
184
- InstanceIds=instance_ids,
185
- DocumentName=document_name,
186
- Parameters={
187
- 'commands': commands
188
- },
189
- OutputS3BucketName=tf_logs_bucket_name,
190
- OutputS3KeyPrefix=output_key_prefix
191
- )
183
+ try:
184
+ response = ssm.send_command(
185
+ InstanceIds=instance_ids,
186
+ DocumentName=document_name,
187
+ Parameters={
188
+ 'commands': commands
189
+ },
190
+ OutputS3BucketName=tf_logs_bucket_name,
191
+ OutputS3KeyPrefix=output_key_prefix
192
+ )
193
+ except Exception as e:
194
+ print(f"Exception: {e}")
195
+ d.status = "failed"
196
+ d.write_to_db(kv_store)
197
+ return False, "", "Exception"
192
198
 
193
199
  command_id = response['Command']['CommandId']
194
200
  print(f'Command ID: {command_id}')
@@ -2,6 +2,7 @@ import math
2
2
  import random
3
3
  import re
4
4
  import string
5
+ import requests
5
6
 
6
7
  from flask import jsonify
7
8
 
@@ -93,3 +94,11 @@ def get_cluster_id(request):
93
94
  cluster_id = au.split()[0]
94
95
  cluster_secret = au.split()[1]
95
96
  return cluster_id
97
+
98
+
99
+ def get_aws_region():
100
+ response = requests.get('http://169.254.169.254/latest/meta-data/placement/availability-zone')
101
+ availability_zone = response.text
102
+
103
+ region = availability_zone[:-1]
104
+ return region
File without changes
File without changes
File without changes
File without changes