簡體   English   中英

Rails-使用霧連接到KVM

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM