sbcli-hmdi 0.0.23__tar.gz → 0.0.25__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/PKG-INFO +1 -1
  2. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/PKG-INFO +1 -1
  3. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/lvol_controller.py +35 -35
  4. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/env_var +1 -1
  5. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/rpc_client.py +6 -9
  6. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/storage_node_ops.py +90 -46
  7. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/README.md +0 -0
  8. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/pyproject.toml +0 -0
  9. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/requirements.txt +0 -0
  10. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/SOURCES.txt +0 -0
  11. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/dependency_links.txt +0 -0
  12. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/entry_points.txt +0 -0
  13. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/requires.txt +0 -0
  14. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/sbcli_hmdi.egg-info/top_level.txt +0 -0
  15. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/setup.cfg +0 -0
  16. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/setup.py +0 -0
  17. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_cli/__init__.py +0 -0
  18. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_cli/cli.py +0 -0
  19. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_cli/main.py +0 -0
  20. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/__init__.py +0 -0
  21. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/cluster_ops.py +0 -0
  22. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/cnode_client.py +0 -0
  23. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/constants.py +0 -0
  24. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/__init__.py +0 -0
  25. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  26. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/cluster_events.py +0 -0
  27. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/device_controller.py +0 -0
  28. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/device_events.py +0 -0
  29. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/events_controller.py +0 -0
  30. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/health_controller.py +0 -0
  31. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/lvol_events.py +0 -0
  32. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/mgmt_events.py +0 -0
  33. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/pool_controller.py +0 -0
  34. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/pool_events.py +0 -0
  35. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/snapshot_controller.py +0 -0
  36. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/snapshot_events.py +0 -0
  37. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/storage_events.py +0 -0
  38. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/tasks_controller.py +0 -0
  39. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/controllers/tasks_events.py +0 -0
  40. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/db_controller.py +0 -0
  41. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/distr_controller.py +0 -0
  42. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/mgmt_node_ops.py +0 -0
  43. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/__init__.py +0 -0
  44. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/base_model.py +0 -0
  45. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/caching_node.py +0 -0
  46. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/cluster.py +0 -0
  47. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/deployer.py +0 -0
  48. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/events.py +0 -0
  49. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/iface.py +0 -0
  50. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/job_schedule.py +0 -0
  51. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/lvol_model.py +0 -0
  52. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/mgmt_node.py +0 -0
  53. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/nvme_device.py +0 -0
  54. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/pool.py +0 -0
  55. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/port_stat.py +0 -0
  56. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/snapshot.py +0 -0
  57. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/stats.py +0 -0
  58. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/models/storage_node.py +0 -0
  59. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/pci_utils.py +0 -0
  60. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/__init__.py +0 -0
  61. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  62. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  63. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  64. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/config_docker.sh +0 -0
  65. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboard.yml +0 -0
  66. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  67. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  68. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  69. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  70. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  71. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  72. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/datasource.yml +0 -0
  73. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/db_config_double.sh +0 -0
  74. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/db_config_single.sh +0 -0
  75. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  76. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  77. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  78. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  79. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/foundation.yml +0 -0
  80. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/haproxy.cfg +0 -0
  81. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/install_deps.sh +0 -0
  82. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/objstore.yml +0 -0
  83. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  84. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/prometheus.yml +0 -0
  85. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/run_ssh.sh +0 -0
  86. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/set_db_config.sh +0 -0
  87. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  88. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/__init__.py +0 -0
  89. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  90. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/caching_node_monitor.py +0 -0
  91. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/cap_monitor.py +0 -0
  92. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  93. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/device_monitor.py +0 -0
  94. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/health_check_service.py +0 -0
  95. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/install_service.sh +0 -0
  96. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/log_agg_service.py +0 -0
  97. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/lvol_monitor.py +0 -0
  98. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  99. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  100. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  101. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/new_device_discovery.py +0 -0
  102. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/port_stat_collector.py +0 -0
  103. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/remove_service.sh +0 -0
  104. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/service_template.service +0 -0
  105. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  106. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/storage_node_monitor.py +0 -0
  107. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  108. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  109. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  110. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  111. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  112. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/shell_utils.py +0 -0
  113. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/snode_client.py +0 -0
  114. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/utils.py +0 -0
  115. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  116. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/README.md +0 -0
  117. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/__init__.py +0 -0
  118. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/app.py +0 -0
  119. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/auth_middleware.py +0 -0
  120. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/__init__.py +0 -0
  121. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  122. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  123. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  124. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  125. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  126. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/snode_ops.py +0 -0
  127. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  128. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  129. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  130. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  131. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_device.py +0 -0
  132. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  133. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  134. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  135. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  136. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  137. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/caching_node_app.py +0 -0
  138. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/caching_node_app_k8s.py +0 -0
  139. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/node_utils.py +0 -0
  140. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/node_webapp.py +0 -0
  141. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/requirements.txt +0 -0
  142. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/snode_app.py +0 -0
  143. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/snode_app_k8s.py +0 -0
  144. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/delete.py +0 -0
  145. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/deploy.py +0 -0
  146. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  147. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  148. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/is_up.py +0 -0
  149. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/list_deps.py +0 -0
  150. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/rpac.yaml +0 -0
  151. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/static/tst.py +0 -0
  152. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  153. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  154. {sbcli_hmdi-0.0.23 → sbcli_hmdi-0.0.25}/simplyblock_web/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sbcli-hmdi
3
- Version: 0.0.23
3
+ Version: 0.0.25
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: sbcli-hmdi
3
- Version: 0.0.23
3
+ Version: 0.0.25
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -463,7 +463,7 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
463
463
  }
464
464
  }
465
465
 
466
- if lvol.lvol_priority_class:
466
+ if cl.enable_qos and lvol.lvol_priority_class >= 0:
467
467
  lvol_dict["params"]["lvol_priority_class"] = lvol.lvol_priority_class
468
468
  lvol.bdev_stack = [lvol_dict]
469
469
 
@@ -659,20 +659,20 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
659
659
  rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
660
660
 
661
661
  base=f"{lvol.lvs_name}/{lvol.lvol_bdev}"
662
- retry = 3
663
- while retry > 0:
664
- lv = rpc_client.get_bdevs(base)
665
- if lv:
666
- break
667
- else:
668
- retry -= 1
669
- msg = f"LVol bdev not found: {base} on node {snode.get_id()}, retrying"
670
- logger.warning(msg)
671
- time.sleep(2)
672
- else:
673
- msg = f"LVol bdev not found: {base} on node {snode.get_id()}"
674
- logger.error(msg)
675
- return False, msg
662
+ # retry = 3
663
+ # while retry > 0:
664
+ # lv = rpc_client.get_bdevs(base)
665
+ # if lv:
666
+ # break
667
+ # else:
668
+ # retry -= 1
669
+ # msg = f"LVol bdev not found: {base} on node {snode.get_id()}, retrying"
670
+ # logger.warning(msg)
671
+ # time.sleep(2)
672
+ # else:
673
+ # msg = f"LVol bdev not found: {base} on node {snode.get_id()}"
674
+ # logger.error(msg)
675
+ # return False, msg
676
676
 
677
677
  if "crypto" in lvol.lvol_type:
678
678
  ret = _create_crypto_lvol(
@@ -682,27 +682,27 @@ def recreate_lvol_on_node(lvol, snode, ha_inode_self=0, ana_state=None):
682
682
  logger.error(msg)
683
683
  return False, msg
684
684
 
685
- namespace_found = False
686
- subsys_found = False
687
- ret = rpc_client.subsystem_list(lvol.nqn)
688
- if ret :
689
- subsys_found = True
690
- if ret[0]["namespaces"]:
691
- for ns in ret[0]["namespaces"]:
692
- if ns['name'] == lvol.top_bdev:
693
- namespace_found = True
694
- break
695
-
696
- if subsys_found is False:
697
- min_cntlid = 1 + 1000 * ha_inode_self
698
- logger.info("creating subsystem %s", lvol.nqn)
699
- rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid, min_cntlid)
685
+ # namespace_found = False
686
+ # subsys_found = False
687
+ # ret = rpc_client.subsystem_list(lvol.nqn)
688
+ # if ret :
689
+ # subsys_found = True
690
+ # if ret[0]["namespaces"]:
691
+ # for ns in ret[0]["namespaces"]:
692
+ # if ns['name'] == lvol.top_bdev:
693
+ # namespace_found = True
694
+ # break
695
+
696
+ # if subsys_found is False:
697
+ min_cntlid = 1 + 1000 * ha_inode_self
698
+ logger.info("creating subsystem %s", lvol.nqn)
699
+ rpc_client.subsystem_create(lvol.nqn, 'sbcli-cn', lvol.uuid, min_cntlid)
700
700
 
701
- if namespace_found is False:
702
- logger.info("Add BDev to subsystem")
703
- ret = rpc_client.nvmf_subsystem_add_ns(lvol.nqn, lvol.top_bdev, lvol.uuid, lvol.guid)
704
- if not ret:
705
- return False, "Failed to add bdev to subsystem"
701
+ # if namespace_found is False:
702
+ logger.info("Add BDev to subsystem")
703
+ ret = rpc_client.nvmf_subsystem_add_ns(lvol.nqn, lvol.top_bdev, lvol.uuid, lvol.guid)
704
+ # if not ret:
705
+ # return False, "Failed to add bdev to subsystem"
706
706
 
707
707
  # add listeners
708
708
  logger.info("adding listeners")
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-hmdi
2
- SIMPLY_BLOCK_VERSION=0.0.23
2
+ SIMPLY_BLOCK_VERSION=0.0.25
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=public.ecr.aws/simply-block/simplyblock:hmdi
5
5
  DOCKER_USER=hamdysimplyblock
@@ -775,14 +775,9 @@ class RPCClient:
775
775
 
776
776
  def sock_impl_set_options(self):
777
777
  method = "sock_impl_set_options"
778
- params = {
779
- "impl_name": "posix",
780
- "enable_quickack": True,
781
- "enable_zerocopy_send_server": False,
782
- "enable_zerocopy_send_client": True,
783
- "recv_buf_size": 6097152,
784
- "send_buf_size": 6097152
785
- }
778
+ params = {"impl_name": "posix", "enable_quickack": True,
779
+ "enable_zerocopy_send_server": True,
780
+ "enable_zerocopy_send_client": True}
786
781
  return self._request(method, params)
787
782
 
788
783
  def nvmf_set_config(self, poll_groups_mask):
@@ -914,7 +909,7 @@ class RPCClient:
914
909
  params = {"jm_vuid": jm_vuid}
915
910
  return self._request("bdev_distrib_force_to_non_leader", params)
916
911
 
917
- def bdev_lvol_set_leader(self, is_leader=False, uuid=None, lvs_name=None):
912
+ def bdev_lvol_set_leader(self, is_leader=False, uuid=None, lvs_name=None, bs_nonleadership=False):
918
913
  params = {
919
914
  "leadership": is_leader,
920
915
  }
@@ -923,6 +918,8 @@ class RPCClient:
923
918
  elif lvs_name:
924
919
  params["lvs_name"] = lvs_name
925
920
 
921
+ # params["bs_nonleadership"] = bs_nonleadership
922
+
926
923
  return self._request("bdev_lvol_set_leader_all", params)
927
924
 
928
925
  def bdev_lvol_register(self, name, lvs_name, registered_uuid, blobid, priority_class=0):
@@ -2866,7 +2866,46 @@ def recreate_lvstore(snode):
2866
2866
  if snode.is_secondary_node:
2867
2867
  return recreate_lvstore_on_sec(snode)
2868
2868
 
2869
+ # connecting to remote devices
2870
+ logger.info("Connecting to remote devices")
2871
+ snode = db_controller.get_storage_node_by_id(snode.get_id())
2872
+ snode.remote_devices = _connect_to_remote_devs(snode)
2873
+ if snode.enable_ha_jm:
2874
+ online_devs = []
2875
+ for remote_device in snode.remote_jm_devices:
2876
+ if remote_device.status == StorageNode.STATUS_ONLINE:
2877
+ online_devs.append(remote_device)
2878
+
2879
+ if len(online_devs) < 2:
2880
+ devs = get_sorted_ha_jms(snode)
2881
+ for did in devs:
2882
+ dev = db_controller.get_jm_device_by_id(did)
2883
+ online_devs.append(dev)
2884
+ if len(online_devs) > snode.ha_jm_count - 1:
2885
+ break
2886
+
2887
+ snode.remote_jm_devices = online_devs
2888
+ snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
2889
+ snode.write_to_db()
2890
+
2891
+ time.sleep(1)
2892
+
2893
+ ret, err = _create_bdev_stack(snode, [], primary_node=snode)
2894
+
2895
+ if err:
2896
+ logger.error(f"Failed to recreate lvstore on node {snode.get_id()}")
2897
+ logger.error(err)
2898
+ return False
2899
+
2900
+ # ret = rpc_client.bdev_examine(snode.raid)
2901
+ # ret = rpc_client.bdev_wait_for_examine()
2902
+ # ret = rpc_client.bdev_lvol_set_lvs_groupid(snode.lvstore, snode.jm_vuid)
2903
+ # time.sleep(1)
2904
+
2905
+
2869
2906
  sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
2907
+ sec_node_api = SNodeClient(sec_node.api_endpoint)
2908
+
2870
2909
  prim_node_suspend = False
2871
2910
  lvol_list = db_controller.get_lvols_by_node_id(snode.get_id())
2872
2911
  if sec_node:
@@ -2882,60 +2921,64 @@ def recreate_lvstore(snode):
2882
2921
  # ret = sec_rpc_client.nvmf_subsystem_listener_set_ana_state(
2883
2922
  # lvol.nqn, iface.ip4_address, lvol.subsys_port, False, "inaccessible")
2884
2923
 
2885
- sec_node_api = SNodeClient(sec_node.api_endpoint)
2886
2924
  sec_node_api.firewall_set_port(snode.lvol_subsys_port, "tcp", "block")
2887
2925
 
2888
- sec_rpc_client.bdev_lvol_set_leader(False, lvs_name=snode.lvstore)
2926
+ sec_rpc_client.bdev_lvol_set_leader(False, lvs_name=snode.lvstore, bs_nonleadership=True)
2889
2927
  sec_rpc_client.bdev_distrib_force_to_non_leader(snode.jm_vuid)
2890
2928
 
2891
2929
  rpc_client = RPCClient(
2892
2930
  snode.mgmt_ip, snode.rpc_port,
2893
2931
  snode.rpc_username, snode.rpc_password, retry=1, timeout=30)
2894
2932
 
2895
- # connecting to remote devices
2896
- logger.info("Connecting to remote devices")
2897
- snode = db_controller.get_storage_node_by_id(snode.get_id())
2898
- snode.remote_devices = _connect_to_remote_devs(snode)
2899
- if snode.enable_ha_jm:
2900
- # online_devs = []
2901
- # for remote_device in snode.remote_jm_devices:
2902
- # if remote_device.status == StorageNode.STATUS_ONLINE:
2903
- # online_devs.append(remote_device)
2904
- #
2905
- # if len(online_devs) < 2:
2906
- # devs = get_sorted_ha_jms(snode)
2907
- # for did in devs:
2908
- # dev = db_controller.get_jm_device_by_id(did)
2909
- # online_devs.append(dev)
2910
- # if len(online_devs) > snode.ha_jm_count - 1:
2911
- # break
2912
- #
2913
- # snode.remote_jm_devices = online_devs
2914
- snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
2915
- snode.write_to_db()
2916
-
2917
- time.sleep(2)
2933
+ ret = rpc_client.bdev_examine(snode.raid)
2934
+ ret = rpc_client.bdev_wait_for_examine()
2935
+ ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
2936
+ # time.sleep(1)
2937
+
2938
+ # # connecting to remote devices
2939
+ # logger.info("Connecting to remote devices")
2940
+ # snode = db_controller.get_storage_node_by_id(snode.get_id())
2941
+ # snode.remote_devices = _connect_to_remote_devs(snode)
2942
+ # if snode.enable_ha_jm:
2943
+ # # online_devs = []
2944
+ # # for remote_device in snode.remote_jm_devices:
2945
+ # # if remote_device.status == StorageNode.STATUS_ONLINE:
2946
+ # # online_devs.append(remote_device)
2947
+ # #
2948
+ # # if len(online_devs) < 2:
2949
+ # # devs = get_sorted_ha_jms(snode)
2950
+ # # for did in devs:
2951
+ # # dev = db_controller.get_jm_device_by_id(did)
2952
+ # # online_devs.append(dev)
2953
+ # # if len(online_devs) > snode.ha_jm_count - 1:
2954
+ # # break
2955
+ # #
2956
+ # # snode.remote_jm_devices = online_devs
2957
+ # snode.remote_jm_devices = _connect_to_remote_jm_devs(snode)
2958
+ # snode.write_to_db()
2959
+ #
2960
+ # time.sleep(2)
2918
2961
 
2919
2962
  if not lvol_list:
2920
2963
  prim_node_suspend = False
2921
2964
 
2922
- ret, err = _create_bdev_stack(snode, [], primary_node=snode)
2923
-
2924
- if err:
2925
- logger.error(f"Failed to recreate lvstore on node {snode.get_id()}")
2926
- logger.error(err)
2927
- return False
2928
-
2929
- ret = rpc_client.bdev_examine(snode.raid)
2930
- ret = rpc_client.bdev_wait_for_examine()
2931
- time.sleep(1)
2932
-
2933
- ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
2965
+ # ret, err = _create_bdev_stack(snode, [], primary_node=snode)
2966
+ #
2967
+ # if err:
2968
+ # logger.error(f"Failed to recreate lvstore on node {snode.get_id()}")
2969
+ # logger.error(err)
2970
+ # return False
2971
+ #
2972
+ # ret = rpc_client.bdev_examine(snode.raid)
2973
+ # ret = rpc_client.bdev_wait_for_examine()
2974
+ # time.sleep(1)
2975
+ #
2976
+ # ret = rpc_client.bdev_lvol_set_lvs_ops(snode.lvstore, snode.jm_vuid, snode.lvol_subsys_port)
2934
2977
 
2935
- # if not prim_node_suspend:
2936
- # if snode.jm_vuid:
2937
- # ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
2938
- # logger.info(f"JM Sync res: {ret}")
2978
+ if not prim_node_suspend:
2979
+ if snode.jm_vuid:
2980
+ ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
2981
+ logger.info(f"JM Sync res: {ret}")
2939
2982
 
2940
2983
  lvol_ana_state = "optimized"
2941
2984
  if prim_node_suspend:
@@ -2953,13 +2996,14 @@ def recreate_lvstore(snode):
2953
2996
  lvol_obj.health_check = True
2954
2997
  lvol_obj.write_to_db()
2955
2998
 
2956
- if snode.jm_vuid:
2957
- ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
2958
- logger.info(f"JM Sync res: {ret}")
2999
+ # if snode.jm_vuid:
3000
+ # ret = rpc_client.jc_explicit_synchronization(snode.jm_vuid)
3001
+ # logger.info(f"JM Sync res: {ret}")
2959
3002
 
2960
- sec_node_api = SNodeClient(sec_node.api_endpoint)
2961
3003
  if prim_node_suspend:
2962
- sec_node_api.firewall_set_port(snode.lvol_subsys_port, "tcp", "allow")
3004
+ if sec_node.status == StorageNode.STATUS_ONLINE:
3005
+ sec_node_api.firewall_set_port(snode.lvol_subsys_port, "tcp", "allow")
3006
+
2963
3007
  set_node_status(snode.get_id(), StorageNode.STATUS_SUSPENDED)
2964
3008
  logger.info("Node restart interrupted because secondary node is unreachable")
2965
3009
  logger.info("Node status changed to suspended")
File without changes
File without changes
File without changes
File without changes