sbcli-down 0.0.1__tar.gz

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