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:
Markus Mäkelä 2020-05-29 09:27:13 +03:00
parent f013d3ccd9
commit d9fdf3adc1
No known key found for this signature in database
GPG Key ID: 5CE746D557ACC499
3 changed files with 47 additions and 0 deletions

View File

@ -110,6 +110,7 @@ program
.command(require('./stop.js'))
.command(require('./alter.js'))
.command(require('./rotate.js'))
.command(require('./reload.js'))
.command(require('./call.js'))
.command(require('./cluster.js'))
.command(require('./api.js'))

34
maxctrl/lib/reload.js Normal file
View 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
View 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)
});