Skip to content

Commit 5bdc954

Browse files
RawDeployment cherry picks (#466)
* add oauth-proxy to rawdeployments if odh auth label is present (#419) * add oauth-proxy to rawdeployments if odh auth label is present * remove ingress modifications * bug fix * consume oauth proxy params from configmap * fix oauth proxy sar and minor bugs * revert some unneeded changes * add oauth proxy flag to prevent login page redirect on invalid request * address feedback * update to newer oauth proxy image * minor fix * fix unit test * more feedback * cookie secret * test and other fixes * fix lint issues * address latest feedback * missed import sort * address more feedback * bug fix * fix lint error (cherry picked from commit d987799) Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> * introduce service configuration at configmap level (kserve#3672) (cherry picked from commit 23c0396) Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> * [RHOAIENG-17229] - Routing and Headless Service Support in KServe Raw Mode Deployment chore: Follow up: remove the hardcoded clsuterIP setting and add the service configuration. Signed-off-by: Spolti <[email protected]> (cherry picked from commit 33b1600) * [RHOAIENG-16851] - Rawdeployment bug fixes (#462) * [RHOAIENG-16851] fix scheme bugs in status.url and status.address.url for rawdeployment Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> * [RHOAIENG-16851] Remove component url temporarily Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> * [RHOAIENG-16851] Use transformer spec to set upstream port in oauth-proxy if a transformer-container is present Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> * [RHOAIENG-16851] address feedback Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> --------- Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> (cherry picked from commit 13b5166) * go.mod fixes Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> --------- Signed-off-by: Vedant Mahabaleshwarkar <[email protected]> Co-authored-by: Filippe Spolti <[email protected]>
1 parent 3222f0e commit 5bdc954

39 files changed

+1907
-175
lines changed

.github/workflows/e2e-test.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -787,11 +787,25 @@ jobs:
787787
kubectl get pods -n kserve
788788
kubectl describe pods -n kserve
789789
790+
- name: Log the config map
791+
run: |
792+
kubectl describe configmaps -n kserve inferenceservice-config
793+
790794
- name: Run E2E tests
791795
timeout-minutes: 30
792796
run: |
793797
./test/scripts/gh-actions/run-e2e-tests.sh "raw" "6"
794798
799+
- name: Patch inferenceservice config for cluster ip none
800+
run: |
801+
kubectl patch configmaps -n kserve inferenceservice-config --patch-file config/overlays/test/configmap/inferenceservice-enable-cluster-ip.yaml
802+
kubectl describe configmaps -n kserve inferenceservice-config
803+
804+
- name: Run E2E tests - cluster ip none
805+
timeout-minutes: 30
806+
run: |
807+
./test/scripts/gh-actions/run-e2e-tests.sh "rawcipn" "1"
808+
795809
- name: Check system status
796810
if: always()
797811
run: |

.github/workflows/verify-codegen.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,6 @@ jobs:
5858
for x in $(git diff-index --name-only HEAD -- ./pkg ./python ./charts); do
5959
echo "::error file=$x::Please run make generate.%0A$(git diff $x | urlencode)"
6060
done
61-
echo "${{ github.repository }} is out of date. Please run make generate"
61+
echo "${{ github.repository }} is out of date. Please run make generate | manifest"
6262
exit 1
6363
fi

charts/kserve-resources/README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ $ helm install kserve oci://ghcr.io/kserve/charts/kserve --version v0.14.0
8484
| kserve.router.image | string | `"kserve/router"` | |
8585
| kserve.router.tag | string | `"v0.14.0"` | |
8686
| kserve.security.autoMountServiceAccountToken | bool | `true` | |
87+
| kserve.service.serviceClusterIPNone | bool | `false` | |
8788
| kserve.servingruntime.art.defaultVersion | string | `"v0.14.0"` | |
8889
| kserve.servingruntime.art.image | string | `"kserve/art-explainer"` | |
8990
| kserve.servingruntime.art.imagePullSecrets | list | `[]` | |

charts/kserve-resources/templates/configmap.yaml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -420,6 +420,19 @@ data:
420420
"defaultDeploymentMode": "Serverless"
421421
}
422422
423+
# ====================================== SERVICE CONFIGURATION ======================================
424+
# Example
425+
service: |-
426+
{
427+
"serviceClusterIPNone": "false"
428+
}
429+
service: |-
430+
{
431+
# ServiceClusterIPNone is a flag to indicate if the service should have a clusterIP set to None.
432+
# If the DeploymentMode is Raw, the default value for ServiceClusterIPNone if not set is false
433+
# "serviceClusterIPNone": "false"
434+
}
435+
423436
# ====================================== METRICS CONFIGURATION ======================================
424437
# Example
425438
metricsAggregator: |-
@@ -503,6 +516,10 @@ data:
503516
{
504517
"defaultDeploymentMode": "{{ .Values.kserve.controller.deploymentMode }}"
505518
}
519+
service: |-
520+
{
521+
"serviceClusterIPNone": "{{ .Values.kserve.service.serviceClusterIPNone }}"
522+
}
506523
explainers: |-
507524
{
508525
"art": {

charts/kserve-resources/values.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ kserve:
77
router:
88
image: kserve/router
99
tag: *defaultVersion
10+
service:
11+
serviceClusterIPNone: false
1012
storage:
1113
image: kserve/storage-initializer
1214
tag: *defaultVersion

cmd/manager/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ import (
5050
v1beta1controller "github.com/kserve/kserve/pkg/controller/v1beta1/inferenceservice"
5151
"github.com/kserve/kserve/pkg/webhook/admission/pod"
5252
"github.com/kserve/kserve/pkg/webhook/admission/servingruntime"
53+
routev1 "github.com/openshift/api/route/v1"
5354
)
5455

5556
var (
@@ -187,7 +188,10 @@ func main() {
187188
}
188189
}
189190
}
190-
191+
if err = routev1.AddToScheme(mgr.GetScheme()); err != nil {
192+
setupLog.Error(err, "unable to add routev1 APIs to scheme")
193+
os.Exit(1)
194+
}
191195
setupLog.Info("Setting up core scheme")
192196
if err := v1.AddToScheme(mgr.GetScheme()); err != nil {
193197
setupLog.Error(err, "unable to add Core APIs to scheme")

config/configmap/inferenceservice.yaml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,20 @@ data:
430430
# ModelMesh https://kserve.github.io/website/master/admin/modelmesh/
431431
"defaultDeploymentMode": "Serverless"
432432
}
433-
433+
434+
# ====================================== SERVICE CONFIGURATION ======================================
435+
# Example
436+
service: |-
437+
{
438+
"serviceClusterIPNone": false
439+
}
440+
service: |-
441+
{
442+
# ServiceClusterIPNone is a boolean flag to indicate if the service should have a clusterIP set to None.
443+
# If the DeploymentMode is Raw, the default value for ServiceClusterIPNone if not set is false
444+
# "serviceClusterIPNone": false
445+
}
446+
434447
# ====================================== METRICS CONFIGURATION ======================================
435448
# Example
436449
metricsAggregator: |-
@@ -584,3 +597,8 @@ data:
584597
{
585598
"autoMountServiceAccountToken": true
586599
}
600+
601+
service: |-
602+
{
603+
"serviceClusterIPNone": true
604+
}

config/overlays/odh/inferenceservice-config-patch.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,14 @@ metadata:
55
namespace: kserve
66
data:
77
explainers: "{}"
8+
oauthProxy: |-
9+
{
10+
"image" : "$(oauth-proxy)",
11+
"memoryRequest": "64Mi",
12+
"memoryLimit": "128Mi",
13+
"cpuRequest": "100m",
14+
"cpuLimit": "200m"
15+
}
816
storageInitializer: |-
917
{
1018
"image" : "$(kserve-storage-initializer)",

config/overlays/odh/kustomization.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,13 @@ vars:
5454
apiVersion: v1
5555
kind: ConfigMap
5656
name: kserve-parameters
57+
- fieldref:
58+
fieldpath: data.oauth-proxy
59+
name: oauth-proxy
60+
objref:
61+
apiVersion: v1
62+
kind: ConfigMap
63+
name: kserve-parameters
5764

5865
configurations:
5966
- params.yaml

config/overlays/odh/params.env

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ kserve-controller=quay.io/opendatahub/kserve-controller:v0.14
22
kserve-agent=quay.io/opendatahub/kserve-agent:v0.14
33
kserve-router=quay.io/opendatahub/kserve-router:v0.14
44
kserve-storage-initializer=quay.io/opendatahub/kserve-storage-initializer:v0.14
5+
oauth-proxy=registry.redhat.io/openshift4/ose-oauth-proxy@sha256:234af927030921ab8f7333f61f967b4b4dee37a1b3cf85689e9e63240dd62800

0 commit comments

Comments
 (0)