[ARVADOS] updated: 9feeea1226399a9fc28acc53eafc45d884f7db65

git at public.curoverse.com git at public.curoverse.com
Thu Oct 23 15:45:49 EDT 2014


Summary of changes:
 doc/api/methods/nodes.html.textile.liquid          |  2 +-
 .../app/controllers/arvados/v1/nodes_controller.rb |  7 ---
 services/api/app/models/node.rb                    | 54 ----------------------
 services/api/config/application.default.yml        |  6 ---
 .../functional/arvados/v1/nodes_controller_test.rb |  2 +-
 5 files changed, 2 insertions(+), 69 deletions(-)

       via  9feeea1226399a9fc28acc53eafc45d884f7db65 (commit)
       via  351895cf665a1cc26ab0f39fed696909331c99c4 (commit)
       via  91738b3c2331a102e4aefd4be580e0e979bc514f (commit)
      from  2def202591164c9ade2c2b7ab6f67dc892d10557 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit 9feeea1226399a9fc28acc53eafc45d884f7db65
Merge: 2def202 351895c
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Oct 23 15:44:35 2014 -0400

    Merge branch '4139-clean-api-node-cruft-wip'
    
    Refs #4139, #4274.  Closes #4276.


commit 351895cf665a1cc26ab0f39fed696909331c99c4
Author: Brett Smith <brett at curoverse.com>
Date:   Thu Oct 23 15:36:52 2014 -0400

    4139: Node create API requires a node parameter.
    
    This makes it more consistent with other API create methods.

diff --git a/doc/api/methods/nodes.html.textile.liquid b/doc/api/methods/nodes.html.textile.liquid
index b2c7924..7aa5896 100644
--- a/doc/api/methods/nodes.html.textile.liquid
+++ b/doc/api/methods/nodes.html.textile.liquid
@@ -21,7 +21,7 @@ Arguments:
 
 table(table table-bordered table-condensed).
 |_. Argument |_. Type |_. Description |_. Location |_. Example |
-|node|object||query||
+{background:#ccffcc}.|node|object||query||
 
 h2. delete
 
diff --git a/services/api/app/controllers/arvados/v1/nodes_controller.rb b/services/api/app/controllers/arvados/v1/nodes_controller.rb
index 69e032b..f2a04b3 100644
--- a/services/api/app/controllers/arvados/v1/nodes_controller.rb
+++ b/services/api/app/controllers/arvados/v1/nodes_controller.rb
@@ -3,11 +3,6 @@ class Arvados::V1::NodesController < ApplicationController
   skip_before_filter :find_object_by_uuid, :only => :ping
   skip_before_filter :render_404_if_no_object, :only => :ping
 
-  def create
-    @attrs = {}
-    super
-  end
-
   def update
     if resource_attrs[:job_uuid]
       @object.job_readable = readable_job_uuids(resource_attrs[:job_uuid]).any?
diff --git a/services/api/test/functional/arvados/v1/nodes_controller_test.rb b/services/api/test/functional/arvados/v1/nodes_controller_test.rb
index dd942b6..d744505 100644
--- a/services/api/test/functional/arvados/v1/nodes_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/nodes_controller_test.rb
@@ -68,7 +68,7 @@ class Arvados::V1::NodesControllerTest < ActionController::TestCase
 
   test "create node" do
     authorize_with :admin
-    post :create
+    post :create, {node: {}}
     assert_response :success
     assert_not_nil json_response['uuid']
     assert_not_nil json_response['info'].is_a? Hash

commit 91738b3c2331a102e4aefd4be580e0e979bc514f
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 0df93a0..6c77f26 100644
--- a/services/api/config/application.default.yml
+++ b/services/api/config/application.default.yml
@@ -102,15 +102,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