dnceng icon indicating copy to clipboard operation
dnceng copied to clipboard

Helix-Machines deployment parameter hash is insufficient

Open chcosta opened this issue 1 year ago • 4 comments

During deployments, we calculate a hash of deployment parameters which we use to determine whether anything has changed in an image definition (definitions/shared/*). That code piece appears to have decayed a bit and not been kept up to date as the schema for our definitions is modified. We should either take a pass and update the code, or refactor it to automatedly determine / compare parameter values.

Deployment parameter hash function: https://dev.azure.com/dnceng/internal/_git/dotnet-helix-machines?path=/src/DeployQueues/QueueManager.cs&version=GCa27e0dbf09977a1b51b56ae775aabf1d272ea5a0&line=873&lineEnd=903&lineStartColumn=1&lineEndColumn=1&lineStyle=plain&_a=contents

Related issue: https://github.com/dotnet/dnceng/issues/4156

Release Note Category

  • [ ] Feature changes/additions
  • [ ] Bug fixes
  • [ ] Internal Infrastructure Improvements

Release Note Description

chcosta avatar Sep 23 '24 17:09 chcosta

IIRC bits are missing from the hash b/c the returned information lacks the necessary information. do you have an example of something that is returned but is ignored in the hash calculation❓

dougbu avatar Oct 01 '24 05:10 dougbu

this remains an interesting problem w/ a few dimensions. for the hashes used when deciding whether to update scale set templates, might be best to hash the template we'll upload and tag the scale set w/ the information

dougbu avatar Feb 25 '25 00:02 dougbu

for the existing hashes on our images, I'm not sure what to do since we need to have something that filters the definitions YAML to pick up what we need (an allow list like we have now but w/ fewer properties ignored) or filter out what we don't need (bit ugly since that would require a lot of reflection). I lean toward improving what we have today and putting more process weight behind it

/cc @riarenas

dougbu avatar Feb 25 '25 00:02 dougbu

@epananth @wfurt add to Machine Management work please.

missymessa avatar Oct 07 '25 20:10 missymessa