diff --git a/docs/src/_parts/bootstrap_config.md b/docs/src/_parts/bootstrap_config.md index 2c07c061a..516206ed0 100644 --- a/docs/src/_parts/bootstrap_config.md +++ b/docs/src/_parts/bootstrap_config.md @@ -93,7 +93,7 @@ Sets the CIDRs used for assigning IP addresses to Kubernetes services with type **Type:** `bool`
Determines if L2 mode should be enabled. -If omitted defaults to `false`. +If omitted defaults to `true`. ### cluster-config.load-balancer.l2-interfaces **Type:** `[]string`
diff --git a/src/k8s/go.mod b/src/k8s/go.mod index 3d4bb6801..6de14bec7 100644 --- a/src/k8s/go.mod +++ b/src/k8s/go.mod @@ -7,7 +7,7 @@ toolchain go1.23.4 require ( dario.cat/mergo v1.0.0 github.com/canonical/go-dqlite/v2 v2.0.0 - github.com/canonical/k8s-snap-api v1.0.15 + github.com/canonical/k8s-snap-api v1.0.16 github.com/canonical/lxd v0.0.0-20250113143058-52441d41dab7 github.com/canonical/microcluster/v2 v2.1.1-0.20250115174915-f2320c71e720 github.com/go-logr/logr v1.4.2 diff --git a/src/k8s/go.sum b/src/k8s/go.sum index 8fb146da3..3f1bad015 100644 --- a/src/k8s/go.sum +++ b/src/k8s/go.sum @@ -53,8 +53,8 @@ github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXe github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/canonical/go-dqlite/v2 v2.0.0 h1:RNFcFVhHMh70muKKErbW35rSzqmAFswheHdAgxW0Ddw= github.com/canonical/go-dqlite/v2 v2.0.0/go.mod h1:IaIC8u4Z1UmPjuAqPzA2r83YMaMHRLoKZdHKI5uHCJI= -github.com/canonical/k8s-snap-api v1.0.15 h1:uhEJiEhrK93tJAly+quuAayanMhT/5vpePlG+xxVCPA= -github.com/canonical/k8s-snap-api v1.0.15/go.mod h1:LDPoIYCeYnfgOFrwVPJ/4edGU264w7BB7g0GsVi36AY= +github.com/canonical/k8s-snap-api v1.0.16 h1:j1VPvWimgRt3P5uRtD2ZCPGalSFvU5AJ/Jbz60QMoBs= +github.com/canonical/k8s-snap-api v1.0.16/go.mod h1:LDPoIYCeYnfgOFrwVPJ/4edGU264w7BB7g0GsVi36AY= github.com/canonical/lxd v0.0.0-20250113143058-52441d41dab7 h1:lZCOt9/1KowNdnWXjfA1/51Uj7+R0fKtByos9EVrYn4= github.com/canonical/lxd v0.0.0-20250113143058-52441d41dab7/go.mod h1:4Ssm3YxIz8wyazciTLDR9V0aR2GPlGIHb+S0182T5pA= github.com/canonical/microcluster/v2 v2.1.1-0.20250115174915-f2320c71e720 h1:LLegPoZ5bY/PGx3x1xtzggy2xvQvZ5sCw6jlQJ3BRFg= diff --git a/src/k8s/pkg/k8sd/types/cluster_config_defaults.go b/src/k8s/pkg/k8sd/types/cluster_config_defaults.go index c0ef17de3..18c02dadf 100644 --- a/src/k8s/pkg/k8sd/types/cluster_config_defaults.go +++ b/src/k8s/pkg/k8sd/types/cluster_config_defaults.go @@ -61,7 +61,7 @@ func (c *ClusterConfig) SetDefaults() { c.LoadBalancer.CIDRs = utils.Pointer([]string{}) } if c.LoadBalancer.L2Mode == nil { - c.LoadBalancer.L2Mode = utils.Pointer(false) + c.LoadBalancer.L2Mode = utils.Pointer(true) } if c.LoadBalancer.L2Interfaces == nil { c.LoadBalancer.L2Interfaces = utils.Pointer([]string{}) diff --git a/src/k8s/pkg/k8sd/types/cluster_config_defaults_test.go b/src/k8s/pkg/k8sd/types/cluster_config_defaults_test.go index ae8b8581c..d95beb6c7 100644 --- a/src/k8s/pkg/k8sd/types/cluster_config_defaults_test.go +++ b/src/k8s/pkg/k8sd/types/cluster_config_defaults_test.go @@ -43,7 +43,7 @@ func TestSetDefaults(t *testing.T) { LoadBalancer: types.LoadBalancer{ Enabled: utils.Pointer(false), CIDRs: utils.Pointer([]string{}), - L2Mode: utils.Pointer(false), + L2Mode: utils.Pointer(true), L2Interfaces: utils.Pointer([]string{}), BGPMode: utils.Pointer(false), BGPLocalASN: utils.Pointer(0), diff --git a/tests/integration/tests/test_smoke.py b/tests/integration/tests/test_smoke.py index b7128e261..a38515fb5 100644 --- a/tests/integration/tests/test_smoke.py +++ b/tests/integration/tests/test_smoke.py @@ -20,7 +20,7 @@ r"network:\s*enabled", r"dns:\s*enabled at (\d{1,3}(?:\.\d{1,3}){3})", r"ingress:\s*enabled", - r"load-balancer:\s*enabled, Unknown mode", + r"load-balancer:\s*enabled, L2 mode", r"local-storage:\s*enabled at /var/snap/k8s/common/rawfile-storage", r"gateway\s*enabled", ] @@ -145,6 +145,6 @@ def status_output_matches(p: subprocess.CompletedProcess) -> bool: return True LOG.info("Verifying the output of `k8s status`") - util.stubbornly(retries=10, delay_s=10).on(instance).until( + util.stubbornly(retries=15, delay_s=10).on(instance).until( condition=status_output_matches, ).exec(["k8s", "status", "--wait-ready"])