Newer
Older
'''
CloudControl physical host related commands
'''
from cccli.exception import *
from sjrpc.core.exceptions import *
from cccli.printer import Printer, color
from cccli.command.command import TqlCommand
def __init__(self, cli, argv0):
TqlCommand.__init__(self, cli, argv0)
self.set_usage("%prog [options] <tql> <command>")
self.tql_filter += "&con&r~'host|hv'"
# arg parse
self.parse_args(argv)
if len(self.args) != 2:
self.rpccall("execute", self.args[0], self.args[1], _callback=self._cb_print_output)
def _cb_print_output(self, d):
'''Print output of execute by object'''
for o in d["objects"]:
self.printer.out("%sid:%s%s%s output:"%(self.tdtc("id"), self.tdc("id"),
o["id"], color["reset"]))
self.printer.out(o.get("output", ""), nl="")
self.set_usage("%prog [options] <tql>")
self.add_option("-R", "--reboot", action="store_true", dest="reboot",
help="Reboot after shutdown (default)")
self.add_option("-H", "--halt", action="store_false", dest="reboot",
help="Halt after shutdown")
self.add_option("-F", action="store_false", dest="graceful", default=True,
help="do not go through init but go down real fast")
self.tql_filter += "&con&r~'host|hv'"
self.parse_args(argv)
if len(self.args) != 1:
self.rpccall("shutdown", self.args[0], self.options.reboot,
self.options.graceful)