Details
Description
In PUP-9112 we stopped translating puppet's undef to Ruby symbol :undef in the resource API. As a consequence, if trying to tag with an undef value this ended up as an empty string (nil.to_s is an empty string). This was then correctly flagged as an error.
The change in PUP-9112 thus revealed a long standing bug, where tagging with undef actually tagged the resource with the string "undef", which is completely useless since it cannot be used or queried using undef.
Any undef/nil values should simply be dropped in the tagging process.