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

View File

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