skylab_inventory blocks host migration |
||||||
Issue description
Traceback (most recent call last):
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/cli/atest.py", line 90, in main
results = action_obj.execute()
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/cli/host.py", line 1239, in execute
return self.execute_skylab_migration(hostnames)
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/cli/host.py", line 1352, in execute_skylab_migration
text_manager.dump_lab(prod_data_dir, prod_lab)
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/site-packages/skylab_inventory/text_manager.py", line 238, in dump_lab
sort_lab(lab_msg)
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/site-packages/skylab_inventory/text_manager.py", line 224, in sort_lab
servo_host_connections.sort(key=lambda x: (x.servo, x.controlled_device))
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/site-packages/chromite/third_party/google/protobuf/internal/containers.py", line 227, in sort
self._values.sort(*args, **kwargs)
File "/usr/local/google/home/xixuan/chromiumos/src/third_party/autotest/files/site-packages/skylab_inventory/text_manager.py", line 224, in <lambda>
servo_host_connections.sort(key=lambda x: (x.servo, x.controlled_device))
AttributeError: 'ServoHostConnection' object has no attribute 'servo'
Unexpected exception: 'ServoHostConnection' object has no attribute 'servo'
But no servo and no controlled_device in protos/connection.proto.
,
Aug 28
,
Aug 28
Did you run update_lab_tools?
,
Aug 28
Also, for me to repro this, which DUT were you trying to migrate? Please paste your commandline here.
,
Aug 28
,
Aug 28
My migration command: with CL: https://chromium-review.googlesource.com/c/chromiumos/third_party/autotest/+/1194431 ./cli/atest host migrate --board=reef --pool=bvt --env=prod -w http://cautotest.corp.google.com --migration I repo sync skylab_inventory & ran build_externals.py to make skylab_inventory up-to-date. The problem should be here, the servo and controlled_device are removed: https://chromium-review.googlesource.com/c/chromiumos/infra/skylab_inventory/+/1175318/5/protos/connection.proto But in text_manager, they're also used for sorting.
,
Aug 28
Ah, this is already fixed by a CL waiting for review: https://chromium-review.googlesource.com/c/chromiumos/infra/skylab_inventory/+/1187276
,
Aug 29
,
Aug 30
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/third_party/autotest/+/f8a6375bcbfe635c1f6dc8dad1438ec4e9547784 commit f8a6375bcbfe635c1f6dc8dad1438ec4e9547784 Author: Prathmesh Prabhu <pprabhu@chromium.org> Date: Thu Aug 30 21:42:13 2018 autotest: Delete logic around unsupported connectivity class BUG= chromium:878513 TEST=None Change-Id: Ibda28e26fcf99cac904db3dab9d85ab145e19bfa Reviewed-on: https://chromium-review.googlesource.com/1194434 Commit-Ready: Prathmesh Prabhu <pprabhu@chromium.org> Tested-by: Prathmesh Prabhu <pprabhu@chromium.org> Reviewed-by: Prathmesh Prabhu <pprabhu@chromium.org> [modify] https://crrev.com/f8a6375bcbfe635c1f6dc8dad1438ec4e9547784/server/hosts/factory_unittest.py [modify] https://crrev.com/f8a6375bcbfe635c1f6dc8dad1438ec4e9547784/server/hosts/factory.py [modify] https://crrev.com/f8a6375bcbfe635c1f6dc8dad1438ec4e9547784/global_config.ini |
||||||
►
Sign in to add a comment |
||||||
Comment 1 by pprabhu@chromium.org
, Aug 28