From 132cb5cef5ff30b03cc67b0bae2cc6e5f00338bf Mon Sep 17 00:00:00 2001 From: bee0005 Date: Thu, 1 Sep 2016 09:02:00 +0000 Subject: [PATCH] update --- app/controllers/volume_controller.rb | 28 ++++++++++++++++++++++++++++ app/views/volume/index.html.erb | 5 +++-- config/routes.rb | 1 + 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/controllers/volume_controller.rb b/app/controllers/volume_controller.rb index f1eeb4c..fd2f0ff 100644 --- a/app/controllers/volume_controller.rb +++ b/app/controllers/volume_controller.rb @@ -159,4 +159,32 @@ class VolumeController < ApplicationController output = `sshpass -p#{host_password} ssh #{host_port} #{host_user}@#{host_ip} gluster volume start #{volume_name}` redirect_to '/volume/index' end + + + def volume_delete + volume_name = params[:volume_name] + volume_name = volume_name.delete(' ') + + + host_user = "root" + host_ip = "127.0.0.1" + host_password = "secret" + host_port = "" + + @conf_list.each do |t| + if t.include? "host_name=" + host_user = t.split("host_user=")[1] + elsif t.include? "host_ip=" + host_ip = t.split("host_ip=")[1] + elsif t.include? "host_port=" and !t.split("host_port=")[1].nil? + host_port = "-p " + t.split("host_port=")[1] + " " + elsif t.include? "host_password=" + host_password = t.split("host_password=")[1] + end + end + + puts "gluster volume start " + volume_name + output = `sshpass -p#{host_password} ssh #{host_port} #{host_user}@#{host_ip} gluster volume delete #{volume_name}` + redirect_to '/volume/index' + end end diff --git a/app/views/volume/index.html.erb b/app/views/volume/index.html.erb index e1699f7..706ef8d 100644 --- a/app/views/volume/index.html.erb +++ b/app/views/volume/index.html.erb @@ -58,12 +58,13 @@ Start - + + Delete + <% else %> Stop - Mount diff --git a/config/routes.rb b/config/routes.rb index 804d9e7..858d239 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -24,6 +24,7 @@ Rails.application.routes.draw do get 'volume/mount/:volume_name' => "volume#volume_mount" get 'volume/start/:volume_name' => "volume#volume_start" get 'volume/stop/:volume_name' => "volume#volume_stop" + get 'volume/delete/:volume_name' => "volume#volume_delete" get 'peer/index' => 'peer#index'