Since I53cb63ffa4ae50575d4fa37b24323ad13ec1bac3 some puppet runs are
failing because system-config:playbooks/roles/set-hostname moved to
roles/set-hostname and became a symlink. rsync refuses to overwrite
the directory with a symlink because it seems to not be empty, because
we never removed the files in it.
Handle the possibility of things moving around like this by
specifying delete so old files are cleared out.
Finally set manifest_base dir ownership and mode to address linter E208.
Depends-On: https://review.opendev.org/762181
Change-Id: I249d713214d8383a3ccfe1a400404cbdcb97dcc6
rsyncing the puppet modules can be super chatty and not super
interesting. Add a flag to turn it off.
Change-Id: I7206955aeb335adafb8625c89d8b8a70078d666c
When we're logging inside of ansible, turning off ansi colors can
be nice. Especially inside of Zuul.
Change-Id: I719ebb106fbb31795cc02c9504507bdae607bcdd
Newer ansible (2.7) is far more picky about always blocks being a part
of block blocks. This means you cannot have a set of when conditions
apply to a standalone always block. Fix our use of this by putting our
always block in the run puppet block then move the always tasks into a
block of their own with a condition set.
Change-Id: I50988b6b312e4d00b73ca4454e0420913d4ae181
On a bare system, bridge.o.o will be trying to rsync /opt/system-config/
to /opt/system-config/production - but if /opt/system-config doesn't
exist on the remote host, the rsync will fail. Make sure we create the
directory.
Change-Id: Id56a537fe2352c099b81559eb4032138ba108bed
In order to support the layouts being different on the management server
and the remote nodes, we need to also be able to override the location
of the link that gets made. Add a variable that defaults to the old
value.
Change-Id: I7434c1b1a9d79f04b3e872e750057d69490e80e0
We have it currently hardcoded that the manifests on the management
server are going to have an environment path. Add a variable to allow
override of that idea.
Change-Id: I226c030332ff93c3ee74650c7ab725994971f007
Needed-By: https://review.openstack.org/592763
If we set puppet_version as an inventory variable, then we can drive
behavior from that variable, including updating puppet. Add the ability
to set it here. A followup change in system-config will start setting
it, but starting off it should be a no-op.
Change-Id: I773ba3a2137b62ae2b3440dd02b3cdfb2099a62d
Infra has adopted the approach of indenting lists an extra level
instead of starting their '-' at the same level as the parent element.
Additionally, Infra uses .yaml extensions instead of .yml extensions.
This role predates Infra having enough ansible to have opinions, so
update it to match current practice.
Also, while we're in there, update when clauses that have an 'and' in
them to just use the list form of when, and change 'include:' to
'include_tasks:'.
Change-Id: Icbeaf99c4d103091ee094e2fa219d7e16229b998