MXS-2349: Add socket support for maxctrl
A server can now be created with a socket.
This commit is contained in:
parent
ddf004b733
commit
0cd00e888e
@ -83,12 +83,12 @@ exports.builder = function(yargs) {
|
||||
describe: 'Link the created server to these monitors',
|
||||
type: 'array'
|
||||
})
|
||||
.command('server <name> <host> <port>', 'Create a new server', function(yargs) {
|
||||
.command('server <name> <host|socket> [port]', 'Create a new server', function(yargs) {
|
||||
return yargs.epilog('The created server will not be used by any services or monitors ' +
|
||||
'unless the --services or --monitors options are given. The list ' +
|
||||
'of servers a service or a monitor uses can be altered with the ' +
|
||||
'`link` and `unlink` commands.')
|
||||
.usage('Usage: create server <name> <host> <port>')
|
||||
.usage('Usage: create server <name> <host|socket> [port]')
|
||||
}, function(argv) {
|
||||
var server = {
|
||||
'data': {
|
||||
@ -96,8 +96,6 @@ exports.builder = function(yargs) {
|
||||
'type': 'servers',
|
||||
'attributes': {
|
||||
'parameters': {
|
||||
'address': argv.host,
|
||||
'port': argv.port,
|
||||
'protocol': argv.protocol,
|
||||
'authenticator': argv.authenticator,
|
||||
'authenticator_options': argv.auth_options,
|
||||
@ -111,6 +109,13 @@ exports.builder = function(yargs) {
|
||||
}
|
||||
}
|
||||
|
||||
if (argv.host[0] == '/') {
|
||||
server.data.attributes.parameters.socket = argv.host
|
||||
} else {
|
||||
server.data.attributes.parameters.address = argv.host
|
||||
server.data.attributes.parameters.port = argv.port
|
||||
}
|
||||
|
||||
if (argv.services) {
|
||||
for (i = 0; i < argv.services.length; i++) {
|
||||
_.set(server, 'data.relationships.services.data[' + i + ']', {id: argv.services[i], type: 'services'})
|
||||
|
@ -104,6 +104,12 @@ describe("Create/Destroy Commands", function() {
|
||||
.should.be.rejected
|
||||
})
|
||||
|
||||
it('create and destroy server with socket', function() {
|
||||
return verifyCommand('create server server7 /tmp/server.sock', 'servers/server7')
|
||||
.then(() => doCommand('destroy server server7'))
|
||||
.should.be.fulfilled
|
||||
})
|
||||
|
||||
it('create listener', function() {
|
||||
return verifyCommand('create listener RW-Split-Router my-listener 4567',
|
||||
'services/RW-Split-Router/listeners/my-listener')
|
||||
|
Loading…
x
Reference in New Issue
Block a user