openstudio-aws 0.1.15 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/openstudio/aws/aws.rb +43 -21
- data/lib/openstudio/aws/version.rb +1 -1
- data/lib/openstudio/lib/ami_list.rb +35 -13
- data/lib/openstudio/lib/openstudio_aws_instance.rb +3 -2
- data/lib/openstudio/lib/openstudio_aws_wrapper.rb +25 -7
- data/spec/openstudio-aws/ami_list_spec.rb +1 -1
- data/spec/openstudio-aws/aws_spec.rb +47 -11
- data/spec/openstudio-aws/aws_wrapper_spec.rb +1 -1
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-ami-lists.0.xml +18 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-ami-lists.1.xml +19 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-ami-lists.2.xml +11 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-ami-lists.3.xml +11 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-ami-lists.xml +18 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-create-a-new-instance.6.xml +26 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.26.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.27.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.28.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.29.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.30.xml +16 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.31.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-proxy-configuration.32.xml +13 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-should-error.0.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-should-error.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-version-testing.0.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws-version-testing.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.31.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.32.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.33.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.34.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.35.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.36.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Aws.37.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.52.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.53.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.54.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.55.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.56.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config-create-a-new-config.57.xml +9 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.52.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.53.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.54.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.55.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.56.xml +7 -0
- data/spec/reports/SPEC-OpenStudio-Aws-Config.57.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.53.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.54.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.55.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.56.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.57.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.58.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-1.59.xml +13 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.51.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.52.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.53.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.54.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.55.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.56.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis-version-2.57.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAmis.53.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.54.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.55.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.56.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.57.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.58.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAmis.59.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.53.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.54.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.55.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.56.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.57.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.58.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods-processors.59.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.53.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.54.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.55.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.56.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.57.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.58.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsMethods.59.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.52.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.53.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.54.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.55.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.56.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.57.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-availability.58.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.44.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.45.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.46.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.47.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.48.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-create-new-ami-json.49.xml +11 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.52.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.53.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.54.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.55.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.56.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.57.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-new-instance.58.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.2.xml +19 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.3.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.4.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.5.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.6.xml +125 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-1.7.xml +125 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.2.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.3.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.4.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.5.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.6.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session-version-2.7.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.52.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.53.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.54.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.55.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.56.xml +8 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.57.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-authenticated-session.58.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.53.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.54.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.55.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.56.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.57.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.58.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper-unauthenticated-session.59.xml +9 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.53.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.54.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.55.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.56.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.57.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.58.xml +7 -0
- data/spec/reports/SPEC-OpenStudioAwsWrapper.59.xml +7 -0
- metadata +250 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: efb7b51f623a6281881c9a2dc12e481b79f6b421
|
|
4
|
+
data.tar.gz: 7faf36a9857a0251fc291b61bbb7c591e76319e9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e2ff331d5294a79f0e2afdc7ad1a99f2d2ce5647a78d2e49e1ed6fd0c0f1fcf5a781958eb8d04b86b782b33d11290207adcd55200adb31a516941cd0f6248a7b
|
|
7
|
+
data.tar.gz: aeff692fe3684060a92c24408a1af49a614f71485db974f15c55c4aa9be8756e699cb8f43e361d517871f177eeb0cc944e24ca08373c29fb626173d11a47ed59
|
data/lib/openstudio/aws/aws.rb
CHANGED
|
@@ -2,11 +2,13 @@
|
|
|
2
2
|
module OpenStudio
|
|
3
3
|
module Aws
|
|
4
4
|
VALID_OPTIONS = [
|
|
5
|
-
:proxy, :credentials
|
|
5
|
+
:proxy, :credentials, :ami_lookup_version, :openstudio_version,
|
|
6
|
+
:openstudio_server_version, :region, :ssl_verify_peer, :host, :url
|
|
6
7
|
]
|
|
7
8
|
|
|
8
9
|
class Aws
|
|
9
10
|
attr_reader :os_aws
|
|
11
|
+
attr_reader :default_amis
|
|
10
12
|
|
|
11
13
|
# default constructor to create the AWS class that can spin up server and worker instances.
|
|
12
14
|
# options are optional with the following support:
|
|
@@ -18,20 +20,32 @@ module OpenStudio
|
|
|
18
20
|
raise ArgumentError, "invalid option(s): #{invalid_options.join(', ')}"
|
|
19
21
|
end
|
|
20
22
|
|
|
23
|
+
# merge in some defaults
|
|
24
|
+
defaults = {
|
|
25
|
+
:ami_lookup_version => 1,
|
|
26
|
+
:region => 'us-east-1',
|
|
27
|
+
:ssl_verify_peer => false,
|
|
28
|
+
:host => 'developer.nrel.gov',
|
|
29
|
+
:url => '/downloads/buildings/openstudio/server'
|
|
30
|
+
}
|
|
31
|
+
options = defaults.merge(options)
|
|
32
|
+
|
|
33
|
+
|
|
21
34
|
# read in the config.yml file to get the secret/private key
|
|
22
|
-
if !options[:credentials]
|
|
35
|
+
if !options[:credentials]
|
|
23
36
|
config_file = OpenStudio::Aws::Config.new()
|
|
24
37
|
|
|
25
38
|
# populate the credentials
|
|
26
|
-
options =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
options[:credentials] =
|
|
40
|
+
{
|
|
41
|
+
:access_key_id => config_file.access_key,
|
|
42
|
+
:secret_access_key => config_file.secret_key,
|
|
43
|
+
:region => options[:region],
|
|
44
|
+
:ssl_verify_peer => options[:ssl_verify_peer]
|
|
45
|
+
}
|
|
46
|
+
else
|
|
47
|
+
options[:credentials][:region] = options[:region]
|
|
48
|
+
options[:credentials][:ssl_verify_peer] = options[:ssl_verify_peer]
|
|
35
49
|
end
|
|
36
50
|
|
|
37
51
|
if options[:proxy]
|
|
@@ -45,21 +59,29 @@ module OpenStudio
|
|
|
45
59
|
options[:proxy_uri] = proxy_uri
|
|
46
60
|
|
|
47
61
|
#todo: do we need to escape a couple of the argument of username and password
|
|
48
|
-
|
|
62
|
+
|
|
49
63
|
#todo: set some environment variables for system based proxy
|
|
50
|
-
|
|
51
64
|
end
|
|
52
65
|
|
|
66
|
+
#puts "Final options are: #{options.inspect}"
|
|
67
|
+
|
|
53
68
|
@os_aws = OpenStudioAwsWrapper.new(options)
|
|
54
69
|
@local_key_file_name = nil
|
|
55
70
|
|
|
56
71
|
# this will grab the default version of openstudio ami versions
|
|
57
|
-
|
|
72
|
+
# get the arugments for the AMI lookup
|
|
73
|
+
ami_options = {}
|
|
74
|
+
ami_options[:openstudio_server_version] = options[:openstudio_server_version] if options[:openstudio_server_version]
|
|
75
|
+
ami_options[:openstudio_version] = options[:openstudio_version] if options[:openstudio_version]
|
|
76
|
+
ami_options[:host] = options[:host] if options[:host]
|
|
77
|
+
ami_options[:url] = options[:url] if options[:url]
|
|
78
|
+
|
|
79
|
+
@default_amis = OpenStudioAmis.new(options[:ami_lookup_version], ami_options).get_amis
|
|
58
80
|
end
|
|
59
81
|
|
|
60
82
|
# command line call to create a new instance. This should be more tightly integrated with teh os-aws.rb gem
|
|
61
|
-
def create_server(instance_data = {}, server_json_filename = "server_data.json")
|
|
62
|
-
defaults = {instance_type: "m2.xlarge", image_id: @default_amis[
|
|
83
|
+
def create_server(instance_data = {}, server_json_filename = "server_data.json", user_id="unknown_user")
|
|
84
|
+
defaults = {instance_type: "m2.xlarge", image_id: @default_amis[:server]}
|
|
63
85
|
instance_data = defaults.merge(instance_data)
|
|
64
86
|
|
|
65
87
|
@os_aws.create_or_retrieve_security_group("openstudio-worker-sg-v1")
|
|
@@ -67,7 +89,7 @@ module OpenStudio
|
|
|
67
89
|
|
|
68
90
|
@local_key_file_name = "ec2_server_key.pem"
|
|
69
91
|
@os_aws.save_private_key(@local_key_file_name)
|
|
70
|
-
@os_aws.launch_server(instance_data[:image_id], instance_data[:instance_type])
|
|
92
|
+
@os_aws.launch_server(instance_data[:image_id], instance_data[:instance_type], {:user_id => user_id})
|
|
71
93
|
|
|
72
94
|
puts @os_aws.server.to_os_hash.to_json
|
|
73
95
|
|
|
@@ -80,21 +102,21 @@ module OpenStudio
|
|
|
80
102
|
puts "ssh -i #{@local_key_file_name} ubuntu@#{@os_aws.server.data[:dns]}"
|
|
81
103
|
end
|
|
82
104
|
|
|
83
|
-
def create_workers(number_of_instances, instance_data = {})
|
|
105
|
+
def create_workers(number_of_instances, instance_data = {}, user_id="unknown_user")
|
|
84
106
|
defaults = {instance_type: "m2.4xlarge"}
|
|
85
107
|
instance_data = defaults.merge(instance_data)
|
|
86
108
|
|
|
87
109
|
if instance_data[:image_id].nil?
|
|
88
110
|
if instance_data[:instance_type] =~ /cc2|c3/
|
|
89
|
-
instance_data[:image_id] = @default_amis[
|
|
111
|
+
instance_data[:image_id] = @default_amis[:cc2worker]
|
|
90
112
|
else
|
|
91
|
-
instance_data[:image_id] = @default_amis[
|
|
113
|
+
instance_data[:image_id] = @default_amis[:worker]
|
|
92
114
|
end
|
|
93
115
|
end
|
|
94
116
|
|
|
95
117
|
raise "Can't create workers without a server instance running" if @os_aws.server.nil?
|
|
96
118
|
|
|
97
|
-
@os_aws.launch_workers(instance_data[:image_id], instance_data[:instance_type], number_of_instances)
|
|
119
|
+
@os_aws.launch_workers(instance_data[:image_id], instance_data[:instance_type], number_of_instances, {:user_id => user_id})
|
|
98
120
|
|
|
99
121
|
## append the information to the server_data hash that already exists
|
|
100
122
|
#@server_data[:instance_type] = instance_data[:instance_type]
|
|
@@ -21,11 +21,25 @@
|
|
|
21
21
|
# Class for managing the AMI ids based on the openstudio version and the openstudio-server version
|
|
22
22
|
|
|
23
23
|
class OpenStudioAmis
|
|
24
|
+
VALID_OPTIONS = [
|
|
25
|
+
:openstudio_version, :openstudio_server_version, :host, :url
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
def initialize(version = 1, options = {})
|
|
29
|
+
invalid_options = options.keys - VALID_OPTIONS
|
|
30
|
+
if invalid_options.any?
|
|
31
|
+
raise ArgumentError, "invalid option(s): #{invalid_options.join(', ')}"
|
|
32
|
+
end
|
|
24
33
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
# merge in some defaults
|
|
35
|
+
defaults = {
|
|
36
|
+
:openstudio_version => 'default',
|
|
37
|
+
:openstudio_server_version => 'default',
|
|
38
|
+
:host => 'developer.nrel.gov',
|
|
39
|
+
:url => '/downloads/buildings/openstudio/server'
|
|
40
|
+
}
|
|
41
|
+
@version = version
|
|
42
|
+
@options = defaults.merge(options)
|
|
29
43
|
end
|
|
30
44
|
|
|
31
45
|
def list
|
|
@@ -36,7 +50,7 @@ class OpenStudioAmis
|
|
|
36
50
|
else
|
|
37
51
|
raise "Unknown api version command #{command}"
|
|
38
52
|
end
|
|
39
|
-
|
|
53
|
+
|
|
40
54
|
json
|
|
41
55
|
end
|
|
42
56
|
|
|
@@ -57,14 +71,14 @@ class OpenStudioAmis
|
|
|
57
71
|
protected
|
|
58
72
|
|
|
59
73
|
def list_amis_version_1
|
|
60
|
-
endpoint =
|
|
74
|
+
endpoint = "#{@options[:url]}/amis_v1.json"
|
|
61
75
|
json = retrieve_json(endpoint)
|
|
62
76
|
|
|
63
77
|
json
|
|
64
78
|
end
|
|
65
79
|
|
|
66
80
|
def list_amis_version_2
|
|
67
|
-
endpoint =
|
|
81
|
+
endpoint = "#{@options[:url]}/amis_v2.json"
|
|
68
82
|
|
|
69
83
|
json = retrieve_json(endpoint)
|
|
70
84
|
json
|
|
@@ -72,25 +86,33 @@ class OpenStudioAmis
|
|
|
72
86
|
|
|
73
87
|
def get_ami_version_1()
|
|
74
88
|
json = list_amis_version_1
|
|
75
|
-
version = json.has_key?(@openstudio_version) ? @openstudio_version : 'default'
|
|
89
|
+
version = json.has_key?(@options[:openstudio_version].to_sym) ? @options[:openstudio_version].to_sym : 'default'
|
|
76
90
|
|
|
77
91
|
json[version]
|
|
78
92
|
end
|
|
79
93
|
|
|
80
94
|
def get_ami_version_2()
|
|
81
95
|
json = list_amis_version_2
|
|
82
|
-
|
|
96
|
+
|
|
97
|
+
amis = nil
|
|
98
|
+
if @options[:openstudio_server_version].to_sym == :default
|
|
99
|
+
# just grab the most recent server
|
|
100
|
+
key, value = json[:openstudio_server].first
|
|
101
|
+
amis = value[:amis]
|
|
102
|
+
#puts json.inspect
|
|
103
|
+
else
|
|
104
|
+
value = json[:openstudio_server][@options[:openstudio_server_version].to_sym]
|
|
105
|
+
amis = value[:amis]
|
|
106
|
+
end
|
|
83
107
|
|
|
84
|
-
|
|
108
|
+
amis
|
|
85
109
|
end
|
|
86
110
|
|
|
87
111
|
private
|
|
88
|
-
|
|
89
|
-
|
|
90
112
|
|
|
91
113
|
def retrieve_json(endpoint)
|
|
92
114
|
result = nil
|
|
93
|
-
resp = Net::HTTP.get_response(
|
|
115
|
+
resp = Net::HTTP.get_response(@options[:host], endpoint)
|
|
94
116
|
if resp.code == '200'
|
|
95
117
|
result = JSON.parse(resp.body, :symbolize_names => true)
|
|
96
118
|
else
|
|
@@ -41,7 +41,7 @@ class OpenStudioAwsInstance
|
|
|
41
41
|
@proxy = proxy
|
|
42
42
|
end
|
|
43
43
|
|
|
44
|
-
def launch_instance(image_id, instance_type, user_data)
|
|
44
|
+
def launch_instance(image_id, instance_type, user_data, user_id)
|
|
45
45
|
#logger.info("user_data #{user_data.inspect}")
|
|
46
46
|
instance = {
|
|
47
47
|
:image_id => image_id,
|
|
@@ -67,7 +67,8 @@ class OpenStudioAwsInstance
|
|
|
67
67
|
{:key => 'Name', :value => "OpenStudio-#{@openstudio_instance_type.capitalize}"}, # todo: abstract out the server and version
|
|
68
68
|
{:key => 'GroupUUID', :value => @group_uuid},
|
|
69
69
|
{:key => 'NumberOfProcessors', :value => processors.to_s},
|
|
70
|
-
{:key => 'Purpose', :value => "OpenStudio#{@openstudio_instance_type.capitalize}"}
|
|
70
|
+
{:key => 'Purpose', :value => "OpenStudio#{@openstudio_instance_type.capitalize}"},
|
|
71
|
+
{:key => 'UserID', :value => user_id}
|
|
71
72
|
]
|
|
72
73
|
}
|
|
73
74
|
)
|
|
@@ -248,16 +248,22 @@ class OpenStudioAwsWrapper
|
|
|
248
248
|
end
|
|
249
249
|
end
|
|
250
250
|
|
|
251
|
-
def launch_server(image_id, instance_type)
|
|
251
|
+
def launch_server(image_id, instance_type, options = {})
|
|
252
|
+
defaults = { :user_id => "unknown_user" }
|
|
253
|
+
options = defaults.merge(options)
|
|
254
|
+
|
|
252
255
|
user_data = File.read(File.expand_path(File.dirname(__FILE__))+'/server_script.sh')
|
|
253
256
|
@server = OpenStudioAwsInstance.new(@aws, :server, @key_pair_name, @security_group_name, @group_uuid, @private_key, @proxy)
|
|
254
257
|
|
|
255
258
|
raise "image_id is nil" if not image_id
|
|
256
259
|
raise "instance type is nil" if not instance_type
|
|
257
|
-
@server.launch_instance(image_id, instance_type, user_data)
|
|
260
|
+
@server.launch_instance(image_id, instance_type, user_data, options[:user_id])
|
|
258
261
|
end
|
|
259
262
|
|
|
260
|
-
def launch_workers(image_id, instance_type, num)
|
|
263
|
+
def launch_workers(image_id, instance_type, num, options = {})
|
|
264
|
+
defaults = { :user_id => "unknown_user" }
|
|
265
|
+
options = defaults.merge(options)
|
|
266
|
+
|
|
261
267
|
user_data = File.read(File.expand_path(File.dirname(__FILE__))+'/worker_script.sh.template')
|
|
262
268
|
user_data.gsub!(/SERVER_IP/, @server.data.ip)
|
|
263
269
|
user_data.gsub!(/SERVER_HOSTNAME/, 'master')
|
|
@@ -273,7 +279,7 @@ class OpenStudioAwsWrapper
|
|
|
273
279
|
threads = []
|
|
274
280
|
@workers.each do |worker|
|
|
275
281
|
threads << Thread.new do
|
|
276
|
-
worker.launch_instance(image_id, instance_type, user_data)
|
|
282
|
+
worker.launch_instance(image_id, instance_type, user_data, options[:user_id])
|
|
277
283
|
end
|
|
278
284
|
end
|
|
279
285
|
threads.each { |t| t.join }
|
|
@@ -355,7 +361,7 @@ class OpenStudioAwsWrapper
|
|
|
355
361
|
available_amis = describe_amis()
|
|
356
362
|
|
|
357
363
|
amis = transform_ami_lists(existing_amis, available_amis)
|
|
358
|
-
|
|
364
|
+
|
|
359
365
|
if version == 1
|
|
360
366
|
version1 = {}
|
|
361
367
|
|
|
@@ -376,10 +382,22 @@ class OpenStudioAwsWrapper
|
|
|
376
382
|
end
|
|
377
383
|
|
|
378
384
|
# create the default version. First sort, then grab the first hash's values
|
|
379
|
-
|
|
380
|
-
|
|
385
|
+
puts JSON.pretty_generate(version1)
|
|
386
|
+
default_v = nil
|
|
387
|
+
version1.each do |k,v|
|
|
388
|
+
default_v ||= k
|
|
389
|
+
# todo: add a check if the AMI is not marked as invalid
|
|
390
|
+
if Semantic::Version.new(k.to_s) >= Semantic::Version.new(default_v.to_s)
|
|
391
|
+
default_v = k
|
|
392
|
+
end
|
|
393
|
+
end
|
|
394
|
+
puts JSON.pretty_generate(version1)
|
|
395
|
+
|
|
396
|
+
version1[:default] = version1[default_v]
|
|
397
|
+
puts JSON.pretty_generate(version1)
|
|
381
398
|
|
|
382
399
|
amis = version1
|
|
400
|
+
|
|
383
401
|
elsif version == 2
|
|
384
402
|
# don't need to transform anything right now
|
|
385
403
|
end
|
|
@@ -1,23 +1,63 @@
|
|
|
1
1
|
require 'spec_helper'
|
|
2
2
|
|
|
3
3
|
describe OpenStudio::Aws::Aws do
|
|
4
|
-
context "
|
|
5
|
-
|
|
4
|
+
context "ami lists" do
|
|
5
|
+
it "should allow a different region" do
|
|
6
|
+
options = {
|
|
7
|
+
:region => "sa-east-1",
|
|
8
|
+
:credentials =>
|
|
9
|
+
{
|
|
10
|
+
:access_key_id => "some_random_access_key_id",
|
|
11
|
+
:secret_access_key => "some_super_secret_access_key",
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
aws = OpenStudio::Aws::Aws.new(options)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
it "should allow a different region" do
|
|
18
|
+
options = {
|
|
19
|
+
:ami_lookup_version => 2
|
|
20
|
+
}
|
|
21
|
+
aws = OpenStudio::Aws::Aws.new(options)
|
|
22
|
+
|
|
23
|
+
expect(aws.default_amis).not_to be_nil
|
|
24
|
+
end
|
|
25
|
+
end
|
|
6
26
|
|
|
27
|
+
context "should error" do
|
|
28
|
+
it "should not find a json" do
|
|
29
|
+
options = {
|
|
30
|
+
:ami_lookup_version => 2,
|
|
31
|
+
:url => '/unknown/url'
|
|
32
|
+
}
|
|
33
|
+
expect { aws = OpenStudio::Aws::Aws.new(options) }.to raise_exception
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
context "version testing" do
|
|
38
|
+
it "version 2: should find the right AMIs Server 1.3.1" do
|
|
39
|
+
options = {
|
|
40
|
+
:ami_lookup_version => 2,
|
|
41
|
+
:openstudio_server_version => "1.3.1"
|
|
42
|
+
}
|
|
43
|
+
aws = OpenStudio::Aws::Aws.new(options)
|
|
44
|
+
expect(aws.default_amis[:worker]).to eq("ami-39bb8750")
|
|
45
|
+
expect(aws.default_amis[:server]).to eq("ami-a9bb87c0")
|
|
7
46
|
end
|
|
8
|
-
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
context "proxy configuration" do
|
|
9
50
|
it "should create an instance" do
|
|
10
51
|
options = {
|
|
11
52
|
:credentials =>
|
|
12
53
|
{
|
|
13
54
|
:access_key_id => "some_random_access_key_id",
|
|
14
55
|
:secret_access_key => "some_super_secret_access_key",
|
|
15
|
-
:region => "us-east-1",
|
|
16
|
-
:ssl_verify_peer => false
|
|
17
56
|
}
|
|
18
|
-
|
|
19
|
-
|
|
57
|
+
}
|
|
58
|
+
|
|
20
59
|
@aws = OpenStudio::Aws::Aws.new(options)
|
|
60
|
+
#puts @aws.inspect
|
|
21
61
|
expect(@aws.os_aws).not_to be_nil
|
|
22
62
|
end
|
|
23
63
|
|
|
@@ -27,8 +67,6 @@ describe OpenStudio::Aws::Aws do
|
|
|
27
67
|
{
|
|
28
68
|
:access_key_id => "some_random_access_key_id",
|
|
29
69
|
:secret_access_key => "some_super_secret_access_key",
|
|
30
|
-
:region => "us-east-1",
|
|
31
|
-
:ssl_verify_peer => false
|
|
32
70
|
},
|
|
33
71
|
:proxy => {
|
|
34
72
|
:host => "192.168.0.1",
|
|
@@ -45,8 +83,6 @@ describe OpenStudio::Aws::Aws do
|
|
|
45
83
|
{
|
|
46
84
|
:access_key_id => "some_random_access_key_id",
|
|
47
85
|
:secret_access_key => "some_super_secret_access_key",
|
|
48
|
-
:region => "us-east-1",
|
|
49
|
-
:ssl_verify_peer => false
|
|
50
86
|
},
|
|
51
87
|
:proxy => {
|
|
52
88
|
:host => "192.168.0.1",
|
|
@@ -67,7 +67,7 @@ describe OpenStudioAwsWrapper do
|
|
|
67
67
|
resp = @aws.os_aws.create_new_ami_json(1)
|
|
68
68
|
expect(resp["1.1.3".to_sym][:server]).to eq("ami-fb301292")
|
|
69
69
|
expect(resp["1.2.1".to_sym][:server]).to eq("ami-89744be0")
|
|
70
|
-
expect(resp["default".to_sym][:server]).
|
|
70
|
+
expect(resp["default".to_sym][:server]).to_not eq("ami-89744be0")
|
|
71
71
|
end
|
|
72
72
|
end
|
|
73
73
|
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws ami lists" tests="1" time="0.083118" failures="0" errors="1" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.082912">
|
|
4
|
+
<failure type="Aws::Errors::MissingRegionError" message="Aws::Errors::MissingRegionError">
|
|
5
|
+
Aws::Errors::MissingRegionError (Aws::Errors::MissingRegionError)
|
|
6
|
+
Aws::Errors::MissingRegionError:
|
|
7
|
+
Aws::Errors::MissingRegionError
|
|
8
|
+
./lib/openstudio/lib/openstudio_aws_wrapper.rb:69:in `initialize'
|
|
9
|
+
./lib/openstudio/aws/aws.rb:56:in `new'
|
|
10
|
+
./lib/openstudio/aws/aws.rb:56:in `initialize'
|
|
11
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `new'
|
|
12
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `block (3 levels) in <top (required)>' </failure>
|
|
13
|
+
</testcase>
|
|
14
|
+
<system-out>
|
|
15
|
+
</system-out>
|
|
16
|
+
<system-err>
|
|
17
|
+
</system-err>
|
|
18
|
+
</testsuite>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws ami lists" tests="1" time="0.060319" failures="0" errors="1" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.060138">
|
|
4
|
+
<failure type="Aws::Errors::MissingRegionError" message="Aws::Errors::MissingRegionError">
|
|
5
|
+
Aws::Errors::MissingRegionError (Aws::Errors::MissingRegionError)
|
|
6
|
+
Aws::Errors::MissingRegionError:
|
|
7
|
+
Aws::Errors::MissingRegionError
|
|
8
|
+
./lib/openstudio/lib/openstudio_aws_wrapper.rb:69:in `initialize'
|
|
9
|
+
./lib/openstudio/aws/aws.rb:57:in `new'
|
|
10
|
+
./lib/openstudio/aws/aws.rb:57:in `initialize'
|
|
11
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `new'
|
|
12
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `block (3 levels) in <top (required)>' </failure>
|
|
13
|
+
</testcase>
|
|
14
|
+
<system-out>
|
|
15
|
+
{:ami_lookup_version=>1, :region=>"sa-east-1", :credentials=>{:access_key_id=>"some_random_access_key_id", :secret_access_key=>"some_super_secret_access_key", :ssl_verify_peer=>false}}
|
|
16
|
+
</system-out>
|
|
17
|
+
<system-err>
|
|
18
|
+
</system-err>
|
|
19
|
+
</testsuite>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws ami lists" tests="2" time="0.275788" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.201982">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.073603">
|
|
6
|
+
</testcase>
|
|
7
|
+
<system-out>
|
|
8
|
+
</system-out>
|
|
9
|
+
<system-err>
|
|
10
|
+
</system-err>
|
|
11
|
+
</testsuite>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws ami lists" tests="2" time="0.2939" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.201705">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.091975">
|
|
6
|
+
</testcase>
|
|
7
|
+
<system-out>
|
|
8
|
+
</system-out>
|
|
9
|
+
<system-err>
|
|
10
|
+
</system-err>
|
|
11
|
+
</testsuite>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws ami lists" tests="1" time="0.128722" failures="0" errors="1" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws ami lists should allow a different region" time="0.128541">
|
|
4
|
+
<failure type="Aws::Errors::MissingRegionError" message="Aws::Errors::MissingRegionError">
|
|
5
|
+
Aws::Errors::MissingRegionError (Aws::Errors::MissingRegionError)
|
|
6
|
+
Aws::Errors::MissingRegionError:
|
|
7
|
+
Aws::Errors::MissingRegionError
|
|
8
|
+
./lib/openstudio/lib/openstudio_aws_wrapper.rb:69:in `initialize'
|
|
9
|
+
./lib/openstudio/aws/aws.rb:56:in `new'
|
|
10
|
+
./lib/openstudio/aws/aws.rb:56:in `initialize'
|
|
11
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `new'
|
|
12
|
+
./spec/openstudio-aws/aws_spec.rb:15:in `block (3 levels) in <top (required)>' </failure>
|
|
13
|
+
</testcase>
|
|
14
|
+
<system-out>
|
|
15
|
+
</system-out>
|
|
16
|
+
<system-err>
|
|
17
|
+
</system-err>
|
|
18
|
+
</testsuite>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws create a new instance" tests="5" time="193376.590119" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws create a new instance should create a new instance" time="0.001172">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws create a new instance should ask the user to create a new config file" time="0.000125">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws create a new instance should create a server" time="35.035334">
|
|
8
|
+
</testcase>
|
|
9
|
+
<testcase>
|
|
10
|
+
</testcase>
|
|
11
|
+
<testcase>
|
|
12
|
+
</testcase>
|
|
13
|
+
<system-out>
|
|
14
|
+
{"timestamp":"1390600048","server":{"id":"i-2f15580f","ip":"http://54.234.28.217","dns":"ec2-54-234-28-217.compute-1.amazonaws.com","procs":1}}
|
|
15
|
+
|
|
16
|
+
Server SSH Command:
|
|
17
|
+
ssh -i ec2_server_key.pem ubuntu@ec2-54-234-28-217.compute-1.amazonaws.com
|
|
18
|
+
|
|
19
|
+
Worker SSH Command:
|
|
20
|
+
ssh -i ec2_server_key.pem ubuntu@ec2-23-22-87-129.compute-1.amazonaws.com
|
|
21
|
+
|
|
22
|
+
Waiting for server/worker configurations
|
|
23
|
+
</system-out>
|
|
24
|
+
<system-err>
|
|
25
|
+
</system-err>
|
|
26
|
+
</testsuite>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.07276" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.060141">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.00575">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.006519">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
</system-out>
|
|
11
|
+
<system-err>
|
|
12
|
+
</system-err>
|
|
13
|
+
</testsuite>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.076653" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.061784">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.00808">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.006428">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
</system-out>
|
|
11
|
+
<system-err>
|
|
12
|
+
</system-err>
|
|
13
|
+
</testsuite>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.033589" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.005949">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.007908">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.0194">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
</system-out>
|
|
11
|
+
<system-err>
|
|
12
|
+
</system-err>
|
|
13
|
+
</testsuite>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.030081" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.006072">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.0053">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.018383">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
</system-out>
|
|
11
|
+
<system-err>
|
|
12
|
+
</system-err>
|
|
13
|
+
</testsuite>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.0314" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.006098">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.005309">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.019675">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
{:ami_lookup_version=>1, :region=>"us-east-1", :credentials=>{:access_key_id=>"some_random_access_key_id", :secret_access_key=>"some_super_secret_access_key", :region=>"us-east-1", :ssl_verify_peer=>false}}
|
|
11
|
+
{:ami_lookup_version=>1, :region=>"us-east-1", :credentials=>{:access_key_id=>"some_random_access_key_id", :secret_access_key=>"some_super_secret_access_key", :region=>"us-east-1", :ssl_verify_peer=>false}, :proxy=>{:host=>"192.168.0.1", :port=>8080}}
|
|
12
|
+
{:ami_lookup_version=>1, :region=>"us-east-1", :credentials=>{:access_key_id=>"some_random_access_key_id", :secret_access_key=>"some_super_secret_access_key", :region=>"us-east-1", :ssl_verify_peer=>false}, :proxy=>{:host=>"192.168.0.1", :port=>8080, :username=>"username", :password=>"password"}}
|
|
13
|
+
</system-out>
|
|
14
|
+
<system-err>
|
|
15
|
+
</system-err>
|
|
16
|
+
</testsuite>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<testsuite name="OpenStudio::Aws::Aws proxy configuration" tests="3" time="0.221583" failures="0" errors="0" skipped="0">
|
|
3
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create an instance" time="0.075528">
|
|
4
|
+
</testcase>
|
|
5
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy" time="0.070993">
|
|
6
|
+
</testcase>
|
|
7
|
+
<testcase name="OpenStudio::Aws::Aws proxy configuration should create a AWS instance with a proxy with username / password" time="0.074723">
|
|
8
|
+
</testcase>
|
|
9
|
+
<system-out>
|
|
10
|
+
</system-out>
|
|
11
|
+
<system-err>
|
|
12
|
+
</system-err>
|
|
13
|
+
</testsuite>
|