diff --git a/local_setup_scripts/docker_logs.sh b/local_setup_scripts/docker_logs.sh old mode 100644 new mode 100755 diff --git a/local_setup_scripts/docker_logs2.sh b/local_setup_scripts/docker_logs2.sh old mode 100644 new mode 100755 diff --git a/local_setup_scripts/nuke.sh b/local_setup_scripts/nuke.sh old mode 100644 new mode 100755 diff --git a/local_setup_scripts/rebuild_sr.sh b/local_setup_scripts/rebuild_sr.sh old mode 100644 new mode 100755 index a28d2f999..f88cda624 --- a/local_setup_scripts/rebuild_sr.sh +++ b/local_setup_scripts/rebuild_sr.sh @@ -6,23 +6,23 @@ docker volume rm osdata -f || true docker volume rm dbdata -f || true while [ $(docker ps -q | wc -l) != 1 ]; do sleep 5; done -docker image rm 127.0.0.1:5000/openstudio-server -f -docker build . -t="127.0.0.1:5000/openstudio-server" --build-arg OPENSTUDIO_VERSION=3.0.0-beta +#docker image rm 127.0.0.1:5000/openstudio-server -f +docker build . -t="127.0.0.1:5000/openstudio-server" --build-arg OPENSTUDIO_VERSION=3.0.1-rc1 docker push 127.0.0.1:5000/openstudio-server cd docker/R/ -docker image rm 127.0.0.1:5000/openstudio-rserve -f +#docker image rm 127.0.0.1:5000/openstudio-rserve -f docker build . -t="127.0.0.1:5000/openstudio-rserve" docker push 127.0.0.1:5000/openstudio-rserve docker pull mongo:3.4.10 -docker tag mongo 127.0.0.1:5000/mongo +docker tag mongo:3.4.10 127.0.0.1:5000/mongo docker push 127.0.0.1:5000/mongo -docker image rm mongo || true +docker image rm mongo:3.4.10 || true docker pull redis:4.0.6 docker tag redis:4.0.6 127.0.0.1:5000/redis docker push 127.0.0.1:5000/redis cd ../../local_setup_scripts docker stack deploy osserver --compose-file=./docker-compose.yml while ( nc -zv 127.0.0.1 80 3>&1 1>&2- 2>&3- ) | awk -F ":" '$3 != " Connection refused" {exit 1}'; do sleep 5; done -docker service scale osserver_worker=42 +docker service scale osserver_worker=1 echo 'osserver stack rebuilt and redeployed' diff --git a/local_setup_scripts/redeploy.sh b/local_setup_scripts/redeploy.sh old mode 100644 new mode 100755 diff --git a/server/app/jobs/dj_jobs/run_simulate_data_point.rb b/server/app/jobs/dj_jobs/run_simulate_data_point.rb index dad2790fe..54dcad4e3 100644 --- a/server/app/jobs/dj_jobs/run_simulate_data_point.rb +++ b/server/app/jobs/dj_jobs/run_simulate_data_point.rb @@ -284,21 +284,35 @@ def perform # Post the reports back to the server uploads_successful = [] - - Dir["#{simulation_dir}/reports/*.{html,json,csv}"].each { |rep| uploads_successful << upload_file(rep, 'Report') } - + if @data_point.analysis.download_reports + @sim_logger.info "downloading reports/*.{html,json,csv}" + Dir["#{simulation_dir}/reports/*.{html,json,csv}"].each { |rep| uploads_successful << upload_file(rep, 'Report') } + else + @sim_logger.info "NOT downloading /reports/*.{html,json,csv} since download_reports value is: #{@data_point.analysis.download_reports}" + end report_file = "#{run_dir}/objectives.json" uploads_successful << upload_file(report_file, 'Report', 'objectives', 'application/json') if File.exist?(report_file) - - report_file = "#{simulation_dir}/out.osw" - uploads_successful << upload_file(report_file, 'Report', 'Final OSW File', 'application/json') if File.exist?(report_file) - - report_file = "#{simulation_dir}/in.osm" - uploads_successful << upload_file(report_file, 'OpenStudio Model', 'model', 'application/osm') if File.exist?(report_file) - - report_file = "#{run_dir}/data_point.zip" - uploads_successful << upload_file(report_file, 'Data Point', 'Zip File', 'application/zip') if File.exist?(report_file) - + if @data_point.analysis.download_osw + @sim_logger.info "downloading out.OSW" + report_file = "#{simulation_dir}/out.osw" + uploads_successful << upload_file(report_file, 'Report', 'Final OSW File', 'application/json') if File.exist?(report_file) + else + @sim_logger.info "NOT downloading out.OSW since download_osw value is: #{@data_point.analysis.download_osw}" + end + if @data_point.analysis.download_osm + @sim_logger.info "downloading in.OSM" + report_file = "#{simulation_dir}/in.osm" + uploads_successful << upload_file(report_file, 'OpenStudio Model', 'model', 'application/osm') if File.exist?(report_file) + else + @sim_logger.info "NOT downloading in.OSM since download_osm value is: #{@data_point.analysis.download_osm}" + end + if @data_point.analysis.download_zip + @sim_logger.info "downloading datapoint.ZIP" + report_file = "#{run_dir}/data_point.zip" + uploads_successful << upload_file(report_file, 'Data Point', 'Zip File', 'application/zip') if File.exist?(report_file) + else + @sim_logger.info "NOT downloading datapoint.zip since download_zip value is: #{@data_point.analysis.download_zip}" + end run_result = :errored unless uploads_successful.all? end diff --git a/server/app/models/analysis.rb b/server/app/models/analysis.rb index 7c02fde48..5724b8c20 100644 --- a/server/app/models/analysis.rb +++ b/server/app/models/analysis.rb @@ -54,7 +54,11 @@ class Analysis field :initialize_worker_timeout, type: Integer, default: 28800 # set default to 8 hrs field :upload_results_timeout, type: Integer, default: 28800 # set default to 8 hrs field :run_workflow_timeout, type: Integer, default: 28800 # set default to 8 hrs - + field :download_zip, type: Boolean, default: true + field :download_osm, type: Boolean, default: true + field :download_osw, type: Boolean, default: true + field :download_reports, type: Boolean, default: true + # Hash of the jobs to run for the analysis # field :jobs, type: Array, default: [] # very specific format # move the results into the jobs array