Skip to content

Commit 3665f4e

Browse files
committed
ci(e2e): nested SDS E2E on skeleton
- Add SDS enablement with source=deckhouse - Inline ModuleSource 'deckhouse' (registry.deckhouse.io) - Pass REGISTRY_DOCKER_CFG and write docker config - Unify SSH key to id_ed and fix lsblk debug - Increase API server wait retries (SDS) - Minor YAML/task cleanups
1 parent 75ae7a0 commit 3665f4e

37 files changed

+3536
-6
lines changed

.github/workflows/e2e-matrix.yml

Lines changed: 621 additions & 6 deletions
Large diffs are not rendered by default.

ci/dvp-e2e/Taskfile.yaml

Lines changed: 1068 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*.orig
18+
*~
19+
# Various IDEs
20+
.project
21+
.idea/
22+
*.tmproj
23+
.vscode/
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
apiVersion: v2
2+
name: cluster-config
3+
description: Cluster configuration for E2E testing
4+
type: application
5+
version: 0.1.0
6+
appVersion: "1.0.0"
7+
keywords:
8+
- cluster
9+
- configuration
10+
- e2e
11+
- testing
12+
home: https://github.com/deckhouse/deckhouse
13+
sources:
14+
- https://github.com/deckhouse/deckhouse
15+
maintainers:
16+
- name: Deckhouse Team
17+
18+
dependencies: []
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# Cluster configuration for DVP-over-DVP E2E testing
2+
apiVersion: deckhouse.io/v1
3+
kind: ClusterConfiguration
4+
clusterType: Cloud
5+
cloud:
6+
provider: DVP
7+
prefix: {{ .Values.clusterConfigurationPrefix | default "demo-cluster" }}
8+
podSubnetCIDR: 10.112.0.0/16
9+
serviceSubnetCIDR: 10.223.0.0/16
10+
kubernetesVersion: "{{ .Values.deckhouse.kubernetesVersion }}"
11+
clusterDomain: "internal.cluster.local"
12+
---
13+
apiVersion: deckhouse.io/v1
14+
kind: InitConfiguration
15+
deckhouse:
16+
imagesRepo: dev-registry.deckhouse.io/sys/deckhouse-oss
17+
registryDockerCfg: {{ .Values.deckhouse.registryDockerCfg | quote }}
18+
devBranch: {{ .Values.deckhouse.tag }}
19+
---
20+
apiVersion: deckhouse.io/v1
21+
kind: DVPClusterConfiguration
22+
layout: Standard
23+
sshPublicKey: {{ .Values.sshPublicKey }}
24+
masterNodeGroup:
25+
replicas: {{ .Values.instances.masterNodes.count }}
26+
instanceClass:
27+
virtualMachine:
28+
bootloader: {{ .Values.image.bootloader }}
29+
cpu:
30+
cores: {{ .Values.instances.masterNodes.cores }}
31+
coreFraction: {{ .Values.instances.masterNodes.coreFraction }}
32+
memory:
33+
size: {{ .Values.instances.masterNodes.memory }}
34+
ipAddresses:
35+
- Auto
36+
virtualMachineClassName: "{{ .Values.namespace }}-cpu"
37+
rootDisk:
38+
size: 50Gi
39+
storageClass: {{ .Values.storageClasses.controlPlane.root }}
40+
image:
41+
kind: VirtualImage
42+
name: image
43+
etcdDisk:
44+
size: 15Gi
45+
storageClass: {{ .Values.storageClasses.controlPlane.etcd }}
46+
provider:
47+
kubeconfigDataBase64: {{ .Values.kubeconfigDataBase64 }}
48+
namespace: {{ .Values.namespace }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{{- $modules := list "upmeter" "local-path-provisioner" "pod-reloader" "secret-copier" "namespace-configurator" -}}
2+
{{ range $modules }}
3+
---
4+
apiVersion: deckhouse.io/v1alpha1
5+
kind: ModuleConfig
6+
metadata:
7+
name: {{ . }}
8+
spec:
9+
enabled: false
10+
{{ end }}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: e2e-runner
6+
namespace: kube-system
7+
---
8+
apiVersion: rbac.authorization.k8s.io/v1
9+
kind: ClusterRoleBinding
10+
metadata:
11+
name: e2e-runner-admin
12+
roleRef:
13+
apiGroup: rbac.authorization.k8s.io
14+
kind: ClusterRole
15+
name: cluster-admin
16+
subjects:
17+
- kind: ServiceAccount
18+
name: e2e-runner
19+
namespace: kube-system
20+
21+
22+
23+
24+
25+
26+
27+
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
apiVersion: deckhouse.io/v1
3+
kind: IngressNginxController
4+
metadata:
5+
name: main
6+
spec:
7+
inlet: HostPort
8+
enableIstioSidecar: false
9+
ingressClass: nginx
10+
hostPort:
11+
httpPort: 80
12+
httpsPort: 443
13+
nodeSelector:
14+
node-role.kubernetes.io/master: ''
15+
tolerations:
16+
- effect: NoSchedule
17+
operator: Exists
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
---
2+
apiVersion: deckhouse.io/v1alpha1
3+
kind: ModuleConfig
4+
metadata:
5+
name: deckhouse
6+
spec:
7+
version: 1
8+
enabled: true
9+
settings:
10+
bundle: Default
11+
logLevel: Info
12+
---
13+
apiVersion: deckhouse.io/v1alpha1
14+
kind: ModuleConfig
15+
metadata:
16+
name: global
17+
spec:
18+
version: 1
19+
settings:
20+
defaultClusterStorageClass: ceph-pool-r2-csi-rbd-immediate
21+
modules:
22+
publicDomainTemplate: "%s.{{ .Values.namespace }}.{{ .Values.domain }}"
23+
---
24+
apiVersion: deckhouse.io/v1alpha1
25+
kind: ModuleConfig
26+
metadata:
27+
name: user-authn
28+
spec:
29+
version: 1
30+
enabled: true
31+
settings:
32+
controlPlaneConfigurator:
33+
dexCAMode: DoNotNeed
34+
publishAPI:
35+
enabled: true
36+
https:
37+
mode: Global
38+
global:
39+
kubeconfigGeneratorMasterCA: ""
40+
---
41+
apiVersion: deckhouse.io/v1alpha1
42+
kind: ModuleConfig
43+
metadata:
44+
name: cni-cilium
45+
spec:
46+
version: 1
47+
enabled: true
48+
settings:
49+
tunnelMode: VXLAN
50+
---
51+
apiVersion: deckhouse.io/v1alpha1
52+
kind: ModuleConfig
53+
metadata:
54+
name: prompp
55+
spec:
56+
version: 1
57+
enabled: true
58+
---
59+
apiVersion: deckhouse.io/v1alpha2
60+
kind: ModulePullOverride
61+
metadata:
62+
name: prompp
63+
spec:
64+
imageTag: stable
65+
scanInterval: 15s
66+
---
67+
apiVersion: deckhouse.io/v1alpha1
68+
kind: ModuleConfig
69+
metadata:
70+
name: snapshot-controller
71+
spec:
72+
version: 1
73+
enabled: true
74+
---
75+
apiVersion: deckhouse.io/v1alpha2
76+
kind: ModulePullOverride
77+
metadata:
78+
name: snapshot-controller
79+
spec:
80+
imageTag: main
81+
scanInterval: 15s
82+
---
83+
apiVersion: deckhouse.io/v1alpha1
84+
kind: ModuleConfig
85+
metadata:
86+
name: sds-replicated-volume
87+
spec:
88+
enabled: true
89+
source: deckhouse
90+
version: 1
91+
---
92+
apiVersion: deckhouse.io/v1alpha1
93+
kind: ModuleSource
94+
metadata:
95+
name: deckhouse
96+
spec:
97+
registry:
98+
repo: registry.deckhouse.io/deckhouse/modules
99+
scheme: HTTPS
100+
dockerCfg: {{ .Values.deckhouse.registryDockerCfg | quote }}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
{{- if .Values.features.nfs.enabled }}
2+
apiVersion: deckhouse.io/v1alpha1
3+
kind: ModuleConfig
4+
metadata:
5+
name: csi-nfs
6+
spec:
7+
source: deckhouse
8+
enabled: true
9+
version: 1
10+
---
11+
apiVersion: deckhouse.io/v1alpha2
12+
kind: ModulePullOverride
13+
metadata:
14+
name: csi-nfs
15+
spec:
16+
imageTag: main
17+
scanInterval: 10m
18+
---
19+
apiVersion: storage.deckhouse.io/v1alpha1
20+
kind: NFSStorageClass
21+
metadata:
22+
name: nfs
23+
spec:
24+
connection:
25+
host: "nfs-server.{{ .Values.namespace }}.svc.cluster.local"
26+
share: /
27+
nfsVersion: "4.2"
28+
mountOptions:
29+
mountMode: hard
30+
timeout: 60
31+
retransmissions: 3
32+
reclaimPolicy: Delete
33+
volumeBindingMode: Immediate
34+
{{- end }}

0 commit comments

Comments
 (0)