Add get serial console support

Change-Id: Ia3281ef791d8f5b6ec7f45a11defbd95646689c3
This commit is contained in:
Zhenguo Niu 2017-05-15 17:41:43 +08:00
parent 4c99f1fa6b
commit 6acde90a96
3 changed files with 42 additions and 0 deletions

View File

@ -602,3 +602,39 @@ class RemoveFloatingIP(command.Command):
bc_client.server.remove_floating_ip(server.uuid,
parsed_args.ip_address)
class ShowConsoleURL(command.ShowOne):
_description = _("Show server's remote console URL")
def get_parser(self, prog_name):
parser = super(ShowConsoleURL, self).get_parser(prog_name)
parser.add_argument(
'server',
metavar='<server>',
help=_("Server to show URL (name or ID)")
)
type_group = parser.add_mutually_exclusive_group()
type_group.add_argument(
'--serial',
dest='url_type',
action='store_const',
const='serial',
help=_("Show serial console URL"),
)
return parser
def take_action(self, parsed_args):
bc_client = self.app.client_manager.baremetal_compute
server = utils.find_resource(
bc_client.server,
parsed_args.server,
)
data = bc_client.server.get_serial_console(server.uuid)
if not data:
return ({}, {})
info = {}
info.update(data.console)
return zip(*sorted(info.items()))

View File

@ -137,3 +137,8 @@ class ServerManager(base.ManagerWithFind):
url = '/servers/%(server)s/networks/floatingips/%(ip)s' % {
'server': base.getid(server_id), 'ip': ip_address}
return self._delete(url)
def get_serial_console(self, server_id):
url = '/servers/%(server)s/serial_console' % {
'server': base.getid(server_id)}
return self._get(url)

View File

@ -50,6 +50,7 @@ openstack.baremetal_compute.v1 =
baremetal_server_netinfo = moganclient.osc.v1.server:ShowServerNetworkInfo
baremetal_server_add_floating_ip = moganclient.osc.v1.server:AddFloatingIP
baremetal_server_remove_floating_ip = moganclient.osc.v1.server:RemoveFloatingIP
baremetal_console_url_show = moganclient.osc.v1.server:ShowConsoleURL
baremetal_availability_zone_list = moganclient.osc.v1.availability_zone:ListAvailabilityZone
baremetal_keypair_create = moganclient.osc.v1.keypair:CreateKeyPair
baremetal_keypair_show = moganclient.osc.v1.keypair:ShowKeyPair