grafana/k6 · error

no value for key %s

Error message

no value for key %s

What it means

Raised by DNSConfig.UnmarshalText while parsing the K6_DNS option string: a comma-separated entry has a key with no =value part (e.g. "ttl" instead of "ttl=1m"), so the key/value pair is malformed.

Source

Thrown at lib/types/dns.go:203

	}
	c.TTL = s.TTL
	c.Select = s.Select
	c.Policy = s.Policy
	return nil
}

// UnmarshalText implements encoding.TextUnmarshaler.
func (c *DNSConfig) UnmarshalText(text []byte) error {
	if string(text) == DefaultDNSConfig().String() {
		*c = DefaultDNSConfig()
		return nil
	}
	values := strings.Split(string(text), ",")
	params := make(map[string]string, len(values))
	for _, value := range values {
		k, v, _ := strings.Cut(value, "=")
		if v == "" {
			return fmt.Errorf("no value for key %s", value)
		}
		params[k] = v
	}
	return c.unmarshal(params)
}

func (c *DNSConfig) unmarshal(params map[string]string) error {
	for k, v := range params {
		switch k {
		case "policy":
			p, err := DNSPolicyString(v)
			if err != nil {
				return err
			}
			c.Policy.DNSPolicy = p
			c.Policy.Valid = true
		case "select":
			s, err := DNSSelectString(v)

View on GitHub (pinned to 01ffac6f24)

Solutions

  1. Provide every DNS setting as key=value, e.g. K6_DNS="ttl=1m,select=first,policy=prefer_ipv4"
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at lib/types/dns.go:203 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of grafana/k6@01ffac6f24 (2026-08-18). Data as JSON: /api/errors/2f00ef4bdf7c1015. Report an issue: GitHub.