Skip to content

Instantly share code, notes, and snippets.

@planetrobbie
Created January 25, 2017 09:06
Show Gist options
  • Save planetrobbie/2fa646cc3b2938db3395ca7647159fb6 to your computer and use it in GitHub Desktop.
Save planetrobbie/2fa646cc3b2938db3395ca7647159fb6 to your computer and use it in GitHub Desktop.
```#cloud-config
debconf_selections:
maas: |
{{for line in str(curtin_preseed).splitlines()}}
{{line}}
{{endfor}}
{{if third_party_drivers and driver}}
early_commands:
{{py: key_string = ''.join(['\\x%x' % x for x in map(ord, driver['key_binary'])])}}
driver_00_get_key: /bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg
driver_01_add_key: ["apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
driver_02_add: ["add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
driver_03_update_install: ["sh", "-c", "apt-get update --quiet && apt-get --assume-yes install {{driver['package']}}"]
driver_04_load: ["sh", "-c", "depmod && modprobe {{driver['module']}}"]
{{endif}}
late_commands:
maas: [wget, '--no-proxy', '{{node_disable_pxe_url|escape.shell}}', '--post-data', '{{node_disable_pxe_data|escape.shell}}', '-O', '/dev/null']
{{if third_party_drivers and driver}}
driver_00_key_get: curtin in-target -- sh -c "/bin/echo -en '{{key_string}}' > /tmp/maas-{{driver['package']}}.gpg"
driver_02_key_add: ["curtin", "in-target", "--", "apt-key", "add", "/tmp/maas-{{driver['package']}}.gpg"]
driver_03_add: ["curtin", "in-target", "--", "add-apt-repository", "-y", "deb {{driver['repository']}} {{node.get_distro_series()}} main"]
driver_04_update_install: ["curtin", "in-target", "--", "apt-get", "update", "--quiet"]
driver_05_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "{{driver['package']}}"]
driver_06_depmod: ["curtin", "in-target", "--", "depmod"]
driver_07_update_initramfs: ["curtin", "in-target", "--", "update-initramfs", "-u"]
{{endif}}
apt_00_tcpcloud_set: ["curtin", "in-target", "--", "sh", "-c", "echo 'deb [arch=amd64] deb http://repo.saltstack.com/apt/ubuntu/14.04/amd64/2016.3 trusty main' > /etc/apt/sources.list.d/salt.list"]
apt_01_tcpcloud_gpg: ["curtin", "in-target", "--", "sh", "-c", "echo 'mQENBFOpvpgBCADkP656H41i8fpplEEB8IeLhugyC2rTEwwSclb8tQNYtUiGdna9m38kb0OS2DDrEdtdQb2hWCnswxaAkUunb2qq18vd3dBvlnI+C4/xu5ksZZkRj+fWtArNR18V+2jkwcG26m8AxIrT+m4M6/bgnSfHTBtT5adNfVcTHqiT1JtCbQcXmwVwWbqS6v/LhcsBE//SHne4uBCK/GHxZHhQ5jz5h+3vWeV4gvxS3Xu6v1IlIpLDwUtskT1DumfynYnnZmWTGc6SYyIFXTPJLtnoWDb9OBdWgZxXfHEcBsKGha+bXO+m2tHAgNneN9i5f8oNxo5njrL8jkCckOpNpng18BKXABEBAAG0MlNhbHRTdGFjayBQYWNrYWdpbmcgVGVhbSA8cGFja2FnaW5nQHNhbHRzdGFjay5jb20+iQE4BBMBAgAiBQJTqb6YAhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAOCKFJ3le/vhkqB/0QWzELZf4d87WApzolLG+zpsJKtt/ueXL1W1KA7JILhXB1uyvVORt8uA9FjmE083o1yE66wCya7V8hjNn2lkLXboOUd1UTErlRg1GYbIt++VPscTxHxwpjDGxDB1/fiX2onK5SEpuj4IeIPJVE/uLNAwZyfX8DArLVJ5h8lknwiHlQLGlnOu9ulEAejwAKt9CU4oYTszYM4xrbtjB/fR+mPnYh2fBoQO4d/NQiejIEyd9IEEMd/03AJQBuMux62tjA/NwvQ9eqNgLw9NisFNHRWtP4jhAOsshv1WW+zPzu3ozoO+lLHixUIz7fqRk38q8Q9oNR31KvrkSNrFbA3D89uQENBFOpvpgBCADJ79iH10AfAfpTBEQwa6vzUI3Eltqb9aZ0xbZV8V/8pnuU7rqM7Z+nJgldibFk4gFG2bHCG1C5aEH/FmcOMvTKDhJSFQUxuhgxttMArXm2c22OSy1hpsnVG68G32Nag/QFEJ++3hNnbyGZpHnPiYgej3FrerQJzv456wIsxRDMvJ1NZQB3twoCqwapC6FJE2hukSdWB5yCYpWlZJXBKzlYz/gwD/FrGL578WrLhKw3UvnJmlpqQaDKwmV2s7MsoZogC6wkHE92kGPG2GmoRD3ALjmCvN1EPsIsQGnwpcXsRpYVCoW7e2nW4wUf7IkFZ94yOCmUq6WreWI4NggRcFC5ABEBAAGJAR8EGAECAAkFAlOpvpgCGwwACgkQDgihSd5Xv74/NggA08kEdBkiWWwJZUZEy7cKWWcgjnRuOHd4rPeT+vQbOWGu6x4bxuVf9aTiYkf7ZjVF2lPn97EXOEGFWPZeZbH4vdRFH9jMtP+rrLt6+3c9j0M8SIJYwBL1+CNpEC/BuHj/Ra/cmnG5ZNhYebm76h5fT9iPW9fFww36FzFka4VPlvA4oB7ebBtquFg3sdQNU/MmTVV4jPFWXxh4oRDDR+8N1bcPnbB11b5ary99F/mqr7RgQ+YFF0uKRE3SKa7a+6cIuHEZ7Za+zhPaQlzAOZlxfuBmScum8uQTrEF5+Um5zkwC7EXTdH1co/+/V/fpOtxIg4XO4kcugZefVm5ERfVSMA===dtMN'|base64 -d| apt-key add -"] apt_03_update: ["curtin", "in-target", "--", "apt-get", "update"]
salt_00_announce: ["curtin", "in-target", "--", "echo", "'### Installing and Configuring Salt Minion ###'"]
salt_01_install: ["curtin", "in-target", "--", "apt-get", "-y", "install", "salt-minion"]
salt_02_hostname_set: ["curtin", "in-target", "--", "echo", "{{node.hostname}}.int.cloudvps.com"]
salt_03_hostname_get: ["curtin", "in-target", "--", "sh", "-c", "echo 'id: {{node.hostname}}.int.cloudvps.com' >> /etc/salt/minion"]
salt_04_master: ["curtin", "in-target", "--", "sh", "-c", "echo 'master: 10.151.24.152 >> /etc/salt/minion"]
salt_05_announce: ["curtin", "in-target", "--", "echo", "'### Salt Minion is configured successfully YES ###'"]
salt_06_show_conf_hostname: ["curtin", "in-target", "--", "cat", "/etc/salt/minion"]
salt_07_show_hosts: ["curtin", "in-target", "--", "cat", "/etc/hosts"]
power_state:
mode: reboot
{{if node.split_arch()[0] in {'i386', 'amd64'} }}
apt_mirrors:
ubuntu_archive: http://{{main_archive_hostname}}/{{main_archive_directory}}
ubuntu_security: http://{{main_archive_hostname}}/{{main_archive_directory}}
{{else}}
apt_mirrors:
ubuntu_archive: http://{{ports_archive_hostname}}/{{ports_archive_directory}}
ubuntu_security: http://{{ports_archive_hostname}}/{{ports_archive_directory}}
{{endif}}
{{if enable_http_proxy}}
{{if http_proxy }}
apt_proxy: {{http_proxy}}
{{else}}
apt_proxy: http://{{server_host}}:8000/
{{endif}}
{{endif}}
```
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment