Page MenuHomePhabricator

Reconcile and/or understand differences between cloud-vps and prod hiera lookups
Closed, ResolvedPublic

Description

Some search path differences are appropriate here (e.g. not looking for production host name matches) but we have some other differences that seem to be historical or accidental mistakes. Making things more similar would certainly reduce accidental breakages when changes are made in either realm.

  • prod uses nuyaml3, cloud uses nuyaml1 There might have been a reason to not upgrade cloud puppetmasters at the time, but there's no reason to think that reason persists.

Event Timeline

Restricted Application added a subscriber: Aklapper. · View Herald Transcript
Phamhi lowered the priority of this task from High to Medium.Mar 9 2021, 5:49 PM

prod uses nuyaml3, cloud uses nuyaml1 There might have been a reason to not upgrade cloud puppetmasters at the time, but there's no reason to think that reason persists.

This is no longer true nuyaml has gone.

prod uses expand_paths in the common/ subdir, cloud-vps does not. https://gerrit.wikimedia.org/r/#/q/69e55590c178c585fafe7e691db6da25e93ee248

I belive the reason that production is to prevent us from having a massive common.yaml file and potential rebasing issues that can have

Other differences

  • Cloud so makes use of cloudlib::httpyaml to fetch data from openstack.
  • cloud has some additional parts to the hierarcy e.g.
    • "cloud/%{::wmcs_deployment}/%{::labsproject}/hosts/%{::hostname}.yaml"
    • "cloud/%{::wmcs_deployment}/%{::labsproject}/common.yaml"
    • "cloud/%{::wmcs_deployment}.yaml"
    • "cloud.yaml"
  • cloud can also use a secret repo out side of git (on the puppetmaster FS)
    • /etc/puppet/secret/hieradata/%{::labsproject}.yaml
  • cloud use a different hierarcy in the private repo
    • "labs/%{::labsproject}/common.yaml"
    • "%{::labsproject}.yaml"
    • "labs.yaml"
jbond claimed this task.

I think this can potentially be better handled in the parent task but please reopen if you disagree