Skip to content

Commit 960bd52

Browse files
committed
Trunk resource: fixed testing
1 parent 8fe327a commit 960bd52

File tree

24 files changed

+453
-113
lines changed

24 files changed

+453
-113
lines changed

PROJECT

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,14 @@ resources:
144144
kind: Subnet
145145
path: github.com/k-orc/openstack-resource-controller/api/v1alpha1
146146
version: v1alpha1
147+
- api:
148+
crdVersion: v1
149+
namespaced: true
150+
domain: k-orc.cloud
151+
group: openstack
152+
kind: Trunk
153+
path: github.com/k-orc/openstack-resource-controller/api/v1alpha1
154+
version: v1alpha1
147155
- api:
148156
crdVersion: v1
149157
namespaced: true

cmd/resource-generator/main.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ var resources []templateFields = []templateFields{
146146
Name: "Subnet",
147147
ExistingOSClient: true,
148148
},
149+
{
150+
Name: "Trunk",
151+
},
149152
{
150153
Name: "Volume",
151154
},

config/crd/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ resources:
2020
- bases/openstack.k-orc.cloud_servergroups.yaml
2121
- bases/openstack.k-orc.cloud_services.yaml
2222
- bases/openstack.k-orc.cloud_subnets.yaml
23+
- bases/openstack.k-orc.cloud_trunks.yaml
2324
- bases/openstack.k-orc.cloud_volumes.yaml
2425
- bases/openstack.k-orc.cloud_volumetypes.yaml
2526
# +kubebuilder:scaffold:crdkustomizeresource

config/samples/kustomization.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ resources:
1818
- openstack_v1alpha1_servergroup.yaml
1919
- openstack_v1alpha1_service.yaml
2020
- openstack_v1alpha1_subnet.yaml
21+
- openstack_v1alpha1_trunk.yaml
2122
- openstack_v1alpha1_volume.yaml
2223
- openstack_v1alpha1_volumetype.yaml
2324
# +kubebuilder:scaffold:manifestskustomizesamples

internal/controllers/trunk/actuator.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ package trunk
1919
import (
2020
"context"
2121
"iter"
22+
"fmt"
2223

2324
"github.com/gophercloud/gophercloud/v2/openstack/networking/v2/extensions/trunks"
2425
corev1 "k8s.io/api/core/v1"
@@ -134,8 +135,8 @@ func (actuator trunkActuator) ListOSResourcesForImport(ctx context.Context, obj
134135
listOpts := trunks.ListOpts{
135136
Name: string(ptr.Deref(filter.Name, "")),
136137
Description: string(ptr.Deref(filter.Description, "")),
137-
Port: ptr.Deref(port.Status.ID, ""),
138-
Project: ptr.Deref(project.Status.ID, ""),
138+
PortID: ptr.Deref(port.Status.ID, ""),
139+
ProjectID: ptr.Deref(project.Status.ID, ""),
139140
// TODO(scaffolding): Add more import filters
140141
}
141142

internal/controllers/trunk/tests/trunk-create-full/00-create-resource.yaml

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,45 @@
11
---
22
apiVersion: openstack.k-orc.cloud/v1alpha1
3+
kind: Network
4+
metadata:
5+
name: trunk-create-full
6+
spec:
7+
cloudCredentialsRef:
8+
cloudName: openstack-admin
9+
secretName: openstack-clouds
10+
managementPolicy: managed
11+
resource:
12+
projectRef: trunk-create-full
13+
---
14+
apiVersion: openstack.k-orc.cloud/v1alpha1
15+
kind: Subnet
16+
metadata:
17+
name: trunk-create-full
18+
spec:
19+
cloudCredentialsRef:
20+
cloudName: openstack-admin
21+
secretName: openstack-clouds
22+
managementPolicy: managed
23+
resource:
24+
cidr: 192.168.157.0/24
25+
ipVersion: 4
26+
networkRef: trunk-create-full
27+
projectRef: trunk-create-full
28+
---
29+
apiVersion: openstack.k-orc.cloud/v1alpha1
330
kind: Port
431
metadata:
532
name: trunk-create-full
633
spec:
734
cloudCredentialsRef:
835
# TODO(scaffolding): Use openstack-admin if the resouce needs admin credentials to be created
9-
cloudName: openstack
36+
cloudName: openstack-admin
1037
secretName: openstack-clouds
1138
managementPolicy: managed
1239
# TODO(scaffolding): Add the necessary fields to create the resource
13-
resource: {}
40+
resource:
41+
networkRef: trunk-create-full
42+
projectRef: trunk-create-full
1443
---
1544
apiVersion: openstack.k-orc.cloud/v1alpha1
1645
kind: Project
@@ -19,7 +48,7 @@ metadata:
1948
spec:
2049
cloudCredentialsRef:
2150
# TODO(scaffolding): Use openstack-admin if the resouce needs admin credentials to be created
22-
cloudName: openstack
51+
cloudName: openstack-admin
2352
secretName: openstack-clouds
2453
managementPolicy: managed
2554
# TODO(scaffolding): Add the necessary fields to create the resource
@@ -32,7 +61,7 @@ metadata:
3261
spec:
3362
cloudCredentialsRef:
3463
# TODO(scaffolding): Use openstack-admin if the resouce needs admin credentials to be created
35-
cloudName: openstack
64+
cloudName: openstack-admin
3665
secretName: openstack-clouds
3766
managementPolicy: managed
3867
resource:
Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,5 @@
11
---
22
apiVersion: openstack.k-orc.cloud/v1alpha1
3-
kind: Port
4-
metadata:
5-
name: trunk-create-minimal
6-
spec:
7-
cloudCredentialsRef:
8-
# TODO(scaffolding): Use openstack-admin if the resouce needs admin credentials to be created
9-
cloudName: openstack
10-
secretName: openstack-clouds
11-
managementPolicy: managed
12-
# TODO(scaffolding): Add the necessary fields to create the resource
13-
resource: {}
14-
---
15-
apiVersion: openstack.k-orc.cloud/v1alpha1
163
kind: Trunk
174
metadata:
185
name: trunk-create-minimal
@@ -25,4 +12,4 @@ spec:
2512
# TODO(scaffolding): Only add the mandatory fields. It's possible the resource
2613
# doesn't have mandatory fields, in that case, leave it empty.
2714
resource:
28-
portRef: trunk-create-full
15+
portRef: trunk-create-minimal
Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
1-
apiVersion: kuttl.dev/v1beta1
2-
kind: TestStep
3-
commands:
4-
- command: kubectl create secret generic openstack-clouds --from-file=clouds.yaml=${E2E_KUTTL_OSCLOUDS} ${E2E_KUTTL_CACERT_OPT}
5-
namespaced: true
6-
---
7-
apiVersion: openstack.k-orc.cloud/v1alpha1
8-
kind: Network
9-
metadata:
10-
name: trunk-create-minimal
11-
spec:
12-
cloudCredentialsRef:
13-
cloudName: openstack
14-
secretName: openstack-clouds
15-
managementPolicy: managed
16-
resource:
17-
name: trunk-create-minimal
18-
---
19-
apiVersion: openstack.k-orc.cloud/v1alpha1
20-
kind: Subnet
21-
metadata:
22-
name: trunk-create-minimal
23-
spec:
24-
cloudCredentialsRef:
25-
cloudName: openstack
26-
secretName: openstack-clouds
27-
managementPolicy: managed
28-
resource:
29-
networkRef: trunk-create-minimal
30-
ipVersion: 4
31-
cidr: 192.168.156.0/24
32-
---
33-
apiVersion: openstack.k-orc.cloud/v1alpha1
34-
kind: Port
35-
metadata:
36-
name: trunk-create-minimal
37-
spec:
38-
cloudCredentialsRef:
39-
cloudName: openstack
40-
secretName: openstack-clouds
41-
managementPolicy: managed
42-
resource:
43-
networkRef: trunk-create-minimal
44-
1+
apiVersion: kuttl.dev/v1beta1
2+
kind: TestStep
3+
commands:
4+
- command: kubectl create secret generic openstack-clouds --from-file=clouds.yaml=${E2E_KUTTL_OSCLOUDS} ${E2E_KUTTL_CACERT_OPT}
5+
namespaced: true
6+
---
7+
apiVersion: openstack.k-orc.cloud/v1alpha1
8+
kind: Network
9+
metadata:
10+
name: trunk-create-minimal
11+
spec:
12+
cloudCredentialsRef:
13+
cloudName: openstack
14+
secretName: openstack-clouds
15+
managementPolicy: managed
16+
resource:
17+
name: trunk-create-minimal
18+
---
19+
apiVersion: openstack.k-orc.cloud/v1alpha1
20+
kind: Subnet
21+
metadata:
22+
name: trunk-create-minimal
23+
spec:
24+
cloudCredentialsRef:
25+
cloudName: openstack
26+
secretName: openstack-clouds
27+
managementPolicy: managed
28+
resource:
29+
networkRef: trunk-create-minimal
30+
ipVersion: 4
31+
cidr: 192.168.156.0/24
32+
---
33+
apiVersion: openstack.k-orc.cloud/v1alpha1
34+
kind: Port
35+
metadata:
36+
name: trunk-create-minimal
37+
spec:
38+
cloudCredentialsRef:
39+
cloudName: openstack
40+
secretName: openstack-clouds
41+
managementPolicy: managed
42+
resource:
43+
networkRef: trunk-create-minimal
44+

internal/controllers/trunk/tests/trunk-create-minimal/00-secret.yaml

Lines changed: 0 additions & 6 deletions
This file was deleted.

internal/controllers/trunk/tests/trunk-dependency/00-create-resources-missing-deps.yaml

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
---
22
apiVersion: openstack.k-orc.cloud/v1alpha1
3+
kind: Network
4+
metadata:
5+
name: trunk-dependency
6+
spec:
7+
cloudCredentialsRef:
8+
cloudName: openstack
9+
secretName: openstack-clouds
10+
managementPolicy: managed
11+
resource:
12+
name: trunk-dependency
13+
---
14+
apiVersion: openstack.k-orc.cloud/v1alpha1
15+
kind: Subnet
16+
metadata:
17+
name: trunk-dependency
18+
spec:
19+
cloudCredentialsRef:
20+
cloudName: openstack
21+
secretName: openstack-clouds
22+
managementPolicy: managed
23+
resource:
24+
cidr: 192.168.160.0/24
25+
ipVersion: 4
26+
networkRef: trunk-dependency
27+
---
28+
apiVersion: openstack.k-orc.cloud/v1alpha1
329
kind: Port
430
metadata:
531
name: trunk-dependency
@@ -10,7 +36,22 @@ spec:
1036
secretName: openstack-clouds
1137
managementPolicy: managed
1238
# TODO(scaffolding): Add the necessary fields to create the resource
13-
resource: {}
39+
resource:
40+
networkRef: trunk-dependency
41+
---
42+
apiVersion: openstack.k-orc.cloud/v1alpha1
43+
kind: Port
44+
metadata:
45+
name: trunk-dependency-no-secret
46+
spec:
47+
cloudCredentialsRef:
48+
# TODO(scaffolding): Use openstack-admin if the resouce needs admin credentials to be created
49+
cloudName: openstack
50+
secretName: openstack-clouds
51+
managementPolicy: managed
52+
# TODO(scaffolding): Add the necessary fields to create the resource
53+
resource:
54+
networkRef: trunk-dependency
1455
---
1556
apiVersion: openstack.k-orc.cloud/v1alpha1
1657
kind: Trunk
@@ -53,4 +94,4 @@ spec:
5394
managementPolicy: managed
5495
# TODO(scaffolding): Add the necessary fields to create the resource
5596
resource:
56-
portRef: trunk-dependency
97+
portRef: trunk-dependency-no-secret

0 commit comments

Comments
 (0)