MXS-2540 Add monitor support to new config system

The configuration system needs to be aware of standard monitor
parameters.
This commit is contained in:
Johan Wikman 2019-06-03 15:22:25 +03:00
parent 69dea5a81e
commit ceb58d615e
3 changed files with 37 additions and 2 deletions

View File

@ -106,6 +106,10 @@ extern const char CN_AUTHENTICATOR_DIAGNOSTICS[];
extern const char CN_AUTHENTICATOR_OPTIONS[];
extern const char CN_AUTHENTICATOR[];
extern const char CN_AUTO[];
extern const char CN_BACKEND_CONNECT_ATTEMPTS[];
extern const char CN_BACKEND_CONNECT_TIMEOUT[];
extern const char CN_BACKEND_READ_TIMEOUT[];
extern const char CN_BACKEND_WRITE_TIMEOUT[];
extern const char CN_CACHE_SIZE[];
extern const char CN_CACHE[];
extern const char CN_CLASSIFICATION[];
@ -114,9 +118,11 @@ extern const char CN_CONNECTION_TIMEOUT[];
extern const char CN_DATA[];
extern const char CN_DEFAULT[];
extern const char CN_DESCRIPTION[];
extern const char CN_DISK_SPACE_CHECK_INTERVAL[];
extern const char CN_DISK_SPACE_THRESHOLD[];
extern const char CN_DUMP_LAST_STATEMENTS[];
extern const char CN_ENABLE_ROOT_USER[];
extern const char CN_EVENTS[];
extern const char CN_EXTRA_PORT[];
extern const char CN_FIELDS[];
extern const char CN_FILTER_DIAGNOSTICS[];
@ -129,6 +135,7 @@ extern const char CN_HAS_WHERE_CLAUSE[];
extern const char CN_HITS[];
extern const char CN_ID[];
extern const char CN_INET[];
extern const char CN_JOURNAL_MAX_AGE[];
extern const char CN_LINKS[];
extern const char CN_LOAD_PERSISTED_CONFIGS[];
extern const char CN_LISTENER[];
@ -145,8 +152,9 @@ extern const char CN_METHOD[];
extern const char CN_MODULE_COMMAND[];
extern const char CN_MODULE[];
extern const char CN_MODULES[];
extern const char CN_MONITOR_DIAGNOSTICS[];
extern const char CN_MONITOR[];
extern const char CN_MONITOR_DIAGNOSTICS[];
extern const char CN_MONITOR_INTERVAL[];
extern const char CN_MONITORS[];
extern const char CN_MS_TIMESTAMP[];
extern const char CN_NAME[];
@ -172,6 +180,8 @@ extern const char CN_RETRY_ON_FAILURE[];
extern const char CN_ROUTER_DIAGNOSTICS[];
extern const char CN_ROUTER_OPTIONS[];
extern const char CN_ROUTER[];
extern const char CN_SCRIPT[];
extern const char CN_SCRIPT_TIMEOUT[];
extern const char CN_SELF[];
extern const char CN_SERVER[];
extern const char CN_SERVERS[];

View File

@ -41,7 +41,8 @@ class Specification
public:
enum Kind
{
FILTER
FILTER,
MONITOR
};
using ParamsByName = std::map<std::string, Param*>;

View File

@ -29,6 +29,26 @@ const char* pzCore_filter_params[] = {
nullptr,
};
const char* pzCore_monitor_params[] = {
CN_TYPE,
CN_MODULE,
CN_USER,
CN_PASSWORD,
CN_SERVERS,
CN_MONITOR_INTERVAL,
CN_BACKEND_CONNECT_TIMEOUT,
CN_BACKEND_READ_TIMEOUT,
CN_BACKEND_WRITE_TIMEOUT,
CN_BACKEND_CONNECT_ATTEMPTS,
CN_JOURNAL_MAX_AGE,
CN_DISK_SPACE_THRESHOLD,
CN_DISK_SPACE_CHECK_INTERVAL,
CN_SCRIPT,
CN_SCRIPT_TIMEOUT,
CN_EVENTS,
nullptr,
};
bool is_core_param(Specification::Kind kind, const std::string& param)
{
bool rv = false;
@ -41,6 +61,10 @@ bool is_core_param(Specification::Kind kind, const std::string& param)
pzCore_params = pzCore_filter_params;
break;
case Specification::MONITOR:
pzCore_params = pzCore_monitor_params;
break;
default:
mxb_assert(!true);
}