1
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
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
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
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
95 'KEYNAME': (str, True, None),
96 'VOLUMES': (str, False, []),
97 'EXTENDS': (str, False, None),
98 'PLUGINS': (str, False, []),
99 }
100