Blender_cache needs to stay.
Rather than tell me what the fix is, how about explaining what the problem is first? What "is broken" ?
What are the things you are trying to do, and what behavior are you seeing that is unexpected?
The variable host is filled with the dns_name. Later this host variable is used as key in the blended_cache. That means that for all systems with an equal dns_name the same cache entry is used. This includes all systems with an empty dns_name that use a single cache entry. This cache entry is then the blended system record of the first system with an empty dns_name.
To make this behaviour visible you can print the blended_system["name"] on the screen and you will see that it lists always the same system name for all interfaces that have an empty dns_name field
Please find attached a new patch that only fixes the caching bug. The caching is now based on the system.name instead of the interface.dns_name field.
This patch can also be used on master. The same is for the host-name patch.
Peter
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.