Page MenuHomePhabricator

LNT Make machine selection/update more flexible
ClosedPublic

Authored by MatzeB on Aug 23 2017, 3:45 PM.

Details

Summary

Note: This patch is in response to the discussion in D35598. It allows to choose between different behaviors on mismatching machine information including the previous behavior of creating a new machine with the same name. My original plan was to always enforce unique machine names and append number suffixes in the duplication/splitting case. But it turns out this was extremely hard to implement correctly while support concurrent accesses, so I went with the previous solution instead where we can have multiple machines with the same name but different ids.

r309247 changed LNTs response to mismatching machine information to
either reject the submission or update the existing machine data. Some
users prefer the previous behavior of creating a separate machine with
the same name instead.

This changes LNT interface to accept an select-machine parameter:

  • match: Rejects submission with mismatching machine information
  • update: Updates the existing machine on mismatching machine information.
  • split: Creates a new machine with the same name (but different id number) when none of the existing ones match the machine information.

Diff Detail

Repository
rL LLVM

Event Timeline

MatzeB created this revision.Aug 23 2017, 3:45 PM
jgreenhalgh edited edge metadata.Sep 4 2017, 10:02 AM
jgreenhalgh added a subscriber: leandron.

Thanks for this. I don't know LNT well enough to review the code, but the top-level summary makes sense to me.

@leandron might be able to give more feedback on the code itself.

Thanks for the fix, and sorry for my long delay in getting back to you.

MatzeB added a comment.Sep 6 2017, 2:49 PM

Thanks for this. I don't know LNT well enough to review the code, but the top-level summary makes sense to me.

@leandron might be able to give more feedback on the code itself.

Thanks for the fix, and sorry for my long delay in getting back to you.

Thanks. I'm going to push this now as you seem to be fine with the user interface. We can still tweak the implementation later if necessary and I'd like to push this now to avoid further rebasing.

This revision was automatically updated to reflect the committed changes.