Projects
Eulaceura:Factory
lxcfs-tools
_service:obs_scm:0003-retry-10-times-to-avoid-i...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:obs_scm:0003-retry-10-times-to-avoid-isulad-unavailable.patch of Package lxcfs-tools
From 77e01d06b90d167f013417455a30eebe22ca3674 Mon Sep 17 00:00:00 2001 From: yangjiaqi <yangjiaqi16@huawei.com> Date: Mon, 15 Aug 2022 20:30:14 +0800 Subject: [PATCH] retry 10 times to avoid isulad unavailable --- remountcmd.go | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/remountcmd.go b/remountcmd.go index 7cf42c6..b3cac19 100644 --- a/remountcmd.go +++ b/remountcmd.go @@ -180,7 +180,7 @@ func waitForLxcfs() error { func remountAll(initMountns, initUserns string) error { lxcfs_log.Info("begin remount All runing container...") - out, err := execCommond("isula", []string{"ps", "--format", "{{.ID}} {{.Pid}}"}) + out, err := getContainerIDAndPid() if err != nil { return err } @@ -213,6 +213,24 @@ func remountAll(initMountns, initUserns string) error { return nil } +func getContainerIDAndPid() ([]string, error) { + var ( + out []string + err error + ) + for i := 0; i < 10; i++ { + out, err = execCommond("isula", []string{"ps", "--format", "{{.ID}} {{.Pid}}"}) + if err == nil { + break + } + time.Sleep(1 * time.Second) + } + if err != nil { + return nil, err + } + return out, nil +} + func remountToContainer(initMountns, initUserns, containerid string, pid string, isAll bool) error { if isAll == false { var err error @@ -260,8 +278,7 @@ func isContainerExsit(containerid string) (string, error) { if containerid == "" { return "", fmt.Errorf("Containerid mustn't be empty") } - - out, err := execCommond("isula", []string{"ps", "--format", "{{.ID}} {{.Pid}}"}) + out, err := getContainerIDAndPid() if err != nil { onfail(err) } -- 2.30.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2