From 0454a10239b0c15e95eaacdca7c88a6ff6b6874b Mon Sep 17 00:00:00 2001 From: Youngkyun Kim Date: Wed, 7 Sep 2016 11:40:52 +0000 Subject: [PATCH] Add volume unmount --- app/controllers/volume_controller.rb | 11 +++++++---- app/views/volume/index.html.erb | 12 +++++++----- config/routes.rb | 1 + 3 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/controllers/volume_controller.rb b/app/controllers/volume_controller.rb index 46adb2f..740f2dc 100644 --- a/app/controllers/volume_controller.rb +++ b/app/controllers/volume_controller.rb @@ -49,16 +49,21 @@ class VolumeController < ApplicationController @config = get_conf volume_name = params[:volume_name] mount_point = params[:mount_point] - volume_name = volume_name.delete(' ') puts "mount -t glusterfs " + @config["host_ip"] + ":/" + volume_name + " " + mount_point `mount -t glusterfs #{@config["host_ip"]}:/#{volume_name} #{mount_point}` redirect_to '/volume/index' end + + def volume_unmount + volume_name = params[:volume_name] + puts `umount #{volune_name}` + `umount #{volune_name}` + redirect_to '/volume/index' + end def volume_stop @config = get_conf volume_name = params[:volume_name] - volume_name = volume_name.delete(' ') puts "gluster volume stop " + volume_name `yes | sshpass -p#{@config["host_password"]} ssh #{@config["host_port"]} #{@config["host_user"]}@#{@config["host_ip"]} gluster volume stop #{volume_name}` redirect_to '/volume/index' @@ -67,7 +72,6 @@ class VolumeController < ApplicationController def volume_start @config = get_conf volume_name = params[:volume_name] - volume_name = volume_name.delete(' ') puts "gluster volume start " + volume_name `sshpass -p#{@config["host_password"]} ssh #{@config["host_port"]} #{@config["host_user"]}@#{@config["host_ip"]} gluster volume start #{volume_name}` redirect_to '/volume/index' @@ -77,7 +81,6 @@ class VolumeController < ApplicationController def volume_delete @config = get_conf volume_name = params[:volume_name] - volume_name = volume_name.delete(' ') puts "gluster volume delete " + volume_name `yes | sshpass -p#{@config["host_password"]} ssh #{@config["host_port"]} #{@config["host_user"]}@#{@config["host_ip"]} gluster volume delete #{volume_name}` redirect_to '/volume/index' diff --git a/app/views/volume/index.html.erb b/app/views/volume/index.html.erb index f320717..3b8089d 100644 --- a/app/views/volume/index.html.erb +++ b/app/views/volume/index.html.erb @@ -158,21 +158,23 @@ - <% if t["Status"] == " Stopped" %> - + <% if t["Mount State"] == "Mounted" %> + Unmount + <% elsif t["Status"] == " Stopped" %> +

Start

- + Delete <% else %> - +

Stop

- Mount + Mount <% end %> diff --git a/config/routes.rb b/config/routes.rb index 9604c8f..2639ddb 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -20,6 +20,7 @@ Rails.application.routes.draw do get 'volume/index' => 'volume#index' post 'file_upload' => 'volume#file_upload' post 'volume/mount' => "volume#volume_mount" + get 'volume/unmount/:volume_name' => "volume#volume_unmount" get 'volume/start/:volume_name' => "volume#volume_start" get 'volume/stop/:volume_name' => "volume#volume_stop" get 'volume/delete/:volume_name' => "volume#volume_delete"