Open DnPlas opened 1 year ago
Even after the refactoring introduced in #246 and #197, this issue is still present:
unit-kserve-controller-0: 20:00:30 INFO unit.kserve-controller/0.juju-log ingress-gateway:32: Reconcile completed successfully
unit-kserve-controller-0: 20:00:30 ERROR unit.kserve-controller/0.juju-log ingress-gateway:32: Uncaught exception while in charm code:
Traceback (most recent call last):
File "./src/charm.py", line 638, in <module>
main(KServeControllerCharm)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/main.py", line 441, in main
_emit_charm_event(charm, dispatcher.event_name)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/main.py", line 149, in _emit_charm_event
event_to_emit.emit(*args, **kwargs)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/framework.py", line 342, in emit
framework._emit(event)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/framework.py", line 839, in _emit
self._reemit(event_path)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/framework.py", line 928, in _reemit
custom_handler(event)
File "./src/charm.py", line 432, in _on_event
self.cm_resource_handler.apply()
File "./src/charm.py", line 212, in cm_resource_handler
context={**self._inference_service_context, **self.images_context},
File "./src/charm.py", line 189, in _inference_service_context
gateways_context = self._generate_gateways_context()
File "./src/charm.py", line 517, in _generate_gateways_context
ingress_gateway_info = self._ingress_gateway_info
File "./src/charm.py", line 256, in _ingress_gateway_info
return self._ingress_gateway_requirer.get_relation_data()
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/lib/charms/istio_pilot/v0/istio_gateway_info.py", line 206, in get_relation_data
self._relation_preflight_checks(relation=relation)
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/lib/charms/istio_pilot/v0/istio_gateway_info.py", line 183, in _relation_preflight_checks
relation_data = relation.data[remote_app]
File "/var/lib/juju/agents/unit-kserve-controller-0/charm/venv/ops/model.py", line 1480, in __getitem__
raise KeyError(
KeyError: 'Cannot index relation data with "None". Are you trying to access remote app data during a relation-broken event? This is not allowed.'
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/KF-5962.
This message was autogenerated
Removing kserve-controller will raise an error because it expects the istio-pilot:gateway-info relation to be present. This is caused by how the resources are rendered in preparation for removal. The context for rendering these Kubernetes resources is tightly coupled to the presence of certain relations.
Steps to reproduce
juju deploy kserve-controller --channel 0.11/stable --trust
orjuju deploy kserve-controller --channel latest/edge --trust
juju istio-pilot --channel 1.17/stable --trust
andjuju istio-gateway istio-ingressgateway --channel 1.17/stable --trust --config kind=ingress
juju deploy knative-serving --channel 1.10/stable --trust
andjuju deploy knative-operator --channel 1.10/stable --trust
juju config knative-serving namespace="knative-serving" istio.gateway.namespace=kubeflow istio.gateway.name=istio-gateway
juju remove-application kserve-controller
Environment
microk8s 1.29-strict/stable microk8s addons: dns hostpath-storage metallb:10.64.140.43-10.64.140.49 juju 3.4/stable (3.4.4)