<!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>&gt;&gt;&gt; Using default cluster template:
        smallcluster <br>
        &gt;&gt;&gt; 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&nbsp; 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&nbsp; (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=&lt;cluster_name&gt; variable in the new
      cluster section to use all <br>
      # settings from &lt;cluster_name&gt; 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>