[ARVADOS] created: 7678627008122e2f832acee56f5b3b9af6255a17
git at public.curoverse.com
git at public.curoverse.com
Tue Oct 21 10:56:55 EDT 2014
at 7678627008122e2f832acee56f5b3b9af6255a17 (commit)
commit 7678627008122e2f832acee56f5b3b9af6255a17
Author: Brett Smith <brett at curoverse.com>
Date: Tue Oct 21 10:58:59 2014 -0400
4139: Remove cloud node setup code from API server.
This code has never been used in production, and its functionality has
officially been assumed by Node Manager.
diff --git a/services/api/app/controllers/arvados/v1/nodes_controller.rb b/services/api/app/controllers/arvados/v1/nodes_controller.rb
index c9ac096..69e032b 100644
--- a/services/api/app/controllers/arvados/v1/nodes_controller.rb
+++ b/services/api/app/controllers/arvados/v1/nodes_controller.rb
@@ -4,10 +4,8 @@ class Arvados::V1::NodesController < ApplicationController
skip_before_filter :render_404_if_no_object, :only => :ping
def create
- @object = Node.new
- @object.save!
- @object.start!(lambda { |h| ping_arvados_v1_node_url(h) })
- show
+ @attrs = {}
+ super
end
def update
diff --git a/services/api/app/models/node.rb b/services/api/app/models/node.rb
index c791f8e..db39ab6 100644
--- a/services/api/app/models/node.rb
+++ b/services/api/app/models/node.rb
@@ -92,11 +92,6 @@ class Node < ArvadosModel
if o[:ec2_instance_id]
if !self.info['ec2_instance_id']
self.info['ec2_instance_id'] = o[:ec2_instance_id]
- if (Rails.configuration.compute_node_ec2_tag_enable rescue true)
- tag_cmd = ("ec2-create-tags #{o[:ec2_instance_id]} " +
- "--tag 'Name=#{self.uuid}'")
- `#{tag_cmd}`
- end
elsif self.info['ec2_instance_id'] != o[:ec2_instance_id]
logger.debug "Multiple nodes have credentials for #{self.uuid}"
raise "#{self.uuid} is already running at #{self.info['ec2_instance_id']} so rejecting ping from #{o[:ec2_instance_id]}"
@@ -117,11 +112,6 @@ class Node < ArvadosModel
raise "No available node slots" if try_slot == MAX_SLOTS
end while true
self.hostname = self.class.hostname_for_slot(self.slot_number)
- if info['ec2_instance_id']
- if (Rails.configuration.compute_node_ec2_tag_enable rescue true)
- `ec2-create-tags #{self.info['ec2_instance_id']} --tag 'hostname=#{self.hostname}'`
- end
- end
end
# Record other basic stats
@@ -136,50 +126,6 @@ class Node < ArvadosModel
save!
end
- def start!(ping_url_method)
- ensure_permission_to_save
- ping_url = ping_url_method.call({ id: self.uuid, ping_secret: self.info['ping_secret'] })
- if (Rails.configuration.compute_node_ec2run_args and
- Rails.configuration.compute_node_ami)
- ec2_args = ["--user-data '#{ping_url}'",
- "-t c1.xlarge -n 1",
- Rails.configuration.compute_node_ec2run_args,
- Rails.configuration.compute_node_ami
- ]
- ec2run_cmd = ["ec2-run-instances",
- "--client-token", self.uuid,
- ec2_args].flatten.join(' ')
- ec2spot_cmd = ["ec2-request-spot-instances",
- "-p #{Rails.configuration.compute_node_spot_bid} --type one-time",
- ec2_args].flatten.join(' ')
- else
- ec2run_cmd = ''
- ec2spot_cmd = ''
- end
- self.info['ec2_run_command'] = ec2run_cmd
- self.info['ec2_spot_command'] = ec2spot_cmd
- self.info['ec2_start_command'] = ec2spot_cmd
- logger.info "#{self.uuid} ec2_start_command= #{ec2spot_cmd.inspect}"
- result = `#{ec2spot_cmd} 2>&1`
- self.info['ec2_start_result'] = result
- logger.info "#{self.uuid} ec2_start_result= #{result.inspect}"
- result.match(/INSTANCE\s*(i-[0-9a-f]+)/) do |m|
- instance_id = m[1]
- self.info['ec2_instance_id'] = instance_id
- if (Rails.configuration.compute_node_ec2_tag_enable rescue true)
- `ec2-create-tags #{instance_id} --tag 'Name=#{self.uuid}'`
- end
- end
- result.match(/SPOTINSTANCEREQUEST\s*(sir-[0-9a-f]+)/) do |m|
- sir_id = m[1]
- self.info['ec2_sir_id'] = sir_id
- if (Rails.configuration.compute_node_ec2_tag_enable rescue true)
- `ec2-create-tags #{sir_id} --tag 'Name=#{self.uuid}'`
- end
- end
- self.save!
- end
-
protected
def ensure_ping_secret
diff --git a/services/api/config/application.default.yml b/services/api/config/application.default.yml
index b85df8c..fcbb637 100644
--- a/services/api/config/application.default.yml
+++ b/services/api/config/application.default.yml
@@ -105,15 +105,9 @@ common:
# Path to /etc/dnsmasq.d, or false = do not update dnsmasq data.
dnsmasq_conf_dir: false
- # Set to AMI id (ami-123456) to auto-start nodes. See app/models/node.rb
- compute_node_ami: false
- compute_node_ec2run_args: -g arvados-compute
- compute_node_spot_bid: 0.11
-
compute_node_domain: false
compute_node_nameservers:
- 192.168.1.1
- compute_node_ec2_tag_enable: false
# The version below is suitable for AWS.
# To use it, copy it to your application.yml, uncomment, and change <%# to <%=
-----------------------------------------------------------------------
hooks/post-receive
--
More information about the arvados-commits
mailing list