I looked more closely and it turns out the aws console IAM configuration I have for the platform that worked briefly last week is quite different then my new one. I added the roles we've been working with already to the Administrator group:
And I changed the "Trusted Entities" for the spotfleet role:
The ecsinstance role has the default trusted entity "ec2.amazonaws.com". Now my error is something I got the last time I tried this and I had to root out some values that worked:
$ python run.py startCluster files/fleet03.json
Traceback (most recent call last):
File "run.py", line 338, in
File "run.py", line 206, in startCluster
requestInfo = ec2client.request_spot_fleet(SpotFleetRequestConfig=spotfleetConfig)
File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 253, in apicall
return self.makeapi_call(operation_name, kwargs)
File "/usr/local/lib/python2.7/dist-packages/botocore/client.py", line 543, in makeapi_call
raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (InvalidSpotFleetRequestConfig) when calling the RequestSpotFleet operation: Invalid Amazon Machine Image(s) specified: The image id '[ami-03562b14]' does not exist (Service: AmazonEC2; Status Code: 400; Error Code: InvalidAMIID.NotFound; Request ID: 6acafd93-c5fd-4d2b-b131-c1d2dee1b18f).
So, I used these values last time and they appear to work this time too:
Now... Some spotfleet instances started but they aren't doing anything. I notice that there is a service running in the ec2 contaniner service, but there isn't a task or an instance. That is different from my other aws account where an instance is running or starts automatically and gives itself a name in the ec2 management console that is the app name.
I'm going to post this before continuing to troubleshoot... -John