亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

php小編柚子發(fā)現(xiàn),最近一些用戶(hù)反饋在Golang中使用libvirt guest-agent時(shí)遇到了不可用的問(wèn)題。libvirt guest-agent是libvirt庫(kù)的一部分,用于與虛擬機(jī)中的客戶(hù)操作系統(tǒng)進(jìn)行通信。然而,一些用戶(hù)在嘗試使用它時(shí)遇到了連接問(wèn)題或功能失效的情況。這對(duì)于那些依賴(lài)libvirt guest-agent進(jìn)行虛擬機(jī)管理和監(jiān)控的開(kāi)發(fā)人員來(lái)說(shuō)是一個(gè)令人沮喪的問(wèn)題。接下來(lái),我們將探討可能的原因和解決方案,幫助解決這個(gè)問(wèn)題。

問(wèn)題內(nèi)容

我嘗試通過(guò) libvirt golang api 與 qemu 實(shí)例上的來(lái)賓代理進(jìn)行通信。但是,它總是拒絕我與的連接

2022-12-02t00:10:43.799+0100    dpanic  test/main.go:335    failed to connect to guest  {"error": "virerror(code=86, domain=10, message='guest agent is not responding: qemu guest agent is not connected')"}

登錄后復(fù)制

即使 qemu 實(shí)例已完全啟動(dòng)并且可以通過(guò)命令行使用來(lái)賓代理

sudo virsh qemu-agent-command test-vm '{"execute":"guest-info"}'

登錄后復(fù)制

這是實(shí)現(xiàn)中的錯(cuò)誤還是我必須在 go 代碼中的某個(gè)位置注冊(cè)代理?我無(wú)法在文檔中找到參考資料。

    
      
      
      
      
    

登錄后復(fù)制

謝謝!

解決方法

不知道最后是什么原因。我有一個(gè)循環(huán)并且正在訪問(wèn),或者更具體地說(shuō),嘗試訪問(wèn)代理。我將其更改為使用 500 毫秒的超時(shí),但它不起作用。

type qemuStatusResponse struct {
    Return struct {
        Exitcode int    `json:"exitcode,omitempty"`
        OutData  string `json:"out-data,omitempty"`
        Exited   bool   `json:"exited,omitempty"`
        ErrData  string `json:"err-data,omitempty"`
    } `json:"return,omitempty"`
}

func (l *LibvirtInstance) waitForCompletion(ctx context.Context, pid int, domain *libvirt.Domain) (response *qemuStatusResponse, err error) {
    response = &qemuStatusResponse{}

    ticker := time.NewTicker(500 * time.Millisecond)
    defer ticker.Stop()
    for {
        select {
        case <-ticker.C:
            result, err := domain.QemuAgentCommand(
                fmt.Sprintf(`
                {
                    "execute": "guest-exec-status",
                    "arguments": {
                        "pid": %d
                    }
                    }`, pid),
                libvirt.DOMAIN_QEMU_AGENT_COMMAND_BLOCK, 0)
            if err != nil {
                return nil, err
            }
            if err := json.Unmarshal([]byte(result), response); err != nil {
                return nil, err
            }
            if response.Return.Exited {
                return response, nil
            }
        case <-ctx.Done():
            return nil, ctx.Err()
        }
    }
}

登錄后復(fù)制

此外,我遇到了一些穩(wěn)定性問(wèn)題(即,當(dāng)對(duì)連接執(zhí)行多個(gè)并發(fā)請(qǐng)求時(shí),它有時(shí)會(huì)被破壞)。我在網(wǎng)上發(fā)現(xiàn)一些文章建議將用戶(hù)添加到 kvm 組。這對(duì)我有用。

分享到:
標(biāo)簽:并發(fā)請(qǐng)求
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定