Add labsync-install-localboot service

This commit is contained in:
jalr 2018-03-18 04:40:11 +01:00
parent 9831e4878e
commit 737462a773
9 changed files with 97 additions and 29 deletions

View file

@ -0,0 +1,10 @@
[Unit]
Description=creates boot partition and installs grub to disk
After=network.target
[Service]
ExecStart=/usr/local/sbin/labsync-install-localboot.sh
Type=oneshot
[Install]
WantedBy=multi-user.target

View file

@ -0,0 +1,17 @@
#!/bin/sh
boot_partition='/dev/sda1'
localboot="$(sed -n 's/^.*labsync_localboot=\([^ ]*\).*$/\1/p' /proc/cmdline)"
if [ -z "$localboot" ]; then
umount "$boot_partition" || true
echo "$boot_partition /boot ext2 defaults 0 0" > /etc/fstab
mke2fs -t ext2 -F "$boot_partition"
mount /boot
rsync -av /usr/local/boot/ /boot/
grub-install /dev/sda
sed -i 's/^\(GRUB_DEVICE=\).*$/\1""/' /usr/sbin/grub-mkconfig
#sed -i 's/^\(GRUB_CMDLINE_LINUX_DEFAULT=\).*$/\1'"'quiet boot=labsync labsync_localboot=\"$LABSYNC\"'/" /etc/default/grub
sed -i 's/^\(GRUB_CMDLINE_LINUX=\).*$/\1'"'boot=labsync labsync_localboot=\"$LABSYNC\"'/" /etc/default/grub
sed -i 's/^\(GRUB_TIMEOUT\)=.*$/\1=0/' /etc/default/grub
update-grub
fi

View file

@ -0,0 +1,30 @@
---
- name: install dependencies
apt:
name: {{ item }}
state: present
with_items:
- grub2
- rsync
- name: copy labsync-install-localboot script
copy:
src: labsync-install-localboot.sh
dest: /usr/local/sbin/labsync-install-localboot.sh
owner: root
group: root
mode: "0744"
- name: copy systemd unit for labsync-install-localboot service
copy:
src: labsync-install-localboot.service
dest: /etc/systemd/system/labsync-install-localboot.service
owner: root
group: root
mode: "0644"
- name: enable labsync-install-localboot service
file:
src: /etc/systemd/system/labsync-install-localboot.service
dest: /etc/systemd/system/multi-user.target.wants/labsync-install-localboot.service
state: link

View file

@ -0,0 +1,7 @@
---
- import_tasks: seeder.yml
tags:
- labsync:seeder
- import_tasks: localboot.yml
tags:
- labsync:localboot

View file

@ -0,0 +1,29 @@
---
- name: copy labsync-seeder script
copy:
src: labsync-seeder.sh
dest: /usr/local/sbin/labsync-seeder.sh
owner: root
group: root
mode: "0744"
- name: copy systemd unit for labsync-seeder service
copy:
src: labsync-seeder.service
dest: /etc/systemd/system/labsync-seeder.service
owner: root
group: root
mode: "0644"
- name: enable labsync-seeder service
file:
src: /etc/systemd/system/labsync-seeder.service
dest: /etc/systemd/system/multi-user.target.wants/labsync-seeder.service
state: link
#- name: enable labsync-seeder service
# systemd:
# name: labsync-seeder.service
# daemon_reload: yes
# enabled: yes
# masked: no

View file

@ -1,29 +0,0 @@
---
- name: copy labsync-seeder script
copy:
src: labsync-seeder.sh
dest: /usr/local/sbin/labsync-seeder.sh
owner: root
group: root
mode: "0744"
- name: copy systemd unit for labsync-seeder service
copy:
src: labsync-seeder.service
dest: /etc/systemd/system/labsync-seeder.service
owner: root
group: root
mode: "0644"
- name: enable labsync-seeder service
file:
src: /etc/systemd/system/labsync-seeder.service
dest: /etc/systemd/system/multi-user.target.wants/labsync-seeder.service
state: link
# - name: enable labsync-seeder service
# systemd:
# name: labsync-seeder.service
# daemon_reload: yes
# enabled: yes
# masked: no

View file

@ -72,6 +72,10 @@
"type": "ansible",
"playbook_file": "ansible/playbook.yml",
"user": "root"
},
{
"type": "shell",
"inline": [ "rm /boot && mkdir /boot" ]
}
]
}