def activate(rh):
    """
    Activate a virtual machine.

    Input:
       Request Handle with the following properties:
          function    - 'POWERVM'
          subfunction - 'ON'
          userid      - userid of the virtual machine
          parms['desiredState']   - Desired state. Optional,
                                    unless 'maxQueries' is specified.
          parms['maxQueries']     - Maximum number of queries to issue.
                                    Optional.
          parms['maxWait']        - Maximum time to wait in seconds. Optional,
                                    unless 'maxQueries' is specified.
          parms['poll']           - Polling interval in seconds. Optional,
                                    unless 'maxQueries' is specified.

    Output:
       Request Handle updated with the results.
       Return code - 0: ok, non-zero: error
    """
    rh.printSysLog("Enter powerVM.activate, userid: " + rh.userid)

    parms = ["-T", rh.userid]
    smcliResults = invokeSMCLI(rh, "Image_Activate", parms)
    if smcliResults['overallRC'] == 0:
        pass
    elif (smcliResults['overallRC'] == 8 and
        smcliResults['rc'] == 200 and smcliResults['rs'] == 8):
        pass    # All good.  No need to change the ReqHandle results.
    else:
        # SMAPI API failed.
        rh.printLn("ES", smcliResults['response'])
        rh.updateResults(smcliResults)    # Use results from invokeSMCLI

    if rh.results['overallRC'] == 0 and 'maxQueries' in rh.parms:
        # Wait for the system to be in the desired state of:
        # OS is 'up' and reachable or VM is 'on'.
        if rh.parms['desiredState'] == 'up':
            results = waitForOSState(
                rh,
                rh.userid,
                rh.parms['desiredState'],
                maxQueries=rh.parms['maxQueries'],
                sleepSecs=rh.parms['poll'])
        else:
            results = waitForVMState(
                rh,
                rh.userid,
                rh.parms['desiredState'],
                maxQueries=rh.parms['maxQueries'],
                sleepSecs=rh.parms['poll'])

        if results['overallRC'] == 0:
            rh.printLn("N", "%s: %s" %
                (rh.userid, rh.parms['desiredState']))
        else:
            rh.updateResults(results)

    rh.printSysLog("Exit powerVM.activate, rc: " +
        str(rh.results['overallRC']))
    return rh.results['overallRC']
def activate ( rh ) : rh . printSysLog ( "Enter powerVM.activate, userid: " + rh . userid ) parms = [ "-T" , rh . userid ] smcliResults = invokeSMCLI ( rh , "Image_Activate" , parms ) if smcliResults [ 'overallRC' ] == 0 : pass elif ( smcliResults [ 'overallRC' ] == 8 and smcliResults [ 'rc' ] == 200 and smcliResults [ 'rs' ] == 8 ) : pass else : rh . printLn ( "ES" , smcliResults [ 'response' ] ) rh . updateResults ( smcliResults ) if rh . results [ 'overallRC' ] == 0 and 'maxQueries' in rh . parms : if rh . parms [ 'desiredState' ] == 'up' : results = waitForOSState ( rh , rh . userid , rh . parms [ 'desiredState' ] , maxQueries = rh . parms [ 'maxQueries' ] , sleepSecs = rh . parms [ 'poll' ] ) else : results = waitForVMState ( rh , rh . userid , rh . parms [ 'desiredState' ] , maxQueries = rh . parms [ 'maxQueries' ] , sleepSecs = rh . parms [ 'poll' ] ) if results [ 'overallRC' ] == 0 : rh . printLn ( "N" , "%s: %s" % ( rh . userid , rh . parms [ 'desiredState' ] ) ) else : rh . updateResults ( results ) rh . printSysLog ( "Exit powerVM.activate, rc: " + str ( rh . results [ 'overallRC' ] ) ) return rh . results [ 'overallRC' ]
Activate a virtual machine.

    Input:
       Request Handle with the following properties:
          function    - 'POWERVM'
          subfunction - 'ON'
          userid      - userid of the virtual machine
          parms['desiredState']   - Desired state. Optional,
                                    unless 'maxQueries' is specified.
          parms['maxQueries']     - Maximum number of queries to issue.
                                    Optional.
          parms['maxWait']        - Maximum time to wait in seconds. Optional,
                                    unless 'maxQueries' is specified.
          parms['poll']           - Polling interval in seconds. Optional,
                                    unless 'maxQueries' is specified.

    Output:
       Request Handle updated with the results.
       Return code - 0: ok, non-zero: error