Skip to content
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

Error when worker version doesn't match server #307

Closed
aarontp opened this issue Nov 16, 2018 · 2 comments
Closed

Error when worker version doesn't match server #307

aarontp opened this issue Nov 16, 2018 · 2 comments

Comments

@aarontp
Copy link
Member

aarontp commented Nov 16, 2018

We'll have to add version info to TurbiniaTask so that workers can reject tasks when there is a mis-match between the versions used by the server and the workers. Strange errors can occur when the workers are running a different version from the server.

@fpiedrah
Copy link
Contributor

fpiedrah commented Dec 12, 2018

@aarontp Hi! I'll want to take this task. Let me ask a couple of things first:

  1. We need a version in workers.TurbiniaTask should this version be turbinia.__version__?
  2. This version could be just an attribute inside workers.TurbiniaTask class?
  3. This task requires to create the code inside the workers in order to reject the requests that have version mis-match?

Just making sure I'm in the right track before I start making code.

@aarontp
Copy link
Member Author

aarontp commented Dec 12, 2018

@fpiedrah Great, thanks much!

  1. Yes, turbinia.__version__ should be the common version referenced by all components.
  2. Yes, that sounds good.
  3. Also Yes: I think it should probably happen somewhere near the start of the TurbiniaTask.run_wrapper(). Note that for the error to propagate back to the server, it will need to be returned as part of the TurbiniaTaskResult(), so it should happen after the result is created, but before the TurbiniaTask.run() method is called. It would be good if the self.result.status also indicated the error (so it shows up in the client output).

I think clarifying and communicating on this before you started was a good idea, so thanks for doing that, :).

aarontp pushed a commit that referenced this issue Jan 8, 2019
* Added turbina_version to TurbinaTask

* First approach

* Changed to no rise error and return instead

* Restored the run from run_wrapper

* Changed format of strings

* Changed words fixed line too long
ericzinnikas pushed a commit to ericzinnikas/turbiniafb that referenced this issue Jan 10, 2019
* Pin specific Celery/Kombu/Redis versions (google#305)

* in TurbiniaTaskResult, input_evidence doesn't have to be a list (google#309)

* input_evidence doesn't have to be a list

* Fix exception

* current pypi version of google-cloud-storage (1.13.0) requires google-cloud-core 0.28.1 (before the rename of google.cloud.iam (core) to google.api_core.iam (google#315)

* Use a link to a "parent Evidence" instead of subclassing (google#296)

* parent evidence

* undo some simplifications for the sake of a simpler CL

* Add some serialization

* update docstring

* Initialize attribute

* set parent evidence if Evidence type is context dependant

* don't pass parent_evidence at instantiation

* undo linter stuff

* comments

* fix aim lib breaking tests

* typo

* Print version on start 3 (google#320)

* Add files via upload

* Delete turbiniactl.py

* Delete turbiniactl.py

* Add files via upload

* Delete turbiniactl.py

* Add files via upload

* Update turbiniactl.py

* Caps

* Quick update to evidence docstrings (google#317)

... to disambiguate between _preprocess() and preprocess().

* Add Job filters (google#247)

* Add job filters

* fix docstrings.

* update docstring

* Get jobs filters working with new job manager

* Refactor out FilterJobObjects into new method

* Update YAPF

* remove missed confict markers

* Docstrings and renaming

* Migrate job graph generator to use new manager (google#321)

* Update Evidence local_path when it's saved (google#319)

* Pin google-cloud-storage to 1.13.0 (google#326)

Fixes google#325

Looks like google-cloud-storage was updated in:
googleapis/google-cloud-python#6741

Which just got released as 1.13.1:
https://pypi.org/project/google-cloud-storage/#history

* Set image export to process all partitions (google#324)

* Add --partitions all to image_export invocations

* Fix typo

* Explicitly set saved_paths to list (google#323)

* Move version print after log level setup (google#322)

* Move version print after log level setup

* Remove extra whitespace

* update the pystyle link (google#333)

* Undefined name: Define 'unicode' in Python 3 (google#337)

* Undefined name: Define 'unicode' in Python 3

__unicode()__ was removed in Python 3 because all __str__ are Unicode.

[flake8](http://flake8.pycqa.org) testing of https://github.com/google/turbinia on Python 3.7.1

$ __flake8 . --count --select=E901,E999,F821,F822,F823 --show-source --statistics__
```
./tools/turbinia_job_graph.py:47:40: F821 undefined name 'unicode'
  parser.add_argument('filename', type=unicode, help='where to save the file')
                                       ^
1     F821 undefined name 'unicode'
1
```

* Placate PyLint

* Added PSQ timeout to 1 week (google#336)

* Error when worker version doesn't match server google#307 (google#327)

* Added turbina_version to TurbinaTask

* First approach

* Changed to no rise error and return instead

* Restored the run from run_wrapper

* Changed format of strings

* Changed words fixed line too long

* bump version
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants