The operating system package management system can be used to upgrade the Facter and Puppet. I have done in the same way for my past projects too. When you are updating Puppet then make sure old versions are deleted completely and they are replaced with the fresh ones.