-
Notifications
You must be signed in to change notification settings - Fork 835
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Predictive Unit/Deployment Environment Variables not set by operator #1449
Comments
I imagine they are always set as this seems to be the only place that sets them. Do you have an example where they are not set? However, its probably safe to always set them see I can't the user wanting to override them. |
Oh that's a good point, yeah you're right, if the user already set them we wouldn't want to override them. Yeah the example I have is the Streaming one, but the main reason is because I actually set PREDICTIVE_UNIT_SERVICE_PORT, however I still require these three variables to be set by the operator - is there a reason why these three variables are only set if the PORT env is not specificed? Otherwise it would be good to still set them (unless as you say it has been previously overridden) |
OK. I don't think we had a use case where the user sets PREDICTIVE_UNIT_SERVICE_PORT rather than the Operator doing it. I would suggest ensuring the Operator can't set the value itself - you can always set the port in the graph spec - see Tensorflow example in procotol_examples notebook. I would suggest a change where we always set the other 3 envs and maybe check for the PREDICTIVE_UNIT_SERVICE_PORT if we think its really useful that a user could set it different from the port value in the graph - otherwise we should always set it. |
Sounds perfect, I think both suggestions make sense. Setting the other 3 env vars whilst still taking into account overrides would be useful. I actually didn't know you could set the port on the graph, but that makes more sense. |
One more thing to note (and perhaps something to discuss further) is that for the batch PR I had to also add another environment variable called PREDICTIVE_UNIT_SERVICE_HOST as it's necessary to provide the host to which the streaming service will be connecting. However now that you mention it it may make more sense to introduce a new environment variable as this would not be a service host, but more of a data source. |
Always set variables for predictive unit and deployment identifiers [Fixes #1449]
Currently there are three parameters which should be set by the operator but are not being set, including:
These three seem are only set if the environment variable for the PREDICTIVE_UNIT_SERVICE_PORT is not set, as per:
seldon-core/operator/controllers/seldondeployment_controller.go
Lines 680 to 687 in 2577801
These three environment variables would be useful to have within the container even when the port is not set, so would be good to move those out from the if statement.
However it would be important to understnad whether there is a historical reason why this was set, and whether removing it could cause issues.
The text was updated successfully, but these errors were encountered: