sbcli-pre 1.4.6__zip → 1.4.7__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 (140) hide show
  1. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/PKG-INFO +1 -1
  2. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/env_var +1 -1
  3. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/PKG-INFO +1 -1
  4. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_cli/cli.py +8 -0
  5. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/caching_node_controller.py +40 -0
  6. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/lvol_controller.py +8 -2
  7. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/README.md +0 -0
  8. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/pyproject.toml +0 -0
  9. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/SOURCES.txt +0 -0
  10. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/dependency_links.txt +0 -0
  11. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/entry_points.txt +0 -0
  12. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/requires.txt +0 -0
  13. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/sbcli_pre.egg-info/top_level.txt +0 -0
  14. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/setup.cfg +0 -0
  15. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/setup.py +0 -0
  16. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_cli/main.py +0 -0
  17. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/__init__.py +0 -0
  18. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/cluster_ops.py +0 -0
  19. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/cnode_client.py +0 -0
  20. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/compute_node_ops.py +0 -0
  21. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/constants.py +0 -0
  22. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/__init__.py +0 -0
  23. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/cluster_events.py +0 -0
  24. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/device_controller.py +0 -0
  25. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/device_events.py +0 -0
  26. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/events_controller.py +0 -0
  27. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/health_controller.py +0 -0
  28. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/lvol_events.py +0 -0
  29. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/mgmt_events.py +0 -0
  30. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/pool_controller.py +0 -0
  31. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/pool_events.py +0 -0
  32. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  33. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/snapshot_events.py +0 -0
  34. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/storage_events.py +0 -0
  35. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/tasks_controller.py +0 -0
  36. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/controllers/tasks_events.py +0 -0
  37. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/distr_controller.py +0 -0
  38. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/kv_store.py +0 -0
  39. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/mgmt_node_ops.py +0 -0
  40. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/__init__.py +0 -0
  41. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/base_model.py +0 -0
  42. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/caching_node.py +0 -0
  43. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/cluster.py +0 -0
  44. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/compute_node.py +0 -0
  45. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/deployer.py +0 -0
  46. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/events.py +0 -0
  47. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/global_settings.py +0 -0
  48. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/iface.py +0 -0
  49. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/job_schedule.py +0 -0
  50. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/lvol_model.py +0 -0
  51. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/mgmt_node.py +0 -0
  52. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/nvme_device.py +0 -0
  53. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/pool.py +0 -0
  54. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/port_stat.py +0 -0
  55. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/snapshot.py +0 -0
  56. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/stats.py +0 -0
  57. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/models/storage_node.py +0 -0
  58. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/pci_utils.py +0 -0
  59. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/rpc_client.py +0 -0
  60. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/__init__.py +0 -0
  61. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  62. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  63. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  64. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/config_docker.sh +0 -0
  65. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboard.yml +0 -0
  66. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  67. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  68. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  69. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  70. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  71. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  72. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/datasource.yml +0 -0
  73. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/db_config_double.sh +0 -0
  74. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/db_config_single.sh +0 -0
  75. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  76. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  77. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  78. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/haproxy.cfg +0 -0
  79. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/install_deps.sh +0 -0
  80. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/objstore.yml +0 -0
  81. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/prometheus.yml +0 -0
  82. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/run_ssh.sh +0 -0
  83. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/set_db_config.sh +0 -0
  84. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  85. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/__init__.py +0 -0
  86. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/caching_node_monitor.py +0 -0
  87. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/cap_monitor.py +0 -0
  88. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  89. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/device_monitor.py +0 -0
  90. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/distr_event_collector.py +0 -0
  91. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/health_check_service.py +0 -0
  92. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/install_service.sh +0 -0
  93. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/log_agg_service.py +0 -0
  94. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/lvol_monitor.py +0 -0
  95. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  96. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  97. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/port_stat_collector.py +0 -0
  98. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/remove_service.sh +0 -0
  99. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/service_template.service +0 -0
  100. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/storage_node_monitor.py +0 -0
  101. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  102. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  103. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/shell_utils.py +0 -0
  104. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/snode_client.py +0 -0
  105. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/storage_node_ops.py +0 -0
  106. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_core/utils.py +0 -0
  107. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/__init__.py +0 -0
  108. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/app.py +0 -0
  109. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/auth_middleware.py +0 -0
  110. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/__init__.py +0 -0
  111. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  112. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  113. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  114. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  115. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  116. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/snode_ops.py +0 -0
  117. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  118. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  119. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  120. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_device.py +0 -0
  121. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  122. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  123. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  124. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  125. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  126. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/caching_node_app.py +0 -0
  127. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/caching_node_app_k8s.py +0 -0
  128. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/node_utils.py +0 -0
  129. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/node_webapp.py +0 -0
  130. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/snode_app.py +0 -0
  131. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/delete.py +0 -0
  132. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/deploy.py +0 -0
  133. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  134. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  135. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/is_up.py +0 -0
  136. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/list_deps.py +0 -0
  137. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/rpac.yaml +0 -0
  138. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/static/tst.py +0 -0
  139. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/templates/deploy_spdk.yaml.j2 +0 -0
  140. {sbcli_pre-1.4.6 → sbcli_pre-1.4.7}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 1.4.6
3
+ Version: 1.4.7
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.4.6
2
+ SIMPLY_BLOCK_VERSION=1.4.7
3
3
 
4
4
 
5
5
  SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:pre-release
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sbcli-pre
3
- Version: 1.4.6
3
+ Version: 1.4.7
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -608,6 +608,12 @@ class CLIWrapper:
608
608
  sub_command = self.add_sub_command(subparser, 'recreate', 'recreate Caching node bdevs')
609
609
  sub_command.add_argument("node_id", help='Caching node UUID')
610
610
 
611
+ sub_command = self.add_sub_command(subparser, 'get-lvol-stats', 'Get LVol stats')
612
+ sub_command.add_argument("node_id", help='Caching node UUID')
613
+ sub_command.add_argument("lvol_id", help='LVol UUID')
614
+ sub_command.add_argument("--duration", help='collection duration in seconds, default: 5', type=int, default=5)
615
+
616
+
611
617
  def init_parser(self):
612
618
  self.parser = argparse.ArgumentParser(prog=constants.SIMPLY_BLOCK_CLI_NAME, description='SimplyBlock management CLI')
613
619
  self.parser.add_argument("-d", '--debug', help='Print debug messages', required=False, action='store_true')
@@ -1104,6 +1110,8 @@ class CLIWrapper:
1104
1110
  if sub_command == "recreate":
1105
1111
  ret = caching_node_controller.recreate(args.node_id)
1106
1112
 
1113
+ if sub_command == "get-lvol-stats":
1114
+ ret = caching_node_controller.get_lvol_stats(args.node_id, args.lvol_id, args.duration)
1107
1115
 
1108
1116
  else:
1109
1117
  self.parser.print_help()
@@ -731,3 +731,43 @@ def remove_node(node_id, force=False):
731
731
 
732
732
  snode.remove(db_controller.kv_store)
733
733
  logger.info("done")
734
+
735
+
736
+ def get_lvol_stats(caching_node_id, lvol_id, duration=5):
737
+ db_controller = DBController()
738
+ cnode = db_controller.get_caching_node_by_id(caching_node_id)
739
+ if not cnode:
740
+ logger.info(f"Caching node uuid not found: {caching_node_id}")
741
+ cnode = db_controller.get_caching_node_by_hostname(caching_node_id)
742
+ if not cnode:
743
+ logger.error("Caching node not found")
744
+ return False
745
+
746
+ lvol = db_controller.get_lvol_by_id(lvol_id)
747
+ if not lvol:
748
+ logger.error(f"LVol not found: {lvol_id}")
749
+ return False
750
+
751
+ rpc_client = RPCClient(
752
+ cnode.mgmt_ip, cnode.rpc_port,
753
+ cnode.rpc_username, cnode.rpc_password,
754
+ timeout=3, retry=2)
755
+
756
+ ocf_bdev = None
757
+ for lv in cnode.lvols:
758
+ if lv.lvol_id == lvol.get_id():
759
+ ocf_bdev = lv.ocf_bdev
760
+
761
+ if not ocf_bdev:
762
+ logger.error(f"LVol is not connected to caching node")
763
+ return False
764
+
765
+ logger.info("Getting bdev stats: %s", ocf_bdev)
766
+
767
+ while True:
768
+ stats_dict = rpc_client.get_lvol_stats(ocf_bdev)
769
+ print(datetime.datetime.now())
770
+ print(json.dumps(stats_dict, indent=2))
771
+ time.sleep(duration)
772
+
773
+ return True
@@ -9,9 +9,8 @@ import uuid
9
9
  from typing import Tuple
10
10
 
11
11
  from simplyblock_core import utils, constants, distr_controller
12
- from simplyblock_core.controllers import snapshot_controller, pool_controller, lvol_events
12
+ from simplyblock_core.controllers import snapshot_controller, pool_controller, lvol_events, caching_node_controller
13
13
  from simplyblock_core.kv_store import DBController
14
- from simplyblock_core.models.cluster import Cluster
15
14
  from simplyblock_core.models.nvme_device import NVMeDevice
16
15
  from simplyblock_core.models.pool import Pool
17
16
  from simplyblock_core.models.lvol_model import LVol
@@ -1016,6 +1015,13 @@ def delete_lvol(id_or_name, force_delete=False):
1016
1015
  lvol.status = LVol.STATUS_IN_DELETION
1017
1016
  lvol.write_to_db(db_controller.kv_store)
1018
1017
 
1018
+ # disconnect from caching nodes:
1019
+ cnodes = db_controller.get_caching_nodes()
1020
+ for cnode in cnodes:
1021
+ for lv in cnode.lvols:
1022
+ if lv.lvol_id == lvol.get_id():
1023
+ caching_node_controller.disconnect(cnode.get_id(), lvol.get_id())
1024
+
1019
1025
  if lvol.ha_type == 'single':
1020
1026
  ret = delete_lvol_from_node(lvol.get_id(), lvol.node_id)
1021
1027
  if not ret:
File without changes
File without changes
File without changes
File without changes