Hi,
Brooke already started refactoring puppet code for toolforge-stretch, and both Giovanni and me are following with other side of the code (currently, service nodes T207591).
I'm starting with the refactor myself and I have some doubts on how to better organize the code. I think it's really important we agree on how to do this beforehand, and also I may lack some knowledge on best practices etc, so I'm sharing some ideas for you to comment on.
The following wikitech page contains 3 model options I think can be applied:
https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Admin/puppet_refactor
Brooke has probably some ideas on this, since she already started.
Please comment, and forgive my ignorance if the answer to my questions are obvious. Regards.
PD: CC'ing Chase, because he did the massive CloudVPS refactor in the past.