Files
ironic-python-agent/imagebuild/coreos/oem/cloud-config.yml
Brad Morgan da0a8aff88 Fix unwanted unmounting of /usr/share/oem
Creating specific partitions will cause a udev event to trigger,
causing systemd to attempt to mount the new partition at /usr/share/oem.

This mount will not succeed, but will unmount /usr/share/oem,
causing ironic-python-agent to die.

Masking this unit disables this behavior.

Change-Id: Ifea3482f36a354cbf988e6f6003f4284c5c2a21d
Closes-bug: #1592163
2016-06-16 14:11:40 -07:00

205 lines
5.7 KiB
YAML

#cloud-config
coreos:
units:
- name: user-configdrive.service
mask: true
- name: user-configvirtfs.service
mask: true
- name: user-configdrive.path
mask: true
- name: media-configdrive.mount
mask: true
- name: media-configvirtfs.mount
mask: true
- name: update-engine.service
mask: true
- name: update-engine-stub.service
mask: true
- name: resize-btrfs.service
mask: true
- name: locksmithd.service
mask: true
- name: fleet.service
mask: true
- name: etcd.service
mask: true
- name: usr-share-oem.mount
mask: true
- name: ironic-python-agent-embed-ssh-keys.service
command: start
content: |
[Unit]
Description=Migrate embedded SSH keys into core user
ConditionFileNotEmpty=/usr/share/oem/authorized_keys
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/update-ssh-keys -a oem /usr/share/oem/authorized_keys
- name: ironic-python-agent-container-creation.service
command: start
content: |
[Unit]
Description=Untar Provided IPA Container
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/usr/bin/mkdir -p /opt/ironic-python-agent
ExecStart=/usr/bin/tar -x --no-xattrs \
-C /opt/ironic-python-agent \
-f /usr/share/oem/container.tar.gz
- name: opt-ironic\x2dpython\x2dagent-proc.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/proc
Where=/opt/ironic-python-agent/proc
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-dev.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/dev
Where=/opt/ironic-python-agent/dev
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-dev-pts.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/dev/pts
Where=/opt/ironic-python-agent/dev/pts
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-sys.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/sys
Where=/opt/ironic-python-agent/sys
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-run.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/run
Where=/opt/ironic-python-agent/run
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-mnt.mount
command: start
content: |
[Unit]
DefaultDependencies=no
Conflicts=umount.target
Before=umount.target
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Mount]
What=/usr/share/oem
Where=/opt/ironic-python-agent/mnt
Type=none
Options=bind
- name: opt-ironic\x2dpython\x2dagent-etc-resolvconf.service
command: start
content: |
[Unit]
Description="Provide host resolv.conf to chroot"
After=ironic-python-agent-container-creation.service
Requires=ironic-python-agent-container-creation.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/ln -f /etc/resolv.conf /opt/ironic-python-agent/etc/resolv.conf
- name: ironic-python-agent.service
command: start
content: |
[Unit]
Description=Ironic Python Agent
After=ironic-python-agent-container-creation.service
After=opt-ironic\x2dpython\x2dagent-proc.mount
After=opt-ironic\x2dpython\x2dagent-dev.mount
After=opt-ironic\x2dpython\x2dagent-dev-pts.mount
After=opt-ironic\x2dpython\x2dagent-sys.mount
After=opt-ironic\x2dpython\x2dagent-run.mount
After=opt-ironic\x2dpython\x2dagent-mnt.mount
After=opt-ironic\x2dpython\x2dagent-etc-resolvconf.service
Requires=ironic-python-agent-container-creation.service
Requires=opt-ironic\x2dpython\x2dagent-proc.mount
Requires=opt-ironic\x2dpython\x2dagent-dev.mount
Requires=opt-ironic\x2dpython\x2dagent-dev-pts.mount
Requires=opt-ironic\x2dpython\x2dagent-sys.mount
Requires=opt-ironic\x2dpython\x2dagent-run.mount
Requires=opt-ironic\x2dpython\x2dagent-mnt.mount
Requires=opt-ironic\x2dpython\x2dagent-etc-resolvconf.service
[Service]
ExecStart=/usr/bin/chroot /opt/ironic-python-agent \
/usr/local/bin/ironic-python-agent
Restart=always
RestartSec=30s