-
Notifications
You must be signed in to change notification settings - Fork 831
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
Loosen v1 microservice dependencies #4911
base: master
Are you sure you want to change the base?
Conversation
Hi @mwm5945. Thanks for your PR. I'm waiting for a SeldonIO or todo member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. |
/test integration |
Will re-open in a bit--some "enterprise" stuff going on over here :) |
@RafalSkolasinski should be gtg now! thanks! |
/test integration |
/test notebooks |
There seem to be some python lint errors:
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
@igor-shai @cliveseldon should be fixed! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good! Once tests pass, this should be good to go @mwm5945 🚀
/test integration |
/test notebooks |
@adriangonz I don't have access to see why the above tests failed, any ideas? |
It seems like flaky integration errors. I'll re-trigger the tests @mwm5945 . |
/retest |
/test integration |
@adriangonz anything i can do on my end? |
It's unclear TBH - integration tests are not showing the logs with the failure for some reason. Most likely, it's something strange with our CI. I'll run them locally and get back to you. In the meantime, could you rebase from |
Just had a quick look locally @mwm5945, and the issue seems to be that Traceback (most recent call last):
File "./conda_env_create.py", line 13, in <module>
from seldon_core.microservice import PARAMETERS_ENV_NAME, parse_parameters
File "/opt/conda/lib/python3.8/site-packages/seldon_core/microservice.py", line 15, in <module>
from seldon_core import wrapper as seldon_microservice
File "/opt/conda/lib/python3.8/site-packages/seldon_core/wrapper.py", line 10, in <module>
import seldon_core.seldon_methods
File "/opt/conda/lib/python3.8/site-packages/seldon_core/seldon_methods.py", line 21, in <module>
from seldon_core.proto import prediction_pb2
File "/opt/conda/lib/python3.8/site-packages/seldon_core/proto/prediction_pb2.py", line 19, in <module>
from seldon_core.proto.tensorflow.core.framework import tensor_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__pb2
File "/opt/conda/lib/python3.8/site-packages/seldon_core/proto/tensorflow/core/framework/tensor_pb2.py", line 16, in <module>
from . import resource_handle_pb2 as tensorflow_dot_core_dot_framework_dot_resource__handle__pb2
File "/opt/conda/lib/python3.8/site-packages/seldon_core/proto/tensorflow/core/framework/resource_handle_pb2.py", line 16, in <module>
from . import tensor_shape_pb2 as tensorflow_dot_core_dot_framework_dot_tensor__shape__pb2
File "/opt/conda/lib/python3.8/site-packages/seldon_core/proto/tensorflow/core/framework/tensor_shape_pb2.py", line 36, in <module>
_descriptor.FieldDescriptor(
File "/opt/conda/lib/python3.8/site-packages/google/protobuf/descriptor.py", line 561, in __new__
_message.Message._CheckCalledFromGeneratedFile()
TypeError: Descriptors cannot not be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
1. Downgrade the protobuf package to 3.20.x or lower.
2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower). To workaround it, it's best to constrain |
hmm...that should be covered here, no? Line 8 in 1c53926
|
The The wider problem with that is that the generated protobuf code is linked to a major version of protobuf. That is, protobuf classes generated with So what I would do is move that |
problem there is that it creates conflicts with other sets of dependencies, such as RapisAI/cuML |
Right, I see... one potential workaround is to ensure the "official" Docker images do use Having said that though, it's unclear how that would work when |
BTW: Do you know how |
|
Mmmh that's annoying - in that case, what do you think about the workaround suggested in #4911 (comment)? |
very haha. Im actually wondering why TF doesn't declare a version of protobuf in their requirements list....seems like a hard requirement that should be defined on their side--which would solve the issue here because Pip should resolve the version on our behalf.... the workaround is certainly less than elegant.... im by no means a python expert, is there something we can do like how importlib is installed here? |
As far as I'm aware, the main problem is that the protobuf stubs generated (which are statically generated and ship with the Python package - under the Having said that, I just noticed that We'll have a deeper look at the above, and will post an update once we confirm if possible. |
great, thanks! from my perspective it doesn't look like the issue comes from seldon's protos, rather the dependency on TF protos |
Hey @mwm5945, We've had a deeper look at this one, and it does seem like gRPC stubs generated with
Once that's done, we can then re-trigger the integration tests to confirm that everything works as expected. |
working on this--bit of a delay dealing with policies/corporate proxies :) |
@adriangonz should be pushed now :) |
/test integration |
Thanks for making those changes @mwm5945 . The integration tests seem to be failing now for an unrelated issue. Once we get that fixed in |
@adriangonz updated! |
/test integration |
Mmmh it seems the protobuf incompatibility is still there for some reason. We'll try to replicate locally to get more info. |
sure--let me know if there's anything i can help with! |
@adriangonz just wanted to check in and see if there's anything I can do to help! |
Hey @mwm5945 , After having a deeper look into the integration tests failures, the issue seems to be with the dependencies installed to run the integration tests (and not the image / python package ones). This is the file under I've bumped those into a separate PR (#5058), so once that goes in we should be able to rebase this one and that should (hopefully) fix the integration tests. |
great--i'll keep an eye out!! thanks! |
@adriangonz done! |
/test integration |
1 similar comment
/test integration |
@mwm5945: The following tests failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the jenkins-x/lighthouse repository. I understand the commands that are listed here. |
|
What this PR does / why we need it:
Resolves #4899. Loosens requirements to allow for ML frameworks to define them.
Which issue(s) this PR fixes:
Fixes #4899
Special notes for your reviewer: