Variables scoped to a single machine: what happens to the variable if the machine is removed from Octopus?

Looking for feedback on what happens to a project variable that’s scoped to a single machine, if that single machine is deleted from Octopus.

I think what I’m seeing is that the variable stays in-place, but the machine-level scope is removed, with the effect that the variable has unlimited scope. Is this the case?

If that’s the case, would it be possible to receive some sort of alert in the Octopus project? I raise the question because it’s something I would overlook, and I have some use cases where I would want the variable not to apply.

For some context, here’s one use case:

In the Octopus variables of my web project, I have one variable, “SkipSmokeTests”, that I set to true for a single machine X, and I don’t bother to set a default value of SkipSmokeTests=false for the general case of 5 other servers. My PostDeploy.ps1 will forego a suite of tests only if it detects SkipSmokeTests has value true. If I delete machine X from my Octopus environment, will it be the case that SkipSmokeTests will have value true for those 5 other servers?



Yes, there’s a bug in 1.6 where upon deleting, we just remove the value from the scope, making it the default. We did this because we didn’t think people would want to loose their variables, but in hindsight that was a bad design.

We’ve fixed this in 2.0 - the deletion will cascade and delete the variable as you would expect.


Got it. Thanks very much for the info.