{"level":"info","ts":"2026-10-30T23:45:28Z","logger":"aiguardrail","msg":"NemoGuardrails CRD not installed; AIGuardrail provider watch disabled","crd":"trustyai.opendatahub.io/v1alpha1, Kind=NemoGuardrails","effect":"every AIGuardrail is refused until TrustyAI is installed; policies recover on their own, but until this controller restarts provider edits are picked up at the resync interval rather than immediately"} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"setup","msg":"starting ai-gateway-controller","manifestPath":"/config/manifests/external-model/overlays/odh","image":"quay.io/opendatahub/odh-praxis-extproc:odh-stable"} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"controller-runtime.metrics","msg":"Starting metrics server"} {"level":"info","ts":"2026-10-30T23:45:28Z","msg":"starting server","name":"health probe","addr":"[::]:8081"} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"controller-runtime.certwatcher","msg":"Updated current TLS certificate","cert":"/tmp/k8s-metrics-server/metrics-certs/tls.crt","key":"/tmp/k8s-metrics-server/metrics-certs/tls.key"} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"controller-runtime.metrics","msg":"Serving metrics server","bindAddress":":8443","secure":true} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"controller-runtime.certwatcher","msg":"Starting certificate poll+watcher","cert":"/tmp/k8s-metrics-server/metrics-certs/tls.crt","key":"/tmp/k8s-metrics-server/metrics-certs/tls.key","interval":10} {"level":"info","ts":"2026-10-30T23:45:28Z","logger":"leaderelection","msg":"Attempting to acquire leader lease...","lock":"opendatahub/ai-gateway-controller-leader.opendatahub.io"} {"level":"info","ts":"2026-10-30T23:45:56Z","logger":"leaderelection","msg":"Successfully acquired lease","lock":"opendatahub/ai-gateway-controller-leader.opendatahub.io"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1.ConfigMap"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 AITenant]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *unstructured.Unstructured[gateway.networking.k8s.io/v1beta1 ReferenceGrant]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"aiguardrail","controllerGroup":"aigateway.opendatahub.io","controllerKind":"AIGuardrail","source":"kind source: *v1.Namespace"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider","source":"kind source: *v1alpha1.ExternalProvider"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider","source":"kind source: *v1.PartialObjectMetadata[v1 Secret]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 MaasTenantConfig]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *v1alpha1.ExternalModel"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *v1alpha1.ExternalProvider"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *v1.PartialObjectMetadata[v1 Secret]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 MaasTenantConfig]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *v1alpha1.ExternalModel"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 AITenant]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 MaasTenantConfig]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 AITenant]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1alpha1.ExternalModel"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *unstructured.Unstructured[gateway.networking.k8s.io/v1 HTTPRoute]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1alpha1.ExternalProvider"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[dscinitialization.opendatahub.io/v2 DSCInitialization]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1.PartialObjectMetadata[v1 Secret]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"aiguardrail","controllerGroup":"aigateway.opendatahub.io","controllerKind":"AIGuardrail","source":"kind source: *v1alpha1.AIGuardrail"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 MaasTenantConfig]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[maas.opendatahub.io/v1alpha1 AITenant]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1.PartialObjectMetadata[v1 Secret]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1.PartialObjectMetadata[v1 ConfigMap]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *v1.PartialObjectMetadata[v1 Service]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","source":"kind source: *unstructured.Unstructured[gateway.networking.k8s.io/v1 HTTPRoute]"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting EventSource","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","source":"kind source: *v1.Service"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting Controller","controller":"aiguardrail","controllerGroup":"aigateway.opendatahub.io","controllerKind":"AIGuardrail"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting workers","controller":"aiguardrail","controllerGroup":"aigateway.opendatahub.io","controllerKind":"AIGuardrail","worker count":1} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting Controller","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting workers","controller":"externalmodel","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalModel","worker count":1} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting Controller","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting workers","controller":"externalprovider","controllerGroup":"inference.opendatahub.io","controllerKind":"ExternalProvider","worker count":1} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting Controller","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting workers","controller":"consumer-portal","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","worker count":1} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting Controller","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig"} {"level":"info","ts":"2026-10-30T23:45:56Z","msg":"Starting workers","controller":"maastenantconfig","controllerGroup":"maas.opendatahub.io","controllerKind":"MaasTenantConfig","worker count":1} {"level":"info","ts":"2026-10-30T23:45:57Z","logger":"consumer-portal","msg":"consumer portal auth proxy applied","maastenantconfig":{"name":"default-tenant","namespace":"models-as-a-service"},"namespace":"odh-ai-gateway-infra","hostname":"maas.apps.21f1608424d0b6687efa.prod.konflux-ocp-ci.dev"} {"level":"info","ts":"2026-10-30T23:45:57Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"models-as-a-service"},"tenantID":"","namespace":"openshift-ingress","gatewayName":"maas-default-gateway"} {"level":"info","ts":"2026-10-30T23:48:47Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress","gatewayName":"e2e-shared-a-main-8d2ae1"} {"level":"info","ts":"2026-10-30T23:48:48Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress","gatewayName":"e2e-shared-a-main-8d2ae1"} {"level":"info","ts":"2026-10-30T23:48:49Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress","gatewayName":"e2e-shared-a-main-8d2ae1"} {"level":"info","ts":"2026-10-30T23:48:56Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress","gatewayName":"e2e-shared-a-main-8d2ae1"} {"level":"info","ts":"2026-10-30T23:48:57Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress","gatewayName":"e2e-shared-a-main-8d2ae1"} {"level":"info","ts":"2026-10-30T23:49:07Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:08Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:09Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:11Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:22Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:23Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:28Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:29Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:30Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:49:38Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:50:17Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:50:18Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress","gatewayName":"e2e-shared-b-main-cd9099"} {"level":"info","ts":"2026-10-30T23:50:57Z","logger":"consumer-portal","msg":"consumer portal auth proxy applied","maastenantconfig":{"name":"default-tenant","namespace":"models-as-a-service"},"namespace":"odh-ai-gateway-infra","hostname":"maas.apps.21f1608424d0b6687efa.prod.konflux-ocp-ci.dev"} {"level":"info","ts":"2026-10-30T23:50:58Z","logger":"tenant","msg":"praxis-extproc install applied","maastenantconfig":{"name":"default-tenant","namespace":"models-as-a-service"},"tenantID":"","namespace":"openshift-ingress","gatewayName":"maas-default-gateway"} {"level":"info","ts":"2026-10-30T23:53:07Z","logger":"tenant","msg":"MaasTenantConfig opted into praxis but owning AITenant is not DeployReady yet (missing/Failed/stale Ready stamp); will retry","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"}} {"level":"info","ts":"2026-10-30T23:53:07Z","logger":"tenant","msg":"owning AITenant changed (uid, ownership, readiness, generation, or gatewayRef) before praxis-extproc apply; will re-resolve","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"}} {"level":"info","ts":"2026-10-30T23:53:17Z","logger":"tenant","msg":"owning AITenant changed (uid, ownership, readiness, generation, or gatewayRef) before praxis-extproc apply; will re-resolve","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"}} {"level":"info","ts":"2026-10-30T23:53:18Z","logger":"tenant","msg":"praxis-extproc resources cleaned up for deleted tenant","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-a-main-8d2ae1"},"tenantID":"e2e-shared-a-main-8d2ae1","namespace":"openshift-ingress"} {"level":"info","ts":"2026-10-30T23:53:30Z","logger":"tenant","msg":"MaasTenantConfig opted into praxis but owning AITenant is not DeployReady yet (missing/Failed/stale Ready stamp); will retry","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"}} {"level":"info","ts":"2026-10-30T23:53:30Z","logger":"tenant","msg":"owning AITenant changed (uid, ownership, readiness, generation, or gatewayRef) before praxis-extproc apply; will re-resolve","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"}} {"level":"info","ts":"2026-10-30T23:53:40Z","logger":"tenant","msg":"owning AITenant changed (uid, ownership, readiness, generation, or gatewayRef) before praxis-extproc apply; will re-resolve","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"}} {"level":"info","ts":"2026-10-30T23:53:41Z","logger":"tenant","msg":"praxis-extproc resources cleaned up for deleted tenant","maastenantconfig":{"name":"default-tenant","namespace":"ai-tenant-e2e-shared-b-main-cd9099"},"tenantID":"e2e-shared-b-main-cd9099","namespace":"openshift-ingress"}