Deadline 8 changes to API for power management?

pmanage = RepositoryUtils.GetPowerManagementOptions() pmanage.Groups[0].SlaveNames.Add(slavename)

errored 2016-08-05 16:53:12: Traceback (most recent call last): 2016-08-05 16:53:12: File "none", line 62, in OnSlaveStarted 2016-08-05 16:53:12: AttributeError: 'String[]' object has no attribute 'Add' 2016-08-05 16:53:13: Auto Configuration: Picking configuration based on: Render-VM-05 / 192.168.94.79

Full Code:

[code]###############################################################

Imports

###############################################################
from System.Diagnostics import *
from System.IO import *
from System import TimeSpan

from Deadline.Events import *
from Deadline.Scripting import *

import re, sys, os, subprocess, traceback, shlex

###############################################################

This is the function called by Deadline to get an instance of the Draft event listener.

###############################################################
def GetDeadlineEventListener():
return ConfigSlaveEventListener()

def CleanupDeadlineEventListener( eventListener ):
eventListener.Cleanup()

###############################################################

The Draft event listener class.

###############################################################
class ConfigSlaveEventListener (DeadlineEventListener):
def init( self ):
self.OnSlaveStartedCallback += self.OnSlaveStarted

def Cleanup( self ):
    del self.OnSlaveStartedCallback


## This is called when the job finishes rendering.
def OnSlaveStarted( self, slavename ):
    try:
        slaveSettings = RepositoryUtils.GetSlaveSettings(slavename, True)
        if slavename.lower()[0:10] == "render-vm-":

            remotehost="render-" + slavename[-2:] + "-host"
            cmd="getmac /S " + remotehost + " /NH"
            p=subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
            output, errors = p.communicate()
            if output is not None :
                output = output.decode("utf-8")
                if output != "":
                    try:
                        item =  output.split("\n")[1].split(" ")[0]
                        slaveSettings.SlaveMacAddressOverride = item
                        RepositoryUtils.SaveSlaveSettings(slaveSettings)
                    except:
                        ClientUtils.LogText( traceback.format_exc() )
        
        
            RepositoryUtils.AddPoolToSlave(slavename, "urgent")
            RepositoryUtils.AddPoolToSlave(slavename, "global")
            RepositoryUtils.AddGroupToSlave(slavename, "global")
            RepositoryUtils.AddGroupToSlave(slavename, "i7_v01")
            RepositoryUtils.AddGroupToSlave(slavename, "rendernodes")
            
            pmanage = RepositoryUtils.GetPowerManagementOptions()
            pmanage.Groups[0].SlaveNames.Add(slavename)
        
    except:
        
        ClientUtils.LogText( traceback.format_exc() )[/code]

Hey Gavin,

Try using append instead of Add. I think that’s a python list causing you issues.