Deploy CSI snapshotter on init

Signed-off-by: Daniel Weiße <dw@edgeless.systems>
This commit is contained in:
Daniel Weiße 2023-06-22 16:31:35 +02:00 committed by Daniel Weiße
parent 2c8c86a0cb
commit 8619a90149
20 changed files with 1193 additions and 25 deletions

View file

@ -35,7 +35,6 @@ func TestMain(m *testing.M) {
}
func TestInitCluster(t *testing.T) {
someErr := errors.New("failed")
serviceAccountURI := "some-service-account-uri"
nodeName := "node-name"
@ -99,7 +98,7 @@ func TestInitCluster(t *testing.T) {
},
getLoadBalancerEndpointResp: loadbalancerIP,
},
kubectl: stubKubectl{annotateNodeErr: someErr},
kubectl: stubKubectl{annotateNodeErr: assert.AnError},
wantErr: true,
k8sVersion: versions.Default,
},
@ -107,7 +106,7 @@ func TestInitCluster(t *testing.T) {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
kubeAPIWaiter: stubKubeAPIWaiter{},
providerMetadata: &stubProviderMetadata{
selfErr: someErr,
selfErr: assert.AnError,
},
wantErr: true,
k8sVersion: versions.Default,
@ -115,14 +114,14 @@ func TestInitCluster(t *testing.T) {
"kubeadm init fails when retrieving metadata loadbalancer ip": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
providerMetadata: &stubProviderMetadata{
getLoadBalancerEndpointErr: someErr,
getLoadBalancerEndpointErr: assert.AnError,
},
wantErr: true,
k8sVersion: versions.Default,
},
"kubeadm init fails when applying the init config": {
clusterUtil: stubClusterUtil{
initClusterErr: someErr,
initClusterErr: assert.AnError,
kubeconfig: []byte("someKubeconfig"),
},
kubeAPIWaiter: stubKubeAPIWaiter{},
@ -132,14 +131,14 @@ func TestInitCluster(t *testing.T) {
},
"kubeadm init fails when deploying cilium": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
helmClient: stubHelmClient{ciliumError: someErr},
helmClient: stubHelmClient{ciliumError: assert.AnError},
providerMetadata: &stubProviderMetadata{},
wantErr: true,
k8sVersion: versions.Default,
},
"kubeadm init fails when setting up constellation-services chart": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
helmClient: stubHelmClient{servicesError: someErr},
helmClient: stubHelmClient{servicesError: assert.AnError},
kubeAPIWaiter: stubKubeAPIWaiter{},
providerMetadata: &stubProviderMetadata{},
wantErr: true,
@ -147,7 +146,7 @@ func TestInitCluster(t *testing.T) {
},
"kubeadm init fails when setting the cloud node manager": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
helmClient: stubHelmClient{servicesError: someErr},
helmClient: stubHelmClient{servicesError: assert.AnError},
kubeAPIWaiter: stubKubeAPIWaiter{},
providerMetadata: &stubProviderMetadata{},
wantErr: true,
@ -155,7 +154,7 @@ func TestInitCluster(t *testing.T) {
},
"kubeadm init fails when setting the cluster autoscaler": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
helmClient: stubHelmClient{servicesError: someErr},
helmClient: stubHelmClient{servicesError: assert.AnError},
kubeAPIWaiter: stubKubeAPIWaiter{},
providerMetadata: &stubProviderMetadata{},
wantErr: true,
@ -170,7 +169,7 @@ func TestInitCluster(t *testing.T) {
},
"kubeadm init fails when setting up konnectivity": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
helmClient: stubHelmClient{servicesError: someErr},
helmClient: stubHelmClient{servicesError: assert.AnError},
kubeAPIWaiter: stubKubeAPIWaiter{},
providerMetadata: &stubProviderMetadata{},
wantErr: true,
@ -185,7 +184,7 @@ func TestInitCluster(t *testing.T) {
},
"kubeadm init fails when waiting for kubeAPI server": {
clusterUtil: stubClusterUtil{kubeconfig: []byte("someKubeconfig")},
kubeAPIWaiter: stubKubeAPIWaiter{waitErr: someErr},
kubeAPIWaiter: stubKubeAPIWaiter{waitErr: assert.AnError},
providerMetadata: &stubProviderMetadata{},
k8sVersion: versions.Default,
wantErr: true,
@ -234,7 +233,6 @@ func TestInitCluster(t *testing.T) {
}
func TestJoinCluster(t *testing.T) {
someErr := errors.New("failed")
joinCommand := &kubeadm.BootstrapTokenDiscovery{
APIServerEndpoint: "192.0.2.0:" + strconv.Itoa(constants.KubernetesPort),
Token: "kube-fake-token",
@ -364,13 +362,13 @@ func TestJoinCluster(t *testing.T) {
"kubeadm join worker fails when retrieving self metadata": {
clusterUtil: stubClusterUtil{},
providerMetadata: &stubProviderMetadata{
selfErr: someErr,
selfErr: assert.AnError,
},
role: role.Worker,
wantErr: true,
},
"kubeadm join worker fails when applying the join config": {
clusterUtil: stubClusterUtil{joinClusterErr: someErr},
clusterUtil: stubClusterUtil{joinClusterErr: assert.AnError},
providerMetadata: &stubProviderMetadata{},
role: role.Worker,
wantErr: true,
@ -582,18 +580,18 @@ func (s *stubKubectl) EnforceCoreDNSSpread(_ context.Context) error {
}
type stubHelmClient struct {
ciliumError error
certManagerError error
operatorsError error
servicesError error
ciliumError error
installChartError error
operatorsError error
servicesError error
}
func (s *stubHelmClient) InstallCilium(_ context.Context, _ k8sapi.Client, _ helm.Release, _ k8sapi.SetupPodNetworkInput) error {
return s.ciliumError
}
func (s *stubHelmClient) InstallCertManager(_ context.Context, _ helm.Release) error {
return s.certManagerError
func (s *stubHelmClient) InstallChart(_ context.Context, _ helm.Release) error {
return s.installChartError
}
func (s *stubHelmClient) InstallOperators(_ context.Context, _ helm.Release, _ map[string]any) error {