oam-dev / rudr

A Kubernetes implementation of the Open Application Model specification

Home Page:https://oam.dev

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Demo app doesn't work on k8s 1.18

omkensey opened this issue · comments

Output of helm version:

version.BuildInfo{Version:"v3.1.2", GitCommit:"d878d4d45863e42fd5cff6743294a11d28a9abce", GitTreeState:"clean", GoVersion:"go1.13.8"}

Output of kubectl version:

Client Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.2-41+b5cdb79a4060a3", GitCommit:"b5cdb79a4060a307d0c8a56a128aadc0da31c5a2", GitTreeState:"clean", BuildDate:"2020-04-27T17:29:53Z", GoVersion:"go1.14.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"18+", GitVersion:"v1.18.2-41+b5cdb79a4060a3", GitCommit:"b5cdb79a4060a307d0c8a56a128aadc0da31c5a2", GitTreeState:"clean", BuildDate:"2020-04-27T17:31:24Z", GoVersion:"go1.14.2", Compiler:"gc", Platform:"linux/amd64"}

Cloud Provider/Platform (AKS, GKE, Minikube etc.): microk8s

Describe the bug
Rudr hello-world does not deploy on Kubernetes 1.18

OAM yaml files used
Rudr sample app from commit 8e9b9df7cc8a087582ca767aef4cd4d99fd99c87 (helloworld-python-component.yaml and first-app-config.yaml)

What happened:

No application resources started up. Logs from the Rudr pod showed:

2020-04-30 06:46:16 INFO [rudr::instigator:src/instigator.rs:794] UID: ed939316-7ada-4ee6-9a3b-81183c159ecd
2020-04-30 06:46:16 INFO [rudr::instigator:src/instigator.rs:602] MainControlLoop: Looking up workload for first-app <helloworld-python-v1>
2020-04-30 06:46:16 INFO [rudr::instigator:src/instigator.rs:412] MainControlLoop: Adding component helloworld-python-v1
2020-04-30 06:46:16 INFO [rudr::schematic::component:src/schematic/component.rs:188] Looking for image pull secret
2020-04-30 06:46:16 ERROR [rudr::trait_manager:src/trait_manager.rs:118] Trait phase Add failed for first-app: Error { inner: 

ApiError  ("admission webhook \"validate.nginx.ingress.kubernetes.io\" denied the request: \n-------------------------------------------------------------------------------\nError: exit status 1\n2020/04/30 06:46:16 [emerg] 1253#1253: duplicate location \"/\" in /tmp/nginx-cfg589181491:1123\nnginx: [emerg] duplicate location \"/\" in /tmp/nginx-cfg589181491:1123\nnginx: configuration file /tmp/nginx-cfg589181491 test failed\n\n-------------------------------------------------------------------------------\n") }
2020-04-30 06:46:16 INFO [rudr:src/main.rs:118] Handled event
2020-04-30 06:46:17 INFO [rudr:src/main.rs:30] Loading in-cluster config
2020-04-30 06:46:17 INFO [rudr::instigator:src/instigator.rs:602] StatusCheckLoop: Looking up workload for first-app <helloworld-python-v1>
2020-04-30 06:46:17 WARN [rudr::schematic::traits::ingress:src/schematic/traits/ingress.rs:138] Ingress not found ApiError NotFound ("ingresses.extensions \"first-app-helloworld-python-v1-trait-ingress\" not found"). Recreating ...

followed by repeated looping of the last three messages.

Maybe because of the deprecation of extensions/v1beta Ingress? I know the docs say only 1.15 and 1.16 are supported and this is 1.18. I have a 1.15 EKS cluster I can try this on tomorrow.

What you expected to happen:

Normal demo app startup.

How to reproduce it (as minimally and precisely as possible):

  1. Install Rudr
  2. Install ingress-nginx
  3. Install the Rudr sample app

Can confirm that everything worked OK with Ingress on my own app on a 1.15 EKS cluster.