sbcli-dev 19.2.27__tar.gz → 19.2.30__tar.gz
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.
- {sbcli_dev-19.2.27/sbcli_dev.egg-info → sbcli_dev-19.2.30}/PKG-INFO +2 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/requirements.txt +1 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30/sbcli_dev.egg-info}/PKG-INFO +2 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/sbcli_dev.egg-info/SOURCES.txt +11 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/sbcli_dev.egg-info/requires.txt +1 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_cli/cli.py +22 -9
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_cli/clibase.py +59 -33
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/cluster_ops.py +138 -80
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/constants.py +19 -8
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/cluster_events.py +28 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/device_controller.py +217 -144
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/device_events.py +20 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/health_controller.py +148 -83
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/lvol_controller.py +24 -25
- sbcli_dev-19.2.30/simplyblock_core/controllers/lvol_events.py +119 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/pool_controller.py +32 -10
- sbcli_dev-19.2.30/simplyblock_core/controllers/pool_events.py +53 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/snapshot_controller.py +10 -1
- sbcli_dev-19.2.30/simplyblock_core/controllers/storage_events.py +150 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/tasks_controller.py +34 -20
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/db_controller.py +9 -3
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/distr_controller.py +55 -40
- sbcli_dev-19.2.30/simplyblock_core/env_var +6 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/fw_api_client.py +3 -2
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/mgmt_node_ops.py +2 -8
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/cluster.py +3 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/nvme_device.py +36 -7
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/pool.py +6 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/storage_node.py +78 -5
- sbcli_dev-19.2.30/simplyblock_core/prom_client.py +130 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/rpc_client.py +29 -12
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/Chart.yaml +2 -3
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockdevices.yaml +135 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblocklvols.yaml +144 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockpools.yaml +96 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockstorageclusters.yaml +173 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockstoragenodes.yaml +204 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblocktasks.yaml +84 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/_helpers.tpl +21 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/app_configmap.yaml +8 -5
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/app_ingress.yaml +4 -2
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/app_k8s.yaml +497 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/app_sa.yaml +12 -5
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/csi-hostpath-plugin.yaml +0 -2
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/dashboards.yaml +12515 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/foundationdb.yaml +0 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/mongodb.yaml +3 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/monitoring_configmap.yaml +3 -11
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/monitoring_ingress.yaml +4 -3
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/monitoring_k8s.yaml +32 -118
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/monitoring_secret.yaml +23 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/monitoring_svc.yaml +5 -30
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/simplyblock-manager.yaml +196 -0
- sbcli_dev-19.2.30/simplyblock_core/scripts/charts/templates/simplyblock_customresource.yaml +145 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/values.yaml +56 -17
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/config_docker.sh +1 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/docker-compose-swarm.yml +1 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/haproxy.cfg +10 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/install_deps.sh +3 -3
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/capacity_and_stats_collector.py +37 -19
- sbcli_dev-19.2.30/simplyblock_core/services/health_check_service.py +284 -0
- sbcli_dev-19.2.30/simplyblock_core/services/lvol_monitor.py +370 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/lvol_stat_collector.py +63 -55
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/main_distr_event_collector.py +50 -44
- sbcli_dev-19.2.30/simplyblock_core/services/snapshot_monitor.py +264 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/spdk_http_proxy_server.py +67 -7
- sbcli_dev-19.2.30/simplyblock_core/services/storage_node_monitor.py +447 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_failed_migration.py +6 -2
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_jc_comp.py +11 -5
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_migration.py +14 -17
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_new_dev_migration.py +6 -2
- sbcli_dev-19.2.30/simplyblock_core/services/tasks_runner_node_add.py +79 -0
- sbcli_dev-19.2.30/simplyblock_core/services/tasks_runner_port_allow.py +260 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_restart.py +34 -18
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_runner_sync_lvol_del.py +6 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/snode_client.py +13 -6
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/storage_node_ops.py +427 -364
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/test/test_utils.py +54 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/utils/__init__.py +771 -70
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/internal/storage_node/docker.py +16 -7
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/internal/storage_node/kubernetes.py +12 -5
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/__init__.py +24 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/cluster.py +56 -1
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/pool.py +8 -27
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/storage_node.py +5 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/__init__.py +4 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/cluster.py +31 -12
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/device.py +22 -8
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/dtos.py +92 -16
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/pool.py +25 -13
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/storage_node.py +41 -18
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/task.py +7 -8
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/volume.py +13 -6
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/auth_middleware.py +4 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/node_configure.py +113 -65
- sbcli_dev-19.2.30/simplyblock_web/static/openapi.json +1 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/storage_core_isolation.yaml.j2 +6 -6
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +31 -6
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/storage_init_job.yaml.j2 +22 -9
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/utils.py +1 -1
- sbcli_dev-19.2.27/simplyblock_core/controllers/lvol_events.py +0 -45
- sbcli_dev-19.2.27/simplyblock_core/controllers/pool_events.py +0 -31
- sbcli_dev-19.2.27/simplyblock_core/controllers/storage_events.py +0 -74
- sbcli_dev-19.2.27/simplyblock_core/env_var +0 -6
- sbcli_dev-19.2.27/simplyblock_core/scripts/charts/templates/app_k8s.yaml +0 -1149
- sbcli_dev-19.2.27/simplyblock_core/scripts/charts/templates/dashboards.yaml +0 -27307
- sbcli_dev-19.2.27/simplyblock_core/scripts/charts/templates/monitoring_secret.yaml +0 -23
- sbcli_dev-19.2.27/simplyblock_core/services/health_check_service.py +0 -264
- sbcli_dev-19.2.27/simplyblock_core/services/lvol_monitor.py +0 -353
- sbcli_dev-19.2.27/simplyblock_core/services/snapshot_monitor.py +0 -267
- sbcli_dev-19.2.27/simplyblock_core/services/storage_node_monitor.py +0 -420
- sbcli_dev-19.2.27/simplyblock_core/services/tasks_runner_node_add.py +0 -58
- sbcli_dev-19.2.27/simplyblock_core/services/tasks_runner_port_allow.py +0 -227
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/LICENSE +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/README.md +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/pyproject.toml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/sbcli_dev.egg-info/dependency_links.txt +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/sbcli_dev.egg-info/entry_points.txt +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/sbcli_dev.egg-info/top_level.txt +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/setup.cfg +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/setup.py +0 -0
- {sbcli_dev-19.2.27/simplyblock_web/test → sbcli_dev-19.2.30/simplyblock_cli}/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_cli/main.py +0 -0
- {sbcli_dev-19.2.27/simplyblock_web → sbcli_dev-19.2.30/simplyblock_core}/__init__.py +0 -0
- {sbcli_dev-19.2.27/simplyblock_core/scripts/helpers → sbcli_dev-19.2.30/simplyblock_core/controllers}/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/events_controller.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/mgmt_events.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/qos_controller.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/snapshot_events.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/tasks_events.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/controllers/tcp_ports_events.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/base_model.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/events.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/hublvol.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/iface.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/job_schedule.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/lvol_model.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/mgmt_node.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/port_stat.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/qos.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/snapshot.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/models/stats.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/alerting/alert_rules.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/.helmignore +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbbackups.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbclusters.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbrestores.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/app_svc.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/clusterrole.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/csi-hostpath-driverinfo.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/charts/templates/storage_class.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/clean_local_storage_deploy.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboard.yml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/cluster.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/devices.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/lvols.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/node-exporter.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/nodes.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/dashboards/pools.json +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/datasource.yml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/db_config_double.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/db_config_single.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/deploy_fdb.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/deploy_stack.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/foundation.yml +0 -0
- {sbcli_dev-19.2.27/simplyblock_core/controllers → sbcli_dev-19.2.30/simplyblock_core/scripts/helpers}/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/helpers/deploy_cluster.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/helpers/destroy_cluster.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/helpers/nvme_disconnect_by_ip.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/objstore.yml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/prepare_fdb.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/prometheus.yml.j2 +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/run_ssh.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/set_db_config.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/scripts/stack_deploy_wait.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/cap_monitor.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/device_monitor.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/install_service.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/mgmt_node_monitor.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/new_device_discovery.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/remove_service.sh +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/service_template.service +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/services/tasks_cluster_status.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/shell_utils.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/test/test_models.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/utils/helpers.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/utils/pci.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_core/workers/cleanup_foundationdb.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/README.md +0 -0
- {sbcli_dev-19.2.27/simplyblock_core → sbcli_dev-19.2.30/simplyblock_web}/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/internal/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/internal/node_api_basic.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/internal/storage_node/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/device.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/lvol.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/metrics.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/mgmt_node.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/snapshot.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/static/swagger.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v1/swagger_ui.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/management_node.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/snapshot.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/api/v2/util.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/app.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/node_utils.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/node_utils_k8s.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/node_webapp.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/delete.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/deploy.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/deploy_cnode.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/deploy_spdk.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/is_up.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/list_deps.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/rpac.yaml +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/static/tst.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/oc_storage_core_isolation.yaml.j2 +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/templates/ubuntu_kernel_extra.yaml.j2 +0 -0
- {sbcli_dev-19.2.27/simplyblock_cli → sbcli_dev-19.2.30/simplyblock_web/test}/__init__.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/test/conftest.py +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/test/pytest.ini +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/test/requirements.txt +0 -0
- {sbcli_dev-19.2.27 → sbcli_dev-19.2.30}/simplyblock_web/test/util.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sbcli-dev
|
|
3
|
-
Version: 19.2.
|
|
3
|
+
Version: 19.2.30
|
|
4
4
|
Summary: CLI for managing SimplyBlock cluster
|
|
5
5
|
Home-page: https://www.simplyblock.io/
|
|
6
6
|
Author: Hamdy
|
|
@@ -33,6 +33,7 @@ Requires-Dist: flask-openapi3
|
|
|
33
33
|
Requires-Dist: jsonschema
|
|
34
34
|
Requires-Dist: fastapi
|
|
35
35
|
Requires-Dist: uvicorn
|
|
36
|
+
Requires-Dist: prometheus_api_client
|
|
36
37
|
Dynamic: author
|
|
37
38
|
Dynamic: author-email
|
|
38
39
|
Dynamic: description
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: sbcli-dev
|
|
3
|
-
Version: 19.2.
|
|
3
|
+
Version: 19.2.30
|
|
4
4
|
Summary: CLI for managing SimplyBlock cluster
|
|
5
5
|
Home-page: https://www.simplyblock.io/
|
|
6
6
|
Author: Hamdy
|
|
@@ -33,6 +33,7 @@ Requires-Dist: flask-openapi3
|
|
|
33
33
|
Requires-Dist: jsonschema
|
|
34
34
|
Requires-Dist: fastapi
|
|
35
35
|
Requires-Dist: uvicorn
|
|
36
|
+
Requires-Dist: prometheus_api_client
|
|
36
37
|
Dynamic: author
|
|
37
38
|
Dynamic: author-email
|
|
38
39
|
Dynamic: description
|
|
@@ -21,6 +21,7 @@ simplyblock_core/distr_controller.py
|
|
|
21
21
|
simplyblock_core/env_var
|
|
22
22
|
simplyblock_core/fw_api_client.py
|
|
23
23
|
simplyblock_core/mgmt_node_ops.py
|
|
24
|
+
simplyblock_core/prom_client.py
|
|
24
25
|
simplyblock_core/rpc_client.py
|
|
25
26
|
simplyblock_core/shell_utils.py
|
|
26
27
|
simplyblock_core/snode_client.py
|
|
@@ -87,6 +88,13 @@ simplyblock_core/scripts/charts/values.yaml
|
|
|
87
88
|
simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbbackups.yaml
|
|
88
89
|
simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbclusters.yaml
|
|
89
90
|
simplyblock_core/scripts/charts/crds/apps.foundationdb.org_foundationdbrestores.yaml
|
|
91
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockdevices.yaml
|
|
92
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblocklvols.yaml
|
|
93
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockpools.yaml
|
|
94
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockstorageclusters.yaml
|
|
95
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblockstoragenodes.yaml
|
|
96
|
+
simplyblock_core/scripts/charts/crds/simplyblock.simplyblock.io_simplyblocktasks.yaml
|
|
97
|
+
simplyblock_core/scripts/charts/templates/_helpers.tpl
|
|
90
98
|
simplyblock_core/scripts/charts/templates/app_configmap.yaml
|
|
91
99
|
simplyblock_core/scripts/charts/templates/app_ingress.yaml
|
|
92
100
|
simplyblock_core/scripts/charts/templates/app_k8s.yaml
|
|
@@ -103,6 +111,8 @@ simplyblock_core/scripts/charts/templates/monitoring_ingress.yaml
|
|
|
103
111
|
simplyblock_core/scripts/charts/templates/monitoring_k8s.yaml
|
|
104
112
|
simplyblock_core/scripts/charts/templates/monitoring_secret.yaml
|
|
105
113
|
simplyblock_core/scripts/charts/templates/monitoring_svc.yaml
|
|
114
|
+
simplyblock_core/scripts/charts/templates/simplyblock-manager.yaml
|
|
115
|
+
simplyblock_core/scripts/charts/templates/simplyblock_customresource.yaml
|
|
106
116
|
simplyblock_core/scripts/charts/templates/storage_class.yaml
|
|
107
117
|
simplyblock_core/scripts/dashboards/cluster.json
|
|
108
118
|
simplyblock_core/scripts/dashboards/devices.json
|
|
@@ -188,6 +198,7 @@ simplyblock_web/static/deploy_cnode.yaml
|
|
|
188
198
|
simplyblock_web/static/deploy_spdk.yaml
|
|
189
199
|
simplyblock_web/static/is_up.py
|
|
190
200
|
simplyblock_web/static/list_deps.py
|
|
201
|
+
simplyblock_web/static/openapi.json
|
|
191
202
|
simplyblock_web/static/rpac.yaml
|
|
192
203
|
simplyblock_web/static/tst.py
|
|
193
204
|
simplyblock_web/templates/caching_deploy_spdk.yaml.j2
|
|
@@ -5,7 +5,7 @@ import logging
|
|
|
5
5
|
import sys
|
|
6
6
|
import traceback
|
|
7
7
|
|
|
8
|
-
from simplyblock_cli.clibase import CLIWrapperBase, range_type,
|
|
8
|
+
from simplyblock_cli.clibase import CLIWrapperBase, range_type, size_type
|
|
9
9
|
from simplyblock_core import utils
|
|
10
10
|
|
|
11
11
|
class CLIWrapper(CLIWrapperBase):
|
|
@@ -36,6 +36,7 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
36
36
|
self.init_storage_node__configure(subparser)
|
|
37
37
|
self.init_storage_node__configure_upgrade(subparser)
|
|
38
38
|
self.init_storage_node__deploy_cleaner(subparser)
|
|
39
|
+
self.init_storage_node__clean_devices(subparser)
|
|
39
40
|
self.init_storage_node__add_node(subparser)
|
|
40
41
|
self.init_storage_node__delete(subparser)
|
|
41
42
|
self.init_storage_node__remove(subparser)
|
|
@@ -51,7 +52,6 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
51
52
|
if self.developer_mode:
|
|
52
53
|
self.init_storage_node__device_testing_mode(subparser)
|
|
53
54
|
self.init_storage_node__get_device(subparser)
|
|
54
|
-
self.init_storage_node__reset_device(subparser)
|
|
55
55
|
self.init_storage_node__restart_device(subparser)
|
|
56
56
|
self.init_storage_node__add_device(subparser)
|
|
57
57
|
self.init_storage_node__remove_device(subparser)
|
|
@@ -77,6 +77,7 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
77
77
|
self.init_storage_node__dump_lvstore(subparser)
|
|
78
78
|
if self.developer_mode:
|
|
79
79
|
self.init_storage_node__set(subparser)
|
|
80
|
+
self.init_storage_node__new_device_from_failed(subparser)
|
|
80
81
|
|
|
81
82
|
|
|
82
83
|
def init_storage_node__deploy(self, subparser):
|
|
@@ -87,11 +88,15 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
87
88
|
def init_storage_node__configure(self, subparser):
|
|
88
89
|
subcommand = self.add_sub_command(subparser, 'configure', 'Prepare a configuration file to be used when adding the storage node')
|
|
89
90
|
argument = subcommand.add_argument('--max-lvol', help='Max logical volume per storage node', type=int, dest='max_lvol', required=True)
|
|
90
|
-
argument = subcommand.add_argument('--max-size', help='Maximum amount of GB to be utilized on this storage node', type=str, dest='max_prov', required=
|
|
91
|
+
argument = subcommand.add_argument('--max-size', help='Maximum amount of GB to be utilized on this storage node', type=str, dest='max_prov', required=False)
|
|
91
92
|
argument = subcommand.add_argument('--nodes-per-socket', help='number of each node to be added per each socket.', type=int, default=1, dest='nodes_per_socket')
|
|
92
93
|
argument = subcommand.add_argument('--sockets-to-use', help='The system socket to use when adding the storage nodes', type=str, default='0', dest='sockets_to_use')
|
|
94
|
+
argument = subcommand.add_argument('--cores-percentage', help='The percentage of cores to be used for spdk (0-99)', type=range_type(0, 99), default=0, dest='cores_percentage')
|
|
93
95
|
argument = subcommand.add_argument('--pci-allowed', help='Comma separated list of PCI addresses of Nvme devices to use for storage devices.', type=str, default='', dest='pci_allowed', required=False)
|
|
94
96
|
argument = subcommand.add_argument('--pci-blocked', help='Comma separated list of PCI addresses of Nvme devices to not use for storage devices', type=str, default='', dest='pci_blocked', required=False)
|
|
97
|
+
argument = subcommand.add_argument('--device-model', help='NVMe SSD model string, example: --model PM1628, --device-model and --size-range must be set together', type=str, default='', dest='device_model', required=False)
|
|
98
|
+
argument = subcommand.add_argument('--size-range', help='NVMe SSD device size range separated by -, can be X(m,g,t) or bytes as integer, example: --size-range 50G-1T or --size-range 1232345-67823987, --device-model and --size-range must be set together', type=str, default='', dest='size_range', required=False)
|
|
99
|
+
argument = subcommand.add_argument('--force', help='Force format detected or passed nvme pci address to 4K and clean partitions', dest='force', action='store_true')
|
|
95
100
|
|
|
96
101
|
def init_storage_node__configure_upgrade(self, subparser):
|
|
97
102
|
subcommand = self.add_sub_command(subparser, 'configure-upgrade', 'Upgrade the automated configuration file with new changes of cpu mask or storage devices')
|
|
@@ -99,6 +104,10 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
99
104
|
def init_storage_node__deploy_cleaner(self, subparser):
|
|
100
105
|
subcommand = self.add_sub_command(subparser, 'deploy-cleaner', 'Cleans a previous simplyblock deploy (local run)')
|
|
101
106
|
|
|
107
|
+
def init_storage_node__clean_devices(self, subparser):
|
|
108
|
+
subcommand = self.add_sub_command(subparser, 'clean-devices', 'clean devices stored in /etc/simplyblock/sn_config_file (local run)')
|
|
109
|
+
argument = subcommand.add_argument('--config-path', help='Config path to read stored nvme devices from', type=str, default='/etc/simplyblock/sn_config_file', dest='config_path', required=False)
|
|
110
|
+
|
|
102
111
|
def init_storage_node__add_node(self, subparser):
|
|
103
112
|
subcommand = self.add_sub_command(subparser, 'add-node', 'Adds a storage node by its IP address')
|
|
104
113
|
subcommand.add_argument('cluster_id', help='Cluster id', type=str)
|
|
@@ -210,13 +219,10 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
210
219
|
subcommand = self.add_sub_command(subparser, 'get-device', 'Gets storage device by its id')
|
|
211
220
|
subcommand.add_argument('device_id', help='Device id', type=str)
|
|
212
221
|
|
|
213
|
-
def init_storage_node__reset_device(self, subparser):
|
|
214
|
-
subcommand = self.add_sub_command(subparser, 'reset-device', 'Resets a storage device')
|
|
215
|
-
subcommand.add_argument('device_id', help='Device id', type=str)
|
|
216
|
-
|
|
217
222
|
def init_storage_node__restart_device(self, subparser):
|
|
218
223
|
subcommand = self.add_sub_command(subparser, 'restart-device', 'Restarts a storage device')
|
|
219
224
|
subcommand.add_argument('device_id', help='Device id', type=str)
|
|
225
|
+
argument = subcommand.add_argument('--force', help='Force remove', dest='force', action='store_true')
|
|
220
226
|
|
|
221
227
|
def init_storage_node__add_device(self, subparser):
|
|
222
228
|
subcommand = self.add_sub_command(subparser, 'add-device', 'Adds a new storage device')
|
|
@@ -276,6 +282,7 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
276
282
|
subcommand = self.add_sub_command(subparser, 'restart-jm-device', 'Restarts a journaling device')
|
|
277
283
|
subcommand.add_argument('jm_device_id', help='Journaling device id', type=str)
|
|
278
284
|
argument = subcommand.add_argument('--force', help='Force device remove', dest='force', action='store_true')
|
|
285
|
+
argument = subcommand.add_argument('--format', help='Format the Alceml device used for JM device', dest='format', action='store_true')
|
|
279
286
|
|
|
280
287
|
def init_storage_node__send_cluster_map(self, subparser):
|
|
281
288
|
subcommand = self.add_sub_command(subparser, 'send-cluster-map', 'Sends a new cluster map')
|
|
@@ -299,6 +306,10 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
299
306
|
subcommand.add_argument('attr_name', help='attr_name', type=str)
|
|
300
307
|
subcommand.add_argument('attr_value', help='attr_value', type=str)
|
|
301
308
|
|
|
309
|
+
def init_storage_node__new_device_from_failed(self, subparser):
|
|
310
|
+
subcommand = self.add_sub_command(subparser, 'new-device-from-failed', 'Adds a new device to from failed device information')
|
|
311
|
+
subcommand.add_argument('device_id', help='Device id', type=str)
|
|
312
|
+
|
|
302
313
|
|
|
303
314
|
def init_cluster(self):
|
|
304
315
|
subparser = self.add_command('cluster', 'Cluster commands')
|
|
@@ -809,6 +820,8 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
809
820
|
ret = self.storage_node__configure_upgrade(sub_command, args)
|
|
810
821
|
elif sub_command in ['deploy-cleaner']:
|
|
811
822
|
ret = self.storage_node__deploy_cleaner(sub_command, args)
|
|
823
|
+
elif sub_command in ['clean-devices']:
|
|
824
|
+
ret = self.storage_node__clean_devices(sub_command, args)
|
|
812
825
|
elif sub_command in ['add-node']:
|
|
813
826
|
if not self.developer_mode:
|
|
814
827
|
args.jm_percent = 3
|
|
@@ -860,8 +873,6 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
860
873
|
ret = self.storage_node__device_testing_mode(sub_command, args)
|
|
861
874
|
elif sub_command in ['get-device']:
|
|
862
875
|
ret = self.storage_node__get_device(sub_command, args)
|
|
863
|
-
elif sub_command in ['reset-device']:
|
|
864
|
-
ret = self.storage_node__reset_device(sub_command, args)
|
|
865
876
|
elif sub_command in ['restart-device']:
|
|
866
877
|
ret = self.storage_node__restart_device(sub_command, args)
|
|
867
878
|
elif sub_command in ['add-device']:
|
|
@@ -924,6 +935,8 @@ class CLIWrapper(CLIWrapperBase):
|
|
|
924
935
|
ret = False
|
|
925
936
|
else:
|
|
926
937
|
ret = self.storage_node__set(sub_command, args)
|
|
938
|
+
elif sub_command in ['new-device-from-failed']:
|
|
939
|
+
ret = self.storage_node__new_device_from_failed(sub_command, args)
|
|
927
940
|
else:
|
|
928
941
|
self.parser.print_help()
|
|
929
942
|
|
|
@@ -87,8 +87,7 @@ class CLIWrapperBase:
|
|
|
87
87
|
def storage_node__configure(self, sub_command, args):
|
|
88
88
|
if not args.max_lvol:
|
|
89
89
|
self.parser.error(f"Mandatory argument '--max-lvol' not provided for {sub_command}")
|
|
90
|
-
|
|
91
|
-
self.parser.error(f"Mandatory argument '--max-size' not provided for {sub_command}")
|
|
90
|
+
max_size = getattr(args, "max_prov") or 0
|
|
92
91
|
sockets_to_use = [0]
|
|
93
92
|
if args.sockets_to_use:
|
|
94
93
|
try:
|
|
@@ -101,21 +100,38 @@ class CLIWrapperBase:
|
|
|
101
100
|
self.parser.error(f"nodes_per_socket {args.nodes_per_socket}must be either 1 or 2")
|
|
102
101
|
if args.pci_allowed and args.pci_blocked:
|
|
103
102
|
self.parser.error("pci-allowed and pci-blocked cannot be both specified")
|
|
104
|
-
max_prov = utils.parse_size(
|
|
103
|
+
max_prov = utils.parse_size(max_size, assume_unit='G')
|
|
105
104
|
pci_allowed = []
|
|
106
105
|
pci_blocked = []
|
|
107
106
|
if args.pci_allowed:
|
|
108
107
|
pci_allowed = [str(x) for x in args.pci_allowed.split(',')]
|
|
109
108
|
if args.pci_blocked:
|
|
110
109
|
pci_blocked = [str(x) for x in args.pci_blocked.split(',')]
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
if (args.device_model and not args.size_range) or (not args.device_model and args.size_range):
|
|
111
|
+
self.parser.error("device_model and size_range must be set together")
|
|
112
|
+
use_pci_allowed = bool(args.pci_allowed)
|
|
113
|
+
use_pci_blocked = bool(args.pci_blocked)
|
|
114
|
+
use_model_range = bool(args.device_model and args.size_range)
|
|
115
|
+
if sum([use_pci_allowed, use_pci_blocked, use_model_range]) > 1:
|
|
116
|
+
self.parser.error(
|
|
117
|
+
"Options --pci-allowed, --pci-blocked, and "
|
|
118
|
+
"(--device-model with --size-range) are mutually exclusive; choose only one."
|
|
119
|
+
)
|
|
120
|
+
cores_percentage = int(args.cores_percentage)
|
|
121
|
+
|
|
122
|
+
return storage_ops.generate_automated_deployment_config(
|
|
123
|
+
args.max_lvol, max_prov, sockets_to_use,args.nodes_per_socket,
|
|
124
|
+
pci_allowed, pci_blocked, force=args.force, device_model=args.device_model,
|
|
125
|
+
size_range=args.size_range, cores_percentage=cores_percentage)
|
|
114
126
|
|
|
115
127
|
def storage_node__deploy_cleaner(self, sub_command, args):
|
|
116
128
|
storage_ops.deploy_cleaner()
|
|
117
129
|
return True # remove once CLI changed to exceptions
|
|
118
130
|
|
|
131
|
+
def storage_node__clean_devices(self, sub_command, args):
|
|
132
|
+
storage_ops.clean_devices(args.config_path)
|
|
133
|
+
return True # remove once CLI changed to exceptions
|
|
134
|
+
|
|
119
135
|
def storage_node__add_node(self, sub_command, args):
|
|
120
136
|
cluster_id = args.cluster_id
|
|
121
137
|
node_addr = args.node_addr
|
|
@@ -134,26 +150,29 @@ class CLIWrapperBase:
|
|
|
134
150
|
enable_ha_jm = args.enable_ha_jm
|
|
135
151
|
namespace = args.namespace
|
|
136
152
|
ha_jm_count = args.ha_jm_count
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
153
|
+
try:
|
|
154
|
+
out = storage_ops.add_node(
|
|
155
|
+
cluster_id=cluster_id,
|
|
156
|
+
node_addr=node_addr,
|
|
157
|
+
iface_name=ifname,
|
|
158
|
+
data_nics_list=data_nics,
|
|
159
|
+
max_snap=max_snap,
|
|
160
|
+
spdk_image=spdk_image,
|
|
161
|
+
spdk_debug=spdk_debug,
|
|
162
|
+
small_bufsize=small_bufsize,
|
|
163
|
+
large_bufsize=large_bufsize,
|
|
164
|
+
num_partitions_per_dev=num_partitions_per_dev,
|
|
165
|
+
jm_percent=jm_percent,
|
|
166
|
+
enable_test_device=enable_test_device,
|
|
167
|
+
namespace=namespace,
|
|
168
|
+
enable_ha_jm=enable_ha_jm,
|
|
169
|
+
id_device_by_nqn=args.id_device_by_nqn,
|
|
170
|
+
partition_size=args.partition_size,
|
|
171
|
+
ha_jm_count=ha_jm_count,
|
|
172
|
+
)
|
|
173
|
+
except Exception as e:
|
|
174
|
+
print(e)
|
|
175
|
+
return False
|
|
157
176
|
|
|
158
177
|
return out
|
|
159
178
|
|
|
@@ -184,11 +203,15 @@ class CLIWrapperBase:
|
|
|
184
203
|
large_bufsize = args.large_bufsize
|
|
185
204
|
ssd_pcie = args.ssd_pcie
|
|
186
205
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
206
|
+
try:
|
|
207
|
+
return storage_ops.restart_storage_node(
|
|
208
|
+
node_id, max_lvol, max_snap, max_prov,
|
|
209
|
+
spdk_image, spdk_debug,
|
|
210
|
+
small_bufsize, large_bufsize, node_ip=args.node_ip, reattach_volume=reattach_volume, force=args.force,
|
|
211
|
+
new_ssd_pcie=ssd_pcie, force_lvol_recreate=args.force_lvol_recreate)
|
|
212
|
+
except Exception as e:
|
|
213
|
+
print(e)
|
|
214
|
+
return False
|
|
192
215
|
|
|
193
216
|
def storage_node__shutdown(self, sub_command, args):
|
|
194
217
|
return storage_ops.shutdown_storage_node(args.node_id, args.force)
|
|
@@ -233,7 +256,7 @@ class CLIWrapperBase:
|
|
|
233
256
|
return device_controller.reset_storage_device(args.device_id)
|
|
234
257
|
|
|
235
258
|
def storage_node__restart_device(self, sub_command, args):
|
|
236
|
-
return device_controller.restart_device(args.device_id)
|
|
259
|
+
return device_controller.restart_device(args.device_id, args.force)
|
|
237
260
|
|
|
238
261
|
def storage_node__add_device(self, sub_command, args):
|
|
239
262
|
return device_controller.add_device(args.device_id)
|
|
@@ -292,7 +315,7 @@ class CLIWrapperBase:
|
|
|
292
315
|
return device_controller.remove_jm_device(args.jm_device_id, args.force)
|
|
293
316
|
|
|
294
317
|
def storage_node__restart_jm_device(self, sub_command, args):
|
|
295
|
-
return device_controller.restart_jm_device(args.jm_device_id, args.force)
|
|
318
|
+
return device_controller.restart_jm_device(args.jm_device_id, args.force, args.format)
|
|
296
319
|
|
|
297
320
|
def storage_node__send_cluster_map(self, sub_command, args):
|
|
298
321
|
node_id = args.node_id
|
|
@@ -310,6 +333,9 @@ class CLIWrapperBase:
|
|
|
310
333
|
node_id = args.node_id
|
|
311
334
|
return storage_ops.dump_lvstore(node_id)
|
|
312
335
|
|
|
336
|
+
def storage_node__new_device_from_failed(self, sub_command, args):
|
|
337
|
+
return device_controller.new_device_from_failed(args.device_id)
|
|
338
|
+
|
|
313
339
|
def storage_node__set(self, sub_command, args):
|
|
314
340
|
return storage_ops.set_value(args.node_id, args.attr_name, args.attr_value)
|
|
315
341
|
|