From d6cc2be6539caab9f732a7917c1ab06d11945589 Mon Sep 17 00:00:00 2001 From: allegroai <> Date: Sun, 5 Jan 2020 13:57:29 +0200 Subject: [PATCH] Fix AWS dynamic cluster management service use of AWS credentials --- examples/dynamic_cloud_cluster.ipynb | 34 +++++++++++++++++++--------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/examples/dynamic_cloud_cluster.ipynb b/examples/dynamic_cloud_cluster.ipynb index 8c06db2..acd302b 100644 --- a/examples/dynamic_cloud_cluster.ipynb +++ b/examples/dynamic_cloud_cluster.ipynb @@ -138,7 +138,7 @@ "metadata": {}, "outputs": [], "source": [ - "# AWS credentials\n", + "# AWS credentials (leave empty to use credentials set using the aws cli)\n", "CLOUD_CREDENTIALS_KEY = \"\"\n", "CLOUD_CREDENTIALS_SECRET = \"\"\n", "CLOUD_CREDENTIALS_REGION = \"us-east-1\"\n", @@ -278,7 +278,12 @@ " git_pass=TRAINS_GIT_PASS,\n", " )\n", "\n", - " ec2 = boto3.client(\"ec2\", region_name=CLOUD_CREDENTIALS_REGION)\n", + " ec2 = boto3.client(\n", + " \"ec2\",\n", + " aws_access_key_id=CLOUD_CREDENTIALS_KEY or None,\n", + " aws_secret_access_key=CLOUD_CREDENTIALS_SECRET or None,\n", + " region_name=CLOUD_CREDENTIALS_REGION\n", + " )\n", "\n", " if resource_conf[\"is_spot\"]:\n", " # Create a request for a spot instance in AWS\n", @@ -310,9 +315,12 @@ " SpotInstanceRequestIds=[request_id]\n", " )\n", " instance_id = response[\"SpotInstanceRequests\"][0][\"InstanceId\"]\n", - " instance = boto3.resource(\"ec2\", region_name=CLOUD_CREDENTIALS_REGION).Instance(\n", - " instance_id\n", - " )\n", + " instance = boto3.resource(\n", + " \"ec2\",\n", + " aws_access_key_id=CLOUD_CREDENTIALS_KEY or None,\n", + " aws_secret_access_key=CLOUD_CREDENTIALS_SECRET or None,\n", + " region_name=CLOUD_CREDENTIALS_REGION\n", + " ).Instance(instance_id)\n", "\n", " else:\n", " # Create a new EC2 instance\n", @@ -352,9 +360,12 @@ " (currently, only AWS EC2 is supported)\n", " \"\"\"\n", " try:\n", - " boto3.resource(\"ec2\", region_name=CLOUD_CREDENTIALS_REGION).instances.filter(\n", - " InstanceIds=[instance_id]\n", - " ).terminate()\n", + " boto3.resource(\n", + " \"ec2\",\n", + " aws_access_key_id=CLOUD_CREDENTIALS_KEY or None,\n", + " aws_secret_access_key=CLOUD_CREDENTIALS_SECRET or None,\n", + " region_name=CLOUD_CREDENTIALS_REGION\n", + " ).instances.filter(InstanceIds=[instance_id]).terminate()\n", " except Exception as ex:\n", " raise ex" ] @@ -501,7 +512,8 @@ " try:\n", " supervisor()\n", " except Exception as ex:\n", - " print(\"Warning! exception occurred: {ex}\".format(ex=ex))" + " print(\"Warning! exception occurred: {ex}\\nRetry in 15 seconds\".format(ex=ex))\n", + " sleep(15)" ] } ], @@ -526,10 +538,10 @@ "pycharm": { "stem_cell": { "cell_type": "raw", + "source": [], "metadata": { "collapsed": false - }, - "source": [] + } } } },