7478: On EC2 driver ask for a spot instance when needed.
[arvados.git] / services / nodemanager / arvnodeman / computenode / driver / ec2.py
index d204d7a8c065025636c868b644d22e6035f62ae6..1442a1245b2fa795fec159985fc3332c70116196 100644 (file)
@@ -60,7 +60,7 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
             driver_class)
 
     def _init_image_id(self, image_id):
-        return 'image', self.search_for(image_id, 'list_images')
+        return 'image', self.search_for(image_id, 'list_images', ex_owner='self')
 
     def _init_security_groups(self, group_names):
         return 'ex_security_groups', [
@@ -91,6 +91,9 @@ class ComputeNodeDriver(BaseComputeNodeDriver):
                     "VolumeSize": volsize,
                     "VolumeType": "gp2"
                 }}]
+        if size.preemptable:
+            # Request a Spot instance for this node
+            kw['ex_spot_market'] = True
         return kw
 
     def sync_node(self, cloud_node, arvados_node):