sbcli-pre 25.3rc1__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.
Files changed (162) hide show
  1. sbcli-pre-25.3rc1/PKG-INFO +62 -0
  2. sbcli-pre-25.3rc1/README.md +49 -0
  3. sbcli-pre-25.3rc1/pyproject.toml +3 -0
  4. sbcli-pre-25.3rc1/requirements.txt +20 -0
  5. sbcli-pre-25.3rc1/sbcli_pre.egg-info/PKG-INFO +62 -0
  6. sbcli-pre-25.3rc1/sbcli_pre.egg-info/SOURCES.txt +160 -0
  7. sbcli-pre-25.3rc1/sbcli_pre.egg-info/dependency_links.txt +1 -0
  8. sbcli-pre-25.3rc1/sbcli_pre.egg-info/entry_points.txt +3 -0
  9. sbcli-pre-25.3rc1/sbcli_pre.egg-info/requires.txt +20 -0
  10. sbcli-pre-25.3rc1/sbcli_pre.egg-info/top_level.txt +3 -0
  11. sbcli-pre-25.3rc1/setup.cfg +4 -0
  12. sbcli-pre-25.3rc1/setup.py +110 -0
  13. sbcli-pre-25.3rc1/simplyblock_cli/__init__.py +0 -0
  14. sbcli-pre-25.3rc1/simplyblock_cli/cli.py +1253 -0
  15. sbcli-pre-25.3rc1/simplyblock_cli/clibase.py +805 -0
  16. sbcli-pre-25.3rc1/simplyblock_cli/main.py +15 -0
  17. sbcli-pre-25.3rc1/simplyblock_core/__init__.py +0 -0
  18. sbcli-pre-25.3rc1/simplyblock_core/cluster_ops.py +1388 -0
  19. sbcli-pre-25.3rc1/simplyblock_core/cnode_client.py +124 -0
  20. sbcli-pre-25.3rc1/simplyblock_core/constants.py +133 -0
  21. sbcli-pre-25.3rc1/simplyblock_core/controllers/__init__.py +0 -0
  22. sbcli-pre-25.3rc1/simplyblock_core/controllers/caching_node_controller.py +800 -0
  23. sbcli-pre-25.3rc1/simplyblock_core/controllers/cluster_events.py +71 -0
  24. sbcli-pre-25.3rc1/simplyblock_core/controllers/device_controller.py +945 -0
  25. sbcli-pre-25.3rc1/simplyblock_core/controllers/device_events.py +45 -0
  26. sbcli-pre-25.3rc1/simplyblock_core/controllers/events_controller.py +123 -0
  27. sbcli-pre-25.3rc1/simplyblock_core/controllers/health_controller.py +578 -0
  28. sbcli-pre-25.3rc1/simplyblock_core/controllers/lvol_controller.py +1581 -0
  29. sbcli-pre-25.3rc1/simplyblock_core/controllers/lvol_events.py +45 -0
  30. sbcli-pre-25.3rc1/simplyblock_core/controllers/mgmt_events.py +40 -0
  31. sbcli-pre-25.3rc1/simplyblock_core/controllers/pool_controller.py +359 -0
  32. sbcli-pre-25.3rc1/simplyblock_core/controllers/pool_events.py +31 -0
  33. sbcli-pre-25.3rc1/simplyblock_core/controllers/snapshot_controller.py +575 -0
  34. sbcli-pre-25.3rc1/simplyblock_core/controllers/snapshot_events.py +33 -0
  35. sbcli-pre-25.3rc1/simplyblock_core/controllers/storage_events.py +54 -0
  36. sbcli-pre-25.3rc1/simplyblock_core/controllers/tasks_controller.py +257 -0
  37. sbcli-pre-25.3rc1/simplyblock_core/controllers/tasks_events.py +34 -0
  38. sbcli-pre-25.3rc1/simplyblock_core/controllers/tcp_ports_events.py +27 -0
  39. sbcli-pre-25.3rc1/simplyblock_core/db_controller.py +312 -0
  40. sbcli-pre-25.3rc1/simplyblock_core/distr_controller.py +330 -0
  41. sbcli-pre-25.3rc1/simplyblock_core/env_var +5 -0
  42. sbcli-pre-25.3rc1/simplyblock_core/mgmt_node_ops.py +206 -0
  43. sbcli-pre-25.3rc1/simplyblock_core/models/__init__.py +0 -0
  44. sbcli-pre-25.3rc1/simplyblock_core/models/base_model.py +196 -0
  45. sbcli-pre-25.3rc1/simplyblock_core/models/caching_node.py +56 -0
  46. sbcli-pre-25.3rc1/simplyblock_core/models/cluster.py +70 -0
  47. sbcli-pre-25.3rc1/simplyblock_core/models/deployer.py +56 -0
  48. sbcli-pre-25.3rc1/simplyblock_core/models/events.py +37 -0
  49. sbcli-pre-25.3rc1/simplyblock_core/models/iface.py +18 -0
  50. sbcli-pre-25.3rc1/simplyblock_core/models/job_schedule.py +39 -0
  51. sbcli-pre-25.3rc1/simplyblock_core/models/lvol_model.py +62 -0
  52. sbcli-pre-25.3rc1/simplyblock_core/models/mgmt_node.py +12 -0
  53. sbcli-pre-25.3rc1/simplyblock_core/models/nvme_device.py +73 -0
  54. sbcli-pre-25.3rc1/simplyblock_core/models/pool.py +33 -0
  55. sbcli-pre-25.3rc1/simplyblock_core/models/port_stat.py +23 -0
  56. sbcli-pre-25.3rc1/simplyblock_core/models/snapshot.py +23 -0
  57. sbcli-pre-25.3rc1/simplyblock_core/models/stats.py +109 -0
  58. sbcli-pre-25.3rc1/simplyblock_core/models/storage_node.py +89 -0
  59. sbcli-pre-25.3rc1/simplyblock_core/pci_utils.py +28 -0
  60. sbcli-pre-25.3rc1/simplyblock_core/rpc_client.py +1027 -0
  61. sbcli-pre-25.3rc1/simplyblock_core/scripts/__init__.py +63 -0
  62. sbcli-pre-25.3rc1/simplyblock_core/scripts/alerting/alert_resources.yaml.j2 +116 -0
  63. sbcli-pre-25.3rc1/simplyblock_core/scripts/alerting/alert_rules.yaml +725 -0
  64. sbcli-pre-25.3rc1/simplyblock_core/scripts/clean_local_storage_deploy.sh +14 -0
  65. sbcli-pre-25.3rc1/simplyblock_core/scripts/config_docker.sh +41 -0
  66. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboard.yml +12 -0
  67. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/cluster.json +2356 -0
  68. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/devices.json +2433 -0
  69. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/lvols.json +2542 -0
  70. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/node-exporter.json +23743 -0
  71. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/nodes.json +2732 -0
  72. sbcli-pre-25.3rc1/simplyblock_core/scripts/dashboards/pools.json +2399 -0
  73. sbcli-pre-25.3rc1/simplyblock_core/scripts/datasource.yml +20 -0
  74. sbcli-pre-25.3rc1/simplyblock_core/scripts/db_config_double.sh +3 -0
  75. sbcli-pre-25.3rc1/simplyblock_core/scripts/db_config_single.sh +2 -0
  76. sbcli-pre-25.3rc1/simplyblock_core/scripts/deploy_fdb.sh +7 -0
  77. sbcli-pre-25.3rc1/simplyblock_core/scripts/deploy_stack.sh +44 -0
  78. sbcli-pre-25.3rc1/simplyblock_core/scripts/docker-compose-swarm-monitoring.yml +235 -0
  79. sbcli-pre-25.3rc1/simplyblock_core/scripts/docker-compose-swarm.yml +337 -0
  80. sbcli-pre-25.3rc1/simplyblock_core/scripts/foundation.yml +40 -0
  81. sbcli-pre-25.3rc1/simplyblock_core/scripts/haproxy.cfg +89 -0
  82. sbcli-pre-25.3rc1/simplyblock_core/scripts/install_deps.sh +38 -0
  83. sbcli-pre-25.3rc1/simplyblock_core/scripts/objstore.yml +3 -0
  84. sbcli-pre-25.3rc1/simplyblock_core/scripts/prepare_fdb.sh +12 -0
  85. sbcli-pre-25.3rc1/simplyblock_core/scripts/prometheus.yml +16 -0
  86. sbcli-pre-25.3rc1/simplyblock_core/scripts/run_ssh.sh +2 -0
  87. sbcli-pre-25.3rc1/simplyblock_core/scripts/set_db_config.sh +3 -0
  88. sbcli-pre-25.3rc1/simplyblock_core/scripts/stack_deploy_wait.sh +182 -0
  89. sbcli-pre-25.3rc1/simplyblock_core/services/__init__.py +125 -0
  90. sbcli-pre-25.3rc1/simplyblock_core/services/cached_lvol_stat_collector.py +88 -0
  91. sbcli-pre-25.3rc1/simplyblock_core/services/caching_node_monitor.py +86 -0
  92. sbcli-pre-25.3rc1/simplyblock_core/services/cap_monitor.py +65 -0
  93. sbcli-pre-25.3rc1/simplyblock_core/services/capacity_and_stats_collector.py +194 -0
  94. sbcli-pre-25.3rc1/simplyblock_core/services/device_monitor.py +47 -0
  95. sbcli-pre-25.3rc1/simplyblock_core/services/health_check_service.py +326 -0
  96. sbcli-pre-25.3rc1/simplyblock_core/services/install_service.sh +34 -0
  97. sbcli-pre-25.3rc1/simplyblock_core/services/lvol_monitor.py +150 -0
  98. sbcli-pre-25.3rc1/simplyblock_core/services/lvol_stat_collector.py +234 -0
  99. sbcli-pre-25.3rc1/simplyblock_core/services/main_distr_event_collector.py +220 -0
  100. sbcli-pre-25.3rc1/simplyblock_core/services/mgmt_node_monitor.py +86 -0
  101. sbcli-pre-25.3rc1/simplyblock_core/services/new_device_discovery.py +54 -0
  102. sbcli-pre-25.3rc1/simplyblock_core/services/remove_service.sh +7 -0
  103. sbcli-pre-25.3rc1/simplyblock_core/services/service_template.service +16 -0
  104. sbcli-pre-25.3rc1/simplyblock_core/services/spdk/__init__.py +0 -0
  105. sbcli-pre-25.3rc1/simplyblock_core/services/spdk/client.py +281 -0
  106. sbcli-pre-25.3rc1/simplyblock_core/services/spdk_http_proxy_server.py +165 -0
  107. sbcli-pre-25.3rc1/simplyblock_core/services/spdk_stats_collector.py +73 -0
  108. sbcli-pre-25.3rc1/simplyblock_core/services/storage_node_monitor.py +335 -0
  109. sbcli-pre-25.3rc1/simplyblock_core/services/tasks_runner_failed_migration.py +158 -0
  110. sbcli-pre-25.3rc1/simplyblock_core/services/tasks_runner_migration.py +143 -0
  111. sbcli-pre-25.3rc1/simplyblock_core/services/tasks_runner_new_dev_migration.py +168 -0
  112. sbcli-pre-25.3rc1/simplyblock_core/services/tasks_runner_node_add.py +60 -0
  113. sbcli-pre-25.3rc1/simplyblock_core/services/tasks_runner_restart.py +241 -0
  114. sbcli-pre-25.3rc1/simplyblock_core/shell_utils.py +9 -0
  115. sbcli-pre-25.3rc1/simplyblock_core/snode_client.py +151 -0
  116. sbcli-pre-25.3rc1/simplyblock_core/storage_node_ops.py +3460 -0
  117. sbcli-pre-25.3rc1/simplyblock_core/test/test_utils.py +109 -0
  118. sbcli-pre-25.3rc1/simplyblock_core/utils.py +905 -0
  119. sbcli-pre-25.3rc1/simplyblock_core/workers/cleanup_foundationdb.py +126 -0
  120. sbcli-pre-25.3rc1/simplyblock_web/README.md +999 -0
  121. sbcli-pre-25.3rc1/simplyblock_web/__init__.py +0 -0
  122. sbcli-pre-25.3rc1/simplyblock_web/app.py +56 -0
  123. sbcli-pre-25.3rc1/simplyblock_web/auth_middleware.py +64 -0
  124. sbcli-pre-25.3rc1/simplyblock_web/blueprints/__init__.py +0 -0
  125. sbcli-pre-25.3rc1/simplyblock_web/blueprints/caching_node_ops.py +436 -0
  126. sbcli-pre-25.3rc1/simplyblock_web/blueprints/caching_node_ops_k8s.py +344 -0
  127. sbcli-pre-25.3rc1/simplyblock_web/blueprints/node_api_basic.py +110 -0
  128. sbcli-pre-25.3rc1/simplyblock_web/blueprints/node_api_caching_docker.py +168 -0
  129. sbcli-pre-25.3rc1/simplyblock_web/blueprints/node_api_caching_ks.py +157 -0
  130. sbcli-pre-25.3rc1/simplyblock_web/blueprints/snode_ops.py +533 -0
  131. sbcli-pre-25.3rc1/simplyblock_web/blueprints/snode_ops_k8s.py +433 -0
  132. sbcli-pre-25.3rc1/simplyblock_web/blueprints/swagger_ui_blueprint.py +27 -0
  133. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_caching_node.py +176 -0
  134. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_cluster.py +276 -0
  135. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_deployer.py +421 -0
  136. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_device.py +103 -0
  137. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_lvol.py +306 -0
  138. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_mgmt_node.py +37 -0
  139. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_pool.py +238 -0
  140. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_snapshot.py +66 -0
  141. sbcli-pre-25.3rc1/simplyblock_web/blueprints/web_api_storage_node.py +298 -0
  142. sbcli-pre-25.3rc1/simplyblock_web/caching_node_app.py +33 -0
  143. sbcli-pre-25.3rc1/simplyblock_web/caching_node_app_k8s.py +33 -0
  144. sbcli-pre-25.3rc1/simplyblock_web/node_utils.py +214 -0
  145. sbcli-pre-25.3rc1/simplyblock_web/node_utils_k8s.py +104 -0
  146. sbcli-pre-25.3rc1/simplyblock_web/node_webapp.py +56 -0
  147. sbcli-pre-25.3rc1/simplyblock_web/requirements.txt +12 -0
  148. sbcli-pre-25.3rc1/simplyblock_web/snode_app.py +33 -0
  149. sbcli-pre-25.3rc1/simplyblock_web/snode_app_k8s.py +32 -0
  150. sbcli-pre-25.3rc1/simplyblock_web/static/SimplyBlock-API.postman_collection.json +4581 -0
  151. sbcli-pre-25.3rc1/simplyblock_web/static/delete.py +36 -0
  152. sbcli-pre-25.3rc1/simplyblock_web/static/deploy.py +50 -0
  153. sbcli-pre-25.3rc1/simplyblock_web/static/deploy_cnode.yaml +22 -0
  154. sbcli-pre-25.3rc1/simplyblock_web/static/deploy_spdk.yaml +60 -0
  155. sbcli-pre-25.3rc1/simplyblock_web/static/is_up.py +17 -0
  156. sbcli-pre-25.3rc1/simplyblock_web/static/list_deps.py +16 -0
  157. sbcli-pre-25.3rc1/simplyblock_web/static/rpac.yaml +26 -0
  158. sbcli-pre-25.3rc1/simplyblock_web/static/swagger.yaml +57873 -0
  159. sbcli-pre-25.3rc1/simplyblock_web/static/tst.py +11 -0
  160. sbcli-pre-25.3rc1/simplyblock_web/templates/caching_deploy_spdk.yaml.j2 +109 -0
  161. sbcli-pre-25.3rc1/simplyblock_web/templates/storage_deploy_spdk.yaml.j2 +168 -0
  162. sbcli-pre-25.3rc1/simplyblock_web/utils.py +71 -0
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.1
2
+ Name: sbcli-pre
3
+ Version: 25.3rc1
4
+ Summary: CLI for managing SimplyBlock cluster
5
+ Home-page: https://www.simplyblock.io/
6
+ Author: Hamdy
7
+ Author-email: hamdy@simplyblock.io
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Description-Content-Type: text/markdown
11
+
12
+
13
+ # Simply Block
14
+ [![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)
15
+
16
+ [![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)
17
+
18
+
19
+ ## Install
20
+ Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
21
+
22
+ ```bash
23
+ aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
24
+ ```
25
+ Install package
26
+ ```bash
27
+ pip install --extra-index-url https://pypi.org/simple sbcli-dev
28
+ ```
29
+
30
+ # Components
31
+
32
+ ## Simply Block Core
33
+ Contains core logic and controllers for the simplyblock cluster
34
+
35
+ ## Simply Block CLI
36
+ Please see this document
37
+ [README.md](../main/simplyblock_cli/README.md)
38
+
39
+
40
+ ## Simply Block Web API
41
+ Please see this document
42
+ [README.md](../main/simplyblock_web/README.md)
43
+
44
+
45
+
46
+ ### local development
47
+
48
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
49
+ Depending on the OS architecture, please install the appropriate version from the official github repo
50
+
51
+ ```
52
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
53
+ ```
54
+
55
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
56
+
57
+
58
+ ```
59
+ sudo docker compose -f docker-compose-dev.yml up --build -d
60
+ ```
61
+
62
+
@@ -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,3 @@
1
+ [build-system]
2
+ requires = ['setuptools>=42']
3
+ build-backend = 'setuptools.build_meta'
@@ -0,0 +1,20 @@
1
+ foundationdb
2
+ requests
3
+ numpy
4
+ prettytable>=3.10.0
5
+ docker
6
+ psutil
7
+ py-cpuinfo
8
+ pytest
9
+ mock
10
+ setuptools
11
+ flask
12
+ kubernetes
13
+ PyYAML
14
+ urllib3
15
+ graypy==2.1.0
16
+ boto3
17
+ jinja2
18
+ argcomplete
19
+ jc
20
+ prometheus_client
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.1
2
+ Name: sbcli-pre
3
+ Version: 25.3rc1
4
+ Summary: CLI for managing SimplyBlock cluster
5
+ Home-page: https://www.simplyblock.io/
6
+ Author: Hamdy
7
+ Author-email: hamdy@simplyblock.io
8
+ License: UNKNOWN
9
+ Platform: UNKNOWN
10
+ Description-Content-Type: text/markdown
11
+
12
+
13
+ # Simply Block
14
+ [![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)
15
+
16
+ [![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)
17
+
18
+
19
+ ## Install
20
+ Add the package repo from AWS CodeArtifact using [awscli](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)
21
+
22
+ ```bash
23
+ aws codeartifact login --tool pip --repository sbcli --domain simplyblock --domain-owner 565979732541 --region eu-west-1
24
+ ```
25
+ Install package
26
+ ```bash
27
+ pip install --extra-index-url https://pypi.org/simple sbcli-dev
28
+ ```
29
+
30
+ # Components
31
+
32
+ ## Simply Block Core
33
+ Contains core logic and controllers for the simplyblock cluster
34
+
35
+ ## Simply Block CLI
36
+ Please see this document
37
+ [README.md](../main/simplyblock_cli/README.md)
38
+
39
+
40
+ ## Simply Block Web API
41
+ Please see this document
42
+ [README.md](../main/simplyblock_web/README.md)
43
+
44
+
45
+
46
+ ### local development
47
+
48
+ FoundationDB requires a client library (libfdb_c.dylib) for the Python bindings to interact with the database.
49
+ Depending on the OS architecture, please install the appropriate version from the official github repo
50
+
51
+ ```
52
+ wget https://github.com/apple/foundationdb/releases/download/7.3.3/FoundationDB-7.3.3_arm64.pkg
53
+ ```
54
+
55
+ setup the code on a management node and the webApp code can be developed by building the `docker-compose-dev.yml` file.
56
+
57
+
58
+ ```
59
+ sudo docker compose -f docker-compose-dev.yml up --build -d
60
+ ```
61
+
62
+
@@ -0,0 +1,160 @@
1
+ README.md
2
+ pyproject.toml
3
+ requirements.txt
4
+ setup.py
5
+ sbcli_pre.egg-info/PKG-INFO
6
+ sbcli_pre.egg-info/SOURCES.txt
7
+ sbcli_pre.egg-info/dependency_links.txt
8
+ sbcli_pre.egg-info/entry_points.txt
9
+ sbcli_pre.egg-info/requires.txt
10
+ sbcli_pre.egg-info/top_level.txt
11
+ simplyblock_cli/__init__.py
12
+ simplyblock_cli/cli.py
13
+ simplyblock_cli/clibase.py
14
+ simplyblock_cli/main.py
15
+ simplyblock_core/__init__.py
16
+ simplyblock_core/cluster_ops.py
17
+ simplyblock_core/cnode_client.py
18
+ simplyblock_core/constants.py
19
+ simplyblock_core/db_controller.py
20
+ simplyblock_core/distr_controller.py
21
+ simplyblock_core/env_var
22
+ simplyblock_core/mgmt_node_ops.py
23
+ simplyblock_core/pci_utils.py
24
+ simplyblock_core/rpc_client.py
25
+ simplyblock_core/shell_utils.py
26
+ simplyblock_core/snode_client.py
27
+ simplyblock_core/storage_node_ops.py
28
+ simplyblock_core/utils.py
29
+ simplyblock_core/controllers/__init__.py
30
+ simplyblock_core/controllers/caching_node_controller.py
31
+ simplyblock_core/controllers/cluster_events.py
32
+ simplyblock_core/controllers/device_controller.py
33
+ simplyblock_core/controllers/device_events.py
34
+ simplyblock_core/controllers/events_controller.py
35
+ simplyblock_core/controllers/health_controller.py
36
+ simplyblock_core/controllers/lvol_controller.py
37
+ simplyblock_core/controllers/lvol_events.py
38
+ simplyblock_core/controllers/mgmt_events.py
39
+ simplyblock_core/controllers/pool_controller.py
40
+ simplyblock_core/controllers/pool_events.py
41
+ simplyblock_core/controllers/snapshot_controller.py
42
+ simplyblock_core/controllers/snapshot_events.py
43
+ simplyblock_core/controllers/storage_events.py
44
+ simplyblock_core/controllers/tasks_controller.py
45
+ simplyblock_core/controllers/tasks_events.py
46
+ simplyblock_core/controllers/tcp_ports_events.py
47
+ simplyblock_core/models/__init__.py
48
+ simplyblock_core/models/base_model.py
49
+ simplyblock_core/models/caching_node.py
50
+ simplyblock_core/models/cluster.py
51
+ simplyblock_core/models/deployer.py
52
+ simplyblock_core/models/events.py
53
+ simplyblock_core/models/iface.py
54
+ simplyblock_core/models/job_schedule.py
55
+ simplyblock_core/models/lvol_model.py
56
+ simplyblock_core/models/mgmt_node.py
57
+ simplyblock_core/models/nvme_device.py
58
+ simplyblock_core/models/pool.py
59
+ simplyblock_core/models/port_stat.py
60
+ simplyblock_core/models/snapshot.py
61
+ simplyblock_core/models/stats.py
62
+ simplyblock_core/models/storage_node.py
63
+ simplyblock_core/scripts/__init__.py
64
+ simplyblock_core/scripts/clean_local_storage_deploy.sh
65
+ simplyblock_core/scripts/config_docker.sh
66
+ simplyblock_core/scripts/dashboard.yml
67
+ simplyblock_core/scripts/datasource.yml
68
+ simplyblock_core/scripts/db_config_double.sh
69
+ simplyblock_core/scripts/db_config_single.sh
70
+ simplyblock_core/scripts/deploy_fdb.sh
71
+ simplyblock_core/scripts/deploy_stack.sh
72
+ simplyblock_core/scripts/docker-compose-swarm-monitoring.yml
73
+ simplyblock_core/scripts/docker-compose-swarm.yml
74
+ simplyblock_core/scripts/foundation.yml
75
+ simplyblock_core/scripts/haproxy.cfg
76
+ simplyblock_core/scripts/install_deps.sh
77
+ simplyblock_core/scripts/objstore.yml
78
+ simplyblock_core/scripts/prepare_fdb.sh
79
+ simplyblock_core/scripts/prometheus.yml
80
+ simplyblock_core/scripts/run_ssh.sh
81
+ simplyblock_core/scripts/set_db_config.sh
82
+ simplyblock_core/scripts/stack_deploy_wait.sh
83
+ simplyblock_core/scripts/alerting/alert_resources.yaml.j2
84
+ simplyblock_core/scripts/alerting/alert_rules.yaml
85
+ simplyblock_core/scripts/dashboards/cluster.json
86
+ simplyblock_core/scripts/dashboards/devices.json
87
+ simplyblock_core/scripts/dashboards/lvols.json
88
+ simplyblock_core/scripts/dashboards/node-exporter.json
89
+ simplyblock_core/scripts/dashboards/nodes.json
90
+ simplyblock_core/scripts/dashboards/pools.json
91
+ simplyblock_core/services/__init__.py
92
+ simplyblock_core/services/cached_lvol_stat_collector.py
93
+ simplyblock_core/services/caching_node_monitor.py
94
+ simplyblock_core/services/cap_monitor.py
95
+ simplyblock_core/services/capacity_and_stats_collector.py
96
+ simplyblock_core/services/device_monitor.py
97
+ simplyblock_core/services/health_check_service.py
98
+ simplyblock_core/services/install_service.sh
99
+ simplyblock_core/services/lvol_monitor.py
100
+ simplyblock_core/services/lvol_stat_collector.py
101
+ simplyblock_core/services/main_distr_event_collector.py
102
+ simplyblock_core/services/mgmt_node_monitor.py
103
+ simplyblock_core/services/new_device_discovery.py
104
+ simplyblock_core/services/remove_service.sh
105
+ simplyblock_core/services/service_template.service
106
+ simplyblock_core/services/spdk_http_proxy_server.py
107
+ simplyblock_core/services/spdk_stats_collector.py
108
+ simplyblock_core/services/storage_node_monitor.py
109
+ simplyblock_core/services/tasks_runner_failed_migration.py
110
+ simplyblock_core/services/tasks_runner_migration.py
111
+ simplyblock_core/services/tasks_runner_new_dev_migration.py
112
+ simplyblock_core/services/tasks_runner_node_add.py
113
+ simplyblock_core/services/tasks_runner_restart.py
114
+ simplyblock_core/services/spdk/__init__.py
115
+ simplyblock_core/services/spdk/client.py
116
+ simplyblock_core/test/test_utils.py
117
+ simplyblock_core/workers/cleanup_foundationdb.py
118
+ simplyblock_web/README.md
119
+ simplyblock_web/__init__.py
120
+ simplyblock_web/app.py
121
+ simplyblock_web/auth_middleware.py
122
+ simplyblock_web/caching_node_app.py
123
+ simplyblock_web/caching_node_app_k8s.py
124
+ simplyblock_web/node_utils.py
125
+ simplyblock_web/node_utils_k8s.py
126
+ simplyblock_web/node_webapp.py
127
+ simplyblock_web/requirements.txt
128
+ simplyblock_web/snode_app.py
129
+ simplyblock_web/snode_app_k8s.py
130
+ simplyblock_web/utils.py
131
+ simplyblock_web/blueprints/__init__.py
132
+ simplyblock_web/blueprints/caching_node_ops.py
133
+ simplyblock_web/blueprints/caching_node_ops_k8s.py
134
+ simplyblock_web/blueprints/node_api_basic.py
135
+ simplyblock_web/blueprints/node_api_caching_docker.py
136
+ simplyblock_web/blueprints/node_api_caching_ks.py
137
+ simplyblock_web/blueprints/snode_ops.py
138
+ simplyblock_web/blueprints/snode_ops_k8s.py
139
+ simplyblock_web/blueprints/swagger_ui_blueprint.py
140
+ simplyblock_web/blueprints/web_api_caching_node.py
141
+ simplyblock_web/blueprints/web_api_cluster.py
142
+ simplyblock_web/blueprints/web_api_deployer.py
143
+ simplyblock_web/blueprints/web_api_device.py
144
+ simplyblock_web/blueprints/web_api_lvol.py
145
+ simplyblock_web/blueprints/web_api_mgmt_node.py
146
+ simplyblock_web/blueprints/web_api_pool.py
147
+ simplyblock_web/blueprints/web_api_snapshot.py
148
+ simplyblock_web/blueprints/web_api_storage_node.py
149
+ simplyblock_web/static/SimplyBlock-API.postman_collection.json
150
+ simplyblock_web/static/delete.py
151
+ simplyblock_web/static/deploy.py
152
+ simplyblock_web/static/deploy_cnode.yaml
153
+ simplyblock_web/static/deploy_spdk.yaml
154
+ simplyblock_web/static/is_up.py
155
+ simplyblock_web/static/list_deps.py
156
+ simplyblock_web/static/rpac.yaml
157
+ simplyblock_web/static/swagger.yaml
158
+ simplyblock_web/static/tst.py
159
+ simplyblock_web/templates/caching_deploy_spdk.yaml.j2
160
+ simplyblock_web/templates/storage_deploy_spdk.yaml.j2
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ sbcli-pre = simplyblock_cli.cli:main
3
+
@@ -0,0 +1,20 @@
1
+ foundationdb
2
+ requests
3
+ numpy
4
+ prettytable>=3.10.0
5
+ docker
6
+ psutil
7
+ py-cpuinfo
8
+ pytest
9
+ mock
10
+ setuptools
11
+ flask
12
+ kubernetes
13
+ PyYAML
14
+ urllib3
15
+ graypy==2.1.0
16
+ boto3
17
+ jinja2
18
+ argcomplete
19
+ jc
20
+ prometheus_client
@@ -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,110 @@
1
+ import os
2
+
3
+ from setuptools import setup, find_packages
4
+
5
+ from setuptools.command.install import install as _install
6
+
7
+
8
+ def _post_install():
9
+ from subprocess import getstatusoutput
10
+ _, out = getstatusoutput('activate-global-python-argcomplete --user')
11
+ print(out)
12
+
13
+ if os.environ.get("SHELL") and os.environ.get("HOME"):
14
+ if "zsh" in os.environ.get("SHELL", ""):
15
+ path = f"{os.environ.get('HOME')}/.zshenv"
16
+ else:
17
+ path = f"{os.environ.get('HOME')}/.bash_completion"
18
+ if os.path.isfile(path):
19
+ _, out = getstatusoutput(f'source {path}')
20
+ found = False
21
+ if os.path.exists(os.environ.get("HOME")+"/.bashrc"):
22
+ with open(os.environ.get("HOME")+"/.bashrc", "r") as bashrc:
23
+ for line in bashrc.readlines():
24
+ line = line.strip()
25
+ if not line.startswith("#") and f"source {path}" in line:
26
+ found = True
27
+ break
28
+ if not found:
29
+ with open(os.environ.get("HOME") + "/.bashrc", "a") as bashrc:
30
+ bashrc.writelines([f"\nsource {path}\n"])
31
+
32
+
33
+ class install(_install):
34
+ def run(self):
35
+ _install.run(self)
36
+ self.execute(_post_install, (), msg="Running post install task")
37
+
38
+
39
+ def get_env_var(name, default=None):
40
+ if not name:
41
+ return False
42
+ with open("simplyblock_core/env_var", "r", encoding="utf-8") as fh:
43
+ lines = fh.readlines()
44
+ data = {}
45
+ for line in lines:
46
+ if not line or line.startswith("#"):
47
+ continue
48
+ try:
49
+ k, v = line.split("=")
50
+ data[k.strip()] = v.strip()
51
+ except:
52
+ pass
53
+ return data.get(name, default)
54
+
55
+
56
+ def gen_data_files(*dirs):
57
+ results = []
58
+ for src_dir in dirs:
59
+ files = [f for f in os.listdir(src_dir) if os.path.isfile(f"{src_dir}/{f}") and f != ".DS_Store"]
60
+ if not files:
61
+ return []
62
+ results.append((src_dir, [f"{src_dir}/{f}" for f in files]))
63
+ dirs = [f for f in os.listdir(src_dir) if os.path.isdir(f"{src_dir}/{f}")]
64
+ for dir in dirs:
65
+ results.extend(gen_data_files(os.path.join(src_dir, dir)))
66
+ return results
67
+
68
+
69
+ def get_long_description():
70
+ with open("README.md", "r", encoding="utf-8") as fh:
71
+ return fh.read()
72
+
73
+
74
+ def get_requirements():
75
+ with open("requirements.txt", "r", encoding="utf-8") as fh:
76
+ return fh.readlines()
77
+
78
+
79
+ COMMAND_NAME = get_env_var("SIMPLY_BLOCK_COMMAND_NAME", "sbcli")
80
+ VERSION = get_env_var("SIMPLY_BLOCK_VERSION", "1")
81
+
82
+ data_files = gen_data_files("simplyblock_core","simplyblock_web")
83
+ data_files.append(('', ["requirements.txt"]))
84
+ # data_files.append(('/etc/simplyblock', ["requirements.txt"]))
85
+
86
+
87
+ setup(
88
+ name=COMMAND_NAME,
89
+ version=VERSION,
90
+ packages=find_packages(exclude=["e2e*"]),
91
+ url='https://www.simplyblock.io/',
92
+ author='Hamdy',
93
+ author_email='hamdy@simplyblock.io',
94
+ description='CLI for managing SimplyBlock cluster',
95
+ long_description=get_long_description(),
96
+ long_description_content_type="text/markdown",
97
+ install_requires=get_requirements(),
98
+ entry_points={
99
+ 'console_scripts': [
100
+ f'{COMMAND_NAME}=simplyblock_cli.cli:main',
101
+ ]
102
+ },
103
+ include_package_data=True,
104
+ data_files=data_files,
105
+ package_data={
106
+ '': ["/etc/simplyblock/requirements.txt"],
107
+ '/etc/simplyblock': ["requirements.txt"]
108
+ },
109
+ cmdclass={'install': install},
110
+ )
File without changes