AWS Thinkbox Discussion Forums

GetSlave in rest api

When using the command line with the GetSlave command, we get the following information (organized into a dictionary by our wrapper api):

{'comment': '',
 'commenttag': 'jon.bird, 2014/10/13 16:54',
 'completedtasks': '0',
 'concurrenttaskslimit': '0',
 'couchbasecas': '0',
 'couchrevision': '',
 'cpuaffinity': '',
 'cpus': '12',
 'cpuusage': '6',
 'currentjobgroup': '',
 'currentjobid': '',
 'currentjobname': '',
 'currentjobpool': '',
 'currentjobpriority': '-1',
 'currentjobuser': '',
 'currentplugin': '',
 'currenttaskids': '',
 'currenttasknames': '',
 'currenttaskprogresses': '',
 'currenttaskrendertimes': '',
 'currenttaskstatus': '',
 'description': 'Vancouver Workstation',
 'disabled': 'False',
 'diskspace': '863107473408',
 'diskspacestring': '803.831 GB (3.552 GB on C:\\, 800.280 GB on S:\\)',
 'enabled': 'False',
 'extrainfo0': 'Wed Oct 15 10:52:37 2014',
 'extrainfo1': '1386021805',
 'extrainfo2': 'laszlo.sebo',
 'extrainfo3': '',
 'extrainfo4': 'Scanline',
 'extrainfo5': '',
 'extrainfo6': '',
 'extrainfo7': '',
 'extrainfo8': '',
 'extrainfo9': '',
 'failedtasks': '0',
 'freememory': '32300326912',
 'freemode': 'False',
 'groupmappingid': '',
 'groups': '',
 'groupsstring': '',
 'hostmachineipaddressoverride': '',
 'hostname': 'vcpro1014',
 'id': 'vcpro1014',
 'includeinnonegroup': 'True',
 'includeinnonepool': 'True',
 'ipaddress': ****
 'iscloudslave': 'False',
 'isconnectedtopulse': 'False',
 'islicensepermanent': 'True',
 'lastreadrepotime': 'Jan 01/01  00:00:00',
 'lastreadtime': 'Jan 01/01  00:00:00',
 'lastwritetime': 'Oct 10/14  14:45:36',
 'licensedayslefttoexpiry': '-1',
 'licenselasterrormessage': '',
 'licenseserver': '@lapro0001.scanlinevfxla.com',
 'limitgroupstubs': '',
 'listeningport': '65323',
 'macaddress': 'FF:FF:FF:FF:FF:FF',
 'macaddressoverride': '',
 'machinearchitecture': 'x64',
 'machinecpus': '12',
 'machinecpuusage': '6',
 'machinediskspace': '863107473408',
 'machinefreememory': '32300326912',
 'machineipaddress': ****
 'machinemacaddress': 'FF:FF:FF:FF:FF:FF',
 'machinememory': '51530166272',
 'machineoperatingsystem': 'Windows 7 Professional',
 'machineprocessorspeed': '3468',
 'machinerealname': 'vcpro1014',
 'machineusername': 'ScanlineVfx_user',
 'machinevideocard': 'LogMeIn Mirror Driver',
 'memory': '51530166272',
 'normalizedrendertimemultiplier': '1',
 'normalizedtimeoutmultiplier': '1',
 'onlasttaskcomplete': 'Continue Running',
 'osshortname': 'Windows 7 Professional',
 'overridecpuaffinity': 'False',
 'pools': 'all',
 'poolsstring': 'all',
 'processorarchitecture': 'x64',
 'processorspeed': '3468',
 'regionid': '',
 'renderingtime': '0',
 'slavecomment': '',
 'slavecompletedtasks': '0',
 'slaveconcurrenttaskslimit': '0',
 'slavecpuaffinity': '',
 'slavecurrentjobgroup': '',
 'slavecurrentjobid': '',
 'slavecurrentjobname': '',
 'slavecurrentjobpool': '',
 'slavecurrentjobpriority': '-1',
 'slavecurrentjobusername': '',
 'slavecurrentplugin': '',
 'slavecurrenttaskids': '',
 'slavedescription': 'Vancouver Workstation',
 'slaveenabled': 'False',
 'slaveextrainfo0': 'Wed Oct 15 10:52:37 2014',
 'slaveextrainfo1': '1386021805',
 'slaveextrainfo2': 'laszlo.sebo',
 'slaveextrainfo3': '',
 'slaveextrainfo4': 'Scanline',
 'slaveextrainfo5': '',
 'slaveextrainfo6': '',
 'slaveextrainfo7': '',
 'slaveextrainfo8': '',
 'slaveextrainfo9': '',
 'slavefailedtasks': '0',
 'slavefreemode': 'False',
 'slavegroups': '',
 'slaveincludeinnonegroup': 'True',
 'slaveincludeinnonepool': 'True',
 'slaveisconnectedtopulse': 'False',
 'slaveislicensepermanent': 'True',
 'slavelastmessage': '2014/10/10 14:45:36 Slave shutting down',
 'slavelicensedayslefttoexpiry': '-1',
 'slavelicenseserver': '@lapro0001.scanlinevfxla.com',
 'slavelimitgroupstubs': '',
 'slavemessage': '2014/10/10 14:45:36 Slave shutting down',
 'slavename': 'VCPRO1014',
 'slavenormalizedrendertimemultiplier': '1',
 'slavenormalizedtimeoutmultiplier': '1',
 'slaveoverridecpuaffinity': 'False',
 'slavepools': 'all',
 'slaverunningtime': '10145',
 'slavesettingsgroups': '',
 'slavesettingsincludeinnonegroup': 'False',
 'slavesettingsincludeinnonepool': 'False',
 'slavesettingspools': '',
 'slavestate': 'Offline',
 'slavestatus': 'Offline',
 'statedatetime': 'Oct 10/14  14:45:36',
 'updatedatetime': 'Oct 10/14  14:45:36',
 'uptimeseconds': '10145',
 'username': ****
 'version': 'v6.2.1.46 R  (a0b9182de)',
 'videocard': 'LogMeIn Mirror Driver'}

But using the REST api, we get different fields:

d6API.Slaves.GetSlaveInfo('VCPRO1014')
Out[107]:
{u'Arch': u'x64',
 u'CPU': 6,
 u'Disk': 863107473408L,
 u'DiskStr': u'803.831 GB (3.552 GB on C:\\, 800.280 GB on S:\\)',
 u'Grps': u'',
 u'Host': u'vcpro1014',
 u'IP': ****
 u'JobGrp': u'',
 u'JobId': u'',
 u'JobName': u'',
 u'JobPlug': u'',
 u'JobPool': u'',
 u'JobPri': -1,
 u'JobUser': u'',
 u'Lic': u'@lapro0001.scanlinevfxla.com',
 u'LicErr': u'',
 u'LicEx': -1,
 u'LicFree': False,
 u'LicPerm': True,
 u'Limits': [],
 u'MAC': u'FF:FF:FF:FF:FF:FF',
 u'Msg': u'2014/10/10 14:45:36 Slave shutting down',
 u'Name': u'VCPRO1014',
 u'OS': u'Windows 7 Professional',
 u'OnTskComp': u'Continue Running',
 u'Pools': u'all',
 u'Port': 65323,
 u'ProcSpd': 3468,
 u'Procs': 12,
 u'Pulse': False,
 u'RAM': 51530166272L,
 u'RAMFree': 32300326912L,
 u'RndTime': 0.0,
 u'Stat': 3,
 u'StatDate': u'2014-10-10T14:45:36.702',
 u'TskComp': 0,
 u'TskFail': 0,
 u'TskId': u'',
 u'TskName': u'',
 u'TskProg': u'',
 u'TskStat': u'',
 u'TskTime': u'',
 u'UpTime': 10145,
 u'User': u'ScanlineVfx_user',
 u'Ver': u'v6.2.1.46 R  (a0b9182de)',
 u'Vid': u'LogMeIn Mirror Driver',
 u'_id': u'vcpro1014'}

In [108]: d6.Slaves.GetSlaveSettings('VCPRO1014')
Out[108]:
[{u'Affin': [],
  u'AffinOvr': False,
  u'Cloud': False,
  u'Cmmt': u'',
  u'CmmtTag': u'jon.bird, 2014/10/13 16:54',
  u'Desc': u'Vancouver Workstation',
  u'Enable': False,
  u'Ex0': u'Wed Oct 15 10:52:37 2014',
  u'Ex1': u'1386021805',
  u'Ex2': u'laszlo.sebo',
  u'Ex3': u'',
  u'Ex4': u'Scanline',
  u'Ex5': u'',
  u'Ex6': u'',
  u'Ex7': u'',
  u'Ex8': u'',
  u'Ex9': u'',
  u'GrpMapID': u'',
  u'Grps': [],
  u'HostMachineIPAddress': u'',
  u'Mac': u'',
  u'Name': u'vcpro1014',
  u'NonGrp': True,
  u'NonPool': True,
  u'NrmTime': 1.0,
  u'NrmTimeout': 1.0,
  u'Pools': [u'all'],
  u'RegID': u'',
  u'TskLmt': 0,
  u'_id': u'vcpro1014'}]

Is there a way to get the same data? Things missing for example are data about the current job/task, cpu affinity, etc.
One other question related to the api, can these key names be trusted to not change?

Missing from where? I’m seeing both of them listed:

command line:

  • currentjobid, currentjobname, currenttaskids, currenttasknames, etc
  • cpuaffinity

rest api:

  • JobId, JobName, TskId, TaskName, etc
  • Affin

All fields should be there, they’re just named differently. Deadline command uses .NET reflection on the objects to get their property names, while the rest API uses the json representation that matches up with what’s in the DB. We didn’t want to change the command line to keep backwards compatibility. We won’t change these property names during a major version cycle unless it is absolutely necessary (ie: to fix a major bug), and they typically won’t change between major releases either unless the property itself changes in some way due to refactoring, or to address bugs.

Cheers,
Ryan

… I swear i looked like 5 times with my googly eyes.
Thanks!

Something has to be missing though, they key count returned by the command line is 140, but the total of GetSlaveInfo (47) and GetSlaveSettings (30) is just 77. Or are those just duplicates? I see memory entries listed twice for example, etc.

I have the data i want, but i just want to make sure i’m not crazy :slight_smile:

They are duplicates. Because we use .NET reflection, we get the internal property (ie: currentjobid) and the scripting API property (ie: slavecurrentjobid).

Cheers,
Ryan

Privacy | Site terms | Cookie preferences