1 default_config = {
2 'default': 'smallcluster',
3 'enable_experimental': 'False',
4 'aws_access_key_id': 'asd0asd9f0asd0fas0d9f0',
5 'aws_secret_access_key': 'asdf0a9sdf09203fj0asdf',
6 'aws_user_id': 9009230923,
7 'k1_location': '~/.path/to/k1_rsa',
8 'k2_location': '/path/to/k2_rsa',
9 'k3_location': '/path/to/k3_rsa',
10 'v1_id': 'vol-c999999',
11 'v1_device': '/dev/sdj',
12 'v1_partition': 1,
13 'v1_mount_path': '/volume1',
14 'v2_id': 'vol-c888888',
15 'v2_device': '/dev/sdk',
16 'v2_partition': 1,
17 'v2_mount_path': '/volume2',
18 'v3_id': 'vol-c777777',
19 'v3_device': '/dev/sdl',
20 'v3_partition': 1,
21 'v3_mount_path': '/volume3',
22 'v4_id': 'vol-c666666',
23 'v4_partition': 1,
24 'v4_mount_path': '/volume4',
25 'v5_id': 'vol-c555555',
26 'v5_partition': 1,
27 'v5_mount_path': '/volume5',
28 'p1_class': 'starcluster.tests.mytestplugin.SetupClass',
29 'p1_param1': 23,
30 'p1_param2': 'skidoo',
31 'p2_class': 'starcluster.tests.mytestplugin.SetupClass2',
32 'p2_param1': 'hello',
33 'p2_param2': 'world',
34 'p3_class': 'starcluster.tests.mytestplugin.SetupClass3',
35 'p3_param1': 'bon',
36 'p3_param2': 'jour',
37 'p3_param3': 'monsignour',
38 's1_protocol': 'udp',
39 's1_from_port': 20,
40 's1_to_port': 20,
41 's1_cidr_ip': '192.168.1.0/24',
42 's2_protocol': 'tcp',
43 's2_from_port': 80,
44 's2_to_port': 20,
45 's2_cidr_ip': '192.168.233.0/24',
46 's3_from_port': 20,
47 's3_to_port': 30,
48 'c1_keyname': 'k1',
49 'c1_size': 4,
50 'c1_user': 'testuser',
51 'c1_shell': 'zsh',
52 'c1_master_id': 'ami-8f9e71e6',
53 'c1_node_id': 'ami-8f9e71e6',
54 'c1_master_type': 'm1.small',
55 'c1_node_type': 'm1.small',
56 'c1_vols': 'v1,v2,v3',
57 'c1_plugs': 'p1,p2,p3',
58 'c1_zone': 'us-east-1c',
59 'c2_extends': 'c1',
60 'c2_keyname': 'k2',
61 'c2_size': 6,
62 'c2_master_type': 'c1.xlarge',
63 'c2_node_type': 'c1.xlarge',
64 'c2_vols': 'v1,v2',
65 'c3_extends': 'c2',
66 'c3_keyname': 'k3',
67 'c3_size': 8,
68 'c3_vols': 'v3',
69 'c4_extends': 'c3',
70 'c4_permissions': 's1',
71 }
72
73 config_test_template = """
74 [global]
75 DEFAULT=%(default)s
76 ENABLE_EXPERIMENTAL=%(enable_experimental)s
77
78 [aws info]
79 AWS_ACCESS_KEY_ID = %(aws_access_key_id)s
80 AWS_SECRET_ACCESS_KEY = %(aws_secret_access_key)s
81 AWS_USER_ID= %(aws_user_id)s
82
83 [key k1]
84 KEY_LOCATION=%(k1_location)s
85
86 [key k2]
87 KEY_LOCATION=%(k2_location)s
88
89 [key k3]
90 KEY_LOCATION=%(k3_location)s
91
92 [volume v1]
93 VOLUME_ID = %(v1_id)s
94 DEVICE = %(v1_device)s
95 PARTITION = %(v1_partition)s
96 MOUNT_PATH = %(v1_mount_path)s
97
98 [volume v2]
99 VOLUME_ID = %(v2_id)s
100 DEVICE = %(v2_device)s
101 PARTITION = %(v2_partition)s
102 MOUNT_PATH = %(v2_mount_path)s
103
104 [volume v3]
105 VOLUME_ID = %(v3_id)s
106 DEVICE = %(v3_device)s
107 PARTITION = %(v3_partition)s
108 MOUNT_PATH = %(v3_mount_path)s
109
110 [volume v4]
111 VOLUME_ID = %(v4_id)s
112 PARTITION = %(v4_partition)s
113 MOUNT_PATH = %(v4_mount_path)s
114
115 [volume v5]
116 VOLUME_ID = %(v5_id)s
117 PARTITION = %(v5_partition)s
118 MOUNT_PATH = %(v5_mount_path)s
119
120 [plugin p1]
121 SETUP_CLASS = %(p1_class)s
122 MY_ARG = %(p1_param1)s
123 MY_OTHER_ARG = %(p1_param2)s
124
125 [plugin p2]
126 SETUP_CLASS = %(p2_class)s
127 MY_ARG = %(p2_param1)s
128 MY_OTHER_ARG = %(p2_param2)s
129
130 [plugin p3]
131 SETUP_CLASS = %(p3_class)s
132 MY_ARG = %(p3_param1)s
133 MY_OTHER_ARG = %(p3_param2)s
134 MY_OTHER_OTHER_ARG = %(p3_param3)s
135
136 [permission s1]
137 protocol = %(s1_protocol)s
138 from_port = %(s1_from_port)s
139 to_port = %(s1_to_port)s
140 cidr_ip = %(s1_cidr_ip)s
141
142 [permission s2]
143 protocol = %(s2_protocol)s
144 from_port = %(s2_from_port)s
145 to_port = %(s2_to_port)s
146 cidr_ip = %(s2_cidr_ip)s
147
148 [permission s3]
149 from_port = %(s3_from_port)s
150 to_port = %(s3_to_port)s
151
152 [cluster c1]
153 KEYNAME = %(c1_keyname)s
154 CLUSTER_SIZE = %(c1_size)s
155 CLUSTER_USER = %(c1_user)s
156 CLUSTER_SHELL = %(c1_shell)s
157 MASTER_IMAGE_ID = %(c1_master_id)s
158 MASTER_INSTANCE_TYPE = %(c1_master_type)s
159 NODE_IMAGE_ID = %(c1_node_id)s
160 NODE_INSTANCE_TYPE = %(c1_node_type)s
161 AVAILABILITY_ZONE = %(c1_zone)s
162 VOLUMES = %(c1_vols)s
163 PLUGINS = %(c1_plugs)s
164
165 [cluster c2]
166 EXTENDS=%(c2_extends)s
167 KEYNAME = %(c2_keyname)s
168 CLUSTER_SIZE= %(c2_size)s
169 MASTER_INSTANCE_TYPE = %(c2_master_type)s
170 NODE_INSTANCE_TYPE = %(c2_node_type)s
171 VOLUMES = %(c2_vols)s
172
173 [cluster c3]
174 EXTENDS=%(c3_extends)s
175 KEYNAME = %(c3_keyname)s
176 CLUSTER_SIZE= %(c3_size)s
177 VOLUMES = %(c3_vols)s
178
179 [cluster c4]
180 EXTENDS=%(c4_extends)s
181 PERMISSIONS=%(c4_permissions)s
182 """
183