sbcli-hmdi 0.0.55__tar.gz → 0.0.57__tar.gz
Sign up to get free protection for your applications and to get access to all the features.
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/PKG-INFO +1 -1
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/PKG-INFO +1 -1
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_cli/cli.py +3 -1
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/cluster_ops.py +35 -20
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/env_var +1 -1
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/storage_node_ops.py +8 -5
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/node_utils.py +2 -2
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/README.md +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/pyproject.toml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/requirements.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/SOURCES.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/dependency_links.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/entry_points.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/requires.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/sbcli_hmdi.egg-info/top_level.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/setup.cfg +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/setup.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_cli/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_cli/main.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/cnode_client.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/constants.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/caching_node_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/cluster_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/device_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/device_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/health_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/lvol_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/lvol_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/pool_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/pool_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/snapshot_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/storage_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/tasks_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/db_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/distr_controller.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/mgmt_node_ops.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/caching_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/cluster.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/deployer.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/events.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/iface.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/nvme_device.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/pool.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/stats.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/models/storage_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/pci_utils.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/rpc_client.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/config_docker.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/docker-compose-swarm.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/haproxy.cfg +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/install_deps.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/prometheus.yml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/cached_lvol_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/caching_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/capacity_and_stats_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/health_check_service.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/log_agg_service.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/lvol_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/lvol_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/main_distr_event_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/port_stat_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/spdk/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/spdk/client.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/spdk_http_proxy_server.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/spdk_stats_collector.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/storage_node_monitor.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_failed_migration.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_migration.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_new_dev_migration.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_node_add.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_restart.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/snode_client.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/utils.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/README.md +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/app.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/auth_middleware.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/__init__.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/caching_node_ops.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/caching_node_ops_k8s.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/node_api_basic.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/node_api_caching_docker.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/node_api_caching_ks.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/snode_ops.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/snode_ops_k8s.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_caching_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_cluster.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_deployer.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_device.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_lvol.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_mgmt_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_pool.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_snapshot.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/web_api_storage_node.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/caching_node_app.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/caching_node_app_k8s.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/requirements.txt +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/snode_app.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/snode_app_k8s.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/delete.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/static/tst.py +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +0 -0
- {sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/utils.py +0 -0
@@ -403,6 +403,8 @@ class CLIWrapper:
|
|
403
403
|
# update cluster
|
404
404
|
sub_command = self.add_sub_command(subparser, "update", 'Update cluster mgmt services')
|
405
405
|
sub_command.add_argument("id", help='cluster UUID').completer = self._completer_get_cluster_list
|
406
|
+
sub_command.add_argument("--mgmt-only", help='Update mgmt services only', dest='mgmt_only', type=bool, default=False)
|
407
|
+
sub_command.add_argument("--restart", help='Update mgmt services only', dest='restart', type=bool, default=False)
|
406
408
|
|
407
409
|
# graceful-shutdown storage nodes
|
408
410
|
sub_command = self.add_sub_command(subparser, "graceful-shutdown", 'Graceful shutdown of storage nodes')
|
@@ -1022,7 +1024,7 @@ class CLIWrapper:
|
|
1022
1024
|
elif sub_command == "get":
|
1023
1025
|
ret = cluster_ops.get_cluster(args.id)
|
1024
1026
|
elif sub_command == "update":
|
1025
|
-
ret = cluster_ops.update_cluster(args.id)
|
1027
|
+
ret = cluster_ops.update_cluster(args.id, mgmt_only=args.mgmt_only, restart_cluster=args.restart)
|
1026
1028
|
|
1027
1029
|
elif sub_command == "list-tasks":
|
1028
1030
|
ret = tasks_controller.list_tasks(args.cluster_id)
|
@@ -15,7 +15,7 @@ import docker
|
|
15
15
|
import requests
|
16
16
|
from jinja2 import Environment, FileSystemLoader
|
17
17
|
|
18
|
-
from simplyblock_core import utils, scripts, constants, mgmt_node_ops, storage_node_ops, distr_controller
|
18
|
+
from simplyblock_core import utils, scripts, constants, mgmt_node_ops, storage_node_ops, distr_controller, shell_utils
|
19
19
|
from simplyblock_core.controllers import cluster_events, device_controller, storage_events, pool_controller, \
|
20
20
|
lvol_controller
|
21
21
|
from simplyblock_core.db_controller import DBController
|
@@ -991,19 +991,25 @@ def get_cluster(cl_id):
|
|
991
991
|
return json.dumps(cluster.get_clean_dict(), indent=2, sort_keys=True)
|
992
992
|
|
993
993
|
|
994
|
-
def update_cluster(cl_id):
|
994
|
+
def update_cluster(cl_id, mgmt_only=False, restart_cluster=False):
|
995
995
|
db_controller = DBController()
|
996
996
|
cluster = db_controller.get_cluster_by_id(cl_id)
|
997
997
|
if not cluster:
|
998
998
|
logger.error(f"Cluster not found {cl_id}")
|
999
999
|
return False
|
1000
1000
|
|
1001
|
-
|
1002
|
-
|
1003
|
-
|
1004
|
-
|
1005
|
-
|
1006
|
-
|
1001
|
+
if cluster.status != Cluster.STATUS_ACTIVE:
|
1002
|
+
logger.error(f"Cluster is not active")
|
1003
|
+
return False
|
1004
|
+
|
1005
|
+
|
1006
|
+
try:
|
1007
|
+
sbcli=constants.SIMPLY_BLOCK_CLI_NAME
|
1008
|
+
out, _, ret_code = shell_utils.run_command(f"pip install {sbcli} --upgrade")
|
1009
|
+
if ret_code == 0:
|
1010
|
+
logger.info(f"{sbcli} upgraded")
|
1011
|
+
except Exception as e:
|
1012
|
+
logger.error(e)
|
1007
1013
|
|
1008
1014
|
try:
|
1009
1015
|
logger.info("Updating mgmt cluster")
|
@@ -1015,15 +1021,25 @@ def update_cluster(cl_id):
|
|
1015
1021
|
if image_without_tag in service.attrs['Spec']['Labels']['com.docker.stack.image']:
|
1016
1022
|
logger.info(f"Updating service {service.name}")
|
1017
1023
|
service.update(image=constants.SIMPLY_BLOCK_DOCKER_IMAGE, force_update=True)
|
1018
|
-
logger.info("Done")
|
1024
|
+
logger.info("Done updating mgmt cluster")
|
1019
1025
|
except Exception as e:
|
1020
1026
|
print(e)
|
1021
1027
|
|
1022
|
-
|
1023
|
-
|
1024
|
-
|
1025
|
-
|
1026
|
-
|
1028
|
+
if not mgmt_only:
|
1029
|
+
set_cluster_status(cl_id, Cluster.STATUS_SUSPENDED)
|
1030
|
+
logger.info("updating storage nodes")
|
1031
|
+
for node in db_controller.get_storage_nodes_by_cluster_id(cl_id):
|
1032
|
+
if node.status in [StorageNode.STATUS_ONLINE, StorageNode.STATUS_SUSPENDED]:
|
1033
|
+
try:
|
1034
|
+
storage_node_ops.start_storage_node_api_container(node.mgmt_ip)
|
1035
|
+
except Exception as e:
|
1036
|
+
logger.error(e)
|
1037
|
+
|
1038
|
+
if restart_cluster:
|
1039
|
+
logger.info("Restarting cluster")
|
1040
|
+
ret = cluster_grace_shutdown(cl_id)
|
1041
|
+
if ret:
|
1042
|
+
cluster_grace_startup(cl_id)
|
1027
1043
|
|
1028
1044
|
logger.info("Done")
|
1029
1045
|
return True
|
@@ -1059,13 +1075,12 @@ def cluster_grace_shutdown(cl_id):
|
|
1059
1075
|
|
1060
1076
|
st = db_controller.get_storage_nodes_by_cluster_id(cl_id)
|
1061
1077
|
for node in st:
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1078
|
+
if node.status == StorageNode.STATUS_ONLINE:
|
1079
|
+
logger.info(f"Suspending node: {node.get_id()}")
|
1080
|
+
storage_node_ops.suspend_storage_node(node.get_id())
|
1081
|
+
logger.info(f"Shutting down node: {node.get_id()}")
|
1082
|
+
storage_node_ops.shutdown_storage_node(node.get_id())
|
1066
1083
|
|
1067
|
-
logger.info(f"Suspending cluster: {cl_id}")
|
1068
|
-
suspend_cluster(cl_id)
|
1069
1084
|
return True
|
1070
1085
|
|
1071
1086
|
|
@@ -2577,18 +2577,21 @@ def deploy(ifname):
|
|
2577
2577
|
|
2578
2578
|
def start_storage_node_api_container(node_ip):
|
2579
2579
|
node_docker = docker.DockerClient(base_url=f"tcp://{node_ip}:2375", version="auto", timeout=60 * 5)
|
2580
|
+
|
2581
|
+
|
2582
|
+
|
2583
|
+
logger.info(f"Pulling image {constants.SIMPLY_BLOCK_DOCKER_IMAGE}")
|
2580
2584
|
node_docker.images.pull(constants.SIMPLY_BLOCK_DOCKER_IMAGE)
|
2581
2585
|
|
2586
|
+
logger.info("Recreating SNodeAPI container")
|
2587
|
+
|
2582
2588
|
# create the api container
|
2583
2589
|
nodes = node_docker.containers.list(all=True)
|
2584
2590
|
for node in nodes:
|
2585
2591
|
if node.attrs["Name"] == "/SNodeAPI":
|
2586
|
-
logger.info("SNodeAPI container found, removing...")
|
2587
2592
|
node.stop(timeout=1)
|
2588
2593
|
node.remove(force=True)
|
2589
|
-
# time.sleep(1)
|
2590
2594
|
|
2591
|
-
logger.info("Creating SNodeAPI container")
|
2592
2595
|
container = node_docker.containers.run(
|
2593
2596
|
constants.SIMPLY_BLOCK_DOCKER_IMAGE,
|
2594
2597
|
"python simplyblock_web/node_webapp.py storage_node",
|
@@ -2609,9 +2612,9 @@ def start_storage_node_api_container(node_ip):
|
|
2609
2612
|
f"DOCKER_IP={node_ip}"
|
2610
2613
|
]
|
2611
2614
|
)
|
2612
|
-
logger.info("Pulling
|
2613
|
-
logger.debug(constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE)
|
2615
|
+
logger.info(f"Pulling image {constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE}")
|
2614
2616
|
node_docker.images.pull(constants.SIMPLY_BLOCK_SPDK_ULTRA_IMAGE)
|
2617
|
+
return True
|
2615
2618
|
|
2616
2619
|
|
2617
2620
|
def deploy_cleaner():
|
@@ -196,8 +196,8 @@ def firewall_port(port_id=9090, port_type="tcp", block=True):
|
|
196
196
|
])
|
197
197
|
else:
|
198
198
|
cmd_list.extend([
|
199
|
-
f"iptables -A INPUT -p {port_type} --dport {port_id} -j ACCEPT",
|
200
|
-
f"iptables -A OUTPUT -p {port_type} --dport {port_id} -j ACCEPT",
|
199
|
+
# f"iptables -A INPUT -p {port_type} --dport {port_id} -j ACCEPT",
|
200
|
+
# f"iptables -A OUTPUT -p {port_type} --dport {port_id} -j ACCEPT",
|
201
201
|
"iptables -L -n -v",
|
202
202
|
])
|
203
203
|
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/controllers/caching_node_controller.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2
RENAMED
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/clean_local_storage_deploy.sh
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/dashboards/node-exporter.json
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/cached_lvol_stat_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/capacity_and_stats_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/main_distr_event_collector.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_failed_migration.py
RENAMED
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_core/services/tasks_runner_new_dev_migration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/blueprints/node_api_caching_docker.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2
RENAMED
File without changes
|
{sbcli_hmdi-0.0.55 → sbcli_hmdi-0.0.57}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2
RENAMED
File without changes
|
File without changes
|