Package starcluster :: Module static
[hide private]
[frames] | no frames]

Source Code for Module starcluster.static

  1  #!/usr/bin/env python 
  2  """ 
  3  Module for storing static data structures 
  4  """ 
  5  import os 
  6  import tempfile 
  7   
  8  TMP_DIR = tempfile.gettempdir() 
  9  DEBUG_FILE = os.path.join(TMP_DIR, 'starcluster-debug.log') 
 10   
 11  STARCLUSTER_CFG_DIR = os.path.join(os.path.expanduser('~'),'.starcluster') 
 12  STARCLUSTER_CFG_FILE = os.path.join(STARCLUSTER_CFG_DIR, 'config') 
 13  STARCLUSTER_PLUGIN_DIR = os.path.join(STARCLUSTER_CFG_DIR, 'plugins') 
 14  STARCLUSTER_RECEIPT_DIR = "/var/run/starcluster" 
 15  STARCLUSTER_RECEIPT_FILE = os.path.join(STARCLUSTER_RECEIPT_DIR, "receipt.pkl") 
 16  STARCLUSTER_OWNER_ID=342652561657 
 17   
 18  # StarCluster BASE AMIs (i386/x86_64) 
 19  BASE_AMI_32="ami-d1c42db8" 
 20  BASE_AMI_64="ami-a5c42dcc" 
 21   
 22  SECURITY_GROUP_PREFIX="@sc" 
 23  SECURITY_GROUP_TEMPLATE= '-'.join([SECURITY_GROUP_PREFIX, "%s"]) 
 24  MASTER_GROUP_NAME="masters" 
 25  MASTER_GROUP= SECURITY_GROUP_TEMPLATE % MASTER_GROUP_NAME 
 26  MASTER_GROUP_DESCRIPTION="StarCluster Master Nodes" 
 27  VOLUME_GROUP_NAME = "volumecreator" 
 28  VOLUME_GROUP= SECURITY_GROUP_TEMPLATE % VOLUME_GROUP_NAME 
 29  VOLUME_GROUP_DESCRIPTION= "StarCluster createvolume instances" 
 30   
 31  INSTANCE_TYPES = { 
 32      'm1.small':  'i386', 
 33      'm1.large':  'x86_64', 
 34      'm1.xlarge': 'x86_64', 
 35      'c1.medium': 'i386', 
 36      'c1.xlarge': 'x86_64', 
 37      'm2.2xlarge': 'x86_64', 
 38      'm2.4xlarge': 'x86_64', 
 39  } 
 40   
 41  AVAILABLE_SHELLS = { 
 42      "bash": True,  
 43      "zsh": True,  
 44      "csh": True,  
 45      "ksh": True,  
 46      "tcsh": True, 
 47  } 
 48   
 49  GLOBAL_SETTINGS = { 
 50      'DEFAULT_TEMPLATE': (str, False, None), 
 51      'ENABLE_EXPERIMENTAL': (bool, False, False), 
 52  } 
 53   
 54  AWS_SETTINGS = { 
 55      # setting, type, required?, default 
 56      'AWS_ACCESS_KEY_ID': (str, True, None), 
 57      'AWS_SECRET_ACCESS_KEY': (str, True, None), 
 58      'AWS_USER_ID': (str, False, None), 
 59      'EC2_CERT': (str, False, None), 
 60      'EC2_PRIVATE_KEY': (str, False, None), 
 61      'AWS_PORT': (int, False, None), 
 62      'AWS_EC2_PATH': (str, False, None), 
 63      'AWS_S3_PATH': (str, False, None), 
 64      'AWS_IS_SECURE': (bool, False, None), 
 65      'AWS_REGION_NAME': (str, False, None), 
 66      'AWS_REGION_HOST': (str, False, None), 
 67  } 
 68   
 69  KEY_SETTINGS = { 
 70      'KEY_LOCATION': (str, True, None) 
 71  } 
 72   
 73  EBS_VOLUME_SETTINGS = { 
 74      'VOLUME_ID': (str, True, None), 
 75      'DEVICE': (str, False, None), 
 76      'PARTITION': (int, False, 1), 
 77      'MOUNT_PATH': (str, True, None), 
 78  } 
 79   
 80  PLUGIN_SETTINGS = { 
 81      'SETUP_CLASS': (str, True, None), 
 82  } 
 83   
 84  CLUSTER_SETTINGS = { 
 85      # setting, type, required?, default 
 86      'CLUSTER_SIZE': (int, True, None), 
 87      'CLUSTER_USER': (str, False, 'sgeadmin'), 
 88      'CLUSTER_SHELL': (str, False, 'bash'), 
 89      'MASTER_IMAGE_ID': (str, False, None), 
 90      'MASTER_INSTANCE_TYPE': (str, False, None), 
 91      'NODE_IMAGE_ID': (str, True, None), 
 92      'NODE_INSTANCE_TYPE': (str, True, None), 
 93      'AVAILABILITY_ZONE': (str, False, None), 
 94      # SSH KEYPAIR OPTIONS 
 95      'KEYNAME': (str, True, None), 
 96      'VOLUMES': (str, False, []), 
 97      'EXTENDS': (str, False, None), 
 98      'PLUGINS': (str, False, []), 
 99  } 
100