From 46cd95957da4eebcfe7139bcc9c7ccb1bc3b4023 Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Fri, 3 Feb 2017 17:34:31 -0700 Subject: [PATCH 01/10] Adding support for dockerized AWS deployment --- Gemfile | 6 ++--- Gemfile.lock | 71 +++++++++++++++++++++++++++++++++------------------- Rakefile | 3 ++- cli.rb | 4 +-- 4 files changed, 52 insertions(+), 32 deletions(-) diff --git a/Gemfile b/Gemfile index c67cab3..e34e28d 100644 --- a/Gemfile +++ b/Gemfile @@ -4,10 +4,10 @@ gem 'rake', '~> 11.1' gem 'colored', '~> 1.2' gem 'git', require: false -gem 'openstudio-aws', '~> 0.4.2' -gem 'openstudio-analysis', '~> 0.4.5' +gem 'openstudio-aws', github: 'nrel/openstudio-aws-gem', branch: 'dockerize' +# gem 'openstudio-analysis', '~> 0.4.5' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' -# gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' +gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' gem 'nokogiri', '1.6.8.1' diff --git a/Gemfile.lock b/Gemfile.lock index 554be27..7db6d23 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,29 @@ +GIT + remote: git://github.com/nrel/openstudio-analysis-gem.git + revision: 002e51cf75a21f509644c74b789a3293d246861d + branch: develop + specs: + openstudio-analysis (1.0.0.rc14) + bcl (~> 0.5.7) + dencity (~> 0.1.0) + faraday (~> 0.8) + nokogiri (~> 1.6) + roo (~> 2.4) + rubyzip (~> 1.2) + semantic (~> 1.4) + +GIT + remote: git://github.com/nrel/openstudio-aws-gem.git + revision: 826a19c61b3a7422c760451c9e633ff0cce4da60 + branch: dockerize + specs: + openstudio-aws (0.5.0.rc0) + aws-sdk-core (= 2.2.26) + net-scp (~> 1.1) + net-ssh (= 3.0.2) + semantic (~> 1.4) + sshkey (~> 1.7) + GEM remote: http://rubygems.org/ specs: @@ -16,11 +42,20 @@ GEM uuid yamler zliby - builder (3.2.2) + builder (3.2.3) colored (1.2) - faraday (0.10.1) + dencity (0.1.0) + faraday + faraday_middleware + hashie + multi_json + parallel + faraday (0.11.0) multipart-post (>= 1.2, < 3) + faraday_middleware (0.11.0.1) + faraday (>= 0.7.4, < 1.0) git (1.3.0) + hashie (3.5.1) jmespath (1.3.1) macaddr (1.7.1) systemu (~> 2.6.2) @@ -34,33 +69,17 @@ GEM mini_portile2 (~> 2.1.0) nokogiri (1.6.8.1-x64-mingw32) mini_portile2 (~> 2.1.0) - openstudio-analysis (0.4.5) - bcl (~> 0.5.5) - faraday (~> 0.8) - nokogiri (~> 1.6) - roo (~> 1.12) - rubyzip (~> 1.0) - semantic (~> 1.4) - openstudio-aws (0.4.2) - aws-sdk-core (= 2.2.26) - net-scp (~> 1.1) - net-ssh (= 3.0.2) - semantic (~> 1.4) - sshkey (~> 1.7) + parallel (1.10.0) rake (11.3.0) - roo (1.13.2) - nokogiri - rubyzip - spreadsheet (> 0.6.4) - ruby-ole (1.2.12) + roo (2.7.1) + nokogiri (~> 1) + rubyzip (~> 1.1, < 2.0.0) rubyXL (3.3.22) nokogiri (>= 1.4.4) rubyzip (>= 1.1.6) rubyzip (1.2.0) - semantic (1.5.0) - spreadsheet (1.1.4) - ruby-ole (>= 1.0) - sshkey (1.8.0) + semantic (1.6.0) + sshkey (1.9.0) systemu (2.6.5) uuid (2.3.8) macaddr (~> 1.0) @@ -75,8 +94,8 @@ DEPENDENCIES colored (~> 1.2) git nokogiri (= 1.6.8.1) - openstudio-analysis (~> 0.4.5) - openstudio-aws (~> 0.4.2) + openstudio-analysis! + openstudio-aws! rake (~> 11.1) BUNDLED WITH diff --git a/Rakefile b/Rakefile index 8d8b849..5b65a2a 100644 --- a/Rakefile +++ b/Rakefile @@ -113,8 +113,9 @@ Or run `rake clean`".red puts 'Starting cluster...'.cyan # Don't use the old API (Version 1) + ami_version = options['openstudio_server_version'][0] == 2 ? 3 : 2 aws_options = { - ami_lookup_version: 2, + ami_lookup_version: ami_version, openstudio_server_version: options['openstudio_server_version'] } aws = OpenStudio::Aws::Aws.new(aws_options) diff --git a/cli.rb b/cli.rb index d53c761..6219a66 100644 --- a/cli.rb +++ b/cli.rb @@ -85,8 +85,8 @@ def lookup_target_url(target_type) when 'lcnode1' server_dns = 'http://10.60.7.61:8080' else - puts "ERROR: TARGET -- Unknown 'target_type' in #{__method__}" - fail 1 + puts "WARN: TARGET -- Unknown 'target_type' in #{__method__}" + server_dns = target_type.downcase end server_dns From ac6515452388b53264c053cf5ce70a9b9d548382 Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Fri, 3 Feb 2017 17:46:17 -0700 Subject: [PATCH 02/10] Adding dockerized example excel spreadsheet with new server options. --- projects/lhs_docker_example.xlsx | Bin 0 -> 61361 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 projects/lhs_docker_example.xlsx diff --git a/projects/lhs_docker_example.xlsx b/projects/lhs_docker_example.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..830f06b32be9ae3694c2119a5263ba29116f6c62 GIT binary patch literal 61361 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

@` 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 Date: Fri, 3 Feb 2017 18:11:39 -0700 Subject: [PATCH 03/10] Updating to the pre-12 box. --- Rakefile | 2 +- projects/lhs_docker_example.xlsx | Bin 61361 -> 61362 bytes 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Rakefile b/Rakefile index 5b65a2a..eca3c98 100644 --- a/Rakefile +++ b/Rakefile @@ -113,7 +113,7 @@ Or run `rake clean`".red puts 'Starting cluster...'.cyan # Don't use the old API (Version 1) - ami_version = options['openstudio_server_version'][0] == 2 ? 3 : 2 + ami_version = options['openstudio_server_version'][0] == '2' ? 3 : 2 aws_options = { ami_lookup_version: ami_version, openstudio_server_version: options['openstudio_server_version'] diff --git a/projects/lhs_docker_example.xlsx b/projects/lhs_docker_example.xlsx index 830f06b32be9ae3694c2119a5263ba29116f6c62..e16b1738c369583d33775a24a9d4bedab5ad6415 100644 GIT binary patch delta 2994 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 delta 3035 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 From e93705fdd9955226d37d22876bf1402276fb771d Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Sun, 5 Feb 2017 23:24:23 -0700 Subject: [PATCH 04/10] My next best failure on the rakefile. --- Rakefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Rakefile b/Rakefile index eca3c98..cfd99ee 100644 --- a/Rakefile +++ b/Rakefile @@ -142,6 +142,7 @@ Or run `rake clean`".red aws.create_workers(options['worker_nodes'].to_i, worker_options) aws.save_cluster_info "#{options['cluster_name']}.json" aws.print_connection_info + sleep 30 server_dns = "http://#{aws.os_aws.server.data.dns}" From 6d6c1acb734ee3f4e47b1c698bfd2f9f27fda1da Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Tue, 7 Feb 2017 18:04:12 -0700 Subject: [PATCH 05/10] Final changes - increased debugging & tested backwards compatability. --- Gemfile.lock | 4 ++-- Rakefile | 27 +++++++++++++++------------ projects/lhs_docker_example.xlsx | Bin 61362 -> 61349 bytes 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 7db6d23..3eea73e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: git://github.com/nrel/openstudio-analysis-gem.git - revision: 002e51cf75a21f509644c74b789a3293d246861d + revision: 4932e2403a2433efa0d2b9f292eb4781fc1cf9fe branch: develop specs: openstudio-analysis (1.0.0.rc14) @@ -14,7 +14,7 @@ GIT GIT remote: git://github.com/nrel/openstudio-aws-gem.git - revision: 826a19c61b3a7422c760451c9e633ff0cce4da60 + revision: db68e2034ad8a0328aaf0981ebc8ea54379b6b53 branch: dockerize specs: openstudio-aws (0.5.0.rc0) diff --git a/Rakefile b/Rakefile index cfd99ee..57404f1 100644 --- a/Rakefile +++ b/Rakefile @@ -142,7 +142,6 @@ Or run `rake clean`".red aws.create_workers(options['worker_nodes'].to_i, worker_options) aws.save_cluster_info "#{options['cluster_name']}.json" aws.print_connection_info - sleep 30 server_dns = "http://#{aws.os_aws.server.data.dns}" @@ -209,17 +208,21 @@ def run_analysis(analysis, run_options, target = 'aws', download = false) options = {hostname: server_dns} api = OpenStudio::Analysis::ServerApi.new(options) - if run_options[:batch_run_method] - analysis_id = api.run(formulation_file, - analysis_zip_file, - run_options['analysis_type'], - { batch_run_method: run_options[:batch_run_method]} - ) - else - analysis_id = api.run(formulation_file, - analysis_zip_file, - run_options['analysis_type'] - ) + begin + if run_options[:batch_run_method] + analysis_id = api.run(formulation_file, + analysis_zip_file, + run_options['analysis_type'], + { batch_run_method: run_options[:batch_run_method]} + ) + else + analysis_id = api.run(formulation_file, + analysis_zip_file, + run_options['analysis_type'] + ) + end + rescue => e + puts "Analysis submission failed with message `#{e.message}` in:\n#{e.backtrace.join("\n")}" end diff --git a/projects/lhs_docker_example.xlsx b/projects/lhs_docker_example.xlsx index e16b1738c369583d33775a24a9d4bedab5ad6415..10a2cad4558da5c6cc0e7cbd46d6a2e3b9173751 100644 GIT binary patch delta 13559 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 NTvNgfpa0M1e*to?3UvSg From ae812388743982781ff9ebf2fbe7cd498e584c9e Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Tue, 7 Feb 2017 18:06:05 -0700 Subject: [PATCH 06/10] Updating gemfile for PR --- Gemfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index e34e28d..1a0d9ec 100644 --- a/Gemfile +++ b/Gemfile @@ -5,9 +5,9 @@ gem 'colored', '~> 1.2' gem 'git', require: false gem 'openstudio-aws', github: 'nrel/openstudio-aws-gem', branch: 'dockerize' -# gem 'openstudio-analysis', '~> 0.4.5' +gem 'openstudio-analysis', '~> 0.5.0-rc1' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' -gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' +# gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' gem 'nokogiri', '1.6.8.1' From 3b2da55867fe15de3a80bb0dda7de8b4edf844ad Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Tue, 7 Feb 2017 19:13:07 -0700 Subject: [PATCH 07/10] Forgot the . vs - thing in gem version. --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index 1a0d9ec..f313c8d 100644 --- a/Gemfile +++ b/Gemfile @@ -5,7 +5,7 @@ gem 'colored', '~> 1.2' gem 'git', require: false gem 'openstudio-aws', github: 'nrel/openstudio-aws-gem', branch: 'dockerize' -gem 'openstudio-analysis', '~> 0.5.0-rc1' +gem 'openstudio-analysis', '~> 0.5.0.rc1' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' # gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' From 08b8d6c9fa56bea604e2f18276624ec97d1fca07 Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Tue, 7 Feb 2017 19:16:27 -0700 Subject: [PATCH 08/10] Updated wrong gem. Revising, and bringing into state with develop. --- Gemfile | 4 +-- Gemfile.lock | 72 ++++++++++++++++++++++------------------------------ 2 files changed, 33 insertions(+), 43 deletions(-) diff --git a/Gemfile b/Gemfile index f313c8d..435a351 100644 --- a/Gemfile +++ b/Gemfile @@ -4,8 +4,8 @@ gem 'rake', '~> 11.1' gem 'colored', '~> 1.2' gem 'git', require: false -gem 'openstudio-aws', github: 'nrel/openstudio-aws-gem', branch: 'dockerize' -gem 'openstudio-analysis', '~> 0.5.0.rc1' +gem 'openstudio-aws', '0.5.0.rc1' +gem 'openstudio-analysis', '~> 0.4.5' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' # gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' diff --git a/Gemfile.lock b/Gemfile.lock index 3eea73e..e1acf88 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,33 +1,9 @@ -GIT - remote: git://github.com/nrel/openstudio-analysis-gem.git - revision: 4932e2403a2433efa0d2b9f292eb4781fc1cf9fe - branch: develop - specs: - openstudio-analysis (1.0.0.rc14) - bcl (~> 0.5.7) - dencity (~> 0.1.0) - faraday (~> 0.8) - nokogiri (~> 1.6) - roo (~> 2.4) - rubyzip (~> 1.2) - semantic (~> 1.4) - -GIT - remote: git://github.com/nrel/openstudio-aws-gem.git - revision: db68e2034ad8a0328aaf0981ebc8ea54379b6b53 - branch: dockerize - specs: - openstudio-aws (0.5.0.rc0) - aws-sdk-core (= 2.2.26) - net-scp (~> 1.1) - net-ssh (= 3.0.2) - semantic (~> 1.4) - sshkey (~> 1.7) - GEM remote: http://rubygems.org/ specs: - archive-tar-minitar (0.5.2) + archive-tar-minitar (0.6.1) + minitar (~> 0.6) + minitar-cli (~> 0.6) aws-sdk-core (2.2.26) jmespath (~> 1.0) bcl (0.5.7) @@ -44,22 +20,18 @@ GEM zliby builder (3.2.3) colored (1.2) - dencity (0.1.0) - faraday - faraday_middleware - hashie - multi_json - parallel faraday (0.11.0) multipart-post (>= 1.2, < 3) - faraday_middleware (0.11.0.1) - faraday (>= 0.7.4, < 1.0) git (1.3.0) hashie (3.5.1) jmespath (1.3.1) macaddr (1.7.1) systemu (~> 2.6.2) mini_portile2 (2.1.0) + minitar (0.6.1) + minitar-cli (0.6.1) + minitar (~> 0.6.0) + powerbar (~> 1.0) multi_json (1.12.1) multipart-post (2.0.0) net-scp (1.2.1) @@ -69,16 +41,34 @@ GEM mini_portile2 (~> 2.1.0) nokogiri (1.6.8.1-x64-mingw32) mini_portile2 (~> 2.1.0) - parallel (1.10.0) + openstudio-analysis (0.4.5) + bcl (~> 0.5.5) + faraday (~> 0.8) + nokogiri (~> 1.6) + roo (~> 1.12) + rubyzip (~> 1.0) + semantic (~> 1.4) + openstudio-aws (0.5.0.rc1) + aws-sdk-core (= 2.2.26) + net-scp (~> 1.1) + net-ssh (= 3.0.2) + semantic (~> 1.4) + sshkey (~> 1.7) + powerbar (1.0.18) + hashie (>= 1.1.0) rake (11.3.0) - roo (2.7.1) - nokogiri (~> 1) - rubyzip (~> 1.1, < 2.0.0) + roo (1.13.2) + nokogiri + rubyzip + spreadsheet (> 0.6.4) + ruby-ole (1.2.12) rubyXL (3.3.22) nokogiri (>= 1.4.4) rubyzip (>= 1.1.6) rubyzip (1.2.0) semantic (1.6.0) + spreadsheet (1.1.4) + ruby-ole (>= 1.0) sshkey (1.9.0) systemu (2.6.5) uuid (2.3.8) @@ -94,8 +84,8 @@ DEPENDENCIES colored (~> 1.2) git nokogiri (= 1.6.8.1) - openstudio-analysis! - openstudio-aws! + openstudio-analysis (~> 0.4.5) + openstudio-aws (= 0.5.0.rc1) rake (~> 11.1) BUNDLED WITH From fcc8f141a57f6632a3a8e366dda4869a414de3e7 Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Tue, 7 Feb 2017 21:38:54 -0700 Subject: [PATCH 09/10] Sadly, we now have a gem compatability issue. Dockerize has to use the new analysis gem. --- Gemfile | 4 ++-- Gemfile.lock | 42 +++++++++++++++++++++++++++--------------- 2 files changed, 29 insertions(+), 17 deletions(-) diff --git a/Gemfile b/Gemfile index 435a351..318ca13 100644 --- a/Gemfile +++ b/Gemfile @@ -5,9 +5,9 @@ gem 'colored', '~> 1.2' gem 'git', require: false gem 'openstudio-aws', '0.5.0.rc1' -gem 'openstudio-analysis', '~> 0.4.5' +# gem 'openstudio-analysis', '~> 0.4.5' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' -# gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' +gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' gem 'nokogiri', '1.6.8.1' diff --git a/Gemfile.lock b/Gemfile.lock index e1acf88..aef4745 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,17 @@ +GIT + remote: git://github.com/nrel/openstudio-analysis-gem.git + revision: 4932e2403a2433efa0d2b9f292eb4781fc1cf9fe + branch: develop + specs: + openstudio-analysis (1.0.0.rc14) + bcl (~> 0.5.7) + dencity (~> 0.1.0) + faraday (~> 0.8) + nokogiri (~> 1.6) + roo (~> 2.4) + rubyzip (~> 1.2) + semantic (~> 1.4) + GEM remote: http://rubygems.org/ specs: @@ -20,8 +34,16 @@ GEM zliby builder (3.2.3) colored (1.2) + dencity (0.1.0) + faraday + faraday_middleware + hashie + multi_json + parallel faraday (0.11.0) multipart-post (>= 1.2, < 3) + faraday_middleware (0.11.0.1) + faraday (>= 0.7.4, < 1.0) git (1.3.0) hashie (3.5.1) jmespath (1.3.1) @@ -41,34 +63,24 @@ GEM mini_portile2 (~> 2.1.0) nokogiri (1.6.8.1-x64-mingw32) mini_portile2 (~> 2.1.0) - openstudio-analysis (0.4.5) - bcl (~> 0.5.5) - faraday (~> 0.8) - nokogiri (~> 1.6) - roo (~> 1.12) - rubyzip (~> 1.0) - semantic (~> 1.4) openstudio-aws (0.5.0.rc1) aws-sdk-core (= 2.2.26) net-scp (~> 1.1) net-ssh (= 3.0.2) semantic (~> 1.4) sshkey (~> 1.7) + parallel (1.10.0) powerbar (1.0.18) hashie (>= 1.1.0) rake (11.3.0) - roo (1.13.2) - nokogiri - rubyzip - spreadsheet (> 0.6.4) - ruby-ole (1.2.12) + roo (2.7.1) + nokogiri (~> 1) + rubyzip (~> 1.1, < 2.0.0) rubyXL (3.3.22) nokogiri (>= 1.4.4) rubyzip (>= 1.1.6) rubyzip (1.2.0) semantic (1.6.0) - spreadsheet (1.1.4) - ruby-ole (>= 1.0) sshkey (1.9.0) systemu (2.6.5) uuid (2.3.8) @@ -84,7 +96,7 @@ DEPENDENCIES colored (~> 1.2) git nokogiri (= 1.6.8.1) - openstudio-analysis (~> 0.4.5) + openstudio-analysis! openstudio-aws (= 0.5.0.rc1) rake (~> 11.1) From a33561072b35f218e6e29fac72b1760493730bf6 Mon Sep 17 00:00:00 2001 From: Ry Horsey Date: Fri, 10 Feb 2017 12:01:00 -0700 Subject: [PATCH 10/10] Updating to new AMI V3 json schema. --- Gemfile | 2 +- Gemfile.lock | 10 +++++----- projects/lhs_docker_example.xlsx | Bin 61349 -> 61354 bytes 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index 318ca13..ab23aa9 100644 --- a/Gemfile +++ b/Gemfile @@ -4,7 +4,7 @@ gem 'rake', '~> 11.1' gem 'colored', '~> 1.2' gem 'git', require: false -gem 'openstudio-aws', '0.5.0.rc1' +gem 'openstudio-aws', '0.5.0.rc2' # gem 'openstudio-analysis', '~> 0.4.5' # gem 'openstudio-analysis', path: '../OpenStudio-analysis-gem' gem 'openstudio-analysis', github: 'nrel/openstudio-analysis-gem', branch: 'develop' diff --git a/Gemfile.lock b/Gemfile.lock index aef4745..df98511 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,9 +1,9 @@ GIT remote: git://github.com/nrel/openstudio-analysis-gem.git - revision: 4932e2403a2433efa0d2b9f292eb4781fc1cf9fe + revision: 40b1a3360ee60bfbdb19aca6709b7f256ece52aa branch: develop specs: - openstudio-analysis (1.0.0.rc14) + openstudio-analysis (1.0.0.rc15) bcl (~> 0.5.7) dencity (~> 0.1.0) faraday (~> 0.8) @@ -63,7 +63,7 @@ GEM mini_portile2 (~> 2.1.0) nokogiri (1.6.8.1-x64-mingw32) mini_portile2 (~> 2.1.0) - openstudio-aws (0.5.0.rc1) + openstudio-aws (0.5.0.rc2) aws-sdk-core (= 2.2.26) net-scp (~> 1.1) net-ssh (= 3.0.2) @@ -79,7 +79,7 @@ GEM rubyXL (3.3.22) nokogiri (>= 1.4.4) rubyzip (>= 1.1.6) - rubyzip (1.2.0) + rubyzip (1.2.1) semantic (1.6.0) sshkey (1.9.0) systemu (2.6.5) @@ -97,7 +97,7 @@ DEPENDENCIES git nokogiri (= 1.6.8.1) openstudio-analysis! - openstudio-aws (= 0.5.0.rc1) + openstudio-aws (= 0.5.0.rc2) rake (~> 11.1) BUNDLED WITH diff --git a/projects/lhs_docker_example.xlsx b/projects/lhs_docker_example.xlsx index 10a2cad4558da5c6cc0e7cbd46d6a2e3b9173751..5e4f69eb1c26fe07c79adc7e05b31ed0cd967fda 100644 GIT binary patch delta 21032 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 AegFUf delta 20956 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