<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
</head>
<body text="#000000" bgcolor="#ffffff">
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>
</body>
</html>