madecoste / swarming

Automatically exported from code.google.com/p/swarming
Apache License 2.0
0 stars 1 forks source link

Remove 'os' from .isolated files. #79

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Use case:
1. Archive an OS agnostic job, for example running pure python or pnacl code. 
For example from swarming/client run on ubuntu:
   ./isolate.py archive -i example/payload/hello_world.isolate -s i.isolated -I isolateserver.appspot.com

2. Run the .isolated on another OS than the OS that archived it via Swarming. 
For example from swarming/client run on ubuntu:
   ./swarming.py run -I isolateserver.appspot.com -S https://chromium-swarm.appspot.com -d os Windows-5.1 cc0f218f629175564d6da6264b2cad19f1e612ea --task-name maruel/Windows-5.1/cc0f218f629175564d6da6264b2cad19f1e612ea

Expected:
Works fine.

Actual:
vm166-m4.golo.chromium.org/vm166-m4: 1, 0
  [==========] Running 2 tests from maruel/Windows-5.1/cc0f218f629175564d6da6264b2cad19f1e612ea test run.
  [------ Swarming Error ------]
  Expected 'os' to be 'win' but got 'linux'
  Traceback (most recent call last):
    File "run_isolated.zip\__main__.py", line 690, in run_tha_test
      require_command=True)
    File "run_isolated.zip\isolateserver.py", line 1816, in fetch_isolated
      settings.load(fetch_queue, isolated_hash, os_flavor, algo)
    File "run_isolated.zip\isolateserver.py", line 1743, in load
      item.load(os_flavor, fetch_queue.cache.read(item_hash))
    File "run_isolated.zip\isolateserver.py", line 1665, in load
      self.data = load_isolated(content, os_flavor, self.algo)
    File "run_isolated.zip\isolateserver.py", line 1609, in load_isolated
      (os_flavor, value))
  ConfigError: Expected 'os' to be 'win' but got 'linux'
  [----------------------------]

Workaround:
Use  --config-variable OS win when archiving so the command looks like:
   ./isolate.py archive -i example/payload/hello_world.isolate -s i.isolated -I isolateserver.appspot.com --config-variable OS win

but that should not be necessary. Back in the days it was a safety check but 
now it is only an hinderance.

Original issue reported on code.google.com by maruel@chromium.org on 14 Feb 2014 at 3:16

GoogleCodeExporter commented 9 years ago

Original comment by maruel@chromium.org on 13 Mar 2014 at 10:17