clusterfuck

This commit is contained in:
Astro 2022-03-04 03:00:23 +01:00
parent 9a27a67433
commit 8b39530d40
2 changed files with 24 additions and 21 deletions

View File

@ -33,7 +33,7 @@ in
gluster volume create lxc ${lib.concatMapStringsSep " " (server: gluster volume create lxc ${lib.concatMapStringsSep " " (server:
"\"${server}:$DIR\"" "\"${server}:$DIR\""
) (hostsWithRole "server")} ) (hostsWithRole "server")} force
gluster volume set shared network.ping-timeout 2 gluster volume set shared network.ping-timeout 2
gluster volume start lxc gluster volume start lxc
@ -54,32 +54,34 @@ in
</primitive> </primitive>
'') (hostsWithRole "container")} '') (hostsWithRole "container")}
${lib.optionalString (! config.virtualisation ? qemu) '' <clone id="Connected">
<clone id="Connected"> <primitive id="ping" provider="pacemaker" class="ocf" type="ping">
<primitive id="ping" provider="pacemaker" class="ocf" type="ping"> <instance_attributes id="ping-attrs">
<instance_attributes id="ping-attrs"> <nvpair id="pingd-dampen" name="dampen" value="5s"/>
<nvpair id="pingd-dampen" name="dampen" value="5s"/> <nvpair id="pingd-timeout" name="timeout" value="2s"/>
<nvpair id="pingd-timeout" name="timeout" value="2s"/> <nvpair id="pingd-multiplier" name="multiplier" value="1000"/>
<nvpair id="pingd-multiplier" name="multiplier" value="1000"/> <nvpair id="pingd-hosts" name="host_list" value="${
<nvpair id="pingd-hosts" name="host_list" value="${lib.concatMapStrings (host: lib.concatMapStringsSep " " (host:
if config.site.net.mgmt.hosts4 ? ${host} if config.site.net.mgmt.hosts4 ? ${host}
then config.site.net.mgmt.hosts4.${host} then config.site.net.mgmt.hosts4.${host}
else host else host
) config.site.cluster.pacemaker.pingdHosts}"/> ) config.site.cluster.pacemaker.pingdHosts
</instance_attributes> }"/>
<operations> </instance_attributes>
<op id="ping-monitor-10s" interval="10s" name="monitor"/> <operations>
</operations> <op id="ping-monitor-10s" interval="10s" name="monitor"/>
</primitive> </operations>
</clone> </primitive>
''} </clone>
</resources> </resources>
''; '';
constraints = builtins.toFile "cib-constraints.xml" '' constraints = builtins.toFile "cib-constraints.xml" ''
<constraints> <constraints>
${lib.concatMapStrings (server: '' ${lib.optionalString (! config.virtualisation ? qemu) (
<rsc_location id="ping-on-${server}" node="${server}" rsc="ping" score="100"/> lib.concatMapStrings (server: ''
'') (hostsWithRole "server")} <rsc_location id="ping-on-${server}" node="${server}" rsc="ping" score="100"/>
'') (hostsWithRole "server")
)}
</constraints> </constraints>
''; '';
in writeScriptBin "setup-pacemaker" '' in writeScriptBin "setup-pacemaker" ''

View File

@ -131,7 +131,8 @@ let
systemctl restart lxc@$c systemctl restart lxc@$c
) )
else else
echo Ignoring not-running container $c echo Clearing pacemaker state for container $c
crm_resource -r lxc-$c -C
fi fi
done done
set -e set -e