MXS-3013: Add reload service MaxCtrl command
The command currently reloads the users of a service but it can be used to reload other parts of it as well (e.g. encryption keys).
This commit is contained in:
@ -110,6 +110,7 @@ program
|
|||||||
.command(require('./stop.js'))
|
.command(require('./stop.js'))
|
||||||
.command(require('./alter.js'))
|
.command(require('./alter.js'))
|
||||||
.command(require('./rotate.js'))
|
.command(require('./rotate.js'))
|
||||||
|
.command(require('./reload.js'))
|
||||||
.command(require('./call.js'))
|
.command(require('./call.js'))
|
||||||
.command(require('./cluster.js'))
|
.command(require('./cluster.js'))
|
||||||
.command(require('./api.js'))
|
.command(require('./api.js'))
|
||||||
|
34
maxctrl/lib/reload.js
Normal file
34
maxctrl/lib/reload.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2020 MariaDB Corporation Ab
|
||||||
|
*
|
||||||
|
* Use of this software is governed by the Business Source License included
|
||||||
|
* in the LICENSE.TXT file and at www.mariadb.com/bsl11.
|
||||||
|
*
|
||||||
|
* Change Date: 2024-04-23
|
||||||
|
*
|
||||||
|
* On the date above, in accordance with the Business Source License, use
|
||||||
|
* of this software will be governed by version 2 or later of the General
|
||||||
|
* Public License.
|
||||||
|
*/
|
||||||
|
require('./common.js')()
|
||||||
|
|
||||||
|
exports.command = 'reload <command>'
|
||||||
|
exports.desc = 'Reload objects'
|
||||||
|
exports.handler = function() {}
|
||||||
|
exports.builder = function(yargs) {
|
||||||
|
yargs
|
||||||
|
.command('service <service>', 'Reloads the database users of this service', function(yargs) {
|
||||||
|
return yargs.usage('Usage: reload service <service>')
|
||||||
|
}, function(argv) {
|
||||||
|
maxctrl(argv, function(host){
|
||||||
|
return doRequest(host, 'services/' + argv.service + '/reload', null, {method: 'POST'})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.usage('Usage: reload <command>')
|
||||||
|
.help()
|
||||||
|
.command('*', 'the default command', {}, function(argv) {
|
||||||
|
maxctrl(argv, function(host) {
|
||||||
|
return error('Unknown command. See output of `help reload` for a list of commands.')
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
12
maxctrl/test/reload.js
Normal file
12
maxctrl/test/reload.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
require('../test_utils.js')()
|
||||||
|
|
||||||
|
describe("Reload Commands", function() {
|
||||||
|
before(startMaxScale)
|
||||||
|
|
||||||
|
it('reload service', function() {
|
||||||
|
return doCommand('reload service RW-Split-Router')
|
||||||
|
.should.be.fulfilled
|
||||||
|
});
|
||||||
|
|
||||||
|
after(stopMaxScale)
|
||||||
|
});
|
Reference in New Issue
Block a user