Hi I am trying to create a spot event configuration using the Quick Create option (instead of doing things via the AWS console and copying the json to the spot plugin event manually)
Everything seems ok except when i try and add User Data i get an error message when i try and save (press modify) it.
The user data is not base64 encoded when i paste it into the utility. There is no issue with the user data as it can be added fine if i just want to do things manually by creating a json file via the console instead.
I was hoping to use Deadline Spot Event configuration utility instead of going to the aws console but this error is preventing me from doing so.
As a test, copy this file scripts/General/SpotEventConfigurationUtil.py to the “custom” structure: custom/scripts/General/SpotEventConfigurationUtil.py . And modify the line (see below).
Disclaimer: not responsible if it barfs
around line 2179: return base64.b64encode(userDataBytes)
change to: return base64.b64encode(userDataBytes).decode('ascii')
I did a quick test this afternoon using Quick Create and I got the same error message. I then modified the script and it seemed to work (it gave me a spot fleet request in the aws console), but I didn’t actually use it to see if it launched the spot fleet.
So tried this and even though it does not throw an error when adding the user data, it does not seem to actually apply the user data to the configuration. If i add it, save(modify) and then reopen the config to view it, no user data is there.
I will open a support ticket and see if the devs are able to review.
Yes, hopefully the devs will be able to fix it. I think once everything gets ported to python3/removed all the py2 bits, things will be smoother (again, hopefully)!
I forgot to write that we are using DL 10.1.23.6 – we haven’t updated to 10.2.0.9 yet so could not check if this was fixed in that release or not.
FWIW, I looked at the test cfg json file that was generated (via right-click cfg name → “Open in Advanced Create”) and saw UserData was populated. e.g.: