Add 'gem thin': WebBrick is deprecated
This commit is contained in:
parent
e6774a071f
commit
b97c484ff8
2
Gemfile
2
Gemfile
@ -35,6 +35,7 @@ gem 'sdoc', '~> 0.4.0', group: :doc
|
||||
|
||||
# Use Capistrano for deployment
|
||||
# gem 'capistrano-rails', group: :development
|
||||
gem 'thin'
|
||||
|
||||
group :development, :test do
|
||||
# Call 'byebug' anywhere in the code to stop execution and get a debugger console
|
||||
@ -48,4 +49,3 @@ group :development do
|
||||
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
|
||||
gem 'spring'
|
||||
end
|
||||
|
||||
|
@ -61,6 +61,7 @@ GEM
|
||||
execjs
|
||||
coffee-script-source (1.10.0)
|
||||
concurrent-ruby (1.0.1)
|
||||
daemons (1.2.4)
|
||||
debug_inspector (0.0.2)
|
||||
devise (4.2.0)
|
||||
bcrypt (~> 3.0)
|
||||
@ -69,6 +70,7 @@ GEM
|
||||
responders
|
||||
warden (~> 1.2.3)
|
||||
erubis (2.7.0)
|
||||
eventmachine (1.2.0.1)
|
||||
execjs (2.6.0)
|
||||
font-awesome-rails (4.6.3.1)
|
||||
railties (>= 3.2, < 5.1)
|
||||
@ -148,6 +150,10 @@ GEM
|
||||
activesupport (>= 4.0)
|
||||
sprockets (>= 3.0.0)
|
||||
sqlite3 (1.3.11)
|
||||
thin (1.7.0)
|
||||
daemons (~> 1.0, >= 1.0.9)
|
||||
eventmachine (~> 1.0, >= 1.0.4)
|
||||
rack (>= 1, < 3)
|
||||
thor (0.19.1)
|
||||
thread_safe (0.3.5)
|
||||
tilt (2.0.2)
|
||||
@ -182,9 +188,10 @@ DEPENDENCIES
|
||||
sdoc (~> 0.4.0)
|
||||
spring
|
||||
sqlite3
|
||||
thin
|
||||
turbolinks
|
||||
uglifier (>= 1.3.0)
|
||||
web-console (~> 2.0)
|
||||
|
||||
BUNDLED WITH
|
||||
1.12.5
|
||||
1.13.0
|
||||
|
@ -2,6 +2,7 @@ class ApplicationController < ActionController::Base
|
||||
# Prevent CSRF attacks by raising an exception.
|
||||
# For APIs, you may want to use :null_session instead.
|
||||
# protect_from_forgery with: :exception
|
||||
helper_method :volume_mount, :volume_unmount, :volume_create, :volume_delete, :volume_start, :volume_stop
|
||||
|
||||
def get_conf
|
||||
@config = Hash.new
|
||||
|
@ -101,7 +101,7 @@ class VolumeController < ApplicationController
|
||||
command << "force"
|
||||
puts command
|
||||
`#{command}`
|
||||
# redirect_to '/volume/index'
|
||||
redirect_to '/volume/index'
|
||||
end
|
||||
|
||||
def volume_stop
|
||||
@ -132,7 +132,7 @@ class VolumeController < ApplicationController
|
||||
command << "-p " + @config["host_port"].to_s + " "
|
||||
end
|
||||
command << @config["host_user"].to_s + "@" + @config["host_ip"].to_s
|
||||
command << " gluster volume start " + volume_name
|
||||
command << " gluster volume start " + volume_name.to_s
|
||||
puts command
|
||||
`#{command}`
|
||||
redirect_to '/volume/index'
|
||||
|
@ -3,9 +3,7 @@
|
||||
<div class="popup">
|
||||
<h2> Choose mount point </h2>
|
||||
<a class="close" href="#">×</a>
|
||||
|
||||
<form id="form_volume_create" data-parsley-validate class="form-horizontal form-label-left">
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="volume-name">Volume Name <span class="required">*</span>
|
||||
</label>
|
||||
@ -13,7 +11,6 @@
|
||||
<input type="text" required="required" class="form-control col-md-7 col-xs-12">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3 col-sm-3 col-xs-12">Volume Type <span class="required">*</span>
|
||||
</label>
|
||||
@ -25,7 +22,6 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-md-3 col-sm-3 col-xs-12">Number of brick <span class="required">*</span>
|
||||
</label>
|
||||
@ -37,7 +33,6 @@
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="row" style="margin:0 0 10px 0">
|
||||
<label class="control-label col-md-3 col-sm-3 col-xs-12">Bricks <span class="required">*</span>
|
||||
@ -56,9 +51,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ln_solid"></div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-6 col-sm-6 col-xs-12 col-md-offset-3">
|
||||
<a href="#" class="btn btn-primary">Cancel</a>
|
||||
@ -66,7 +59,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -97,7 +89,10 @@
|
||||
</td>
|
||||
<td><%=t["auth"]%></td>
|
||||
<td>
|
||||
<button class="btn btn-primary pull-right" onclick="volume_mount('<%=@current_dir + "/" + t["name"]%>')">select</botton>
|
||||
<form data-parsley-validate>
|
||||
<input type="hidden" value='<%=@current_dir + "/" + t["name"]%>'>
|
||||
<button type="submit" class="btn btn-primary pull-right">select</botton>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
<%end%>
|
||||
@ -153,7 +148,7 @@
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
|
||||
<div style="margin: 10px">
|
||||
<p class="text-muted font-13 m-b-30"><code>Volume Info</code></p>
|
||||
<p class="text-muted font-13 m-b-30"><span class="badge bg-blue">Volume Info</span></p>
|
||||
Type : <%=t["Type"]%> <br>
|
||||
Volume ID : <%=t["Volume ID"]%> <br>
|
||||
Status : <%=t["Status"]%> <br>
|
||||
@ -189,12 +184,15 @@
|
||||
<!-- right content -->
|
||||
<div class="col-md-6 col-sm-6 col-xs-12">
|
||||
<% if t["Mount State"] == "mounted" %>
|
||||
<p>Drag multiple files to the box below for multi upload or click to select files.</p>
|
||||
<p class="text-muted font-13 m-b-30"><span class="badge bg-green">Uploader</span> Activated</p>
|
||||
<form action="/file_upload" method="post" enctype="multipart/form-data" class="dropzone" style="border: 1px solid #e5e5e5; height: 300px; overflow:auto;">
|
||||
</form>
|
||||
<br/>
|
||||
<% elsif t["Status"] == " Started" %>
|
||||
<% else %>
|
||||
<p class="text-muted font-13 m-b-30"><span class="badge bg-red">Uploader</span> Inactivated</p>
|
||||
<form style="border: 1px solid #e5e5e5; height: 300px; overflow:auto;">
|
||||
</form>
|
||||
<br/>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
@ -205,33 +203,7 @@
|
||||
</div>
|
||||
<!-- /page content -->
|
||||
|
||||
<!-- volume functions -->
|
||||
<script>
|
||||
function volume_mount(mnt_point) {
|
||||
var url = window.location + '';
|
||||
var vol_name = url.match(/volume_name=([^#]+)/)[1];
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/volume/mount',
|
||||
data: {mount_point: mnt_point, volume_name: vol_name},
|
||||
success: function(data){
|
||||
console.log("mount success");
|
||||
window.location.replace(url.split("?")[0]);
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<!-- data table handler -->
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
$('#datatable').dataTable();
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
<!-- file manager functions -->
|
||||
<!-- File manager functions -->
|
||||
<script>
|
||||
function change_upper(directory){
|
||||
if(directory == "/") return;
|
||||
@ -248,7 +220,7 @@
|
||||
$("#datatable_body").empty();
|
||||
var new_tr = "";
|
||||
new_tr += "<tr role='row' class='odd'> <td><i class='fa fa-reply'></i>";
|
||||
nrailew_tr += "<a style='cursor: pointer' onclick='change_upper(" + '"' + directory + '"' +")'> ..</a>";
|
||||
new_tr += "<a style='cursor: pointer' onclick='change_upper(" + '"' + directory + '"' +")'> ..</a>";
|
||||
new_tr += "</td><td> </td><td> </td><td> </td></tr>";
|
||||
for( var i = 0; i < result.file.length; i++){
|
||||
if(result.file[i].auth[0] != "d") continue;
|
||||
@ -262,12 +234,26 @@
|
||||
new_tr += "</tr>";
|
||||
}
|
||||
$("#datatable_body").append(new_tr);
|
||||
$('#datatable').dataTable();
|
||||
}
|
||||
})
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- Mount overlay functions -->
|
||||
<script>
|
||||
$("#popup_mount #datatable_body form").submit(function(){
|
||||
var mnt_point = $(this).find("input").val();
|
||||
var url = window.location + '';
|
||||
var vol_name = url.match(/volume_name=([^#]+)/)[1];
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url: '/volume/mount',
|
||||
data: {mount_point: mnt_point, volume_name: vol_name},
|
||||
success: function(result){
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<!-- Create overlay functions -->
|
||||
<script>
|
||||
// Volume type changed
|
||||
$("#form_volume_create .form-group").eq(1).change(function (){
|
||||
@ -276,7 +262,6 @@
|
||||
case "Distribute":
|
||||
case "Stripe":
|
||||
case "Replica":
|
||||
case "Arbiter":
|
||||
case "Disperse":
|
||||
case "Disperse-data":
|
||||
case "Redundancy":
|
||||
@ -287,7 +272,6 @@
|
||||
break;
|
||||
}
|
||||
})
|
||||
|
||||
// Number of bricks changed
|
||||
$("#form_volume_create .form-group").eq(2).change(function (){
|
||||
var $num_of_brick = $(this).find("option:selected").val();
|
||||
@ -316,14 +300,12 @@
|
||||
}
|
||||
$body.append(new_body);
|
||||
})
|
||||
|
||||
// Volume create
|
||||
$("#form_volume_create").submit(function(){
|
||||
var volume_name = $(this).find(".form-group:eq(0) input").val();
|
||||
var volume_type = $(this).find(".form-group:eq(1) option:selected").val();
|
||||
var num_of_brick = $(this).find(".form-group:eq(2) option:selected").val() * 1; // convert to Number type
|
||||
var bricks = [];
|
||||
|
||||
// error check
|
||||
if(volume_name.indexOf(' ') >= 0){
|
||||
alert("Volume name can't contains white spaces");
|
||||
return;
|
||||
@ -334,11 +316,9 @@
|
||||
return;
|
||||
}
|
||||
<% end %>
|
||||
|
||||
for(var i = 0; i < num_of_brick; i++){
|
||||
var server_name = $(this).find(".form-group .row").eq(i).find("option:selected").val();
|
||||
var brick_name = $(this).find(".form-group .row").eq(i).find("input").val();
|
||||
|
||||
if(brick_name.indexOf(' ') >= 0) {
|
||||
alert("Brick name can't contain white spaces");
|
||||
return;
|
||||
@ -347,7 +327,6 @@
|
||||
alert("Brick name can't start with slash");
|
||||
return;
|
||||
}
|
||||
|
||||
var brick = "";
|
||||
if(server_name == "<%=@config['server_name']%>"){
|
||||
brick += "<%=@config['host_ip']%>";
|
||||
@ -361,17 +340,12 @@
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
console.log("Create volume..");
|
||||
|
||||
$.ajax({
|
||||
method: "POST",
|
||||
url: "/volume/create",
|
||||
data: { volume_name : volume_name, volume_type : volume_type, num_of_brick : num_of_brick, bricks : bricks },
|
||||
success : function(result){
|
||||
console.log("volume create success");
|
||||
}
|
||||
})
|
||||
|
||||
});
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user