diff --git a/src/onegate/onegate-server.rb b/src/onegate/onegate-server.rb index 6f1e0d7f2d..fa3585f56b 100644 --- a/src/onegate/onegate-server.rb +++ b/src/onegate/onegate-server.rb @@ -115,7 +115,14 @@ put '/vm/:id' do halt 404, rc.message end - rc = vm.update(request.body.read, true) + body = request.body.read + + # Sets the RUNNING tag + if vm['USER_TEMPLATE/RUNNING'].nil? + body << "\nRUNNING=TRUE" + end + + rc = vm.update(body, true) if OpenNebula.is_error?(rc) logger.error {"VMID:#{params[:id]} vm.update error: #{rc.message}"} @@ -139,6 +146,16 @@ get '/vm/:id' do halt 404, rc.message end + # Sets the RUNNING tag + if vm['USER_TEMPLATE/RUNNING'].nil? + rc = vm.update("RUNNING=TRUE", true) + + if OpenNebula.is_error?(rc) + logger.error {"VMID:#{params[:id]} vm.update error: #{rc.message}"} + halt 500, rc.message + end + end + service_id = vm['USER_TEMPLATE/SERVICE_ID'] if service_id.nil? || !service_id.match(/^\d+$/)