Compare commits

..

7 commits

Author SHA1 Message Date
d9b84aaf7e
wip 2023-09-25 16:59:37 +02:00
61da5978dc
wip 2023-09-25 16:59:37 +02:00
6b21f2e8fd
wip 2023-09-25 16:59:37 +02:00
314c968006
wip 2023-09-25 16:59:35 +02:00
0eb37a909e
bundles/macbook/files/macbook-update: xcode acept license 2023-09-25 16:59:23 +02:00
2211571689
exclude some dummies 2023-09-25 16:59:03 +02:00
6cb4275e31
bin/upgrade_and_restart_all: use /var/run/reboot-required 2023-09-25 16:58:34 +02:00
4 changed files with 12 additions and 8 deletions

View file

@ -10,7 +10,6 @@ nodes = [
for node in sorted(repo.nodes_in_group('debian')) for node in sorted(repo.nodes_in_group('debian'))
if not node.dummy if not node.dummy
] ]
reboot_nodes = []
print('updating nodes:', sorted(node.name for node in nodes)) print('updating nodes:', sorted(node.name for node in nodes))
@ -25,13 +24,12 @@ for node in nodes:
print(node.run('DEBIAN_FRONTEND=noninteractive apt list --upgradable').stdout.decode()) print(node.run('DEBIAN_FRONTEND=noninteractive apt list --upgradable').stdout.decode())
if int(node.run('DEBIAN_FRONTEND=noninteractive apt list --upgradable 2> /dev/null | grep upgradable | wc -l').stdout.decode()): if int(node.run('DEBIAN_FRONTEND=noninteractive apt list --upgradable 2> /dev/null | grep upgradable | wc -l').stdout.decode()):
print(node.run('DEBIAN_FRONTEND=noninteractive apt -y dist-upgrade').stdout.decode()) print(node.run('DEBIAN_FRONTEND=noninteractive apt -y dist-upgrade').stdout.decode())
reboot_nodes.append(node)
# REBOOT IN ORDER # REBOOT IN ORDER
wireguard_servers = [ wireguard_servers = [
node node
for node in reboot_nodes for node in nodes
if node.has_bundle('wireguard') if node.has_bundle('wireguard')
and ( and (
ip_interface(node.metadata.get('wireguard/my_ip')).network.prefixlen < ip_interface(node.metadata.get('wireguard/my_ip')).network.prefixlen <
@ -41,7 +39,7 @@ wireguard_servers = [
wireguard_s2s = [ wireguard_s2s = [
node node
for node in reboot_nodes for node in nodes
if node.has_bundle('wireguard') if node.has_bundle('wireguard')
and ( and (
ip_interface(node.metadata.get('wireguard/my_ip')).network.prefixlen == ip_interface(node.metadata.get('wireguard/my_ip')).network.prefixlen ==
@ -51,7 +49,7 @@ wireguard_s2s = [
everything_else = [ everything_else = [
node node
for node in reboot_nodes for node in nodes
if not node.has_bundle('wireguard') if not node.has_bundle('wireguard')
] ]
@ -62,8 +60,9 @@ for node in [
*wireguard_s2s, *wireguard_s2s,
*wireguard_servers, *wireguard_servers,
]: ]:
print('rebooting', node.name)
try: try:
print(node.run('systemctl reboot').stdout.decode()) if node.run('test -e /var/run/reboot-required').return_code == 0:
print('rebooting', node.name)
print(node.run('systemctl reboot').stdout.decode())
except Exception as e: except Exception as e:
print(e) print(e)

View file

@ -25,7 +25,8 @@ def backup_freshness_check(metadata):
'datasets': { 'datasets': {
f"{other_node.metadata.get('id')}/{dataset}" f"{other_node.metadata.get('id')}/{dataset}"
for other_node in repo.nodes for other_node in repo.nodes
if other_node.has_bundle('backup') if not other_node.dummy
and other_node.has_bundle('backup')
and other_node.has_bundle('zfs') and other_node.has_bundle('zfs')
and other_node.metadata.get('backup/server') == metadata.get('backup-freshness-check/server') and other_node.metadata.get('backup/server') == metadata.get('backup-freshness-check/server')
for dataset, options in other_node.metadata.get('zfs/datasets').items() for dataset, options in other_node.metadata.get('zfs/datasets').items()

View file

@ -35,6 +35,7 @@ def zfs(metadata):
for other_node in repo.nodes: for other_node in repo.nodes:
if ( if (
not other_node.dummy and
other_node.has_bundle('backup') and other_node.has_bundle('backup') and
other_node.metadata.get('backup/server') == node.name other_node.metadata.get('backup/server') == node.name
): ):

View file

@ -10,6 +10,7 @@ password required pam_deny.so
session required pam_permit.so session required pam_permit.so
EOT EOT
sudo xcodebuild -license accept
xcode-select --install xcode-select --install
git -C ~/.zsh/oh-my-zsh pull git -C ~/.zsh/oh-my-zsh pull
@ -41,3 +42,5 @@ fi
sudo systemsetup -setremotelogin on # enable ssh sudo systemsetup -setremotelogin on # enable ssh
pip install --upgrade pip pip install --upgrade pip
# https://sysadmin-journal.com/apache-directory-studio-on-the-apple-m1/