sbcli-hmdi 0.0.9__tar.gz → 0.0.11__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.9 → sbcli_hmdi-0.0.11}/PKG-INFO +1 -1
  2. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/PKG-INFO +1 -1
  3. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/lvol_controller.py +53 -38
  4. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/snapshot_controller.py +1 -1
  5. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/env_var +1 -1
  6. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/README.md +0 -0
  7. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/pyproject.toml +0 -0
  8. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/requirements.txt +0 -0
  9. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/SOURCES.txt +0 -0
  10. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/dependency_links.txt +0 -0
  11. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/entry_points.txt +0 -0
  12. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/requires.txt +0 -0
  13. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/sbcli_hmdi.egg-info/top_level.txt +0 -0
  14. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/setup.cfg +0 -0
  15. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/setup.py +0 -0
  16. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_cli/__init__.py +0 -0
  17. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_cli/cli.py +0 -0
  18. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_cli/main.py +0 -0
  19. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/__init__.py +0 -0
  20. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/cluster_ops.py +0 -0
  21. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/cnode_client.py +0 -0
  22. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/constants.py +0 -0
  23. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/__init__.py +0 -0
  24. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/caching_node_controller.py +0 -0
  25. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/cluster_events.py +0 -0
  26. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/device_controller.py +0 -0
  27. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/device_events.py +0 -0
  28. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/events_controller.py +0 -0
  29. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/health_controller.py +0 -0
  30. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/lvol_events.py +0 -0
  31. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/mgmt_events.py +0 -0
  32. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/pool_controller.py +0 -0
  33. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/pool_events.py +0 -0
  34. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/snapshot_events.py +0 -0
  35. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/storage_events.py +0 -0
  36. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/tasks_controller.py +0 -0
  37. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/controllers/tasks_events.py +0 -0
  38. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/db_controller.py +0 -0
  39. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/distr_controller.py +0 -0
  40. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/mgmt_node_ops.py +0 -0
  41. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/__init__.py +0 -0
  42. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/base_model.py +0 -0
  43. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/caching_node.py +0 -0
  44. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/cluster.py +0 -0
  45. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/deployer.py +0 -0
  46. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/events.py +0 -0
  47. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/iface.py +0 -0
  48. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/job_schedule.py +0 -0
  49. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/lvol_model.py +0 -0
  50. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/mgmt_node.py +0 -0
  51. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/nvme_device.py +0 -0
  52. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/pool.py +0 -0
  53. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/port_stat.py +0 -0
  54. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/snapshot.py +0 -0
  55. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/stats.py +0 -0
  56. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/models/storage_node.py +0 -0
  57. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/pci_utils.py +0 -0
  58. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/rpc_client.py +0 -0
  59. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/__init__.py +0 -0
  60. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
  61. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
  62. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
  63. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/config_docker.sh +0 -0
  64. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboard.yml +0 -0
  65. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
  66. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/devices.json +0 -0
  67. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
  68. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
  69. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
  70. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/dashboards/pools.json +0 -0
  71. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/datasource.yml +0 -0
  72. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/db_config_double.sh +0 -0
  73. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/db_config_single.sh +0 -0
  74. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
  75. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/deploy_stack.sh +0 -0
  76. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
  77. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
  78. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/foundation.yml +0 -0
  79. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/haproxy.cfg +0 -0
  80. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/install_deps.sh +0 -0
  81. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/objstore.yml +0 -0
  82. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
  83. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/prometheus.yml +0 -0
  84. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/run_ssh.sh +0 -0
  85. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/set_db_config.sh +0 -0
  86. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
  87. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/__init__.py +0 -0
  88. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
  89. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/caching_node_monitor.py +0 -0
  90. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/cap_monitor.py +0 -0
  91. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
  92. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/device_monitor.py +0 -0
  93. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/health_check_service.py +0 -0
  94. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/install_service.sh +0 -0
  95. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/log_agg_service.py +0 -0
  96. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/lvol_monitor.py +0 -0
  97. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/lvol_stat_collector.py +0 -0
  98. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/main_distr_event_collector.py +0 -0
  99. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
  100. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/new_device_discovery.py +0 -0
  101. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/port_stat_collector.py +0 -0
  102. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/remove_service.sh +0 -0
  103. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/service_template.service +0 -0
  104. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
  105. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/storage_node_monitor.py +0 -0
  106. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
  107. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/tasks_runner_migration.py +0 -0
  108. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
  109. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
  110. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/services/tasks_runner_restart.py +0 -0
  111. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/shell_utils.py +0 -0
  112. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/snode_client.py +0 -0
  113. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/storage_node_ops.py +0 -0
  114. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/utils.py +0 -0
  115. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
  116. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/README.md +0 -0
  117. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/__init__.py +0 -0
  118. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/app.py +0 -0
  119. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/auth_middleware.py +0 -0
  120. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/__init__.py +0 -0
  121. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
  122. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
  123. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/node_api_basic.py +0 -0
  124. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
  125. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
  126. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/snode_ops.py +0 -0
  127. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
  128. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
  129. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
  130. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
  131. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_device.py +0 -0
  132. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
  133. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
  134. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_pool.py +0 -0
  135. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
  136. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
  137. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/caching_node_app.py +0 -0
  138. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/caching_node_app_k8s.py +0 -0
  139. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/node_utils.py +0 -0
  140. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/node_webapp.py +0 -0
  141. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/requirements.txt +0 -0
  142. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/snode_app.py +0 -0
  143. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/snode_app_k8s.py +0 -0
  144. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/delete.py +0 -0
  145. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/deploy.py +0 -0
  146. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/deploy_cnode.yaml +0 -0
  147. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/deploy_spdk.yaml +0 -0
  148. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/is_up.py +0 -0
  149. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/list_deps.py +0 -0
  150. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/rpac.yaml +0 -0
  151. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/static/tst.py +0 -0
  152. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
  153. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
  154. {sbcli_hmdi-0.0.9 → sbcli_hmdi-0.0.11}/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.9
3
+ Version: 0.0.11
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.9
3
+ Version: 0.0.11
4
4
  Summary: CLI for managing SimplyBlock cluster
5
5
  Home-page: https://www.simplyblock.io/
6
6
  Author: Hamdy
@@ -527,7 +527,7 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
527
527
  logger.error(msg)
528
528
  return False, msg
529
529
 
530
- lvol_bdev, error = add_lvol_on_node(lvol, sec_node)
530
+ lvol_bdev, error = add_lvol_on_node(lvol, sec_node, ha_inode_self=1, sec_is_prime=True)
531
531
  if error:
532
532
  lvol.remove(db_controller.kv_store)
533
533
  return False, error
@@ -546,7 +546,7 @@ def add_lvol_ha(name, size, host_id_or_name, ha_type, pool_id_or_name, use_comp,
546
546
  return lvol.uuid, None
547
547
 
548
548
 
549
- def _create_bdev_stack(lvol, snode):
549
+ def _create_bdev_stack(lvol, snode, sec_is_prime=False):
550
550
  rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
551
551
 
552
552
  created_bdevs = []
@@ -569,14 +569,14 @@ def _create_bdev_stack(lvol, snode):
569
569
  ret = rpc_client.create_lvstore(**params)
570
570
 
571
571
  elif type == "bdev_lvol":
572
- if snode.is_secondary_node:
572
+ if snode.is_secondary_node and not sec_is_prime:
573
573
  ret = rpc_client.bdev_lvol_register(
574
574
  lvol.lvol_bdev, lvol.lvs_name, lvol.lvol_uuid, lvol.blobid, lvol.lvol_priority_class)
575
575
  else:
576
576
  ret = rpc_client.create_lvol(**params)
577
577
 
578
578
  elif type == "bdev_lvol_clone":
579
- if snode.is_secondary_node:
579
+ if snode.is_secondary_node and not sec_is_prime:
580
580
  ret = rpc_client.bdev_lvol_clone_register(
581
581
  lvol.lvol_bdev, lvol.snapshot_name, lvol.lvol_uuid, lvol.blobid)
582
582
  else:
@@ -598,24 +598,24 @@ def _create_bdev_stack(lvol, snode):
598
598
  return True, None
599
599
 
600
600
 
601
- def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=0):
601
+ def add_lvol_on_node(lvol, snode, ha_comm_addrs=None, ha_inode_self=0, sec_is_prime=False):
602
602
  rpc_client = RPCClient(snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
603
603
 
604
- if snode.is_secondary_node:
604
+ if snode.is_secondary_node and not sec_is_prime:
605
605
  rpc_client.bdev_lvol_set_leader(False, lvs_name=lvol.lvs_name)
606
606
 
607
607
  else:
608
608
 
609
- lvol_count = len(db_controller.get_lvols_by_node_id(snode.get_id()))
610
- if lvol_count >= snode.max_lvol:
611
- error = f"Too many lvols on node: {snode.get_id()}, max lvols reached: {lvol_count}"
612
- logger.error(error)
613
- return False, error
609
+ if not sec_is_prime:
610
+ lvol_count = len(db_controller.get_lvols_by_node_id(snode.get_id()))
611
+ if lvol_count >= snode.max_lvol:
612
+ error = f"Too many lvols on node: {snode.get_id()}, max lvols reached: {lvol_count}"
613
+ logger.error(error)
614
+ return False, error
614
615
 
615
616
  rpc_client.bdev_lvol_set_leader(True, lvs_name=lvol.lvs_name)
616
617
 
617
-
618
- ret, msg = _create_bdev_stack(lvol, snode)
618
+ ret, msg = _create_bdev_stack(lvol, snode, sec_is_prime)
619
619
  if not ret:
620
620
  return False, msg
621
621
 
@@ -1165,33 +1165,48 @@ def resize_lvol(id, new_size):
1165
1165
  logger.info(f"Resizing LVol: {lvol.get_id()} on primary node: {snode.get_id()}")
1166
1166
  logger.info(f"Current size: {utils.humanbytes(lvol.size)}, new size: {utils.humanbytes(new_size)}")
1167
1167
 
1168
- # creating RPCClient instance
1169
- rpc_client = RPCClient(
1170
- snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
1171
- rpc_client.bdev_lvol_set_leader(True, lvs_name=lvol.lvs_name)
1172
- size_in_mib = int(new_size / (1000*1000))
1173
- ret = rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1174
- if not ret:
1175
- logger.error(f"Error resizing lvol on node: {snode.get_id()}")
1176
- return False
1168
+ size_in_mib = int(new_size / (1000 * 1000))
1177
1169
 
1178
- if lvol.ha_type == "ha":
1179
- sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
1180
- if sec_node and sec_node.status == StorageNode.STATUS_ONLINE:
1181
- sec_node_rpc_client = RPCClient(
1182
- sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password)
1183
- time.sleep(3)
1184
- logger.info(f"Resizing LVol: {lvol.get_id()} on secondary node: {sec_node.get_id()}")
1185
- sec_node_rpc_client.bdev_lvol_set_leader(False, lvs_name=lvol.lvs_name)
1186
- ret = sec_node_rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1187
- if not ret:
1188
- logger.error(f"Error resizing lvol on node: {sec_node.get_id()}")
1189
- logger.info(f"Revert size on node {snode.get_id()}")
1190
- size_in_mib = int(lvol.size / (1000 * 1000))
1191
- ret = rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1170
+ if snode.status == StorageNode.STATUS_ONLINE:
1171
+
1172
+ rpc_client = RPCClient(
1173
+ snode.mgmt_ip, snode.rpc_port, snode.rpc_username, snode.rpc_password)
1174
+ rpc_client.bdev_lvol_set_leader(True, lvs_name=lvol.lvs_name)
1175
+ ret = rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1176
+ if not ret:
1177
+ logger.error(f"Error resizing lvol on node: {snode.get_id()}")
1178
+ return False
1179
+
1180
+ if lvol.ha_type == "ha":
1181
+ sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
1182
+ if sec_node and sec_node.status == StorageNode.STATUS_ONLINE:
1183
+ sec_node_rpc_client = RPCClient(
1184
+ sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password)
1185
+ time.sleep(3)
1186
+ logger.info(f"Resizing LVol: {lvol.get_id()} on secondary node: {sec_node.get_id()}")
1187
+ sec_node_rpc_client.bdev_lvol_set_leader(False, lvs_name=lvol.lvs_name)
1188
+ ret = sec_node_rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1192
1189
  if not ret:
1193
- logger.error(f"Failed to revert size for lvol on node {snode.get_id()}, LVol current size: {utils.humanbytes(new_size)}")
1194
- return False
1190
+ logger.error(f"Error resizing lvol on node: {sec_node.get_id()}")
1191
+ logger.info(f"Revert size on node {snode.get_id()}")
1192
+ size_in_mib = int(lvol.size / (1000 * 1000))
1193
+ ret = rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1194
+ if not ret:
1195
+ logger.error(f"Failed to revert size for lvol on node {snode.get_id()}, LVol current size: {utils.humanbytes(new_size)}")
1196
+ return False
1197
+
1198
+ else:
1199
+ sec_node = db_controller.get_storage_node_by_id(snode.secondary_node_id)
1200
+ if not sec_node or sec_node.status != StorageNode.STATUS_ONLINE:
1201
+ msg = f"Host nodes are not online"
1202
+ logger.error(msg)
1203
+ return False
1204
+
1205
+ sec_rpc_client = RPCClient(sec_node.mgmt_ip, sec_node.rpc_port, sec_node.rpc_username, sec_node.rpc_password)
1206
+ ret = sec_rpc_client.bdev_lvol_resize(f"{lvol.lvs_name}/{lvol.lvol_bdev}", size_in_mib)
1207
+ if not ret:
1208
+ logger.error(f"Error resizing lvol on node: {sec_node.get_id()}")
1209
+ return False
1195
1210
 
1196
1211
  lvol = db_controller.get_lvol_by_id(id)
1197
1212
  lvol.size = new_size
@@ -452,7 +452,7 @@ def clone(snapshot_id, clone_name, new_size=0):
452
452
  logger.error(msg)
453
453
  return False, msg
454
454
 
455
- lvol_bdev, error = lvol_controller.add_lvol_on_node(lvol, sec_node)
455
+ lvol_bdev, error = lvol_controller.add_lvol_on_node(lvol, sec_node, ha_inode_self=1, sec_is_prime=True)
456
456
  if error:
457
457
  return False, error
458
458
  lvol.nodes = [snode.get_id(), sec_node.get_id()]
@@ -1,5 +1,5 @@
1
1
  SIMPLY_BLOCK_COMMAND_NAME=sbcli-hmdi
2
- SIMPLY_BLOCK_VERSION=0.0.9
2
+ SIMPLY_BLOCK_VERSION=0.0.11
3
3
 
4
4
  SIMPLY_BLOCK_DOCKER_IMAGE=public.ecr.aws/simply-block/simplyblock:hmdi
5
5
  DOCKER_USER=hamdysimplyblock
File without changes
File without changes
File without changes
File without changes
File without changes