sbcli-dev 5.1.7__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.

Potentially problematic release.


This version of sbcli-dev might be problematic. Click here for more details.

Files changed (149) hide show
  1. sbcli_dev-5.1.7/PKG-INFO +76 -0
  2. sbcli_dev-5.1.7/README.md +49 -0
  3. sbcli_dev-5.1.7/env_var +5 -0
  4. sbcli_dev-5.1.7/pyproject.toml +3 -0
  5. sbcli_dev-5.1.7/sbcli_dev.egg-info/PKG-INFO +76 -0
  6. sbcli_dev-5.1.7/sbcli_dev.egg-info/SOURCES.txt +147 -0
  7. sbcli_dev-5.1.7/sbcli_dev.egg-info/dependency_links.txt +1 -0
  8. sbcli_dev-5.1.7/sbcli_dev.egg-info/entry_points.txt +2 -0
  9. sbcli_dev-5.1.7/sbcli_dev.egg-info/requires.txt +18 -0
  10. sbcli_dev-5.1.7/sbcli_dev.egg-info/top_level.txt +3 -0
  11. sbcli_dev-5.1.7/setup.cfg +4 -0
  12. sbcli_dev-5.1.7/setup.py +95 -0
  13. sbcli_dev-5.1.7/simplyblock_cli/cli.py +1386 -0
  14. sbcli_dev-5.1.7/simplyblock_cli/main.py +15 -0
  15. sbcli_dev-5.1.7/simplyblock_core/__init__.py +0 -0
  16. sbcli_dev-5.1.7/simplyblock_core/cluster_ops.py +787 -0
  17. sbcli_dev-5.1.7/simplyblock_core/cnode_client.py +124 -0
  18. sbcli_dev-5.1.7/simplyblock_core/compute_node_ops.py +170 -0
  19. sbcli_dev-5.1.7/simplyblock_core/constants.py +108 -0
  20. sbcli_dev-5.1.7/simplyblock_core/controllers/__init__.py +0 -0
  21. sbcli_dev-5.1.7/simplyblock_core/controllers/caching_node_controller.py +767 -0
  22. sbcli_dev-5.1.7/simplyblock_core/controllers/cluster_events.py +71 -0
  23. sbcli_dev-5.1.7/simplyblock_core/controllers/device_controller.py +917 -0
  24. sbcli_dev-5.1.7/simplyblock_core/controllers/device_events.py +44 -0
  25. sbcli_dev-5.1.7/simplyblock_core/controllers/events_controller.py +120 -0
  26. sbcli_dev-5.1.7/simplyblock_core/controllers/health_controller.py +467 -0
  27. sbcli_dev-5.1.7/simplyblock_core/controllers/lvol_controller.py +1330 -0
  28. sbcli_dev-5.1.7/simplyblock_core/controllers/lvol_events.py +45 -0
  29. sbcli_dev-5.1.7/simplyblock_core/controllers/mgmt_events.py +40 -0
  30. sbcli_dev-5.1.7/simplyblock_core/controllers/pool_controller.py +372 -0
  31. sbcli_dev-5.1.7/simplyblock_core/controllers/pool_events.py +31 -0
  32. sbcli_dev-5.1.7/simplyblock_core/controllers/snapshot_controller.py +353 -0
  33. sbcli_dev-5.1.7/simplyblock_core/controllers/snapshot_events.py +33 -0
  34. sbcli_dev-5.1.7/simplyblock_core/controllers/storage_events.py +54 -0
  35. sbcli_dev-5.1.7/simplyblock_core/controllers/tasks_controller.py +245 -0
  36. sbcli_dev-5.1.7/simplyblock_core/controllers/tasks_events.py +37 -0
  37. sbcli_dev-5.1.7/simplyblock_core/distr_controller.py +235 -0
  38. sbcli_dev-5.1.7/simplyblock_core/kv_store.py +324 -0
  39. sbcli_dev-5.1.7/simplyblock_core/mgmt_node_ops.py +206 -0
  40. sbcli_dev-5.1.7/simplyblock_core/models/__init__.py +0 -0
  41. sbcli_dev-5.1.7/simplyblock_core/models/base_model.py +135 -0
  42. sbcli_dev-5.1.7/simplyblock_core/models/caching_node.py +109 -0
  43. sbcli_dev-5.1.7/simplyblock_core/models/cluster.py +103 -0
  44. sbcli_dev-5.1.7/simplyblock_core/models/compute_node.py +32 -0
  45. sbcli_dev-5.1.7/simplyblock_core/models/deployer.py +62 -0
  46. sbcli_dev-5.1.7/simplyblock_core/models/events.py +59 -0
  47. sbcli_dev-5.1.7/simplyblock_core/models/global_settings.py +29 -0
  48. sbcli_dev-5.1.7/simplyblock_core/models/iface.py +30 -0
  49. sbcli_dev-5.1.7/simplyblock_core/models/job_schedule.py +52 -0
  50. sbcli_dev-5.1.7/simplyblock_core/models/lvol_model.py +94 -0
  51. sbcli_dev-5.1.7/simplyblock_core/models/mgmt_node.py +54 -0
  52. sbcli_dev-5.1.7/simplyblock_core/models/nvme_device.py +132 -0
  53. sbcli_dev-5.1.7/simplyblock_core/models/pool.py +59 -0
  54. sbcli_dev-5.1.7/simplyblock_core/models/port_stat.py +35 -0
  55. sbcli_dev-5.1.7/simplyblock_core/models/snapshot.py +29 -0
  56. sbcli_dev-5.1.7/simplyblock_core/models/stats.py +132 -0
  57. sbcli_dev-5.1.7/simplyblock_core/models/storage_node.py +142 -0
  58. sbcli_dev-5.1.7/simplyblock_core/pci_utils.py +28 -0
  59. sbcli_dev-5.1.7/simplyblock_core/rpc_client.py +861 -0
  60. sbcli_dev-5.1.7/simplyblock_core/scripts/__init__.py +54 -0
  61. sbcli_dev-5.1.7/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +116 -0
  62. sbcli_dev-5.1.7/simplyblock_core/scripts/alerting/alert_rules.yaml +426 -0
  63. sbcli_dev-5.1.7/simplyblock_core/scripts/clean_local_storage_deploy.sh +13 -0
  64. sbcli_dev-5.1.7/simplyblock_core/scripts/config_docker.sh +15 -0
  65. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboard.yml +12 -0
  66. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/cluster.json +2356 -0
  67. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/devices.json +2433 -0
  68. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/lvols.json +2529 -0
  69. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/node-exporter.json +23743 -0
  70. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/nodes.json +2522 -0
  71. sbcli_dev-5.1.7/simplyblock_core/scripts/dashboards/pools.json +2399 -0
  72. sbcli_dev-5.1.7/simplyblock_core/scripts/datasource.yml +20 -0
  73. sbcli_dev-5.1.7/simplyblock_core/scripts/db_config_double.sh +3 -0
  74. sbcli_dev-5.1.7/simplyblock_core/scripts/db_config_single.sh +2 -0
  75. sbcli_dev-5.1.7/simplyblock_core/scripts/deploy_stack.sh +42 -0
  76. sbcli_dev-5.1.7/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +235 -0
  77. sbcli_dev-5.1.7/simplyblock_core/scripts/docker-compose-swarm.yml +308 -0
  78. sbcli_dev-5.1.7/simplyblock_core/scripts/haproxy.cfg +81 -0
  79. sbcli_dev-5.1.7/simplyblock_core/scripts/install_deps.sh +42 -0
  80. sbcli_dev-5.1.7/simplyblock_core/scripts/objstore.yml +3 -0
  81. sbcli_dev-5.1.7/simplyblock_core/scripts/prometheus.yml +16 -0
  82. sbcli_dev-5.1.7/simplyblock_core/scripts/run_ssh.sh +2 -0
  83. sbcli_dev-5.1.7/simplyblock_core/scripts/set_db_config.sh +3 -0
  84. sbcli_dev-5.1.7/simplyblock_core/scripts/stack_deploy_wait.sh +182 -0
  85. sbcli_dev-5.1.7/simplyblock_core/services/__init__.py +125 -0
  86. sbcli_dev-5.1.7/simplyblock_core/services/cached_lvol_stat_collector.py +89 -0
  87. sbcli_dev-5.1.7/simplyblock_core/services/caching_node_monitor.py +87 -0
  88. sbcli_dev-5.1.7/simplyblock_core/services/cap_monitor.py +54 -0
  89. sbcli_dev-5.1.7/simplyblock_core/services/capacity_and_stats_collector.py +196 -0
  90. sbcli_dev-5.1.7/simplyblock_core/services/device_monitor.py +44 -0
  91. sbcli_dev-5.1.7/simplyblock_core/services/health_check_service.py +241 -0
  92. sbcli_dev-5.1.7/simplyblock_core/services/install_service.sh +34 -0
  93. sbcli_dev-5.1.7/simplyblock_core/services/log_agg_service.py +66 -0
  94. sbcli_dev-5.1.7/simplyblock_core/services/lvol_monitor.py +77 -0
  95. sbcli_dev-5.1.7/simplyblock_core/services/lvol_stat_collector.py +134 -0
  96. sbcli_dev-5.1.7/simplyblock_core/services/main_distr_event_collector.py +179 -0
  97. sbcli_dev-5.1.7/simplyblock_core/services/mgmt_node_monitor.py +86 -0
  98. sbcli_dev-5.1.7/simplyblock_core/services/new_device_discovery.py +72 -0
  99. sbcli_dev-5.1.7/simplyblock_core/services/port_stat_collector.py +63 -0
  100. sbcli_dev-5.1.7/simplyblock_core/services/remove_service.sh +7 -0
  101. sbcli_dev-5.1.7/simplyblock_core/services/service_template.service +16 -0
  102. sbcli_dev-5.1.7/simplyblock_core/services/spdk_http_proxy_server.py +157 -0
  103. sbcli_dev-5.1.7/simplyblock_core/services/storage_node_monitor.py +202 -0
  104. sbcli_dev-5.1.7/simplyblock_core/services/tasks_runner_failed_migration.py +161 -0
  105. sbcli_dev-5.1.7/simplyblock_core/services/tasks_runner_migration.py +137 -0
  106. sbcli_dev-5.1.7/simplyblock_core/services/tasks_runner_new_dev_migration.py +160 -0
  107. sbcli_dev-5.1.7/simplyblock_core/services/tasks_runner_node_add.py +52 -0
  108. sbcli_dev-5.1.7/simplyblock_core/services/tasks_runner_restart.py +238 -0
  109. sbcli_dev-5.1.7/simplyblock_core/shell_utils.py +9 -0
  110. sbcli_dev-5.1.7/simplyblock_core/snode_client.py +135 -0
  111. sbcli_dev-5.1.7/simplyblock_core/storage_node_ops.py +3040 -0
  112. sbcli_dev-5.1.7/simplyblock_core/utils.py +609 -0
  113. sbcli_dev-5.1.7/simplyblock_web/__init__.py +0 -0
  114. sbcli_dev-5.1.7/simplyblock_web/app.py +50 -0
  115. sbcli_dev-5.1.7/simplyblock_web/auth_middleware.py +51 -0
  116. sbcli_dev-5.1.7/simplyblock_web/blueprints/__init__.py +0 -0
  117. sbcli_dev-5.1.7/simplyblock_web/blueprints/caching_node_ops.py +467 -0
  118. sbcli_dev-5.1.7/simplyblock_web/blueprints/caching_node_ops_k8s.py +352 -0
  119. sbcli_dev-5.1.7/simplyblock_web/blueprints/node_api_basic.py +110 -0
  120. sbcli_dev-5.1.7/simplyblock_web/blueprints/node_api_caching_docker.py +173 -0
  121. sbcli_dev-5.1.7/simplyblock_web/blueprints/node_api_caching_ks.py +163 -0
  122. sbcli_dev-5.1.7/simplyblock_web/blueprints/snode_ops.py +475 -0
  123. sbcli_dev-5.1.7/simplyblock_web/blueprints/snode_ops_k8s.py +458 -0
  124. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_caching_node.py +180 -0
  125. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_cluster.py +171 -0
  126. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_deployer.py +421 -0
  127. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_device.py +93 -0
  128. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_lvol.py +276 -0
  129. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_mgmt_node.py +37 -0
  130. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_pool.py +210 -0
  131. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_snapshot.py +75 -0
  132. sbcli_dev-5.1.7/simplyblock_web/blueprints/web_api_storage_node.py +283 -0
  133. sbcli_dev-5.1.7/simplyblock_web/caching_node_app.py +33 -0
  134. sbcli_dev-5.1.7/simplyblock_web/caching_node_app_k8s.py +33 -0
  135. sbcli_dev-5.1.7/simplyblock_web/node_utils.py +172 -0
  136. sbcli_dev-5.1.7/simplyblock_web/node_webapp.py +56 -0
  137. sbcli_dev-5.1.7/simplyblock_web/snode_app.py +33 -0
  138. sbcli_dev-5.1.7/simplyblock_web/snode_app_k8s.py +32 -0
  139. sbcli_dev-5.1.7/simplyblock_web/static/delete.py +36 -0
  140. sbcli_dev-5.1.7/simplyblock_web/static/deploy.py +50 -0
  141. sbcli_dev-5.1.7/simplyblock_web/static/deploy_cnode.yaml +22 -0
  142. sbcli_dev-5.1.7/simplyblock_web/static/deploy_spdk.yaml +60 -0
  143. sbcli_dev-5.1.7/simplyblock_web/static/is_up.py +17 -0
  144. sbcli_dev-5.1.7/simplyblock_web/static/list_deps.py +16 -0
  145. sbcli_dev-5.1.7/simplyblock_web/static/rpac.yaml +26 -0
  146. sbcli_dev-5.1.7/simplyblock_web/static/tst.py +11 -0
  147. sbcli_dev-5.1.7/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +109 -0
  148. sbcli_dev-5.1.7/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +161 -0
  149. sbcli_dev-5.1.7/simplyblock_web/utils.py +107 -0
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.1
2
+ Name: sbcli-dev
3
+ Version: 5.1.7
4
+ Summary: CLI for managing SimplyBlock cluster
5
+ Home-page: https://www.simplyblock.io/
6
+ Author: Hamdy
7
+ Author-email: hamdy@simplyblock.io
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: foundationdb
10
+ Requires-Dist: requests
11
+ Requires-Dist: numpy
12
+ Requires-Dist: typing
13
+ Requires-Dist: prettytable
14
+ Requires-Dist: docker
15
+ Requires-Dist: psutil
16
+ Requires-Dist: py-cpuinfo
17
+ Requires-Dist: pytest
18
+ Requires-Dist: mock
19
+ Requires-Dist: setuptools
20
+ Requires-Dist: flask
21
+ Requires-Dist: kubernetes
22
+ Requires-Dist: PyYAML
23
+ Requires-Dist: urllib3
24
+ Requires-Dist: graypy
25
+ Requires-Dist: boto3
26
+ Requires-Dist: jinja2
27
+
28
+
29
+ # Simply Block
30
+ [![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
31
+
32
+ [![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
33
+
34
+
35
+ ## Install
36
+ Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
37
+
38
+ ```bash
39
+ aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
40
+ ```
41
+ Install package
42
+ ```bash
43
+ pip install --extra-index-url https://pypi.org/simple sbcli-dev
44
+ ```
45
+
46
+ # Components
47
+
48
+ ## Simply Block Core
49
+ Contains core logic and controllers for the simplyblock cluster
50
+
51
+ ## Simply Block CLI
52
+ Please see this document
53
+ [README.md](../main/simplyblock_cli/README.md)
54
+
55
+
56
+ ## Simply Block Web API
57
+ Please see this document
58
+ [README.md](../main/simplyblock_web/README.md)
59
+
60
+
61
+
62
+ ### local development
63
+
64
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
65
+ Depending on the OS architecture, please install the appropriate version from the official github repo
66
+
67
+ ```
68
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
69
+ ```
70
+
71
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
72
+
73
+
74
+ ```
75
+ sudo docker compose -f docker-compose-dev.yml up --build -d
76
+ ```
@@ -0,0 +1,49 @@
1
+
2
+ # Simply Block
3
+ [![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
4
+
5
+ [![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
6
+
7
+
8
+ ## Install
9
+ Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
10
+
11
+ ```bash
12
+ aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
13
+ ```
14
+ Install package
15
+ ```bash
16
+ pip install --extra-index-url https://pypi.org/simple sbcli-dev
17
+ ```
18
+
19
+ # Components
20
+
21
+ ## Simply Block Core
22
+ Contains core logic and controllers for the simplyblock cluster
23
+
24
+ ## Simply Block CLI
25
+ Please see this document
26
+ [README.md](../main/simplyblock_cli/README.md)
27
+
28
+
29
+ ## Simply Block Web API
30
+ Please see this document
31
+ [README.md](../main/simplyblock_web/README.md)
32
+
33
+
34
+
35
+ ### local development
36
+
37
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
38
+ Depending on the OS architecture, please install the appropriate version from the official github repo
39
+
40
+ ```
41
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
42
+ ```
43
+
44
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
45
+
46
+
47
+ ```
48
+ sudo docker compose -f docker-compose-dev.yml up --build -d
49
+ ```
@@ -0,0 +1,5 @@
1
+ SIMPLY_BLOCK_COMMAND_NAME=sbcli-dev
2
+ SIMPLY_BLOCK_VERSION=5.1.7
3
+
4
+ SIMPLY_BLOCK_DOCKER_IMAGE=simplyblock/simplyblock:main
5
+ DOCKER_USER=hamdysimplyblock
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ['setuptools>=42']
3
+ build-backend = 'setuptools.build_meta'
@@ -0,0 +1,76 @@
1
+ Metadata-Version: 2.1
2
+ Name: sbcli-dev
3
+ Version: 5.1.7
4
+ Summary: CLI for managing SimplyBlock cluster
5
+ Home-page: https://www.simplyblock.io/
6
+ Author: Hamdy
7
+ Author-email: hamdy@simplyblock.io
8
+ Description-Content-Type: text/markdown
9
+ Requires-Dist: foundationdb
10
+ Requires-Dist: requests
11
+ Requires-Dist: numpy
12
+ Requires-Dist: typing
13
+ Requires-Dist: prettytable
14
+ Requires-Dist: docker
15
+ Requires-Dist: psutil
16
+ Requires-Dist: py-cpuinfo
17
+ Requires-Dist: pytest
18
+ Requires-Dist: mock
19
+ Requires-Dist: setuptools
20
+ Requires-Dist: flask
21
+ Requires-Dist: kubernetes
22
+ Requires-Dist: PyYAML
23
+ Requires-Dist: urllib3
24
+ Requires-Dist: graypy
25
+ Requires-Dist: boto3
26
+ Requires-Dist: jinja2
27
+
28
+
29
+ # Simply Block
30
+ [![Docker Image Build](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/docker-image.yml)
31
+
32
+ [![Python Unit Testing](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml/badge.svg)](https://github.com/simplyblock-io/sbcli/actions/workflows/python-testing.yml)
33
+
34
+
35
+ ## Install
36
+ Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
37
+
38
+ ```bash
39
+ aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
40
+ ```
41
+ Install package
42
+ ```bash
43
+ pip install --extra-index-url https://pypi.org/simple sbcli-dev
44
+ ```
45
+
46
+ # Components
47
+
48
+ ## Simply Block Core
49
+ Contains core logic and controllers for the simplyblock cluster
50
+
51
+ ## Simply Block CLI
52
+ Please see this document
53
+ [README.md](../main/simplyblock_cli/README.md)
54
+
55
+
56
+ ## Simply Block Web API
57
+ Please see this document
58
+ [README.md](../main/simplyblock_web/README.md)
59
+
60
+
61
+
62
+ ### local development
63
+
64
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
65
+ Depending on the OS architecture, please install the appropriate version from the official github repo
66
+
67
+ ```
68
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
69
+ ```
70
+
71
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
72
+
73
+
74
+ ```
75
+ sudo docker compose -f docker-compose-dev.yml up --build -d
76
+ ```
@@ -0,0 +1,147 @@
1
+ README.md
2
+ env_var
3
+ pyproject.toml
4
+ setup.py
5
+ sbcli_dev.egg-info/PKG-INFO
6
+ sbcli_dev.egg-info/SOURCES.txt
7
+ sbcli_dev.egg-info/dependency_links.txt
8
+ sbcli_dev.egg-info/entry_points.txt
9
+ sbcli_dev.egg-info/requires.txt
10
+ sbcli_dev.egg-info/top_level.txt
11
+ simplyblock_cli/cli.py
12
+ simplyblock_cli/main.py
13
+ simplyblock_core/__init__.py
14
+ simplyblock_core/cluster_ops.py
15
+ simplyblock_core/cnode_client.py
16
+ simplyblock_core/compute_node_ops.py
17
+ simplyblock_core/constants.py
18
+ simplyblock_core/distr_controller.py
19
+ simplyblock_core/kv_store.py
20
+ simplyblock_core/mgmt_node_ops.py
21
+ simplyblock_core/pci_utils.py
22
+ simplyblock_core/rpc_client.py
23
+ simplyblock_core/shell_utils.py
24
+ simplyblock_core/snode_client.py
25
+ simplyblock_core/storage_node_ops.py
26
+ simplyblock_core/utils.py
27
+ simplyblock_core/controllers/__init__.py
28
+ simplyblock_core/controllers/caching_node_controller.py
29
+ simplyblock_core/controllers/cluster_events.py
30
+ simplyblock_core/controllers/device_controller.py
31
+ simplyblock_core/controllers/device_events.py
32
+ simplyblock_core/controllers/events_controller.py
33
+ simplyblock_core/controllers/health_controller.py
34
+ simplyblock_core/controllers/lvol_controller.py
35
+ simplyblock_core/controllers/lvol_events.py
36
+ simplyblock_core/controllers/mgmt_events.py
37
+ simplyblock_core/controllers/pool_controller.py
38
+ simplyblock_core/controllers/pool_events.py
39
+ simplyblock_core/controllers/snapshot_controller.py
40
+ simplyblock_core/controllers/snapshot_events.py
41
+ simplyblock_core/controllers/storage_events.py
42
+ simplyblock_core/controllers/tasks_controller.py
43
+ simplyblock_core/controllers/tasks_events.py
44
+ simplyblock_core/models/__init__.py
45
+ simplyblock_core/models/base_model.py
46
+ simplyblock_core/models/caching_node.py
47
+ simplyblock_core/models/cluster.py
48
+ simplyblock_core/models/compute_node.py
49
+ simplyblock_core/models/deployer.py
50
+ simplyblock_core/models/events.py
51
+ simplyblock_core/models/global_settings.py
52
+ simplyblock_core/models/iface.py
53
+ simplyblock_core/models/job_schedule.py
54
+ simplyblock_core/models/lvol_model.py
55
+ simplyblock_core/models/mgmt_node.py
56
+ simplyblock_core/models/nvme_device.py
57
+ simplyblock_core/models/pool.py
58
+ simplyblock_core/models/port_stat.py
59
+ simplyblock_core/models/snapshot.py
60
+ simplyblock_core/models/stats.py
61
+ simplyblock_core/models/storage_node.py
62
+ simplyblock_core/scripts/__init__.py
63
+ simplyblock_core/scripts/clean_local_storage_deploy.sh
64
+ simplyblock_core/scripts/config_docker.sh
65
+ simplyblock_core/scripts/dashboard.yml
66
+ simplyblock_core/scripts/datasource.yml
67
+ simplyblock_core/scripts/db_config_double.sh
68
+ simplyblock_core/scripts/db_config_single.sh
69
+ simplyblock_core/scripts/deploy_stack.sh
70
+ simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
71
+ simplyblock_core/scripts/docker-compose-swarm.yml
72
+ simplyblock_core/scripts/haproxy.cfg
73
+ simplyblock_core/scripts/install_deps.sh
74
+ simplyblock_core/scripts/objstore.yml
75
+ simplyblock_core/scripts/prometheus.yml
76
+ simplyblock_core/scripts/run_ssh.sh
77
+ simplyblock_core/scripts/set_db_config.sh
78
+ simplyblock_core/scripts/stack_deploy_wait.sh
79
+ simplyblock_core/scripts/alerting/alert_resources.yaml.j2
80
+ simplyblock_core/scripts/alerting/alert_rules.yaml
81
+ simplyblock_core/scripts/dashboards/cluster.json
82
+ simplyblock_core/scripts/dashboards/devices.json
83
+ simplyblock_core/scripts/dashboards/lvols.json
84
+ simplyblock_core/scripts/dashboards/node-exporter.json
85
+ simplyblock_core/scripts/dashboards/nodes.json
86
+ simplyblock_core/scripts/dashboards/pools.json
87
+ simplyblock_core/services/__init__.py
88
+ simplyblock_core/services/cached_lvol_stat_collector.py
89
+ simplyblock_core/services/caching_node_monitor.py
90
+ simplyblock_core/services/cap_monitor.py
91
+ simplyblock_core/services/capacity_and_stats_collector.py
92
+ simplyblock_core/services/device_monitor.py
93
+ simplyblock_core/services/health_check_service.py
94
+ simplyblock_core/services/install_service.sh
95
+ simplyblock_core/services/log_agg_service.py
96
+ simplyblock_core/services/lvol_monitor.py
97
+ simplyblock_core/services/lvol_stat_collector.py
98
+ simplyblock_core/services/main_distr_event_collector.py
99
+ simplyblock_core/services/mgmt_node_monitor.py
100
+ simplyblock_core/services/new_device_discovery.py
101
+ simplyblock_core/services/port_stat_collector.py
102
+ simplyblock_core/services/remove_service.sh
103
+ simplyblock_core/services/service_template.service
104
+ simplyblock_core/services/spdk_http_proxy_server.py
105
+ simplyblock_core/services/storage_node_monitor.py
106
+ simplyblock_core/services/tasks_runner_failed_migration.py
107
+ simplyblock_core/services/tasks_runner_migration.py
108
+ simplyblock_core/services/tasks_runner_new_dev_migration.py
109
+ simplyblock_core/services/tasks_runner_node_add.py
110
+ simplyblock_core/services/tasks_runner_restart.py
111
+ simplyblock_web/__init__.py
112
+ simplyblock_web/app.py
113
+ simplyblock_web/auth_middleware.py
114
+ simplyblock_web/caching_node_app.py
115
+ simplyblock_web/caching_node_app_k8s.py
116
+ simplyblock_web/node_utils.py
117
+ simplyblock_web/node_webapp.py
118
+ simplyblock_web/snode_app.py
119
+ simplyblock_web/snode_app_k8s.py
120
+ simplyblock_web/utils.py
121
+ simplyblock_web/blueprints/__init__.py
122
+ simplyblock_web/blueprints/caching_node_ops.py
123
+ simplyblock_web/blueprints/caching_node_ops_k8s.py
124
+ simplyblock_web/blueprints/node_api_basic.py
125
+ simplyblock_web/blueprints/node_api_caching_docker.py
126
+ simplyblock_web/blueprints/node_api_caching_ks.py
127
+ simplyblock_web/blueprints/snode_ops.py
128
+ simplyblock_web/blueprints/snode_ops_k8s.py
129
+ simplyblock_web/blueprints/web_api_caching_node.py
130
+ simplyblock_web/blueprints/web_api_cluster.py
131
+ simplyblock_web/blueprints/web_api_deployer.py
132
+ simplyblock_web/blueprints/web_api_device.py
133
+ simplyblock_web/blueprints/web_api_lvol.py
134
+ simplyblock_web/blueprints/web_api_mgmt_node.py
135
+ simplyblock_web/blueprints/web_api_pool.py
136
+ simplyblock_web/blueprints/web_api_snapshot.py
137
+ simplyblock_web/blueprints/web_api_storage_node.py
138
+ simplyblock_web/static/delete.py
139
+ simplyblock_web/static/deploy.py
140
+ simplyblock_web/static/deploy_cnode.yaml
141
+ simplyblock_web/static/deploy_spdk.yaml
142
+ simplyblock_web/static/is_up.py
143
+ simplyblock_web/static/list_deps.py
144
+ simplyblock_web/static/rpac.yaml
145
+ simplyblock_web/static/tst.py
146
+ simplyblock_web/templates/caching_deploy_spdk.yaml.j2
147
+ simplyblock_web/templates/storage_deploy_spdk.yaml.j2
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ sbcli-dev = simplyblock_cli.cli:main
@@ -0,0 +1,18 @@
1
+ foundationdb
2
+ requests
3
+ numpy
4
+ typing
5
+ prettytable
6
+ docker
7
+ psutil
8
+ py-cpuinfo
9
+ pytest
10
+ mock
11
+ setuptools
12
+ flask
13
+ kubernetes
14
+ PyYAML
15
+ urllib3
16
+ graypy
17
+ boto3
18
+ jinja2
@@ -0,0 +1,3 @@
1
+ simplyblock_cli
2
+ simplyblock_core
3
+ simplyblock_web
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,95 @@
1
+ import os
2
+
3
+ from setuptools import setup
4
+
5
+
6
+ def get_env_var(name, default=None):
7
+ if not name:
8
+ return False
9
+ with open("env_var", "r", encoding="utf-8") as fh:
10
+ lines = fh.readlines()
11
+ data = {}
12
+ for line in lines:
13
+ if not line or line.startswith("#"):
14
+ continue
15
+ try:
16
+ k, v = line.split("=")
17
+ data[k.strip()] = v.strip()
18
+ except:
19
+ pass
20
+ return data.get(name, default)
21
+
22
+
23
+ def gen_data_files(*dirs):
24
+ results = []
25
+ for src_dir in dirs:
26
+ files = [f for f in os.listdir(src_dir) if os.path.isfile(f"{src_dir}/{f}")]
27
+ results.append((src_dir, [f"{src_dir}/{f}" for f in files]))
28
+ return results
29
+
30
+
31
+ def get_long_description():
32
+ with open("README.md", "r", encoding="utf-8") as fh:
33
+ return fh.read()
34
+
35
+
36
+ COMMAND_NAME = get_env_var("SIMPLY_BLOCK_COMMAND_NAME", "sbcli")
37
+ VERSION = get_env_var("SIMPLY_BLOCK_VERSION", "1")
38
+
39
+ data_files = gen_data_files(
40
+ "simplyblock_core/controllers",
41
+ "simplyblock_core/models",
42
+ "simplyblock_core/scripts",
43
+ "simplyblock_core/scripts/alerting",
44
+ "simplyblock_core/scripts/dashboards",
45
+ "simplyblock_core/services",
46
+ "simplyblock_web/blueprints",
47
+ "simplyblock_web/static",
48
+ "simplyblock_web/templates")
49
+
50
+ data_files.append(('', ['env_var']))
51
+
52
+ setup(
53
+ name=COMMAND_NAME,
54
+ version=VERSION,
55
+ packages=[
56
+ 'simplyblock_core',
57
+ 'simplyblock_core.controllers',
58
+ 'simplyblock_core.models',
59
+ 'simplyblock_core.scripts',
60
+ 'simplyblock_core.services',
61
+ 'simplyblock_cli', 'simplyblock_web', ],
62
+ url='https://www.simplyblock.io/',
63
+ author='Hamdy',
64
+ author_email='hamdy@simplyblock.io',
65
+ description='CLI for managing SimplyBlock cluster',
66
+ long_description=get_long_description(),
67
+ long_description_content_type="text/markdown",
68
+ install_requires=[
69
+ "foundationdb",
70
+ "requests",
71
+ "numpy",
72
+ "typing",
73
+ "prettytable",
74
+ "docker",
75
+ "psutil",
76
+ "py-cpuinfo",
77
+ "pytest",
78
+ "mock",
79
+ "setuptools",
80
+ "flask",
81
+ "kubernetes",
82
+ "PyYAML",
83
+ "urllib3",
84
+ "graypy",
85
+ "boto3",
86
+ "jinja2",
87
+ ],
88
+ entry_points={
89
+ 'console_scripts': [
90
+ f'{COMMAND_NAME}=simplyblock_cli.cli:main',
91
+ ]
92
+ },
93
+ include_package_data=True,
94
+ data_files=data_files,
95
+ )