[feat]: [CI-20260]: Make daemon retry count configurable (#503)

This commit is contained in:
Anurag Madnawat
2026-02-10 21:34:38 -08:00
committed by GitHub
parent e9bba4ffcf
commit 23887402c3
2 changed files with 14 additions and 2 deletions
+7
View File
@@ -112,6 +112,12 @@ func main() {
Usage: "don't start the docker daemon",
EnvVar: "PLUGIN_DAEMON_OFF",
},
cli.IntFlag{
Name: "daemon.retry-count",
Usage: "number of retry attempts to reach docker daemon",
Value: 15,
EnvVar: "PLUGIN_DAEMON_RETRY_COUNT",
},
cli.StringFlag{
Name: "dockerfile",
Usage: "build dockerfile",
@@ -419,6 +425,7 @@ func run(c *cli.Context) error {
DNSSearch: c.StringSlice("daemon.dns-search"),
MTU: c.String("daemon.mtu"),
Experimental: c.Bool("daemon.experimental"),
RetryCount: c.Int("daemon.retry-count"),
RegistryType: registryType,
},
BaseImageRegistry: c.String("docker.baseimageregistry"),
+7 -2
View File
@@ -30,6 +30,7 @@ type (
MTU string // Docker daemon mtu setting
IPv6 bool // Docker daemon IPv6 networking
Experimental bool // Docker daemon enable experimental mode
RetryCount int // Number of retry attempts to reach Docker daemon
RegistryType drone.RegistryType // Docker registry type
}
@@ -137,14 +138,18 @@ func (p Plugin) Exec() error {
// poll the docker daemon until it is started. This ensures the daemon is
// ready to accept connections before we proceed.
maxRetries := p.Daemon.RetryCount
if maxRetries <= 0 {
maxRetries = 15 // default value
}
for i := 0; ; i++ {
cmd := commandInfo()
err := cmd.Run()
if err == nil {
break
}
if i == 15 {
fmt.Println("Unable to reach Docker Daemon after 15 attempts.")
if i == maxRetries {
fmt.Printf("Unable to reach Docker Daemon after %d attempts.\n", maxRetries)
break
}
time.Sleep(time.Second * 1)