sbcli-pre 1.1.4__zip → 1.1.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 (136) hide show
  1. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/PKG-INFO +1 -1
  2. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/env_var +1 -1
  3. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/PKG-INFO +1 -1
  4. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_cli/cli.py +0 -11
  5. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/storage_node_ops.py +0 -134
  6. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/README.md +0 -0
  7. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/pyproject.toml +0 -0
  8. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/SOURCES.txt +0 -0
  9. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/dependency_links.txt +0 -0
  10. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/entry_points.txt +0 -0
  11. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/requires.txt +0 -0
  12. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/sbcli_pre.egg-info/top_level.txt +0 -0
  13. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/setup.cfg +0 -0
  14. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/setup.py +0 -0
  15. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_cli/main.py +0 -0
  16. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/__init__.py +0 -0
  17. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/cluster_ops.py +0 -0
  18. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/cnode_client.py +0 -0
  19. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/compute_node_ops.py +0 -0
  20. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/constants.py +0 -0
  21. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/__init__.py +0 -0
  22. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  23. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/cluster_events.py +0 -0
  24. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/device_controller.py +0 -0
  25. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/device_events.py +0 -0
  26. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/events_controller.py +0 -0
  27. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/health_controller.py +0 -0
  28. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/lvol_controller.py +0 -0
  29. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/lvol_events.py +0 -0
  30. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/mgmt_events.py +0 -0
  31. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/pool_controller.py +0 -0
  32. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/pool_events.py +0 -0
  33. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  34. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/snapshot_events.py +0 -0
  35. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/storage_events.py +0 -0
  36. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/tasks_controller.py +0 -0
  37. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/controllers/tasks_events.py +0 -0
  38. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/distr_controller.py +0 -0
  39. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/kv_store.py +0 -0
  40. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/mgmt_node_ops.py +0 -0
  41. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/__init__.py +0 -0
  42. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/base_model.py +0 -0
  43. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/caching_node.py +0 -0
  44. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/cluster.py +0 -0
  45. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/compute_node.py +0 -0
  46. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/events.py +0 -0
  47. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/global_settings.py +0 -0
  48. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/iface.py +0 -0
  49. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/job_schedule.py +0 -0
  50. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/lvol_model.py +0 -0
  51. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/mgmt_node.py +0 -0
  52. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/nvme_device.py +0 -0
  53. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/pool.py +0 -0
  54. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/port_stat.py +0 -0
  55. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/snapshot.py +0 -0
  56. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/stats.py +0 -0
  57. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/models/storage_node.py +0 -0
  58. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/pci_utils.py +0 -0
  59. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/rpc_client.py +0 -0
  60. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/__init__.py +0 -0
  61. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  62. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  63. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  64. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/config_docker.sh +0 -0
  65. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  66. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  67. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  68. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  69. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  70. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  71. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/datasource.yml +0 -0
  72. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/db_config_double.sh +0 -0
  73. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/db_config_single.sh +0 -0
  74. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  75. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  76. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  77. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/haproxy.cfg +0 -0
  78. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/install_deps.sh +0 -0
  79. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/prometheus.yml +0 -0
  80. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/run_ssh.sh +0 -0
  81. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/set_db_config.sh +0 -0
  82. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  83. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/__init__.py +0 -0
  84. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/caching_node_monitor.py +0 -0
  85. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/cap_monitor.py +0 -0
  86. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  87. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/device_monitor.py +0 -0
  88. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/distr_event_collector.py +0 -0
  89. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/health_check_service.py +0 -0
  90. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/install_service.sh +0 -0
  91. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/log_agg_service.py +0 -0
  92. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/lvol_monitor.py +0 -0
  93. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  94. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  95. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/port_stat_collector.py +0 -0
  96. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/remove_service.sh +0 -0
  97. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/service_template.service +0 -0
  98. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/storage_node_monitor.py +0 -0
  99. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  100. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  101. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/shell_utils.py +0 -0
  102. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/snode_client.py +0 -0
  103. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_core/utils.py +0 -0
  104. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/__init__.py +0 -0
  105. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/app.py +0 -0
  106. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/auth_middleware.py +0 -0
  107. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/__init__.py +0 -0
  108. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  109. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  110. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  111. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  112. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  113. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/snode_ops.py +0 -0
  114. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  115. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  116. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_device.py +0 -0
  117. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  118. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  119. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  120. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  121. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  122. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/caching_node_app.py +0 -0
  123. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/caching_node_app_k8s.py +0 -0
  124. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/node_utils.py +0 -0
  125. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/node_webapp.py +0 -0
  126. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/snode_app.py +0 -0
  127. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/delete.py +0 -0
  128. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/deploy.py +0 -0
  129. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  130. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  131. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/is_up.py +0 -0
  132. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/list_deps.py +0 -0
  133. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/rpac.yaml +0 -0
  134. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/static/tst.py +0 -0
  135. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/templates/deploy_spdk.yaml.j2 +0 -0
  136. {sbcli_pre-1.1.4 → sbcli_pre-1.1.5}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 1.1.4
3
+ Version: 1.1.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-pre
2
- SIMPLY_BLOCK_VERSION=1.1.4
2
+ SIMPLY_BLOCK_VERSION=1.1.5
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.1.4
3
+ Version: 1.1.5
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -630,9 +630,6 @@ class CLIWrapper:
630
630
  elif sub_command == "deploy-cleaner":
631
631
  ret = storage_ops.deploy_cleaner()
632
632
 
633
- elif sub_command == "add":
634
- ret = self.storage_node_add(args)
635
-
636
633
  elif sub_command == "add-node":
637
634
  cluster_id = args.cluster_id
638
635
  node_ip = args.node_ip
@@ -1102,14 +1099,6 @@ class CLIWrapper:
1102
1099
  out = storage_ops.list_storage_nodes(self.db_store, args.json)
1103
1100
  return out
1104
1101
 
1105
- def storage_node_add(self, args):
1106
- cluster_id = args.cluster_id
1107
- ifname = args.ifname
1108
- data_nics = args.data_nics
1109
- # TODO: Validate the inputs
1110
- out = storage_ops.add_storage_node(cluster_id, ifname, data_nics)
1111
- return out
1112
-
1113
1102
  def storage_node_list_devices(self, args):
1114
1103
  node_id = args.node_id
1115
1104
  sort = args.sort
@@ -799,140 +799,6 @@ def add_node(cluster_id, node_ip, iface_name, data_nics_list,
799
799
  return "Success"
800
800
 
801
801
 
802
- # Deprecated
803
- def add_storage_node(cluster_id, iface_name, data_nics):
804
- db_controller = DBController()
805
- kv_store = db_controller.kv_store
806
-
807
- cluster = db_controller.get_cluster_by_id(cluster_id)
808
- if not cluster:
809
- logger.error("Cluster not found: %s", cluster_id)
810
- return False
811
-
812
- logger.info("Add Storage node")
813
-
814
- hostname = utils.get_hostname()
815
- snode = db_controller.get_storage_node_by_hostname(hostname)
816
- if snode:
817
- logger.error("Node already exists, try remove it first.")
818
- exit(1)
819
- else:
820
- snode = StorageNode()
821
- snode.uuid = str(uuid.uuid4())
822
-
823
- mgmt_ip = _get_if_ip_address(iface_name)
824
- system_id = utils.get_system_id()
825
-
826
- BASE_NQN = cluster.nqn.split(":")[0]
827
- subsystem_nqn = f"{BASE_NQN}:{hostname}"
828
-
829
- if data_nics:
830
- data_nics = _get_data_nics(data_nics)
831
- else:
832
- data_nics = _get_data_nics([iface_name])
833
-
834
- rpc_user, rpc_pass = utils.generate_rpc_user_and_pass()
835
-
836
- # creating storage node object
837
- snode.status = StorageNode.STATUS_IN_CREATION
838
- snode.baseboard_sn = utils.get_baseboard_sn()
839
- snode.system_uuid = system_id
840
- snode.hostname = hostname
841
- snode.host_nqn = subsystem_nqn
842
- snode.subsystem = subsystem_nqn
843
- snode.data_nics = data_nics
844
- snode.mgmt_ip = mgmt_ip
845
- snode.rpc_port = constants.RPC_HTTP_PROXY_PORT
846
- snode.rpc_username = rpc_user
847
- snode.rpc_password = rpc_pass
848
- snode.cluster_id = cluster_id
849
- snode.write_to_db(kv_store)
850
-
851
- # creating RPCClient instance
852
- rpc_client = RPCClient(
853
- snode.mgmt_ip,
854
- snode.rpc_port,
855
- snode.rpc_username,
856
- snode.rpc_password)
857
-
858
- logger.info("Getting nvme devices")
859
- devs = get_nvme_devices()
860
- logger.debug(devs)
861
- pcies = [d[0] for d in devs]
862
- nvme_devs = addNvmeDevices(cluster, rpc_client, pcies, snode)
863
- if not nvme_devs:
864
- logger.error("No NVMe devices was found!")
865
-
866
- logger.debug(nvme_devs)
867
- snode.nvme_devices = nvme_devs
868
-
869
- # Set device cluster order
870
- dev_order = get_next_cluster_device_order(db_controller, cluster_id)
871
- for index, nvme in enumerate(snode.nvme_devices):
872
- nvme.cluster_device_order = dev_order
873
- dev_order += 1
874
- snode.write_to_db(db_controller.kv_store)
875
-
876
- # prepare devices
877
- # _prepare_cluster_devices(snode)
878
-
879
- logger.info("Connecting to remote devices")
880
- remote_devices = _connect_to_remote_devs(snode)
881
- snode.remote_devices = remote_devices
882
-
883
- logger.info("Setting node status to Active")
884
- snode.status = StorageNode.STATUS_ONLINE
885
- snode.write_to_db(kv_store)
886
-
887
- # make other nodes connect to the new devices
888
- logger.info("Make other nodes connect to the new devices")
889
- snodes = db_controller.get_storage_nodes_by_cluster_id(cluster_id)
890
- for node_index, node in enumerate(snodes):
891
- if node.get_id() == snode.get_id():
892
- continue
893
- logger.info(f"Connecting to node: {node.get_id()}")
894
- rpc_client = RPCClient(node.mgmt_ip, node.rpc_port, node.rpc_username, node.rpc_password)
895
- count = 0
896
- for dev in snode.nvme_devices:
897
- name = f"remote_{dev.alceml_bdev}"
898
- ret = rpc_client.bdev_nvme_attach_controller_tcp(name, dev.nvmf_nqn, dev.nvmf_ip, dev.nvmf_port)
899
- if not ret:
900
- logger.error(f"Failed to connect to device: {name}")
901
- continue
902
-
903
- dev.remote_bdev = f"{name}n1"
904
- idx = -1
905
- for i, d in enumerate(node.remote_devices):
906
- if d.get_id() == dev.get_id():
907
- idx = i
908
- break
909
- if idx >= 0:
910
- node.remote_devices[idx] = dev
911
- else:
912
- node.remote_devices.append(dev)
913
- count += 1
914
- node.write_to_db(kv_store)
915
- logger.info(f"connected to devices count: {count}")
916
-
917
- logger.info("Sending cluster map")
918
- ret = distr_controller.send_cluster_map_to_node(snode)
919
- if not ret:
920
- return False, "Failed to send cluster map"
921
- ret = distr_controller.send_cluster_map_add_node(snode)
922
- if not ret:
923
- return False, "Failed to send cluster map add node"
924
- time.sleep(3)
925
-
926
- logger.info("Sending cluster event updates")
927
- distr_controller.send_node_status_event(snode, StorageNode.STATUS_ONLINE)
928
-
929
- for dev in snode.nvme_devices:
930
- distr_controller.send_dev_status_event(dev, NVMeDevice.STATUS_ONLINE)
931
-
932
- logger.info("Done")
933
- return "Success"
934
-
935
-
936
802
  def delete_storage_node(node_id):
937
803
  db_controller = DBController()
938
804
  snode = db_controller.get_storage_node_by_id(node_id)
File without changes
File without changes
File without changes
File without changes