sbcli-dev 4.0.4__zip → 4.0.5__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 (149) hide show
  1. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/PKG-INFO +1 -1
  2. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/env_var +1 -1
  3. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/PKG-INFO +1 -1
  4. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/constants.py +3 -0
  5. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/spdk_http_proxy_server.py +13 -9
  6. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/snode_client.py +5 -1
  7. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/storage_node_ops.py +4 -2
  8. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/snode_ops.py +13 -0
  9. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/README.md +0 -0
  10. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/pyproject.toml +0 -0
  11. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/SOURCES.txt +0 -0
  12. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/dependency_links.txt +0 -0
  13. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/entry_points.txt +0 -0
  14. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/requires.txt +0 -0
  15. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/sbcli_dev.egg-info/top_level.txt +0 -0
  16. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/setup.cfg +0 -0
  17. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/setup.py +0 -0
  18. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_cli/cli.py +0 -0
  19. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_cli/main.py +0 -0
  20. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/cluster_ops.py +0 -0
  22. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/compute_node_ops.py +0 -0
  24. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/device_controller.py +0 -0
  28. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/lvol_controller.py +0 -0
  32. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/lvol_events.py +0 -0
  33. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/mgmt_events.py +0 -0
  34. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/pool_controller.py +0 -0
  35. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/pool_events.py +0 -0
  36. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  37. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/snapshot_events.py +0 -0
  38. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/storage_events.py +0 -0
  39. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/tasks_controller.py +0 -0
  40. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/controllers/tasks_events.py +0 -0
  41. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/distr_controller.py +0 -0
  42. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/kv_store.py +0 -0
  43. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/mgmt_node_ops.py +0 -0
  44. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/__init__.py +0 -0
  45. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/base_model.py +0 -0
  46. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/caching_node.py +0 -0
  47. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/cluster.py +0 -0
  48. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/compute_node.py +0 -0
  49. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/deployer.py +0 -0
  50. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/events.py +0 -0
  51. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/global_settings.py +0 -0
  52. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/iface.py +0 -0
  53. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/job_schedule.py +0 -0
  54. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/lvol_model.py +0 -0
  55. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/mgmt_node.py +0 -0
  56. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/nvme_device.py +0 -0
  57. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/pool.py +0 -0
  58. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/port_stat.py +0 -0
  59. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/snapshot.py +0 -0
  60. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/stats.py +0 -0
  61. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/models/storage_node.py +0 -0
  62. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/pci_utils.py +0 -0
  63. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/rpc_client.py +0 -0
  64. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/__init__.py +0 -0
  65. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  66. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  67. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  68. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/config_docker.sh +0 -0
  69. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboard.yml +0 -0
  70. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  71. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  72. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  73. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  74. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  75. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  76. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/datasource.yml +0 -0
  77. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/db_config_double.sh +0 -0
  78. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/db_config_single.sh +0 -0
  79. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  80. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  81. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  82. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/haproxy.cfg +0 -0
  83. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/install_deps.sh +0 -0
  84. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/objstore.yml +0 -0
  85. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/prometheus.yml +0 -0
  86. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/run_ssh.sh +0 -0
  87. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/set_db_config.sh +0 -0
  88. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  89. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/__init__.py +0 -0
  90. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  91. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/caching_node_monitor.py +0 -0
  92. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/cap_monitor.py +0 -0
  93. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  94. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/device_monitor.py +0 -0
  95. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/health_check_service.py +0 -0
  96. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/install_service.sh +0 -0
  97. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/log_agg_service.py +0 -0
  98. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/lvol_monitor.py +0 -0
  99. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  100. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  101. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  102. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/new_device_discovery.py +0 -0
  103. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/port_stat_collector.py +0 -0
  104. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/remove_service.sh +0 -0
  105. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/service_template.service +0 -0
  106. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/storage_node_monitor.py +0 -0
  107. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  108. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  109. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  110. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  111. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  112. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/shell_utils.py +0 -0
  113. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_core/utils.py +0 -0
  114. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/__init__.py +0 -0
  115. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/app.py +0 -0
  116. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/auth_middleware.py +0 -0
  117. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/__init__.py +0 -0
  118. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  119. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  120. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  121. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  122. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  123. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  124. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  125. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  126. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  127. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_device.py +0 -0
  128. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  129. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  130. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  131. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  132. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  133. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/caching_node_app.py +0 -0
  134. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/caching_node_app_k8s.py +0 -0
  135. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/node_utils.py +0 -0
  136. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/node_webapp.py +0 -0
  137. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/snode_app.py +0 -0
  138. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/snode_app_k8s.py +0 -0
  139. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/delete.py +0 -0
  140. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/deploy.py +0 -0
  141. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  142. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  143. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/is_up.py +0 -0
  144. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/list_deps.py +0 -0
  145. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/rpac.yaml +0 -0
  146. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/static/tst.py +0 -0
  147. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  148. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  149. {sbcli_dev-4.0.4 → sbcli_dev-4.0.5}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.4
3
+ Version: 4.0.5
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-dev
2
- SIMPLY_BLOCK_VERSION=4.0.4
2
+ SIMPLY_BLOCK_VERSION=4.0.5
3
3
 
4
4
 
5
5
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main-dev
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-dev
3
- Version: 4.0.4
3
+ Version: 4.0.5
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -100,3 +100,6 @@ INSTANCE_STORAGE_DATA = {
100
100
  }
101
101
 
102
102
  MAX_SNAP_COUNT = 15
103
+
104
+ SPDK_PROXY_MULTI_THREADING_ENABLED=False
105
+ SPDK_PROXY_TIMEOUT=60*5
@@ -13,7 +13,6 @@ from http.server import ThreadingHTTPServer
13
13
  from http.server import BaseHTTPRequestHandler
14
14
 
15
15
 
16
- TIMEOUT = 5*60 # 5 min
17
16
  rpc_sock = '/var/tmp/spdk.sock'
18
17
  logger_handler = logging.StreamHandler(stream=sys.stdout)
19
18
  logger_handler.setFormatter(logging.Formatter('%(asctime)s: %(levelname)s: %(message)s'))
@@ -34,7 +33,7 @@ def get_env_var(name, default=None, is_required=False):
34
33
 
35
34
  def rpc_call(req):
36
35
  req_data = json.loads(req.decode('ascii'))
37
- print(req_data)
36
+ logger.debug(f"Request data: {str(req_data)}")
38
37
  sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
39
38
  sock.settimeout(TIMEOUT)
40
39
  sock.connect(rpc_sock)
@@ -64,7 +63,7 @@ def rpc_call(req):
64
63
  if not response and len(buf) > 0:
65
64
  raise
66
65
 
67
- print(buf)
66
+ logger.debug(f"Response data: {buf}")
68
67
 
69
68
  return buf
70
69
 
@@ -122,24 +121,28 @@ class ServerHandler(BaseHTTPRequestHandler):
122
121
  self.do_INTERNALERROR()
123
122
 
124
123
 
125
- def run_server(host, port, user, password, cert=None):
124
+ def run_server(host, port, user, password, cert=None, is_threading_enabled=False):
126
125
  # encoding user and password
127
126
  key = base64.b64encode((user+':'+password).encode(encoding='ascii')).decode('ascii')
128
127
 
129
128
  try:
130
129
  ServerHandler.key = key
131
- # httpd = ThreadingHTTPServer((host, port), ServerHandler)
132
- httpd = HTTPServer((host, port), ServerHandler)
130
+ if is_threading_enabled:
131
+ httpd = ThreadingHTTPServer((host, port), ServerHandler)
132
+ else:
133
+ httpd = HTTPServer((host, port), ServerHandler)
133
134
  httpd.timeout = TIMEOUT
134
135
  if cert is not None:
135
136
  httpd.socket = ssl.wrap_socket(httpd.socket, certfile=cert, server_side=True)
136
- print('Started RPC http proxy server')
137
+ logger.info('Started RPC http proxy server')
137
138
  httpd.serve_forever()
138
139
  except KeyboardInterrupt:
139
- print('Shutting down server')
140
+ logger.info('Shutting down server')
140
141
  httpd.socket.close()
141
142
 
142
143
 
144
+ TIMEOUT = int(get_env_var("TIMEOUT", is_required=False, default=60*5))
145
+ is_threading_enabled = get_env_var("MULTI_THREADING_ENABLED", is_required=False, default=False)
143
146
  server_ip = get_env_var("SERVER_IP", is_required=True)
144
147
  rpc_port = get_env_var("RPC_PORT", is_required=True)
145
148
  rpc_username = get_env_var("RPC_USERNAME", is_required=True)
@@ -150,4 +153,5 @@ try:
150
153
  except Exception:
151
154
  rpc_port = 8080
152
155
 
153
- run_server(server_ip, rpc_port, rpc_username, rpc_password)
156
+ is_threading_enabled = bool(is_threading_enabled)
157
+ run_server(server_ip, rpc_port, rpc_username, rpc_password, is_threading_enabled=is_threading_enabled)
@@ -72,7 +72,7 @@ class SNodeClient:
72
72
 
73
73
  def spdk_process_start(self, spdk_cpu_mask, spdk_mem, spdk_image=None, spdk_debug=None, cluster_ip=None,
74
74
  fdb_connection=None, namespace=None, server_ip=None, rpc_port=None,
75
- rpc_username=None, rpc_password=None):
75
+ rpc_username=None, rpc_password=None, multi_threading_enabled=False, timeout=0):
76
76
  params = {
77
77
  "cluster_ip": cluster_ip,
78
78
  "server_ip": server_ip,
@@ -92,6 +92,10 @@ class SNodeClient:
92
92
  params['fdb_connection'] = fdb_connection
93
93
  if namespace:
94
94
  params["namespace"] = namespace
95
+ if multi_threading_enabled:
96
+ params["multi_threading_enabled"] = multi_threading_enabled
97
+ if timeout:
98
+ params["timeout"] = timeout
95
99
  return self._request("POST", "spdk_process_start", params)
96
100
 
97
101
  def join_swarm(self, cluster_ip, join_token, db_connection, cluster_id):
@@ -1004,7 +1004,8 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
1004
1004
  try:
1005
1005
  results, err = snode_api.spdk_process_start(
1006
1006
  spdk_cpu_mask, spdk_mem, spdk_image, spdk_debug, cluster_ip, fdb_connection,
1007
- namespace, mgmt_ip, constants.RPC_HTTP_PROXY_PORT, rpc_user, rpc_pass)
1007
+ namespace, mgmt_ip, constants.RPC_HTTP_PROXY_PORT, rpc_user, rpc_pass,
1008
+ multi_threading_enabled=constants.SPDK_PROXY_MULTI_THREADING_ENABLED, timeout=constants.SPDK_PROXY_TIMEOUT)
1008
1009
  except Exception as e:
1009
1010
  logger.error(e)
1010
1011
  return False
@@ -1535,7 +1536,8 @@ def restart_storage_node(
1535
1536
  fdb_connection = cluster.db_connection
1536
1537
  results, err = snode_api.spdk_process_start(
1537
1538
  snode.spdk_cpu_mask, spdk_mem, snode.spdk_image, spdk_debug, cluster_ip, fdb_connection,
1538
- snode.namespace, snode.mgmt_ip, constants.RPC_HTTP_PROXY_PORT, snode.rpc_username, snode.rpc_password)
1539
+ snode.namespace, snode.mgmt_ip, constants.RPC_HTTP_PROXY_PORT, snode.rpc_username, snode.rpc_password,
1540
+ multi_threading_enabled=constants.SPDK_PROXY_MULTI_THREADING_ENABLED, timeout=constants.SPDK_PROXY_TIMEOUT)
1539
1541
  except Exception as e:
1540
1542
  logger.error(e)
1541
1543
  return False
@@ -96,6 +96,17 @@ def spdk_process_start():
96
96
  if 'spdk_mem' in data:
97
97
  spdk_mem = data['spdk_mem']
98
98
 
99
+ multi_threading_enabled = False
100
+ if 'multi_threading_enabled' in data:
101
+ multi_threading_enabled = bool(data['multi_threading_enabled'])
102
+
103
+ timeout = 60*5
104
+ if 'timeout' in data:
105
+ try:
106
+ timeout = int(data['timeout'])
107
+ except:
108
+ pass
109
+
99
110
  if spdk_mem:
100
111
  spdk_mem = int(utils.parse_size(spdk_mem) / (1000 * 1000))
101
112
  else:
@@ -157,6 +168,8 @@ def spdk_process_start():
157
168
  f"RPC_PORT={data['rpc_port']}",
158
169
  f"RPC_USERNAME={data['rpc_username']}",
159
170
  f"RPC_PASSWORD={data['rpc_password']}",
171
+ f"MULTI_THREADING_ENABLED={multi_threading_enabled}",
172
+ f"TIMEOUT={timeout}",
160
173
  ]
161
174
  # restart_policy={"Name": "always"}
162
175
  )
File without changes
File without changes
File without changes
File without changes