The issue here revolves around Apache Tomcat taking its context root from the name of the war file and war file names needing to change to reflect the version number and the fact that the version has moved on.
MODULES-1545 discusses an issue whereby a new version of a war file fails to get deployed.
That issue was raised in November 2014. The following month, a solution was posted by Patrick O'Dwyer. If I understand it correctly, his solution is forget about using tomcat::war and instead add the following to your Puppet code:
A year later Daniel Haag proposed fixing the problem with a change to this module's war.pp file, replacing:
I don't understand why it hasn't made it into the current version.