[英]Rails - Using fog to connect to KVM
我們目前正在嘗試將rails應用程序連接到帶有gem'fog'+'ruby-libvirt'的遠程KVM服務器
遵循以下良好文檔: libvirt-fog-provider
require 'fog'
require 'net/ssh'
require 'net/scp'
require 'pp'
client = Fog::Compute.new({
:provider => "libvirt" ,
:libvirt_uri => "qemu+ssh://root@perceval.boap.net/system?socket=/var/run/libvirt/libvirt-sock"
})
s1 = client.servers.all(:name => "demo2")
這段代碼與標准的ruby文件一起正常工作,我們與KVM服務器建立了連接,但是當我們將相同的代碼放在rails控制器中時,如下所示:
require 'fog'
require 'net/ssh'
require 'net/scp'
class VirtualMachinesController < ApplicationController
before_action :connect_kvm
def index
head :no_content
end
private
def connect_kvm
client = Fog::Compute.new({
:provider => "libvirt" ,
:libvirt_uri => "qemu+ssh://root@perceval.boap.net/system?socket=/var/run/libvirt/libvirt-sock"
})
end
end
Rails應用程序顯示此錯誤:
Call to virConnectOpen failed: internal error: received hangup / error event on socket):
app/controllers/virtual_machines_controller.rb:28:in `connect_kvm'
Rails適合舉行ssh會話嗎? 我是否出於Rails目的缺少某些東西
我們發現了為什么它無法正常工作。
不要忘記在您的Gemfile中添加:
gem 'net-ssh'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.