1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-08-08 14:22:09 +03:00

feat(cmapi): MCOL-6006 Disable failover when shared storage not detected

add Base api client
add NodeController api client
fix ClusterController Api client
add NodeController in endpoints.py
add 2 new endpoints to dispatcher: cluster/check-shared-storage and node/check-shared-file
add check_shared_storage method into ClusterHandler class
add set_shared_storage to node_manipulation t
add reading shared_storage in failover/config.py
fix is_shared_storage method in failover/config.py
add check_shared_storage in NodeMonitor class
fix some minor styling
This commit is contained in:
mariadb-AlanMologorsky
2025-07-18 16:00:34 +03:00
parent 7dca1da8f2
commit 48148b1e6e
10 changed files with 361 additions and 80 deletions

View File

@@ -6,12 +6,13 @@ from cmapi_server.controllers.endpoints import (
StatusController, ConfigController, BeginController, CommitController,
RollbackController, StartController, ShutdownController,
ExtentMapController, ClusterController, ApiKeyController,
LoggingConfigController, AppController, NodeProcessController
LoggingConfigController, AppController, NodeController,
NodeProcessController
)
from cmapi_server.controllers.s3dataload import S3DataLoadController
_version = '0.4.0'
_version = '0.4.0' #TODO: MOVE to constants
dispatcher = cherrypy.dispatch.RoutesDispatcher()
@@ -261,6 +262,26 @@ dispatcher.connect(
)
# /_version/node/check-shared-file/ (GET)
dispatcher.connect(
name = 'node_check_shared_file',
route = f'/cmapi/{_version}/node/check-shared-file',
action = 'check_shared_file',
controller = NodeController(),
conditions = {'method': ['GET']}
)
# /_version/cluster/check-shared-storage/ (PUT)
dispatcher.connect(
name = 'cluster_check_shared_storage',
route = f'/cmapi/{_version}/cluster/check-shared-storage',
action = 'check_shared_storage',
controller = ClusterController(),
conditions = {'method': ['PUT']}
)
def jsonify_error(status, message, traceback, version): \
# pylint: disable=unused-argument
"""JSONify all CherryPy error responses (created by raising the