Commit 69a8d179 authored by Sébastien Luttringer's avatar Sébastien Luttringer
Browse files

Add rescue commands

parent 11180c84
Loading
Loading
Loading
Loading
+36 −0
Original line number Original line Diff line number Diff line
@@ -228,3 +228,39 @@ class Command_clone(TqlCommand):


    def remote_functions(self):
    def remote_functions(self):
        return set(("clone",))
        return set(("clone",))

class Command_rescue(TqlCommand):
    '''Switch a vm to rescue mode'''

    def __init__(self, cli, argv0):
        TqlCommand.__init__(self, cli, argv0)
        self.tql_filter += "&r=vm&status=stopped"

    def __call__(self, argv):
        # arg parse
        self.parse_args(argv)
        if len(self.args) != 1:
            raise cmdBadArgument()
        # rpc call
        self.rpccall("rescue", self.args[0])

    def remote_functions(self):
        return set(("rescue",))

class Command_unrescue(TqlCommand):
    '''Switch a vm back from rescue mode'''

    def __init__(self, cli, argv0):
        TqlCommand.__init__(self, cli, argv0)
        self.tql_filter += "&r=vm&status=stopped"

    def __call__(self, argv):
        # arg parse
        self.parse_args(argv)
        if len(self.args) != 1:
            raise cmdBadArgument()
        # rpc call
        self.rpccall("unrescue", self.args[0])

    def remote_functions(self):
        return set(("unrescue",))