<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Stuart,<br>
<br>
The only thing I can think of is either you have them mixed up or
you've put quotes around the keys in the config. If you do have
quotes around the aws keys then removing the quotes should fix
things. <br>
<br>
Otherwise, could you please try running "starcluster listpublic"?<br>
<br>
~Justin<br>
<br>
On 12/20/10 1:49 AM, Stuart Young wrote:
<blockquote cite="mid:4D0EFC96.3070300@gmail.com" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
I was hoping you could help me with what appears to be an AWS
credentials problem. When I run the starcluster 'physicscluster'
example with my AWS keys already added to my
/root/.starcluster/config file (copied below), I get the following
error (versions 0.91 and 0.91.2):<br>
<br>
starcluster \ <br>
-c <i class="moz-txt-slash"><span class="moz-txt-tag">/</span>root<span
class="moz-txt-tag">/</span></i>.starcluster/config \ <br>
start physicscluster <br>
<br>
<blockquote>>>> Using default cluster template:
smallcluster <br>
>>> Validating cluster template settings... <br>
cluster.py:766 - ERROR - Invalid
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY combination. <br>
cli.py:243 - ERROR - settings for cluster template
"smallcluster" are not valid <br>
</blockquote>
<br>
I have boto 2.0b3, paramiko 1.7.6 and pycrypto-2.3 installed.<br>
<br>
I have double-checked that my AWS_ACCESS_KEY_ID and
AWS_SECRET_ACCESS_KEY are correct. <br>
<br>
Do you have any suggestions as to what I should check next? <br>
<br>
Cheers, <br>
<br>
Stuart <br>
<br>
<br>
<br>
<br>
Here is my /root/.starcluster/config file:<br>
<br>
####################################<br>
## StarCluster Configuration File ##<br>
####################################<br>
<br>
[global]<br>
# configure the default cluster template to use when starting a
cluster<br>
# defaults to 'smallcluster' defined below. this template should
be usable<br>
# out-of-the-box provided you've configured your keypair correctly<br>
DEFAULT_TEMPLATE=smallcluster<br>
# enable experimental features for this release<br>
ENABLE_EXPERIMENTAL=False<br>
<br>
[aws info]<br>
# This is the AWS credentials section.<br>
# These settings apply to all clusters<br>
# replace these with your AWS keys<br>
<br>
AWS_ACCESS_KEY_ID=XXXXXXXXXXXXXXXXXX<br>
AWS_SECRET_ACCESS_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxxxxx<br>
AWS_USER_ID=XXXXXXXXXX<br>
<br>
# Sections starting with "key" define your keypairs<br>
# (see the EC2 getting started guide tutorial on using
ec2-add-keypair to learn<br>
# how to create new keypairs)<br>
# Section name should match your key name e.g.:<br>
[key gsg-keypair]<br>
KEY_LOCATION=/home/admin/.keypairs/id_rsa-starcluster-1<br>
<br>
KEYNAME = starcluster-1<br>
<br>
# You can of course have multiple keypair sections<br>
# [key my-other-gsg-keypair]<br>
# KEY_LOCATION=/home/myuser/.ssh/id_rsa-my-other-gsg-keypair<br>
<br>
# Sections starting with "cluster" define your cluster templates<br>
# Section name is the name you give to your cluster template e.g.:<br>
[cluster smallcluster]<br>
# change this to the name of one of the keypair sections defined
above <br>
KEYNAME = starcluster-1<br>
<br>
# number of ec2 instances to launch<br>
CLUSTER_SIZE = 2<br>
<br>
# create the following user on the cluster<br>
CLUSTER_USER = sgeadmin<br>
<br>
# optionally specify shell (defaults to bash)<br>
# (options: tcsh, zsh, csh, bash, ksh)<br>
CLUSTER_SHELL = bash<br>
<br>
# AMI for cluster nodes.<br>
# The base i386 StarCluster AMI is ami-d1c42db8<br>
# The base x86_64 StarCluster AMI is ami-a5c42dcc<br>
NODE_IMAGE_ID = ami-d1c42db8<br>
# instance type for all cluster nodes <br>
# (options: m1.large, c1.xlarge, m1.small, c1.medium, m1.xlarge,
m2.4xlarge, m2.2xlarge)<br>
NODE_INSTANCE_TYPE = m1.small<br>
<br>
# Uncomment to specify a different instance type for the master
node (OPTIONAL)<br>
# (defaults to NODE_INSTANCE_TYPE if not specified)<br>
#MASTER_INSTANCE_TYPE = m1.small<br>
<br>
# Uncomment to specify a separate AMI to use for the master node.
(OPTIONAL)<br>
# (defaults to NODE_IMAGE_ID if not specified)<br>
#MASTER_IMAGE_ID = ami-d1c42db8 (OPTIONAL)<br>
<br>
# availability zone to launch the cluster in (OPTIONAL)<br>
# (automatically determined based on volumes (if any) or <br>
# selected by Amazon if not specified)<br>
#AVAILABILITY_ZONE = us-east-1c<br>
<br>
# list of volumes to attach to the master node and nfs share to
worker nodes (OPTIONAL)<br>
# (see "Configuring EBS Volumes" below for an example of defining
volume sections)<br>
#VOLUMES = oceandata, biodata<br>
<br>
# list of plugins to load after StarCluster's default setup
routines (OPTIONAL)<br>
# (see "Configuring StarCluster Plugins" below for an example of
defining a plugin section)<br>
#PLUGINS = myplugin, myplugin2<br>
<br>
###########################################<br>
## Defining Additional Cluster Templates ##<br>
###########################################<br>
<br>
# You can also define multiple cluster templates.<br>
# You can either supply all configuration options as with
smallcluster above, or<br>
# create an EXTENDS=<cluster_name> variable in the new
cluster section to use all <br>
# settings from <cluster_name> as defaults. Below are a
couple of example<br>
# cluster templates that use the EXTENDS feature:<br>
<br>
# [cluster mediumcluster]<br>
# Declares that this cluster uses smallcluster as defaults<br>
# EXTENDS=smallcluster<br>
# This section is the same as smallcluster except for the
following settings:<br>
# KEYNAME=my-other-gsg-keypair<br>
# NODE_INSTANCE_TYPE = c1.xlarge<br>
# CLUSTER_SIZE=8<br>
# VOLUMES = biodata2<br>
<br>
# [cluster largecluster]<br>
# Declares that this cluster uses mediumcluster as defaults<br>
# EXTENDS=mediumcluster<br>
# This section is the same as mediumcluster except for the
following variables:<br>
# CLUSTER_SIZE=16<br>
<br>
#############################<br>
## Configuring EBS Volumes ##<br>
#############################<br>
<br>
# Using EBS volumes with StarCluster is relatively straight
forward. You create<br>
# a [volume] section that represents an EBS volume. The section
name is a tag<br>
# for your volume. This tag is used in the VOLUMES setting in a
cluster template <br>
# to declare that an EBS volume is to be mounted and nfs shared on
the cluster.<br>
# (see the commented VOLUMES setting in the 'smallcluster'
template above)<br>
# Below are some examples of defining and configuring EBS volumes
to be used<br>
# with StarCluster:<br>
<br>
# Sections starting with "volume" define your EBS volumes<br>
# Section name tags your volume e.g.:<br>
# [volume biodata]<br>
# (attach 1st partition of volume vol-c9999999 to /home on master
node)<br>
# VOLUME_ID = vol-c999999<br>
# MOUNT_PATH = /home<br>
<br>
# Same volume as above, but mounts to different location<br>
# [volume biodata2]<br>
# (attach 1st partition of volume vol-c9999999 to /opt/ on master
node)<br>
# VOLUME_ID = vol-c999999<br>
# MOUNT_PATH = /opt/<br>
<br>
# Another volume example <br>
# [volume oceandata]<br>
# (attach 1st partition of volume vol-d7777777 to /mydata on
master node)<br>
# VOLUME_ID = vol-d7777777<br>
# MOUNT_PATH = /mydata<br>
<br>
# Same as oceandata only uses the 2nd partition instead<br>
# [volume oceandata]<br>
# (attach 2nd partition of volume vol-d7777777 to /mydata on
master node)<br>
# VOLUME_ID = vol-d7777777<br>
# MOUNT_PATH = /mydata<br>
# PARTITION = 2<br>
<br>
#####################################<br>
## Configuring StarCluster Plugins ##<br>
#####################################<br>
<br>
# Sections starting with "plugin" define a custom python class<br>
# which can perform additional configurations to StarCluster's
default routines. These plugins <br>
# can be assigned to a cluster template to customize the setup
procedure when<br>
# starting a cluster from this template<br>
# (see the commented PLUGINS setting in the 'smallcluster'
template above) <br>
# Below is an example of defining a plugin called 'myplugin':<br>
<br>
# [plugin myplugin]<br>
# myplugin module either lives in ~/.starcluster/plugins or is <br>
# in your PYTHONPATH<br>
# SETUP_CLASS = myplugin.SetupClass<br>
# extra settings are passed as arguments to your plugin:<br>
# SOME_PARAM_FOR_MY_PLUGIN = 1<br>
# SOME_OTHER_PARAM = 2<br>
<br>
</blockquote>
<br>
</body>
</html>