mirror of
https://github.com/outbackdingo/talos-cloud-controller-manager.git
synced 2026-01-27 18:20:23 +00:00
Add node IPAM controller. It supports two modes: * RangeAllocator - classic mode (kubernetes does the same) * CloudAllocator - Talos is responsible for setting PodCIDRs Signed-off-by: Serge Logvinov <serge.logvinov@sinextra.dev>
65 lines
1.1 KiB
Go
65 lines
1.1 KiB
Go
package talos
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func config() cloudConfig {
|
|
cfg := cloudConfig{}
|
|
|
|
return cfg
|
|
}
|
|
|
|
func TestNewCloudError(t *testing.T) {
|
|
ccm, err := newCloud(nil)
|
|
assert.NotNil(t, err)
|
|
assert.Nil(t, ccm)
|
|
assert.EqualError(t, err, "talos cloudConfig is nil")
|
|
}
|
|
|
|
func TestNewCloud(t *testing.T) {
|
|
t.Setenv("TALOSCONFIG", "../../hack/talosconfig")
|
|
|
|
cfg := config()
|
|
|
|
ccm, err := newCloud(&cfg)
|
|
if err != nil {
|
|
t.Fatalf("Failed to create Talos CCM: %s", err)
|
|
}
|
|
|
|
assert.Nil(t, err)
|
|
assert.NotNil(t, ccm)
|
|
|
|
lb, res := ccm.LoadBalancer()
|
|
assert.Nil(t, lb)
|
|
assert.Equal(t, res, false)
|
|
|
|
ins, res := ccm.Instances()
|
|
assert.Nil(t, ins)
|
|
assert.Equal(t, res, false)
|
|
|
|
ins2, res := ccm.InstancesV2()
|
|
assert.NotNil(t, ins2)
|
|
assert.Equal(t, res, true)
|
|
|
|
zone, res := ccm.Zones()
|
|
assert.Nil(t, zone)
|
|
assert.Equal(t, res, false)
|
|
|
|
cl, res := ccm.Clusters()
|
|
assert.Nil(t, cl)
|
|
assert.Equal(t, res, false)
|
|
|
|
route, res := ccm.Routes()
|
|
assert.Nil(t, route)
|
|
assert.Equal(t, res, false)
|
|
|
|
pName := ccm.ProviderName()
|
|
assert.Equal(t, pName, ProviderName)
|
|
|
|
clID := ccm.HasClusterID()
|
|
assert.Equal(t, clID, true)
|
|
}
|