It's a late night and I'm diving into puppet manual. Who would know, that the bug I was hunting was the result of the following considiration:
node 'kestrel.example.com' {
import 'nodes/kestrel.pp'
}
This import statement looks like it should insert code INTO the node definition that contains it; instead, it will insert the code outside any node definition, and it will do so regardless of whether the node definition matches the current node.
http://docs.puppetlabs.com/puppet/2.7/reference/lang_import.html
Really the one who let it be this way was no less then a retarded ruby programmer...