Skip to content

Instantly share code, notes, and snippets.

@bzub
Created September 1, 2017 02:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bzub/c8c0c9587bc6e06a05129bceb947ce4b to your computer and use it in GitHub Desktop.
Save bzub/c8c0c9587bc6e06a05129bceb947ce4b to your computer and use it in GitHub Desktop.
user_data in terraform apply output with packet provider
packet_device.worker: Creating...
always_pxe: "" => "true"
billing_cycle: "" => "hourly"
created: "" => "<computed>"
facility: "" => "nrt1"
hostname: "" => "worker-01.test.kube-router.io"
ipxe_script_url: "" => "https://raw.githubusercontent.com/cloudnativelabs/pxe/master/packet/coreos-alpha-packet.ipxe"
locked: "" => "<computed>"
network.#: "" => "<computed>"
operating_system: "" => "custom_ipxe"
plan: "" => "baremetal_0"
project_id: "" => "6d7ee06e-ef4a-4d31-93d8-49bcbdea025d"
public_ipv4_subnet_size: "" => "<computed>"
spot_instance: "" => "true"
spot_price_max: "" => "0.01"
state: "" => "<computed>"
updated: "" => "<computed>"
user_data: "" => "{\n \"ignition\": {\n \"version\": \"2.0.0\",\n \"config\": {}\n },\n \"storage\": {\n \"filesystems\": [\n {\n \"name\": \"data\",\n \"mount\": {\n \"device\": \"/dev/sda\",\n \"format\": \"btrfs\",\n \"create\": {\n \"options\": [\n \"-L\",\n \"DATA\"\n ]\n }\n }\n }\n ],\n \"files\": [\n {\n \"filesystem\": \"root\",\n \"path\": \"/etc/kubelet.env\",\n \"contents\": {\n \"source\": \"data:,KUBELET_IMAGE_URL%3Dquay.io%2Fcoreos%2Fhyperkube%0AKUBELET_IMAGE_TAG%3Dv1.7.1_coreos.0%0A\",\n \"verification\": {}\n },\n \"mode\": 420,\n \"user\": {},\n \"group\": {}\n },\n {\n \"filesystem\": \"root\",\n \"path\": \"/etc/hostname\",\n \"contents\": {\n \"source\": \"data:,worker-01\",\n \"verification\": {}\n },\n \"mode\": 420,\n \"user\": {},\n \"group\": {}\n },\n {\n \"filesystem\": \"root\",\n \"path\": \"/etc/sysctl.d/max-user-watches.conf\",\n \"contents\": {\n \"source\": \"data:,fs.inotify.max_user_watches%3D16184%0A\",\n \"verification\": {}\n },\n \"user\": {},\n \"group\": {}\n },\n {\n \"filesystem\": \"root\",\n \"path\": \"/opt/bin/symlink-persistent-dirs.sh\",\n \"contents\": {\n \"source\": \"data:,%23!%2Fusr%2Fbin%2Fenv%20sh%0Aset%20-xe%0A%0AMOVE_DIR%3D%22%2Fmoved%22%0ADATA_DIR%3D%22%2FDATA%22%0A%0A%5B%20-n%20%22%24%7BPERSIST_DIRS%7D%22%20%5D%20%7C%7C%20(%20%5C%0A%20%20%20%20echo%20%22Error%3A%20No%20PERSIST_DIRS%20provided%22%0A%20%20%20%20exit%201)%0A%0Amkdir%20-p%20%22%24%7BMOVE_DIR%7D%22%0A%0Afor%20dir%20in%20%24%7BPERSIST_DIRS%7D%3B%20do%0A%20%20%20%20DIR_NAME%3D%22%24(basename%20%22%24%7Bdir%7D%22)%22%0A%20%20%20%20DEST_DIR%3D%22%24%7BMOVE_DIR%7D%2F%24%7BDIR_NAME%7D%22%0A%0A%20%20%20%20if%20%5B%20-d%20%22%24%7Bdir%7D%22%20%5D%20%26%26%20%5B%20!%20-L%20%22%24%7Bdir%7D%22%20%5D%0A%20%20%20%20then%0A%20%20%20%20%20%20%20%20if%20%5B%20-d%20%22%24%7BDEST_DIR%7D%22%20%5D%0A%20%20%20%20%20%20%20%20then%0A%20%20%20%20%20%20%20%20%20%20%20%20cp%20-an%20%22%24%7Bdir%7D%22%2F*%20%22%24%7BDEST_DIR%7D%22%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20mv%20%22%24%7Bdir%7D%22%20%22%24%7BDEST_DIR%7D%22%0A%20%20%20%20%20%20%20%20fi%0A%20%20%20%20else%0A%20%20%20%20%20%20%20%20if%20%5B%20-L%20%22%24%7Bdir%7D%22%20%5D%0A%20%20%20%20%20%20%20%20then%0A%20%20%20%20%20%20%20%20%20%20%20%20continue%0A%20%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20ln%20-s%20%22%24%7BDATA_DIR%7D%2F%24%7BDIR_NAME%7D%22%20%22%24%7Bdir%7D%22%0A%20%20%20%20%20%20%20%20fi%0A%20%20%20%20fi%0Adone%0A\",\n \"verification\": {}\n },\n \"mode\": 356,\n \"user\": {},\n \"group\": {}\n },\n {\n \"filesystem\": \"root\",\n \"path\": \"/opt/bootkube/bootkube-start\",\n \"contents\": {\n \"source\": \"data:,%23!%2Fbin%2Fbash%0A%23%20Wrapper%20for%20bootkube%20start%0Aset%20-e%0A%23%20Move%20experimental%20manifests%0A%5B%20-d%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fmanifests%20%5D%20%26%26%20mv%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fmanifests%2F*%20%2Fopt%2Fbootkube%2Fassets%2Fmanifests%20%26%26%20rm%20-r%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fmanifests%0A%5B%20-d%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fbootstrap-manifests%20%5D%20%26%26%20mv%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fbootstrap-manifests%2F*%20%2Fopt%2Fbootkube%2Fassets%2Fbootstrap-manifests%20%26%26%20rm%20-r%20%2Fopt%2Fbootkube%2Fassets%2Fexperimental%2Fbootstrap-manifests%0ABOOTKUBE_ACI%3D%22%24%7BBOOTKUBE_ACI%3A-quay.io%2Fcoreos%2Fbootkube%7D%22%0ABOOTKUBE_VERSION%3D%22%24%7BBOOTKUBE_VERSION%3A-v0.6.1%7D%22%0ABOOTKUBE_ASSETS%3D%22%24%7BBOOTKUBE_ASSETS%3A-%2Fopt%2Fbootkube%2Fassets%7D%22%0Aexec%20%2Fusr%2Fbin%2Frkt%20run%20%5C%0A%20%20--trust-keys-from-https%20%5C%0A%20%20--volume%20assets%2Ckind%3Dhost%2Csource%3D%24BOOTKUBE_ASSETS%20%5C%0A%20%20--mount%20volume%3Dassets%2Ctarget%3D%2Fassets%20%5C%0A%20%20--volume%20bootstrap%2Ckind%3Dhost%2Csource%3D%2Fetc%2Fkubernetes%20%5C%0A%20%20--mount%20volume%3Dbootstrap%2Ctarget%3D%2Fetc%2Fkubernetes%20%5C%0A%20%20%24RKT_OPTS%20%5C%0A%20%20%24%7BBOOTKUBE_ACI%7D%3A%24%7BBOOTKUBE_VERSION%7D%20%5C%0A%20%20--net%3Dhost%20%5C%0A%20%20--dns%3Dhost%20%5C%0A%20%20--exec%3D%2Fbootkube%20--%20start%20--asset-dir%3D%2Fassets%20%22%24%40%22%0A\",\n \"verification\": {}\n },\n \"mode\": 356,\n \"user\": {\n \"id\": 500\n },\n \"group\": {\n \"id\": 500\n }\n },\n {\n \"filesystem\": \"root\",\n \"path\": \"/etc/systemd/timesyncd.conf\",\n \"contents\": {\n \"source\": \"data:,%5BTime%5D%0ANTP%3D0.coreos.pool.ntp.org%201.coreos.pool.ntp.org%202.coreos.pool.ntp.org%203.coreos.pool.ntp.org%0A\",\n \"verification\": {}\n },\n \"mode\": 400,\n \"user\": {},\n \"group\": {}\n }\n ]\n },\n \"systemd\": {\n \"units\": [\n {\n \"name\": \"resolved-setup.service\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nDescription=systemd-resolved custom configuration\\nBefore=systemd-resolved.service\\n\\n[Service]\\nType=oneshot\\nRemainAfterExit=true\\nExecStart=/usr/bin/mkdir -p /etc/systemd/resolved.conf.d\\nExecStart=/usr/bin/ln -sf /dev/null /etc/systemd/resolved.conf.d/50-no-dns-listener.conf\\nExecStart=/usr/bin/ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf\\n\\n[Install]\\nWantedBy=systemd-resolved.service\\n\"\n },\n {\n \"name\": \"locksmithd.service\",\n \"mask\": true\n },\n {\n \"name\": \"wait-for-dns.service\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nDescription=Wait for DNS entries\\nWants=systemd-resolved.service\\nBefore=kubelet.service\\n[Service]\\nType=oneshot\\nRemainAfterExit=true\\nExecStart=/bin/sh -c 'while ! /usr/bin/grep '^[^#[:space:]]' /etc/resolv.conf \\u003e /dev/null; do sleep 1; done'\\n[Install]\\nRequiredBy=kubelet.service\\n\"\n },\n {\n \"name\": \"kubelet.path\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nDescription=Watch for kubeconfig\\n[Path]\\nPathExists=/etc/kubeconfig\\n[Install]\\nWantedBy=multi-user.target\\n\"\n },\n {\n \"name\": \"kubelet.service\",\n \"contents\": \"[Unit]\\nDescription=Kubelet via Hyperkube ACI\\n[Service]\\nEnvironmentFile=/etc/kubelet.env\\nEnvironment=\\\"RKT_RUN_ARGS=--uuid-file-save=/var/run/kubelet-pod.uuid \\\\\\n --dns=host \\\\\\n --hosts-entry=host \\\\\\n --volume var-lib-cni,kind=host,source=/var/lib/cni \\\\\\n --mount volume=var-lib-cni,target=/var/lib/cni \\\\\\n --volume var-log,kind=host,source=/var/log \\\\\\n --mount volume=var-log,target=/var/log\\\"\\nExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/manifests\\nExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/cni/net.d\\nExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/checkpoint-secrets\\nExecStartPre=/usr/bin/mkdir -p /etc/kubernetes/inactive-manifests\\nExecStartPre=/usr/bin/mkdir -p /var/lib/cni\\nExecStartPre=/usr/bin/bash -c \\\"grep 'certificate-authority-data' /etc/kubernetes/kubeconfig | awk '{print $2}' | base64 -d \\u003e /etc/kubernetes/ca.crt\\\"\\nExecStartPre=-/usr/bin/rkt rm --uuid-file=/var/run/kubelet-pod.uuid\\nExecStart=/usr/lib/coreos/kubelet-wrapper \\\\\\n --node-labels= \\\\\\n --kubeconfig=/etc/kubernetes/kubeconfig \\\\\\n --require-kubeconfig \\\\\\n --client-ca-file=/etc/kubernetes/ca.crt \\\\\\n --anonymous-auth=false \\\\\\n --cni-conf-dir=/etc/kubernetes/cni/net.d \\\\\\n --network-plugin=cni \\\\\\n --lock-file=/var/run/lock/kubelet.lock \\\\\\n --exit-on-lock-contention \\\\\\n --pod-manifest-path=/etc/kubernetes/manifests \\\\\\n --allow-privileged \\\\\\n --hostname-override=worker-01 \\\\\\n --cluster_dns=10.3.0.10 \\\\\\n --cluster_domain=cluster.local\\nExecStop=-/usr/bin/rkt stop --uuid-file=/var/run/kubelet-pod.uuid\\nRestart=always\\nRestartSec=10\\n[Install]\\nWantedBy=multi-user.target\\n\"\n },\n {\n \"name\": \"bootkube.service\",\n \"contents\": \"[Unit]\\nDescription=Bootstrap a Kubernetes control plane with a temp api-server\\nConditionPathExists=!/opt/bootkube/init_bootkube.done\\n[Service]\\nType=oneshot\\nRemainAfterExit=true\\nWorkingDirectory=/opt/bootkube\\nExecStart=/opt/bootkube/bootkube-start\\nExecStartPost=/bin/touch /opt/bootkube/init_bootkube.done\\n\"\n },\n {\n \"name\": \"DATA.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nConditionPathIsSymbolicLink=/dev/disk/by-label/DATA\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/DATA\\nType=btrfs\\nOptions=compress=lzo,subvol=/\\n\\n[Install]\\nWantedBy=local-fs.target\\n\"\n },\n {\n \"name\": \"DATA.automount\",\n \"enable\": true,\n \"contents\": \"[Automount]\\nWhere=/DATA\\n\\n[Install]\\nWantedBy=local-fs.target\\n\"\n },\n {\n \"name\": \"btrfs-create-subvolumes.service\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nDescription=Initial BTRFS subvolume creation\\nRequiresMountsFor=/DATA\\nConditionDirectoryNotEmpty=!/DATA\\n\\n[Service]\\nType=oneshot\\nRemainAfterExit=true\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/docker\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/rkt\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/etcd\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/kubernetes\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/core\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/kubelet\\nExecStart=/usr/sbin/btrfs subvolume create /DATA/ssl-etcd\\nExecStart=/usr/bin/chown -R core:core /DATA/core\\n\\n[Install]\\nWantedBy=multi-user.target\\n\"\n },\n {\n \"name\": \"var-lib-docker.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=docker.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/var/lib/docker\\nType=btrfs\\nOptions=compress=lzo,subvol=/docker\\n\"\n },\n {\n \"name\": \"var-lib-docker.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nRequires=DATA.mount\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=docker.service\\n\\n[Automount]\\nWhere=/var/lib/docker\\n\\n[Install]\\nWantedBy=docker.service\\nWantedBy=local-fs.target\\n\"\n },\n {\n \"name\": \"var-lib-rkt.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=rkt-gc.service rkt-metadata.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/var/lib/rkt\\nType=btrfs\\nOptions=compress=lzo,subvol=/rkt\\n\"\n },\n {\n \"name\": \"var-lib-rkt.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nRequires=DATA.mount\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=rkt-gc.service rkt-metadata.service\\n\\n[Automount]\\nWhere=/var/lib/rkt\\n\\n[Install]\\nWantedBy=rkt-gc.service rkt-metadata.service\\nWantedBy=local-fs.target\\n\"\n },\n {\n \"name\": \"var-lib-kubelet.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=kubelet.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/var/lib/kubelet\\nType=btrfs\\nOptions=compress=lzo,subvol=/kubelet\\n\"\n },\n {\n \"name\": \"var-lib-kubelet.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nRequires=DATA.mount\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=kubelet.service\\n\\n[Automount]\\nWhere=/var/lib/kubelet\\n\\n[Install]\\nWantedBy=local-fs.target\\nWantedBy=kubelet.service\\n\"\n },\n {\n \"name\": \"var-etcd.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=kubelet.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/var/etcd\\nType=btrfs\\nOptions=compress=lzo,subvol=/etcd\\n\"\n },\n {\n \"name\": \"var-etcd.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=kubelet.service\\n\\n[Automount]\\nWhere=/var/etcd\\n\\n[Install]\\nWantedBy=local-fs.target\\nWantedBy=kubelet.service\\n\"\n },\n {\n \"name\": \"etc-kubernetes.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=kubelet.service bootkube.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/etc/kubernetes\\nType=btrfs\\nOptions=compress=lzo,subvol=/kubernetes\\n\"\n },\n {\n \"name\": \"etc-kubernetes.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=kubelet.service bootkube.service\\n\\n[Automount]\\nWhere=/etc/kubernetes\\n\\n[Install]\\nWantedBy=local-fs.target\\nWantedBy=kubelet.service bootkube.service\\n\"\n },\n {\n \"name\": \"etc-ssl-etcd.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=kubelet.service bootkube.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/etc/ssl/etcd\\nType=btrfs\\nOptions=compress=lzo,subvol=/ssl-etcd\\n\"\n },\n {\n \"name\": \"etc-ssl-etcd.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=kubelet.service bootkube.service\\n\\n[Automount]\\nWhere=/etc/ssl/etcd\\n\\n[Install]\\nWantedBy=local-fs.target\\nWantedBy=kubelet.service bootkube.service\\n\"\n },\n {\n \"name\": \"home-core.mount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nBefore=coreos-metadata-sshkeys@core.service\\n\\n[Mount]\\nWhat=/dev/disk/by-label/DATA\\nWhere=/home/core\\nType=btrfs\\nOptions=compress=lzo,subvol=/core\\n\"\n },\n {\n \"name\": \"home-core.automount\",\n \"enable\": true,\n \"contents\": \"[Unit]\\nWants=btrfs-create-subvolumes.service\\nAfter=DATA.mount\\nAfter=btrfs-create-subvolumes.service\\nBefore=coreos-metadata-sshkeys@core.service\\n\\n[Automount]\\nWhere=/home/core\\n\\n[Install]\\nWantedBy=local-fs.target\\nWantedBy=coreos-metadata-sshkeys@core.service\\n\"\n }\n ]\n },\n \"networkd\": {\n \"units\": [\n {\n \"name\": \"00-unmanaged.network\",\n \"contents\": \"[Match]\\nName=dummy0 kube-dummy-if kube-bridge cni*\\n\\n[Link]\\nUnmanaged=true\\n\"\n }\n ]\n },\n \"passwd\": {}\n}"
packet_device.controller: Still creating... (10s elapsed)
packet_device.worker: Still creating... (10s elapsed)
packet_device.controller: Still creating... (20s elapsed)
packet_device.worker: Still creating... (20s elapsed)
packet_device.controller: Still creating... (30s elapsed)
packet_device.worker: Still creating... (30s elapsed)
packet_device.controller: Still creating... (40s elapsed)
packet_device.worker: Still creating... (40s elapsed)
packet_device.worker: Still creating... (50s elapsed)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment