diff --git a/maxctrl/lib/core.js b/maxctrl/lib/core.js index 47b76b9f8..08721a208 100644 --- a/maxctrl/lib/core.js +++ b/maxctrl/lib/core.js @@ -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')) diff --git a/maxctrl/lib/reload.js b/maxctrl/lib/reload.js new file mode 100644 index 000000000..c9034845e --- /dev/null +++ b/maxctrl/lib/reload.js @@ -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 ' +exports.desc = 'Reload objects' +exports.handler = function() {} +exports.builder = function(yargs) { + yargs + .command('service ', 'Reloads the database users of this service', function(yargs) { + return yargs.usage('Usage: reload service ') + }, function(argv) { + maxctrl(argv, function(host){ + return doRequest(host, 'services/' + argv.service + '/reload', null, {method: 'POST'}) + }) + }) + .usage('Usage: reload ') + .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.') + }) + }) +} diff --git a/maxctrl/test/reload.js b/maxctrl/test/reload.js new file mode 100644 index 000000000..23a8e86dd --- /dev/null +++ b/maxctrl/test/reload.js @@ -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) +});