mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-06-09 06:41:19 +03:00
MAJOR: Some logic inside node remove changed significantly using active nodes list from Columnstore.xml to broadcast config after remove. [fix] TransactionManager passsing extra, remove and optional nodes arguments to start_transaction function [fix] commit and rollback methods of TransactionManager adding nodes argument [fix] TransactionManager using success_txn_nodes inside [fix] remove node logic to use Transaction manager [fix] cluster set api key call using totp on a top level cli call [add] missed docstrings [fix] cluster shutdown timeout for next release
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import unittest
|
|
import requests
|
|
import configparser
|
|
from pathlib import Path
|
|
from datetime import datetime
|
|
|
|
from cmapi_server.controllers.dispatcher import _version
|
|
|
|
config_filename = './cmapi_server/cmapi_server.conf'
|
|
|
|
url = f"https://localhost:8640/cmapi/{_version}/node/config"
|
|
begin_url = f"https://localhost:8640/cmapi/{_version}/node/begin"
|
|
config_path = './cmapi_server/test/Columnstore_apply_config.xml'
|
|
|
|
# create tmp dir
|
|
tmp_prefix = '/tmp/mcs_config_test'
|
|
tmp_path = Path(tmp_prefix)
|
|
tmp_path.mkdir(parents = True, exist_ok = True)
|
|
copyfile(config_path_old, tmp_prefix + '/Columnstore.xml')
|
|
|
|
|
|
def get_current_key():
|
|
app_config = configparser.ConfigParser()
|
|
try:
|
|
with open(config_filename, 'r') as _config_file:
|
|
app_config.read_file(_config_file)
|
|
except FileNotFoundError:
|
|
return ''
|
|
if 'Authentication' not in app_config.sections():
|
|
return ''
|
|
return app_config['Authentication'].get('x-api-key', '')
|
|
|
|
headers = {'x-api-key': get_current_key()}
|
|
body = {'id': 42, 'timeout': 120}
|
|
r = requests.put(begin_url, verify=False, headers=headers, json=body)
|
|
|
|
config_file = Path(config_path)
|
|
config = config_file.read_text()
|
|
|
|
body = {
|
|
'revision': 42,
|
|
'manager': '1.1.1.1',
|
|
'timeout': 0,
|
|
'config': config,
|
|
}
|