Skip to content

Commit

Permalink
Add custom and optional "topic" field for vms
Browse files Browse the repository at this point in the history
  • Loading branch information
ricofehr committed Jan 8, 2017
1 parent 6d297fd commit ffdb0ab
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 5 deletions.
12 changes: 9 additions & 3 deletions ror/app/controllers/api/v1/vms_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ class API::V1::VmsController < ApplicationController
before_filter :authenticate_user_from_token!, :except => [:setupcomplete, :resetpassword, :refreshcommit]
before_filter :authenticate_api_v1_user!, :except => [:setupcomplete, :resetpassword, :refreshcommit]
# Hook who set vm object
before_action :set_vm, only: [:show, :update, :destroy, :check_status,
before_action :set_vm, only: [:show, :update, :topic, :destroy, :check_status,
:boot, :gitpull, :logs, :toggleauth, :toggleprod, :togglecached,
:toggleht, :toggleci, :togglebackup, :togglecors, :postinstall_display,
:postinstall, :reboot]
# Hook who check rights before action
before_action :check_me, only: [:show, :update, :destroy, :check_status,
before_action :check_me, only: [:show, :update, :topic, :destroy, :check_status,
:boot, :gitpull, :logs, :toggleauth, :toggleprod,
:togglecached, :toggleht, :toggleci, :togglebackup,
:togglecors, :postinstall_display, :postinstall, :reboot]
Expand Down Expand Up @@ -113,6 +113,12 @@ def update
end
end

# Change topic content
def topic
@vm.set_topic(params[:topic])
render nothing: true
end

# Boot vm
def boot
@vm.boot
Expand Down Expand Up @@ -360,7 +366,7 @@ def ember_to_rails

# Never trust parameters from the scary internet, only allow the white list through.
def vm_params
params.require(:vm).permit(:systemimage_id, :user_id, :commit_id, :project_id, :vmsize_id, :name, :is_auth, :htlogin, :htpassword, :layout, :is_prod, :is_cached, :is_ht, :is_ci, :is_cors, :techno_ids => [])
params.require(:vm).permit(:systemimage_id, :user_id, :commit_id, :project_id, :vmsize_id, :name, :topic, :is_auth, :htlogin, :htpassword, :layout, :is_prod, :is_cached, :is_ht, :is_ci, :is_cors, :techno_ids => [])
end
end
end
Expand Down
9 changes: 9 additions & 0 deletions ror/app/models/vm.rb
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,15 @@ def change_user(user_id)
puppetrefresh
end

# Update vm topic
#
# @param topic (String): new topic
# No return
def set_topic(topic)
self.topic = topic
save
end

# Toggle is_auth parameter
#
# No param
Expand Down
2 changes: 1 addition & 1 deletion ror/app/serializers/vm_serializer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
#
# @author Eric Fehr (ricofehr@nextdeploy.io, github: ricofehr)
class VmSerializer < ActiveModel::Serializer
attributes :id, :nova_id, :floating_ip, :vnc_url, :created_at, :name, :status,
attributes :id, :nova_id, :floating_ip, :vnc_url, :created_at, :name, :topic, :status,
:is_auth, :htlogin, :htpassword, :termpassword, :layout, :is_prod,
:is_cached, :is_ht, :is_ci, :is_backup, :is_cors

Expand Down
1 change: 1 addition & 0 deletions ror/config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
put '/vms/:name/setupcomplete' => 'vms#setupcomplete', as: 'vm_setupcomplete', constraints: { name: /[a-zA-Z0-9-]+/ }
put '/vms/:name/resetpassword/:password' => 'vms#resetpassword', as: 'vm_resetpassword', constraints: { name: /[a-zA-Z0-9-]+/, password: /[a-zA-Z0-9-]+/ }
put '/vms/:name/commit' => 'vms#refreshcommit', as: 'vm_refreshcommit', constraints: { name: /[a-zA-Z0-9-]+/ }
put '/vms/:id/topic' => 'vms#topic', as: 'vm_topic', constraints: { id: /\d+/ }
get '/vms/:id/setupcomplete' => 'vms#check_status', as: 'vm_check_status', constraints: { id: /\d+/ }
post '/vms/short' => 'vms#create_short', as: 'create_short'
post '/vms/:id/gitpull' => 'vms#gitpull', as: 'vm_gitpull', constraints: { id: /\d+/ }
Expand Down
5 changes: 5 additions & 0 deletions ror/db/migrate/20170107143054_add_topic_to_vms.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
class AddTopicToVms < ActiveRecord::Migration
def change
add_column :vms, :topic, :string
end
end

0 comments on commit ffdb0ab

Please sign in to comment.