Skip to content

Commit fa9513c

Browse files
Merge pull request #5457 from openshift-cherrypick-robot/cherry-pick-5446-to-release-4.20
[release-4.20] USHIFT-6098: create ingress-class during microshift startup
2 parents c962666 + b5f4818 commit fa9513c

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

pkg/components/controllers.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ import (
1717
"github.com/openshift/microshift/pkg/assets"
1818
"github.com/openshift/microshift/pkg/config"
1919
"github.com/openshift/microshift/pkg/util/cryptomaterial"
20+
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
21+
"k8s.io/apimachinery/pkg/runtime"
2022
"k8s.io/apimachinery/pkg/util/sets"
2123
"k8s.io/klog/v2"
2224
)
@@ -154,6 +156,9 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
154156
cmAccessLog = []string{
155157
"components/openshift-router/configmap-accesslog.yaml",
156158
}
159+
ingressClass = []string{
160+
"components/openshift-router/ingress-class.yaml",
161+
}
157162
cm = "components/openshift-router/configmap.yaml"
158163
servingKeypairSecret = "components/openshift-router/serving-certificate.yaml"
159164
)
@@ -167,6 +172,21 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
167172
klog.Warningf("Failed to delete cluster roles %v: %v", clusterRole, err)
168173
return err
169174
}
175+
// Delete ingress class (cluster-scoped resource)
176+
if err := assets.DeleteGeneric(ctx, []runtime.Object{
177+
&unstructured.Unstructured{
178+
Object: map[string]interface{}{
179+
"apiVersion": "networking.k8s.io/v1",
180+
"kind": "IngressClass",
181+
"metadata": map[string]interface{}{
182+
"name": "openshift-ingress",
183+
},
184+
},
185+
},
186+
}, kubeconfigPath); err != nil {
187+
klog.Warningf("Failed to delete ingress class: %v", err)
188+
return err
189+
}
170190
if err := assets.DeleteNamespaces(ctx, ns, kubeconfigPath); err != nil {
171191
klog.Warningf("Failed to delete namespaces %v: %v", ns, err)
172192
return err
@@ -178,6 +198,10 @@ func startIngressController(ctx context.Context, cfg *config.Config, kubeconfigP
178198
klog.Warningf("Failed to apply namespaces %v: %v", ns, err)
179199
return err
180200
}
201+
if err := assets.ApplyGeneric(ctx, ingressClass, nil, nil, nil, kubeconfigPath); err != nil {
202+
klog.Warningf("Failed to apply ingress class %v: %v", ingressClass, err)
203+
return err
204+
}
181205
if err := assets.ApplyClusterRoles(ctx, clusterRole, kubeconfigPath); err != nil {
182206
klog.Warningf("Failed to apply clusterRole %v: %v", clusterRole, err)
183207
return err

0 commit comments

Comments
 (0)