if i use manage_serial true in bind_primary_zone_template and update record in that zone, the serial is not counting up any longer.
I guess you have revert the line
the correct(old) was:
persisted_values = node.normal['bind']['zone'][new_resource.file_name]
the incorrect (new) is:
persisted_values = node.default['bind']['zone'][new_resource.file_name]
according to https://docs.chef.io/attributes/
A normal attribute is a setting that persists in the node object. A normal attribute has a higher attribute precedence than a default attribute.