docker/cli ยท error

invalid availability %q, only active, pause and drain are su

Error message

invalid availability %q, only active, pause and drain are supported

What it means

Error "invalid availability %q, only active, pause and drain are supported" thrown in docker/cli.

Source

Thrown at cli/command/swarm/init.go:95

		}
		ip := p.IP.To4()
		if ip == nil {
			ip = p.IP.To16()
		}
		addr, ok := netip.AddrFromSlice(ip)
		if !ok {
			return fmt.Errorf("invalid IP address: %s", p.IP)
		}
		ones, _ := p.Mask.Size()
		defaultAddrPool = append(defaultAddrPool, netip.PrefixFrom(addr, ones))
	}
	var availability swarm.NodeAvailability
	if flags.Changed(flagAvailability) {
		switch a := swarm.NodeAvailability(strings.ToLower(opts.availability)); a {
		case swarm.NodeAvailabilityActive, swarm.NodeAvailabilityPause, swarm.NodeAvailabilityDrain:
			availability = a
		default:
			return fmt.Errorf("invalid availability %q, only active, pause and drain are supported", opts.availability)
		}
	}

	res, err := apiClient.SwarmInit(ctx, client.SwarmInitOptions{
		ListenAddr:       opts.listenAddr.String(),
		AdvertiseAddr:    opts.advertiseAddr,
		DataPathAddr:     opts.dataPathAddr,
		DataPathPort:     opts.dataPathPort,
		DefaultAddrPool:  defaultAddrPool,
		ForceNewCluster:  opts.forceNewCluster,
		Spec:             opts.swarmOptions.ToSpec(flags),
		AutoLockManagers: opts.swarmOptions.autolock,
		Availability:     availability,
		SubnetSize:       opts.DefaultAddrPoolMaskLength,
	})
	if err != nil {
		if strings.Contains(err.Error(), "could not choose an IP address to advertise") || strings.Contains(err.Error(), "could not find the system's IP address") {
			return fmt.Errorf("%w - specify one with --advertise-addr", err)

View on GitHub (pinned to e9452d6e78)

When it happens

Trigger: Thrown at cli/command/swarm/init.go:95 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01). Data as JSON: /data/errors/7f0ab27ffb00cba6.json. Report an issue: GitHub.