Skip to content

Instantly share code, notes, and snippets.

@smoser
Last active October 23, 2018 12:33
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 smoser/08fbad3f71858a3d04e26cd5581546f8 to your computer and use it in GitHub Desktop.
Save smoser/08fbad3f71858a3d04e26cd5581546f8 to your computer and use it in GitHub Desktop.
Demo of cloud-init 18.4 features query and render.
{"version": 2, "width": 80, "height": 28, "timestamp": 1540250091, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.020481, "o", "\u001b[3J\u001b[H\u001b[2J"]
[0.026851, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.820281, "o", "c"]
[0.973717, "o", "a"]
[1.061033, "o", "t"]
[1.146492, "o", " "]
[1.265701, "o", "i"]
[1.316542, "o", "n"]
[1.445377, "o", "t"]
[1.637854, "o", "r"]
[1.801502, "o", "o.txt "]
[2.260654, "o", "\r\n"]
[2.26457, "o", " Welcome to a demo of instance data on cloud-init 18.4.5!\r\n \r\n Instance data is a collection of cloud meta-data, user-data and\r\n vendor-data surfaced to the instance to describe configuration.\r\n \r\n The method in which instance data is surfaced differs on each cloud\r\n platform:\r\n Serial devices, urls, config-drives ...\r\n \r\n The format of that data differs on each cloud platform.\r\n \r\n cloud-init generalizes various attributes to offer cloud-agnostic\r\n information. It stores that information in:\r\n \r\n /run/cloud-init/instance-data.json\r\n and\r\n /run/cloud-init/instance-data-sensitive.json\r\n-----------------------------------------------------------------------------\r\n"]
[2.265813, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[3.260963, "o", "c"]
[3.373235, "o", "a"]
[3.449321, "o", "t"]
[3.547296, "o", " "]
[3.644378, "o", "/"]
[3.75813, "o", "r"]
[3.893965, "o", "u"]
[3.965073, "o", "n/"]
[4.195698, "o", "c"]
[4.250448, "o", "l"]
[4.401643, "o", "o"]
[4.460772, "o", "ud-init/"]
[4.744377, "o", "i"]
[4.780747, "o", "n"]
[4.856008, "o", "s"]
[5.078346, "o", "tance-data"]
[5.536203, "o", "."]
[5.714042, "o", "j"]
[5.82727, "o", "son "]
[6.311261, "o", "\r\n"]
[6.314045, "o", "{\r\n \"base64_encoded_keys\": [],\r\n \"ds\": {\r\n \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.\","]
[6.315537, "o", "\r\n \"meta_data\": {\r\n \"dsmode\": \"net\",\r\n \"instance-id\": \"b1\",\r\n \"local-hostname\": \"b1\",\r\n \"public-keys\": [\"ssh-rsa AAAAB3N...LOHP smoser@bart\"]\r\n }\r\n },\r\n \"sensitive_keys\": [],\r\n \"v1\": {\r\n \"availability-zone\": null,\r\n \"availability_zone\": null,\r\n \"cloud-name\": \"nocloud\",\r\n \"cloud_name\": \"nocloud\",\r\n \"instance-id\": \"b1\",\r\n \"instance_id\": \"b1\",\r\n \"local-hostname\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"region\": null\r\n }\r\n}\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[7.88214, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540250196, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.014801, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.667842, "o", "c"]
[0.886559, "o", "a"]
[1.013028, "o", "t"]
[1.808931, "o", "\b\b\b\u001b[K"]
[2.227785, "o", "# instance-data-sensitive.json is only readable by root, and\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ # may contain sensitive data.\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ #\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[3.144308, "o", "c"]
[3.348703, "o", "a"]
[3.43523, "o", "t"]
[3.520897, "o", " "]
[3.634772, "o", "/"]
[3.76386, "o", "r"]
[3.886867, "o", "u"]
[3.979344, "o", "n/"]
[4.223569, "o", "c"]
[4.259922, "o", "l"]
[4.456276, "o", "o"]
[4.526536, "o", "ud-init/"]
[4.804738, "o", "i"]
[4.847716, "o", "n"]
[4.950133, "o", "s"]
[5.197871, "o", "tance-data"]
[6.049521, "o", "-"]
[6.403092, "o", "sensitive.json "]
[7.236228, "o", "\r\n"]
[7.239252, "o", "cat: /run/cloud-init/instance-data-sensitive.json: Permission denied\r\n"]
[7.240436, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[7.81407, "o", "s"]
[7.926617, "o", "u"]
[8.036198, "o", "d"]
[8.119576, "o", "o"]
[8.245974, "o", " "]
[8.354156, "o", "c"]
[8.490408, "o", "a"]
[8.585809, "o", "t"]
[8.651067, "o", " "]
[8.781478, "o", "/"]
[8.873748, "o", "r"]
[8.997139, "o", "u"]
[9.078104, "o", "n/"]
[9.311797, "o", "c"]
[9.365326, "o", "l"]
[9.51779, "o", "o"]
[9.604914, "o", "ud-init/"]
[9.85594, "o", "i"]
[9.89853, "o", "n"]
[9.996217, "o", "s"]
[10.219703, "o", "tance-data"]
[10.907562, "o", "-"]
[11.069165, "o", "s"]
[11.244953, "o", "ensitive.json "]
[11.78269, "o", "\r\n"]
[11.806918, "o", "{\r\n \"base64_encoded_keys\": [],\r\n \"ds\": {\r\n \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.\",\r\n \"meta_data\": {\r\n \"dsmode\": \"net\",\r\n \"instance-id\": \"b1\",\r\n \"local-hostname\": \"b1\",\r\n \"public-keys\": [\"ssh-rsa AAAAB3N...LOHP smoser@bart\"]\r\n }\r\n },\r\n \"sensitive_keys\": [],\r\n \"v1\": {\r\n \"availability-zone\": null,\r\n \"availability_zone\": null,\r\n \"cloud-name\": \"nocloud\",\r\n \"cloud_name\": \"nocloud\",\r\n \"instance-id\": \"b1\",\r\n \"instance_id\": \"b1\",\r\n \"local-hostname\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"region\": null\r\n }\r\n}\r\n"]
[11.81146, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[14.751916, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540250534, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.015196, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.488422, "o", "# Each cloud surfaces different raw metadata formats/content,\r\n"]
[1.488891, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.490106, "o", "# cloud-init stores that \"raw\" content under a 'ds' key.\r\n"]
[1.49132, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.492061, "o", "#\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.492675, "o", "# Access the 'ds' key of instance-data.json 'query':\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ #\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.493483, "o", "# nocloud under lxd / does not have many fields there.\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[2.927704, "o", "\r\n"]
[2.929218, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[3.810871, "o", "c"]
[3.921715, "o", "l"]
[4.130764, "o", "o"]
[4.165156, "o", "u"]
[4.279911, "o", "d"]
[4.474487, "o", "-"]
[4.752026, "o", "i"]
[4.855168, "o", "n"]
[4.972741, "o", "i"]
[5.086237, "o", "t"]
[5.135402, "o", " "]
[5.58089, "o", "q"]
[5.691225, "o", "u"]
[5.847318, "o", "e"]
[5.917919, "o", "r"]
[5.966062, "o", "y"]
[6.117844, "o", " "]
[6.359981, "o", "d"]
[6.4455, "o", "s"]
[6.72614, "o", "\r\n"]
[7.695547, "o", "{\r\n \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.\",\r\n \"meta_data\": {\r\n \"dsmode\": \"net\",\r\n \"instance_id\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"public_keys\": [\r\n \"ssh-rsa AAAAB3N...LOHP smoser@bart\"\r\n ]\r\n }\r\n}\r\n"]
[7.794966, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[9.155758, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540250629, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.013487, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.801301, "o", "#\r\n"]
[0.802086, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.802676, "o", "# AWS has lots of data.\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.653864, "o", "c"]
[1.714096, "o", "l"]
[1.910199, "o", "o"]
[1.936814, "o", "u"]
[2.028732, "o", "d"]
[2.210008, "o", "-"]
[2.442947, "o", "i"]
[2.547265, "o", "n"]
[2.662166, "o", "i"]
[2.749671, "o", "t"]
[2.851319, "o", " "]
[3.060952, "o", "q"]
[3.168554, "o", "u"]
[3.948049, "o", "e"]
[4.044187, "o", "r"]
[4.123588, "o", "y"]
[4.308073, "o", " "]
[4.523641, "o", "-"]
[4.859977, "o", "\b\u001b[K"]
[5.142065, "o", "d"]
[5.253034, "o", "s"]
[5.435247, "o", " "]
[5.548781, "o", "-"]
[5.741757, "o", "-"]
[5.884135, "o", "i"]
[5.969784, "o", "n"]
[6.051125, "o", "s"]
[6.152576, "o", "t"]
[6.161462, "o", "a"]
[6.302439, "o", "n"]
[6.453578, "o", "c"]
[6.659516, "o", "e"]
[6.820645, "o", "-"]
[6.901065, "o", "d"]
[6.976098, "o", "a"]
[7.06191, "o", "t"]
[7.207688, "o", "a"]
[7.326971, "o", " "]
[7.39651, "o", "i"]
[7.531643, "o", "d"]
[7.727436, "o", "-"]
[7.953078, "o", "a"]
[8.114275, "o", "w"]
[8.401331, "o", "s"]
[8.565756, "o", "."]
[8.857721, "o", "j"]
[9.017028, "o", "s"]
[9.125471, "o", "o"]
[9.196344, "o", "n"]
[9.373449, "o", " "]
[9.615435, "o", "|"]
[9.703415, "o", " "]
[9.865649, "o", "l"]
[9.935343, "o", "e"]
[9.989062, "o", "s"]
[10.169035, "o", "s"]
[10.289336, "o", "\r\n"]
[10.294638, "o", "\u001b[?1049h\u001b[22;0;0t\u001b[?1h\u001b=\r"]
[11.266401, "o", "{"]
[11.267281, "o", "\r\n"]
[11.267787, "o", " \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds \b' key may change in subsequent releases of cloud-init.\",\r\n \"_metadata_api_version\": \"2016-09-02\",\r\n"]
[11.26868, "o", " \"dynamic\": {\r\n \"instance_identity\": {\r\n \"document\": {\r\n \"accountId\": \"437526006925\",\r\n \"architecture\": \"x86_64\",\r\n \"availabilityZone\": \"us-east-2b\",\r\n \"billingProducts\": null,\r\n \"devpayProductCodes\": null,\r\n \"imageId\": \"ami-0fdc207e423cfbab3\",\r\n \"instanceId\": \"i-06e536175230a52c8\",\r\n \"instanceType\": \"t2.micro\",\r\n \"kernelId\": null,\r\n \"marketplaceProductCodes\": null,\r\n \"pendingTime\": \"2018-10-21T11:54:35Z\",\r\n \"privateIp\": \"10.41.41.185\",\r\n \"ramdiskId\": null,"]
[11.269254, "o", "\r\n \"region\": \"us-east-2\",\r\n \"version\": \"2017-09-30\"\r\n },\r\n \"pkcs7\": [\r\n \"MIAGCSqGSIb3D<snip>...ewog\",\r\n \"ICJtYXJrZXRwb<snip>...ZXMi\",\r\n \"FDiNlfbrD5bwBoJqJgMa/MFddtnoAAAAAAAA\"\r\n:\u001b[K"]
[12.029454, "o", "\r\u001b[K"]
[12.029746, "o", " ],\r\n \"rsa2048\": [\r\n \"MIAGCSqGSIb3D<snip>...BIIB\",\r\n \"3HsKICAibWFya<snip>...2V0c\",\r\n \"dzdd8n0W+Ivitc6wcrz...sZsAAAAAAAA=\"\r\n ],\r\n \"signature\": [\r\n \"fKvbpqtR2fJJu<snip>...PNxI\",\r\n \"i5blZ4HszL4WAyp9dfS...xuLD9/\",\r\n \"kGa7JYrMrA8kRnMVbJY=\"\r\n ]\r\n }\r\n },\r\n \"meta_data\": {\r\n \"ami_id\": \"ami-0fdc207e423cfbab3\",\r\n \"ami_launch_index\": \"0\",\r\n"]
[12.029873, "o", " \"ami_manifest_path\": \"(unknown)\",\r\n \"block_device_mapping\": {\r\n \"ami\": \"/dev/sda1\",\r\n \"ephemeral0\": \"sdb\",\r\n \"ephemeral1\": \"sdc\",\r\n \"root\": \"/dev/sda1\"\r\n },\r\n \"hostname\": \"ip-10-41-41-185.us-east-2.compute.internal\",\r\n \"instance_action\": \"none\",\r\n \"instance_id\": \"i-06e536175230a52c8\",\r\n \"instance_type\": \"t2.micro\",\r\n:\u001b[K"]
[12.696732, "o", "\r\u001b[K \"local_hostname\": \"ip-10-41-41-185.us-east-2.compute.internal\",\r\n \"local_ipv4\": \"10.41.41.185\",\r\n \"mac\": \"06:d3:ca:55:ff:e6\",\r\n \"metrics\": {\r\n \"vhostmd\": \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\"?>\"\r\n },\r\n \"network\": {\r\n \"interfaces\": {\r\n \"macs\": {\r\n \"06:d3:ca:55:ff:e6\": {\r\n \"device_number\": \"0\",\r\n \"interface_id\": \"eni-0e71b1c537d66ba32\",\r\n \"ipv4_associations\": {\r\n \"18.224.15.12\": \"10.41.41.185\"\r\n },\r\n \"local_hostname\": \"ip-10-41-41-185.us-east-2.compute.internal\",\r\n \"local_ipv4s\": \"10.41.41.185\",\r\n \"mac\": \"06:d3:ca:55:ff:e6\",\r\n \"owner_id\": \"437526006925\",\r\n \"public_hostname\": \"ec2-18-224-15-12.us-east-2.compute.amazonaws.com\",\r\n \"public_ipv4s\": \"18.224.15.12\",\r\n \"security_group_ids\": \"sg-828247e9\",\r\n \"security_groups\": \"Cloud-init integration test secgroup\",\r\n \"subnet_id\": \"subnet-282f3053\",\r\n \"subnet_ipv4_cidr_block\": \"10.41.41.0/24\",\r\n \"subnet_ipv6_cidr_blocks\": \"2600:1f16:b80:ad00::/64\",\r\n \"vpc_id\":"]
[12.696916, "o", " \"vpc-252ef24d\",\r\n:\u001b[K"]
[13.871972, "o", "\r\u001b[K \"vpc_ipv4_cidr_block\": \"10.41.0.0/16\",\r\n \"vpc_ipv4_cidr_blocks\": \"10.41.0.0/16\",\r\n \"vpc_ipv6_cidr_blocks\": \"2600:1f16:b80:ad00::/56\"\r\n }\r\n }\r\n }\r\n },\r\n \"placement\": {\r\n \"availability_zone\": \"us-east-2b\"\r\n },\r\n \"profile\": \"default-hvm\",\r\n \"public_hostname\": \"ec2-18-224-15-12.us-east-2.compute.amazonaws.com\",\r\n \"public_ipv4\": \"18.224.15.12\",\r\n \"public_keys\": {\r\n \"cloud_init_integration\": [\r\n \"ssh-rsa AAAAB3Nz<snip>...GoOB cloud-init-integration\"\r\n ]\r\n },\r\n \"reservation_id\": \"r-0de406a8c68dc770a\",\r\n \"security_groups\": \"Cloud-init integration test secgroup\",\r\n \"services\": {\r\n \"domain\": \"amazonaws.com\",\r\n \"partition\": \"aws\"\r\n }\r\n }\r\n}\r\n\u001b[7m(END)\u001b[27m\u001b[K"]
[14.979476, "o", "\r\u001b[K\u001b[H\u001bM \"subnet_ipv6_cidr_blocks\": \"2600:1f16:b80:ad00::/64\",\r\n\u001b[28;1H\r\u001b[K:\u001b[K"]
[15.135721, "o", "\r\u001b[K"]
[15.136187, "o", "\u001b[H\u001bM \"subnet_ipv4_cidr_block\": \"10.41.41.0/24\",\r\n\u001b[28;1H\r\u001b[K:\u001b[K"]
[15.633766, "o", "\r\u001b[K }\r\n:\u001b[K"]
[15.830267, "o", "\r\u001b[K"]
[15.830678, "o", "}\r\n\u001b[7m(END)\u001b[27m\u001b[K"]
[16.031087, "o", "\r\u001b[K\u0007\r\u001b[K\u001b[7m(END)\u001b[27m\u001b[K"]
[16.92587, "o", "\r\u001b[K\u001b[?1l\u001b>\u001b[?1049l\u001b[23;0;0t"]
[16.927771, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[17.632329, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540250796, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.015739, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.535393, "o", "# Here is some data from Oracle Public Cloud\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ #\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.331824, "o", "c"]
[1.401206, "o", "l"]
[1.600037, "o", "o"]
[1.643864, "o", "u"]
[1.729659, "o", "d"]
[1.892121, "o", "-"]
[2.135375, "o", "i"]
[2.248746, "o", "n"]
[2.335047, "o", "i"]
[2.437314, "o", "t"]
[2.534929, "o", " "]
[2.903112, "o", "q"]
[3.057078, "o", "u"]
[3.277906, "o", "e"]
[3.363881, "o", "r"]
[3.449977, "o", "y"]
[3.579711, "o", " "]
[3.822891, "o", "d"]
[3.915933, "o", "s"]
[4.055975, "o", " "]
[4.653922, "o", "-"]
[4.862345, "o", "-"]
[5.084516, "o", "i"]
[5.121875, "o", "n"]
[5.202281, "o", "s"]
[5.267346, "o", "t"]
[5.282169, "o", "a"]
[5.385217, "o", "n"]
[5.542303, "o", "c"]
[5.72732, "o", "e"]
[5.887771, "o", "-"]
[6.00649, "o", "d"]
[6.082912, "o", "a"]
[6.16509, "o", "t"]
[6.298144, "o", "a"]
[6.544386, "o", " "]
[6.722421, "o", "i"]
[6.813559, "o", "d"]
[7.017913, "o", "-"]
[7.269089, "o", "o"]
[7.420543, "o", "r"]
[7.521859, "o", "a"]
[7.723337, "o", "c"]
[7.814322, "o", "l"]
[7.94391, "o", "e"]
[8.132863, "o", "."]
[8.714298, "o", "j"]
[8.864891, "o", "s"]
[9.023155, "o", "o"]
[9.041206, "o", "n"]
[9.679279, "o", "\r\n"]
[10.606657, "o", "{\r\n \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.\",\r\n \"meta_data\": {\r\n \"availability_zone\": \"phx-ad-3\",\r\n \"instance_id\": \"ocid1.instance.oc1.phx.abyhqljt26tucnukhtjl2vdpf2t5jvpt3rzuyzcpodwq22jkxahvcs6ljrga\",\r\n \"launch_index\": 0,\r\n \"local_hostname\": \"smoser-xenial1\",\r\n \"public_keys\": {\r\n \"0\": \"ssh-rsa AAAAB3NzaC...N3NtHw== smoser@brickies\"\r\n }\r\n }\r\n}\r\n"]
[10.710357, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[11.755199, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540251906, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.019766, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.779528, "o", "# Cloud-init's generalized data lives under a versioned 'v1' key\r\n"]
[0.780484, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.781641, "o", "# This content will be present on all clouds.\r\n"]
[0.783187, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ #\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[2.145756, "o", "c"]
[2.193227, "o", "l"]
[2.374234, "o", "o"]
[2.396701, "o", "u"]
[2.465347, "o", "d"]
[2.642479, "o", "-"]
[2.868211, "o", "i"]
[2.976691, "o", "n"]
[3.06078, "o", "i"]
[3.153198, "o", "t"]
[3.239591, "o", " "]
[3.504954, "o", "q"]
[3.606943, "o", "u"]
[3.756152, "o", "e"]
[3.813496, "o", "r"]
[3.874432, "o", "y"]
[4.010208, "o", " "]
[4.166988, "o", "v"]
[4.404492, "o", "1"]
[4.878027, "o", "\r\n"]
[5.8752, "o", "{\r\n \"_beta_keys\": [\r\n \"subplatform\"\r\n ],\r\n \"availability_zone\": null,\r\n \"cloud_name\": \"unknown\",\r\n \"instance_id\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"platform\": \"lxd\",\r\n \"public_ssh_keys\": [\r\n \"ssh-rsa AAAAB3N..<snip>..d/kZ7cLOHP smoser@bart\"\r\n ],\r\n \"region\": null,\r\n \"subplatform\": \"seed-dir (/var/lib/cloud/seed/nocloud-net)\"\r\n}\r\n"]
[5.982103, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[6.956242, "o", "c"]
[7.066869, "o", "l"]
[7.226893, "o", "o"]
[7.285813, "o", "u"]
[7.351041, "o", "d"]
[7.646326, "o", "-"]
[7.891972, "o", "i"]
[8.005818, "o", "n"]
[8.104082, "o", "i"]
[8.174228, "o", "t"]
[8.287463, "o", " "]
[8.473183, "o", "q"]
[8.576474, "o", "u"]
[9.020717, "o", "y"]
[9.34379, "o", "\b\u001b[K"]
[9.611364, "o", "e"]
[9.675199, "o", "r"]
[9.755737, "o", "y"]
[9.914426, "o", " "]
[10.202118, "o", "v"]
[10.435008, "o", "1"]
[10.785108, "o", " "]
[10.950619, "o", "-"]
[11.171538, "o", "i"]
[11.281492, "o", " "]
[11.701977, "o", "i"]
[11.798862, "o", "d"]
[12.008463, "o", "-"]
[12.228934, "o", "a"]
[12.490338, "o", "z"]
[12.599941, "o", "u"]
[12.724104, "o", "r"]
[12.766802, "o", "e"]
[12.917929, "o", "."]
[13.078775, "o", "j"]
[13.226441, "o", "s"]
[13.285696, "o", "o"]
[13.372951, "o", "n"]
[13.619805, "o", "\r\n"]
[14.554831, "o", "{\r\n \"availability_zone\": null,\r\n \"cloud_name\": \"azure\",\r\n \"instance_id\": \"CCCB5F4C-3597-BA48-91C8-23861D25F118\",\r\n \"local_hostname\": \"my-b1\",\r\n \"platform\": \"azure\",\r\n \"public_ssh_keys\": [\r\n \"ssh-rsa AAAAB3Nz<snip>...GoOB cloud-init-integration\"\r\n ],\r\n \"region\": null\r\n}\r\n"]
[14.659076, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[16.414247, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540252414, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.015048, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.646748, "o", "# Instance-data.json can easily be referenced in\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ # a 'cloud-config' file or user-script (#!) using jinja templates.\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.641152, "o", "c"]
[1.814738, "o", "a"]
[1.899985, "o", "t"]
[2.008278, "o", " "]
[2.146134, "o", "m"]
[2.328767, "o", "y"]
[2.507677, "o", "s"]
[2.760894, "o", "c"]
[2.999966, "o", "r"]
[3.142164, "o", "i"]
[3.206269, "o", "p"]
[3.281684, "o", "t"]
[3.487686, "o", "."]
[3.563845, "o", "s"]
[3.671296, "o", "h"]
[3.867599, "o", "\r\n"]
[3.871479, "o", "## template: jinja\r\n#!/bin/sh\r\nhostname {{ v1.cloud_name }}-{{v1.region}}\r\necho \"My instance uses these pub keys: {{v1.public_ssh_keys}}\" > /ssh-key.log\r\n"]
[3.872942, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[4.685131, "o", "\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[5.793761, "o", "c"]
[5.873959, "o", "l"]
[6.029495, "o", "o"]
[6.052084, "o", "u"]
[6.143514, "o", "d"]
[6.301463, "o", "-"]
[6.502111, "o", "i"]
[6.602312, "o", "n"]
[6.696691, "o", "i"]
[6.782591, "o", "t"]
[6.84922, "o", " "]
[6.993864, "o", "d"]
[7.168682, "o", "e"]
[7.355574, "o", "v"]
[7.409088, "o", "e"]
[7.497902, "o", "l"]
[7.632375, "o", " "]
[7.865937, "o", "r"]
[7.925773, "o", "e"]
[8.049256, "o", "n"]
[8.173014, "o", "d"]
[8.344891, "o", "e"]
[8.408685, "o", "r"]
[8.495389, "o", " "]
[8.588453, "o", "-"]
[8.76825, "o", "i"]
[8.877838, "o", " "]
[9.022844, "o", "i"]
[9.172931, "o", "d"]
[9.443287, "o", "-"]
[9.790898, "o", "a"]
[9.985097, "o", "w"]
[10.213974, "o", "s"]
[10.505321, "o", "."]
[10.887897, "o", "j"]
[11.201169, "o", "s"]
[11.519852, "o", "o"]
[11.622151, "o", "n"]
[11.778952, "o", " "]
[12.098631, "o", "m"]
[12.311307, "o", "y"]
[12.596741, "o", "s"]
[12.77737, "o", "cript.sh "]
[13.138966, "o", "\r\n"]
[14.102492, "o", "#!/bin/sh\r\nhostname aws-us-east-2\r\necho \"My instance uses these pub keys: ['ssh-rsa AAAAB3Nz<snip>...GoOB cloud-init-integration']\" > /ssh-key.log\r\n"]
[14.201308, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[15.881892, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540252547, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.01769, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.778008, "o", "# instance-data can also be used and formatted via commandline tool\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ #\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[1.984879, "o", "\r\n"]
[1.985369, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[2.575716, "o", "c"]
[2.657439, "o", "l"]
[2.831533, "o", "o"]
[2.906307, "o", "u"]
[2.933298, "o", "d"]
[3.119656, "o", "-"]
[3.340469, "o", "i"]
[3.464227, "o", "n"]
[3.534571, "o", "i"]
[3.634862, "o", "t"]
[3.71751, "o", " "]
[3.905831, "o", "q"]
[4.013421, "o", "u"]
[4.38416, "o", "e"]
[4.491916, "o", "r"]
[4.675372, "o", "y"]
[4.853137, "o", " "]
[5.028173, "o", "-"]
[5.194621, "o", "-"]
[5.362506, "o", "a"]
[5.47287, "o", "l"]
[5.640117, "o", "l"]
[5.919976, "o", "\r\n"]
[6.869171, "o", "{\r\n \"_beta_keys\": [\r\n \"subplatform\"\r\n ],\r\n \"availability_zone\": null,\r\n \"base64_encoded_keys\": [],\r\n \"cloud_name\": \"unknown\",\r\n \"ds\": {\r\n \"_doc\": \"EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.\",\r\n \"meta_data\": {\r\n \"dsmode\": \"net\",\r\n \"instance_id\": \"b1\",\r\n \"public_keys\": [\r\n \"ssh-rsa AAAAB3N..<snip>..d/kZ7cLOHP smoser@bart\"\r\n ]\r\n }\r\n },\r\n \"instance_id\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"platform\": \"lxd\",\r\n \"public_ssh_keys\": [\r\n \"ssh-rsa AAAAB3N..<snip>..d/kZ7cLOHP smoser@bart\"\r\n ],\r\n \"region\": null,\r\n \"sensitive_keys\": [],\r\n \"subplatform\": \"seed-dir (/var/lib/cloud/seed/nocloud-net)\",\r\n \"userdata\": \"<redacted for non-root user> file:/var/lib/cloud/instance/user-data.txt\",\r\n \"v1\": {\r\n \"_beta_keys\": [\r\n \"subplatform\"\r\n ],\r\n \"availability_zone\": null,\r\n \"cloud_name\": \"unknown\",\r\n \"instance_id\": \"b1\",\r\n \"local_hostname\": \"b1\",\r\n \"platform\": \"lxd\",\r\n \"public_ssh_keys\": [\r\n \"ssh-rsa AAAAB3N..<snip>..d/kZ7cLOH"]
[6.870007, "o", "P smoser@bart\"\r\n ],\r\n \"region\": null,\r\n \"subplatform\": \"seed-dir (/var/lib/cloud/seed/nocloud-net)\"\r\n },\r\n \"vendordata\": \"<redacted for non-root user> file:/var/lib/cloud/instance/vendor-data.txt\"\r\n}\r\n"]
[6.974568, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[9.121214, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540252674, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.018981, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.871756, "o", "f"]
[0.995453, "o", "o"]
[1.097883, "o", "r"]
[1.260733, "o", " "]
[1.393462, "o", "j"]
[1.55992, "o", "s"]
[1.639834, "o", "o"]
[1.703658, "o", "n"]
[1.866285, "o", " "]
[1.984499, "o", "i"]
[2.081497, "o", "n"]
[2.163034, "o", " "]
[2.508164, "o", "*"]
[2.77633, "o", "."]
[2.954805, "o", "j"]
[3.122303, "o", "s"]
[3.239828, "o", "o"]
[3.321533, "o", "n"]
[3.691759, "o", ";"]
[3.818134, "o", " "]
[3.981652, "o", "d"]
[4.057812, "o", "o"]
[4.169975, "o", " "]
[5.076392, "o", "\r\n"]
[5.076967, "o", "> "]
[5.4279, "o", "e"]
[5.666604, "o", "c"]
[5.736511, "o", "h"]
[5.770825, "o", "o"]
[5.880307, "o", " "]
[6.868701, "o", "="]
[7.058705, "o", "="]
[7.133025, "o", " "]
[7.381702, "o", "$"]
[7.583024, "o", "j"]
[7.700682, "o", "s"]
[7.802067, "o", "o"]
[7.87978, "o", "n"]
[8.009995, "o", " "]
[8.179883, "o", "="]
[8.339704, "o", "="]
[8.89077, "o", "\r\n> "]
[9.666678, "o", "cloud-init query -i $json --format 'mine-{{v1.cloud_name}}-{{v1.availability_zo\rone}}'; done"]
[10.711213, "o", "\r\n== id-aws.json ==\r\n"]
[11.668597, "o", "mine-aws-us-east-2b\r\n"]
[11.76651, "o", "== id-azure.json ==\r\n"]
[12.704289, "o", "mine-azure-None\r\n"]
[12.801672, "o", "== id-gce.json ==\r\n"]
[13.754486, "o", "mine-gce-us-central1-b\r\n"]
[13.854861, "o", "== id-openstack.json ==\r\n"]
[14.82373, "o", "mine-openstack-nova\r\n"]
[14.923199, "o", "== id-oracle.json ==\r\n"]
[15.859113, "o", "mine-oracle-phx-ad-3\r\n"]
[15.956942, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[17.789554, "o", "\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[18.133788, "o", "\r\n"]
{"version": 2, "width": 80, "height": 28, "timestamp": 1540252750, "env": {"SHELL": "/bin/bash", "TERM": "xterm-256color"}}
[0.015534, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.886199, "o", "# Thanks for the views. See more at \r\n"]
[0.887245, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.888615, "o", "# https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html\rl"]
[0.889389, "o", "\r\n"]
[0.890482, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[0.8918, "o", "# Visit us on FreeNode #cloud-init IRC channel"]
[0.892248, "o", "\r\n"]
[0.892911, "o", "\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[2.101182, "o", "\r\n\u001b]0;ubuntu@b1 \u0007\u001b[01;32mubuntu@b1\u001b[00m\u001b[01;34m\u001b[00m$ "]
[2.809119, "o", "\r\n"]

This is a bunch of files that were put together to run a asciinema demo.

Basically I ran it piece by piece for each section in key.txt. I'd run:

./launch.sh 00.cast

Then follow the first section and then:

./launch 01.cast

Chunking it into parts made it much easier to not make typos.

Then just play it all with:

./play.sh *.cast

To play the video:

git clone https://gist.github.com/smoser/08fbad3f71858a3d04e26cd5581546f8 demo
cd demo
./play.sh *.cast
{
"_beta_keys": [
"subplatform"
],
"availability_zone": "us-east-2b",
"base64_encoded_keys": [],
"cloud_name": "aws",
"ds": {
"_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
"_metadata_api_version": "2016-09-02",
"dynamic": {
"instance_identity": {
"document": {
"accountId": "437526006925",
"architecture": "x86_64",
"availabilityZone": "us-east-2b",
"billingProducts": null,
"devpayProductCodes": null,
"imageId": "ami-0fdc207e423cfbab3",
"instanceId": "i-06e536175230a52c8",
"instanceType": "t2.micro",
"kernelId": null,
"marketplaceProductCodes": null,
"pendingTime": "2018-10-21T11:54:35Z",
"privateIp": "10.41.41.185",
"ramdiskId": null,
"region": "us-east-2",
"version": "2017-09-30"
},
"pkcs7": [
"MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCAJIAEggHcewog",
"ICJtYXJrZXRwbGFjZVByb2R1Y3RDb2RlcyIgOiBudWxsLAogICJkZXZwYXlQcm9kdWN0Q29kZXMi",
"IDogbnVsbCwKICAicHJpdmF0ZUlwIiA6ICIxMC40MS40MS4xODUiLAogICJ2ZXJzaW9uIiA6ICIy",
"MDE3LTA5LTMwIiwKICAia2VybmVsSWQiIDogbnVsbCwKICAicmFtZGlza0lkIiA6IG51bGwsCiAg",
"ImF2YWlsYWJpbGl0eVpvbmUiIDogInVzLWVhc3QtMmIiLAogICJiaWxsaW5nUHJvZHVjdHMiIDog",
"bnVsbCwKICAiaW5zdGFuY2VJZCIgOiAiaS0wNmU1MzYxNzUyMzBhNTJjOCIsCiAgImluc3RhbmNl",
"VHlwZSIgOiAidDIubWljcm8iLAogICJhY2NvdW50SWQiIDogIjQzNzUyNjAwNjkyNSIsCiAgImFy",
"Y2hpdGVjdHVyZSIgOiAieDg2XzY0IiwKICAiaW1hZ2VJZCIgOiAiYW1pLTBmZGMyMDdlNDIzY2Zi",
"YWIzIiwKICAicGVuZGluZ1RpbWUiIDogIjIwMTgtMTAtMjFUMTE6NTQ6MzVaIiwKICAicmVnaW9u",
"IiA6ICJ1cy1lYXN0LTIiCn0AAAAAAAAxggEXMIIBEwIBATBpMFwxCzAJBgNVBAYTAlVTMRkwFwYD",
"VQQIExBXYXNoaW5ndG9uIFN0YXRlMRAwDgYDVQQHEwdTZWF0dGxlMSAwHgYDVQQKExdBbWF6b24g",
"V2ViIFNlcnZpY2VzIExMQwIJAJa6SNnlXhpnMAkGBSsOAwIaBQCgXTAYBgkqhkiG9w0BCQMxCwYJ",
"KoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xODEwMjExMTU0NDFaMCMGCSqGSIb3DQEJBDEWBBQn",
"9DITkNfX7Hz/+B4Ku9QvSKKRNTAJBgcqhkjOOAQDBC4wLAIUa2yqzjVbf9qUxlssxIJ39mdY4ggC",
"FDiNlfbrD5bwBoJqJgMa/MFddtnoAAAAAAAA"
],
"rsa2048": [
"MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwGggCSABIIB",
"3HsKICAibWFya2V0cGxhY2VQcm9kdWN0Q29kZXMiIDogbnVsbCwKICAiZGV2cGF5UHJvZHVjdENv",
"ZGVzIiA6IG51bGwsCiAgInByaXZhdGVJcCIgOiAiMTAuNDEuNDEuMTg1IiwKICAidmVyc2lvbiIg",
"OiAiMjAxNy0wOS0zMCIsCiAgImtlcm5lbElkIiA6IG51bGwsCiAgInJhbWRpc2tJZCIgOiBudWxs",
"LAogICJhdmFpbGFiaWxpdHlab25lIiA6ICJ1cy1lYXN0LTJiIiwKICAiYmlsbGluZ1Byb2R1Y3Rz",
"IiA6IG51bGwsCiAgImluc3RhbmNlSWQiIDogImktMDZlNTM2MTc1MjMwYTUyYzgiLAogICJpbnN0",
"YW5jZVR5cGUiIDogInQyLm1pY3JvIiwKICAiYWNjb3VudElkIiA6ICI0Mzc1MjYwMDY5MjUiLAog",
"ICJhcmNoaXRlY3R1cmUiIDogIng4Nl82NCIsCiAgImltYWdlSWQiIDogImFtaS0wZmRjMjA3ZTQy",
"M2NmYmFiMyIsCiAgInBlbmRpbmdUaW1lIiA6ICIyMDE4LTEwLTIxVDExOjU0OjM1WiIsCiAgInJl",
"Z2lvbiIgOiAidXMtZWFzdC0yIgp9AAAAAAAAMYIB/zCCAfsCAQEwaTBcMQswCQYDVQQGEwJVUzEZ",
"MBcGA1UECBMQV2FzaGluZ3RvbiBTdGF0ZTEQMA4GA1UEBxMHU2VhdHRsZTEgMB4GA1UEChMXQW1h",
"em9uIFdlYiBTZXJ2aWNlcyBMTEMCCQDNO6Hl+MXr3TANBglghkgBZQMEAgEFAKBpMBgGCSqGSIb3",
"DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE4MTAyMTExNTQ0MVowLwYJKoZIhvcN",
"AQkEMSIEIHTJE7ea0g1mVBYWy+pz2xUpJBuhdvwvmlAIyXu9IxMuMA0GCSqGSIb3DQEBAQUABIIB",
"ADnxyq2ecbThulx9CaBOHdLFKN0kwf4Jp/fM3twQdjaSmn5+sY0+K7abuo/57/gslJl0d7tojz1Z",
"v76f++r0Eyq+7jDyihLWhbOLsE1rYwCM6+SXqRd+4x7YHyS5ykAeM08kLNjHuPUOH4y+s6RwLktI",
"x/fSmdQx20EmHPhNv3R8PS92DVH5i03D71zqsacMDkoem3s+sZiDJ5eXUAOufOUHWG44YkBNNhpV",
"r6EEXDwqgrOtE0dYiwyngG6ssnT8D3MdXUeI+Ds4y+6Q4QDqVB8N+FlqOb85zCp/OT3HCHzSjoDV",
"dzdd8n0W+Ivitc6wcrzekJGDNX4EzLuijsb7sZsAAAAAAAA="
],
"signature": [
"fKvbpqtR2fJJuW25/6b+GBdAuas4/kx0j/95bPo9P43AGWbrWs2Zp3FyZZ3ohpL3RMLdzXrQPNxI",
"i5blZ4HszL4WAyp9dfSZ/pgghTfK4cZ4EjR7UyjfwvNnHmNqmT0UQ5PMzPIV3rPux+a3uPxuLD9/",
"kGa7JYrMrA8kRnMVbJY="
]
}
},
"meta_data": {
"ami_id": "ami-0fdc207e423cfbab3",
"ami_launch_index": "0",
"ami_manifest_path": "(unknown)",
"block_device_mapping": {
"ami": "/dev/sda1",
"ephemeral0": "sdb",
"ephemeral1": "sdc",
"root": "/dev/sda1"
},
"hostname": "ip-10-41-41-185.us-east-2.compute.internal",
"instance_action": "none",
"instance_id": "i-06e536175230a52c8",
"instance_type": "t2.micro",
"local_hostname": "ip-10-41-41-185.us-east-2.compute.internal",
"local_ipv4": "10.41.41.185",
"mac": "06:d3:ca:55:ff:e6",
"metrics": {
"vhostmd": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
},
"network": {
"interfaces": {
"macs": {
"06:d3:ca:55:ff:e6": {
"device_number": "0",
"interface_id": "eni-0e71b1c537d66ba32",
"ipv4_associations": {
"18.224.15.12": "10.41.41.185"
},
"local_hostname": "ip-10-41-41-185.us-east-2.compute.internal",
"local_ipv4s": "10.41.41.185",
"mac": "06:d3:ca:55:ff:e6",
"owner_id": "437526006925",
"public_hostname": "ec2-18-224-15-12.us-east-2.compute.amazonaws.com",
"public_ipv4s": "18.224.15.12",
"security_group_ids": "sg-828247e9",
"security_groups": "Cloud-init integration test secgroup",
"subnet_id": "subnet-282f3053",
"subnet_ipv4_cidr_block": "10.41.41.0/24",
"subnet_ipv6_cidr_blocks": "2600:1f16:b80:ad00::/64",
"vpc_id": "vpc-252ef24d",
"vpc_ipv4_cidr_block": "10.41.0.0/16",
"vpc_ipv4_cidr_blocks": "10.41.0.0/16",
"vpc_ipv6_cidr_blocks": "2600:1f16:b80:ad00::/56"
}
}
}
},
"placement": {
"availability_zone": "us-east-2b"
},
"profile": "default-hvm",
"public_hostname": "ec2-18-224-15-12.us-east-2.compute.amazonaws.com",
"public_ipv4": "18.224.15.12",
"public_keys": {
"cloud_init_integration": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSL7uWGj8cgWyIOaspgKdVy0cKJ+UTjfv7jBOjG2H/GN8bJVXy72XAvnhM0dUM+CCs8FOf0YlPX+Frvz2hKInrmRhZVwRSL129PasD12MlI3l44u6IwS1o/W86Q+tkQYEljtqDOo0a+cOsaZkvUNzUyEXUwz/lmYa6G4hMKZH4NBj7nbAAF96wsMCoyNwbWryBnDYUr6wMbjRR1J9Pw7Xh7WRC73wy4Va2YuOgbD3V/5ZrFPLbWZW/7TFXVrql04QVbyei4aiFR5n//GvoqwQDNe58LmbzX/xvxyKJYdny2zXmdAhMxbrpFQsfpkJ9E/H5w0yOdSvnWbUoG5xNGoOB cloud-init-integration"
]
},
"reservation_id": "r-0de406a8c68dc770a",
"security_groups": "Cloud-init integration test secgroup",
"services": {
"domain": "amazonaws.com",
"partition": "aws"
}
}
},
"instance_id": "i-06e536175230a52c8",
"local_hostname": "ip-10-41-41-185",
"platform": "ec2",
"public_ssh_keys": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSL7uWGj8cgWyIOaspgKdVy0cKJ+UTjfv7jBOjG2H/GN8bJVXy72XAvnhM0dUM+CCs8FOf0YlPX+Frvz2hKInrmRhZVwRSL129PasD12MlI3l44u6IwS1o/W86Q+tkQYEljtqDOo0a+cOsaZkvUNzUyEXUwz/lmYa6G4hMKZH4NBj7nbAAF96wsMCoyNwbWryBnDYUr6wMbjRR1J9Pw7Xh7WRC73wy4Va2YuOgbD3V/5ZrFPLbWZW/7TFXVrql04QVbyei4aiFR5n//GvoqwQDNe58LmbzX/xvxyKJYdny2zXmdAhMxbrpFQsfpkJ9E/H5w0yOdSvnWbUoG5xNGoOB cloud-init-integration"
],
"region": "us-east-2",
"sensitive_keys": [],
"subplatform": "metadata (http://169.254.169.254)",
"userdata": "## template: jinja\n#cloud-config\n{% set HN = 'oss-' ~ cloud_name ~ '-' ~ region ~ '-' ~ range(1,100) | random %}\npuppet:\n conf:\n agent:\n server: \"puppetmaster.blackboxsw.com\"\n certname: \"{{ HN }}.ci\"\nhostname: {{ HN }}.ci\nruncmd:\n - 'mkdir -p /etc/facter/facts.d/' # Add custom cloud-init facts to facter\n - 'INSTANCE_JSON=`cat /run/cloud-init/instance-data.json`'\n - 'echo {\\\"cloud\\\": $INSTANCE_JSON} > /etc/facter/facts.d/cloud-init.json'\nssh_import_id: chad.smith\n",
"v1": {
"_beta_keys": [
"subplatform"
],
"availability_zone": "us-east-2b",
"cloud_name": "aws",
"instance_id": "i-06e536175230a52c8",
"local_hostname": "ip-10-41-41-185",
"platform": "ec2",
"public_ssh_keys": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSL7uWGj8cgWyIOaspgKdVy0cKJ+UTjfv7jBOjG2H/GN8bJVXy72XAvnhM0dUM+CCs8FOf0YlPX+Frvz2hKInrmRhZVwRSL129PasD12MlI3l44u6IwS1o/W86Q+tkQYEljtqDOo0a+cOsaZkvUNzUyEXUwz/lmYa6G4hMKZH4NBj7nbAAF96wsMCoyNwbWryBnDYUr6wMbjRR1J9Pw7Xh7WRC73wy4Va2YuOgbD3V/5ZrFPLbWZW/7TFXVrql04QVbyei4aiFR5n//GvoqwQDNe58LmbzX/xvxyKJYdny2zXmdAhMxbrpFQsfpkJ9E/H5w0yOdSvnWbUoG5xNGoOB cloud-init-integration"
],
"region": "us-east-2",
"subplatform": "metadata (http://169.254.169.254)"
},
"vendordata": ""
}
{
"base64_encoded_keys": [
"ds/meta_data/random_seed"
],
"ds": {
"_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
"meta_data": {
"azure_data": {
"configurationsettype": "LinuxProvisioningConfiguration"
},
"imds": {
"compute": {
"location": "eastus2",
"name": "my-b1",
"offer": "UbuntuServer",
"osType": "Linux",
"placementGroupId": "",
"platformFaultDomain": "0",
"platformUpdateDomain": "0",
"publisher": "Canonical",
"resourceGroupName": "srugroup1",
"sku": "18.04-DAILY-LTS",
"subscriptionId": "12aad61c-6de4-4e53-a6c6-5aff52a83777",
"tags": "",
"version": "18.04.201810180",
"vmId": "4c5fcbcc-9735-48ba-91c8-23861d25f118",
"vmScaleSetName": "",
"vmSize": "Standard_DS1_v2",
"zone": ""
},
"network": {
"interface": [
{
"ipv4": {
"ipAddress": [
{
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "104.209.152.190"
}
],
"subnet": [
{
"address": "10.0.0.0",
"prefix": "24"
}
]
},
"ipv6": {
"ipAddress": []
},
"macAddress": "000D3A01F430"
}
]
}
},
"instance-id": "CCCB5F4C-3597-BA48-91C8-23861D25F118",
"local-hostname": "my-b1",
"random_seed": "T0VNMGQAAAABv1ZSVFVBTE1JQ1JPU0ZUAhcABk1TRlSXAAAAY4s6ADXWt7UGGThlrFlZBDBogzz8kyOLAT0qsL7B7Upl8bIpTKY3pbgGltHkR+04+jcLOKdXk7A2TDkXdh4+qg=="
}
},
"sensitive_keys": [],
"v1": {
"availability-zone": null,
"availability_zone": null,
"cloud-name": "azure",
"cloud_name": "azure",
"instance-id": "CCCB5F4C-3597-BA48-91C8-23861D25F118",
"instance_id": "CCCB5F4C-3597-BA48-91C8-23861D25F118",
"platform": "azure",
"public_ssh_keys": [],
"local-hostname": "my-b1",
"local_hostname": "my-b1",
"region": null
}
}
{
"_beta_keys": [
"subplatform"
],
"availability_zone": "us-central1-b",
"base64_encoded_keys": [],
"cloud_name": "gce",
"ds": {
"_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
"meta_data": {
"availability_zone": "us-central1-b",
"instance_data": "{\"user-data\":\"## template: jinja\\n#cloud-config\\nssh_import_id : [chad.smith]\\nhostname: SRU-worked-{{v1.cloud_name}}\\n\"}",
"instance_id": "40841735314016434",
"local_hostname": "cosmic-sru-test.c.cloud-init-testing.internal",
"project_data": "{\"google-compute-default-region\":\"us-west1\",\"google-compute-default-zone\":\"us-west1-b\",\"ssh-keys\":\"chad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAHwLTRUY5YN74SKLMHM8I1CwCZP6WCYQlawULeeWPruTHCXCRx6qhOPXI0PMv52hF91e2Z3YKwSC7NH8WT5Y7akWD47wJvBdRoq9Yq2gUUfJYv2t3zkUco727ZNz9vmGh8sCdB3GutSRm+/KYwOhUGPvgYAo+gLlltlxTQVtEfeWPk246V40w/uXpdl9DoRebCra8TGMXmyIX/w8D71OpofLKfUZgpbqnTGuc4MMDYFjB7XehN4VvYmwKdaoTumyJq6HPlfxmEvqzbL+9z62ur03h2TGtcptJVhewFFLnA/e1y5xKUOFZ6M+H/v6pzm9hq9Q4nrMPQdnF3Nf9iWBGXU= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2018-10-18T17:11:51+0000\\\"}\\nchad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNkX7RMNJrQ9nZb5REJCkwP08IxAzexZrAKwqPWtT9JHxLEpwoINQsBeAhVROSRSAM4b96qaATq8o3YLOsQURhc= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2018-10-18T17:11:48+0000\\\"}\\nchad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCT/tVyWY3NyVhgIDQUEYQjbKqfTaWTTczqqy+H45McnRhNlS1gHingCH65+TRQdEV003I5whLy7j7x8CWL2F/wJTfG0j8Ccodlyqc1mXjM8hggf/b7wt/IexTcyICjcAUQddN9FDrTbXqruXwQxzXqxR2WBFqm4EtCXgES6hagOAP1SQxOh660qr5Q4CpqIdParBXKAx7abZO/VvGjf7qB3J/zMJcpVLPslnOktAL5BDsGYcqo3pqMYZKiJd9J+lFUn1dKpjpv5MgK+FN6lhOKYwIDfgMjEyQNnL1Kq1mnpoW76f9oIhqzGuPMQiBrCAzE7NJKzp0Pu8BW9eG/Fx0F google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2018-10-18T17:09:49+0000\\\"}\\nchad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOJ/yJ2Q9Zeay+D8dkNEmBgp2AvX4Bq82DeMLuTc5/0/Aa3lIikTdqa8KDCUWaVfPbRUYCXaf56Dm4XRqZUZ3vE= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2018-10-18T17:09:46+0000\\\"}\\npowersj:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDXW9Gg5H7ehjdSc6qDzwNtgCy94XYHhEYlXZMO2+FJrH3wfHGiMfCwOHxcOMt2QiXItULthdeQWS9QjBSSjVRXf6731igFrqPFyS9qBlOQ5D29C4HBXFnQggGVpBNJ82IRJv7szbbe/vpgLBP4kttUza9Dr4e1YM1ln4PRnjfXea6T0m+m1ixNb5432pTXlqYOnNOxSIm1gHgMLxPuDrJvQERDKrSiKSjIdyC9Jd8t2e1tkNLY0stmckVRbhShmcJvlyofHWbc2Ca1mmtP7MlS1VQnfLkvU1IrFwkmaQmaggX6WR6coRJ6XFXdWcq/AI2K6GjSnl1dnnCxE8VCEXBlXgFzad+PMSG4yiL5j8Oo1ZVpkTdgBnw4okGqTYCXyZg6X00As9IBNQfZMFlQXlIo4FiWgj3CO5QHQOyOX6FuEumaU13GnERrSSdp9tCs1Qm3/DG2RSCQBWTfcgMcStIvKqvJ3IjFn0vGLvI3Ampnq9q1SHwmmzAPSdzcMA76HyMUA5VWaBvWHlUxzIM6unxZASnwvuCzpywSEB5J2OF+p6H+cStJwQ32XwmOG8pLp1srlVWpqZI58Du/lzrkPqONphoZx0LDV86w7RUz1ksDzAdcm0tvmNRFMN1a0frDs506oA3aWK0oDk4Nmvk8sXGTYYw3iQSkOvDUUlIsqdaO+w== powersj@x1\\nroot:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfo1zNS6W5YrRG7f9E/rA36tGmyQRoF8AKi78fjYjoWucIQVlK+qpHIRcIprJvZNiFl79CQ61uDBwOl9Fp4riRTM5Fe6ogEoXw/6WlaDql8k/q42TW3bBLtusDOpCTlAO7B5ageocvCxT2Cnbs+DdvSbjTjZACfZcNqr5HFwSLoTSRwZM5afE6PyvDYz0odREOASsG8rsOpd6uwpwUZwgrEgI7MC/GbtaWZyAd01u263FcoNvo5SM9dAnoe8tG/TlwPKDBApybhkeraLfQnfHJvyLVwSv9T7UokFuXbORAthwtVgXhgDykKdQnRwUQ4KdJqZbxa75Wyrl/ws6xrEMN root@publishing\\nsmoser:ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies-canonical\\n\",\"sshKeys\":\"chad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNqMv+yV3qUQiDNF9Ykqwd/J06lQnIN67fGIB5Cukvin+3I8wXQwOtB+TmqJGUDlIwoeK6L3cc9VLxl8ujJ+Dg4= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2017-09-21T19:49:16+0000\\\"}\\nchad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAGc4eocDyJDifmxxETICup2XiAU9cDRp9oYXETvEMy5bLr3/W+hQDQ00rqUQgKffFgohucqwYqv0lJ6LVJ+w/9aDViVN9c8wKzBwXFWAaDKYBizaHtxwwb+WegJCj5GvTJVZ6GvL7AV1p+b7DbKoUvEjuREt7w64ocmVZO84/k56OrnafqcGk3FS7ZJ6peUHflc81bp/IvtkOKwMyd2TCk5FX0sT6cV9GI+itMuGrDrN33+q3Y8Rdo6wz6PTl0kutdD3WRpfK5e5b5Y048ssveyoThfOwcxERTtmRZTksKAOn0lCtw/7M3cYEZPDgjtClLj1d/hyKLzbUPbqbilEdAc= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2017-09-21T19:49:16+0000\\\"}\\nchad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNqMv+yV3qUQiDNF9Ykqwd/J06lQnIN67fGIB5Cukvin+3I8wXQwOtB+TmqJGUDlIwoeK6L3cc9VLxl8ujJ+Dg4= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2017-09-21T19:48:16+0000\\\"}\\nchad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAGc4eocDyJDifmxxETICup2XiAU9cDRp9oYXETvEMy5bLr3/W+hQDQ00rqUQgKffFgohucqwYqv0lJ6LVJ+w/9aDViVN9c8wKzBwXFWAaDKYBizaHtxwwb+WegJCj5GvTJVZ6GvL7AV1p+b7DbKoUvEjuREt7w64ocmVZO84/k56OrnafqcGk3FS7ZJ6peUHflc81bp/IvtkOKwMyd2TCk5FX0sT6cV9GI+itMuGrDrN33+q3Y8Rdo6wz6PTl0kutdD3WRpfK5e5b5Y048ssveyoThfOwcxERTtmRZTksKAOn0lCtw/7M3cYEZPDgjtClLj1d/hyKLzbUPbqbilEdAc= google-ssh {\\\"userName\\\":\\\"chad.smith@canonical.com\\\",\\\"expireOn\\\":\\\"2017-09-21T19:48:16+0000\\\"}\\nrharper:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5ZqTCxWN7+0qe/JbK0/4wSXuFo2Hw0E00VaicVKM7RMCYTMmbDWalKrpqFLrxFLFty9QakrhT4RCcHOaiQ3ZFXsrfiUCfwZx+2cnU9jCqxWjJJpo1ehZWiZpBa1/dspLU3uahA0O2q4ZN/sx9zUAbccL0DvfZQ5sXci2Wp0fQo+krwb/ACqrthZvTDg58p3yoSS0PgbHolWKMcOFNtcXGVJxFqkSKjdia1o/BbEudsPoKiy3E6MNVrTXZXIaYfEKASkcorMWza2T8N0Tl5q3hZQS967vTsPruc/2Jp/e0jkAcDnfagKgPbJn+vvDIZHRAIpo3kgUS04u5flz58763 rharper@foudres\\n\"}",
"public_keys_data": [
"chad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAHwLTRUY5YN74SKLMHM8I1CwCZP6WCYQlawULeeWPruTHCXCRx6qhOPXI0PMv52hF91e2Z3YKwSC7NH8WT5Y7akWD47wJvBdRoq9Yq2gUUfJYv2t3zkUco727ZNz9vmGh8sCdB3GutSRm+/KYwOhUGPvgYAo+gLlltlxTQVtEfeWPk246V40w/uXpdl9DoRebCra8TGMXmyIX/w8D71OpofLKfUZgpbqnTGuc4MMDYFjB7XehN4VvYmwKdaoTumyJq6HPlfxmEvqzbL+9z62ur03h2TGtcptJVhewFFLnA/e1y5xKUOFZ6M+H/v6pzm9hq9Q4nrMPQdnF3Nf9iWBGXU= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2018-10-18T17:11:51+0000\"}",
"chad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNkX7RMNJrQ9nZb5REJCkwP08IxAzexZrAKwqPWtT9JHxLEpwoINQsBeAhVROSRSAM4b96qaATq8o3YLOsQURhc= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2018-10-18T17:11:48+0000\"}",
"chad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCT/tVyWY3NyVhgIDQUEYQjbKqfTaWTTczqqy+H45McnRhNlS1gHingCH65+TRQdEV003I5whLy7j7x8CWL2F/wJTfG0j8Ccodlyqc1mXjM8hggf/b7wt/IexTcyICjcAUQddN9FDrTbXqruXwQxzXqxR2WBFqm4EtCXgES6hagOAP1SQxOh660qr5Q4CpqIdParBXKAx7abZO/VvGjf7qB3J/zMJcpVLPslnOktAL5BDsGYcqo3pqMYZKiJd9J+lFUn1dKpjpv5MgK+FN6lhOKYwIDfgMjEyQNnL1Kq1mnpoW76f9oIhqzGuPMQiBrCAzE7NJKzp0Pu8BW9eG/Fx0F google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2018-10-18T17:09:49+0000\"}",
"chad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOJ/yJ2Q9Zeay+D8dkNEmBgp2AvX4Bq82DeMLuTc5/0/Aa3lIikTdqa8KDCUWaVfPbRUYCXaf56Dm4XRqZUZ3vE= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2018-10-18T17:09:46+0000\"}",
"powersj:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDXW9Gg5H7ehjdSc6qDzwNtgCy94XYHhEYlXZMO2+FJrH3wfHGiMfCwOHxcOMt2QiXItULthdeQWS9QjBSSjVRXf6731igFrqPFyS9qBlOQ5D29C4HBXFnQggGVpBNJ82IRJv7szbbe/vpgLBP4kttUza9Dr4e1YM1ln4PRnjfXea6T0m+m1ixNb5432pTXlqYOnNOxSIm1gHgMLxPuDrJvQERDKrSiKSjIdyC9Jd8t2e1tkNLY0stmckVRbhShmcJvlyofHWbc2Ca1mmtP7MlS1VQnfLkvU1IrFwkmaQmaggX6WR6coRJ6XFXdWcq/AI2K6GjSnl1dnnCxE8VCEXBlXgFzad+PMSG4yiL5j8Oo1ZVpkTdgBnw4okGqTYCXyZg6X00As9IBNQfZMFlQXlIo4FiWgj3CO5QHQOyOX6FuEumaU13GnERrSSdp9tCs1Qm3/DG2RSCQBWTfcgMcStIvKqvJ3IjFn0vGLvI3Ampnq9q1SHwmmzAPSdzcMA76HyMUA5VWaBvWHlUxzIM6unxZASnwvuCzpywSEB5J2OF+p6H+cStJwQ32XwmOG8pLp1srlVWpqZI58Du/lzrkPqONphoZx0LDV86w7RUz1ksDzAdcm0tvmNRFMN1a0frDs506oA3aWK0oDk4Nmvk8sXGTYYw3iQSkOvDUUlIsqdaO+w== powersj@x1",
"root:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCfo1zNS6W5YrRG7f9E/rA36tGmyQRoF8AKi78fjYjoWucIQVlK+qpHIRcIprJvZNiFl79CQ61uDBwOl9Fp4riRTM5Fe6ogEoXw/6WlaDql8k/q42TW3bBLtusDOpCTlAO7B5ageocvCxT2Cnbs+DdvSbjTjZACfZcNqr5HFwSLoTSRwZM5afE6PyvDYz0odREOASsG8rsOpd6uwpwUZwgrEgI7MC/GbtaWZyAd01u263FcoNvo5SM9dAnoe8tG/TlwPKDBApybhkeraLfQnfHJvyLVwSv9T7UokFuXbORAthwtVgXhgDykKdQnRwUQ4KdJqZbxa75Wyrl/ws6xrEMN root@publishing",
"smoser:ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies-canonical",
"",
"chad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNqMv+yV3qUQiDNF9Ykqwd/J06lQnIN67fGIB5Cukvin+3I8wXQwOtB+TmqJGUDlIwoeK6L3cc9VLxl8ujJ+Dg4= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2017-09-21T19:49:16+0000\"}",
"chad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAGc4eocDyJDifmxxETICup2XiAU9cDRp9oYXETvEMy5bLr3/W+hQDQ00rqUQgKffFgohucqwYqv0lJ6LVJ+w/9aDViVN9c8wKzBwXFWAaDKYBizaHtxwwb+WegJCj5GvTJVZ6GvL7AV1p+b7DbKoUvEjuREt7w64ocmVZO84/k56OrnafqcGk3FS7ZJ6peUHflc81bp/IvtkOKwMyd2TCk5FX0sT6cV9GI+itMuGrDrN33+q3Y8Rdo6wz6PTl0kutdD3WRpfK5e5b5Y048ssveyoThfOwcxERTtmRZTksKAOn0lCtw/7M3cYEZPDgjtClLj1d/hyKLzbUPbqbilEdAc= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2017-09-21T19:49:16+0000\"}",
"chad_smith:ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNqMv+yV3qUQiDNF9Ykqwd/J06lQnIN67fGIB5Cukvin+3I8wXQwOtB+TmqJGUDlIwoeK6L3cc9VLxl8ujJ+Dg4= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2017-09-21T19:48:16+0000\"}",
"chad_smith:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAGc4eocDyJDifmxxETICup2XiAU9cDRp9oYXETvEMy5bLr3/W+hQDQ00rqUQgKffFgohucqwYqv0lJ6LVJ+w/9aDViVN9c8wKzBwXFWAaDKYBizaHtxwwb+WegJCj5GvTJVZ6GvL7AV1p+b7DbKoUvEjuREt7w64ocmVZO84/k56OrnafqcGk3FS7ZJ6peUHflc81bp/IvtkOKwMyd2TCk5FX0sT6cV9GI+itMuGrDrN33+q3Y8Rdo6wz6PTl0kutdD3WRpfK5e5b5Y048ssveyoThfOwcxERTtmRZTksKAOn0lCtw/7M3cYEZPDgjtClLj1d/hyKLzbUPbqbilEdAc= google-ssh {\"userName\":\"chad.smith@canonical.com\",\"expireOn\":\"2017-09-21T19:48:16+0000\"}",
"rharper:ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5ZqTCxWN7+0qe/JbK0/4wSXuFo2Hw0E00VaicVKM7RMCYTMmbDWalKrpqFLrxFLFty9QakrhT4RCcHOaiQ3ZFXsrfiUCfwZx+2cnU9jCqxWjJJpo1ehZWiZpBa1/dspLU3uahA0O2q4ZN/sx9zUAbccL0DvfZQ5sXci2Wp0fQo+krwb/ACqrthZvTDg58p3yoSS0PgbHolWKMcOFNtcXGVJxFqkSKjdia1o/BbEudsPoKiy3E6MNVrTXZXIaYfEKASkcorMWza2T8N0Tl5q3hZQS967vTsPruc/2Jp/e0jkAcDnfagKgPbJn+vvDIZHRAIpo3kgUS04u5flz58763 rharper@foudres"
]
}
},
"instance_id": "40841735314016434",
"local_hostname": "cosmic-sru-test",
"platform": "gce",
"public_ssh_keys": [],
"region": "us-central1",
"sensitive_keys": [],
"subplatform": "metadata (http://metadata.google.internal/computeMetadata/v1/)",
"userdata": "## template: jinja\n#cloud-config\nssh_import_id : [chad.smith]\nhostname: SRU-worked-{{v1.cloud_name}}\n",
"v1": {
"_beta_keys": [
"subplatform"
],
"availability_zone": "us-central1-b",
"cloud_name": "gce",
"instance_id": "40841735314016434",
"local_hostname": "cosmic-sru-test",
"platform": "gce",
"public_ssh_keys": [],
"region": "us-central1",
"subplatform": "metadata (http://metadata.google.internal/computeMetadata/v1/)"
},
"vendordata": ""
}
{
"base64_encoded_keys": [
"ds/meta_data/random_seed"
],
"ds": {
"_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
"ec2_metadata": {
"ami-id": "ami-000001ca",
"ami-launch-index": "0",
"ami-manifest-path": "FIXME",
"block-device-mapping": {
"ami": "vda",
"ephemeral0": "/dev/vdb",
"root": "/dev/vda"
},
"hostname": "test-bionic.novalocal",
"instance-action": "none",
"instance-id": "i-00065db0",
"instance-type": "m1.small",
"local-hostname": "test-bionic.novalocal",
"local-ipv4": "10.5.0.3",
"placement": {
"availability-zone": "nova"
},
"public-hostname": "test-bionic.novalocal",
"public-ipv4": "10.245.162.170",
"public-keys": {
"mykey": [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeJ7e0INdC10Ly1ufyBovZkFjKz9pfgfpGvPkcvU64eUlIKytQvb3PvK03jSJvq8fWXeE0fl6kJBzP/WjZcZFQVcWUKxSSCTOkpMlrMtKzUtR0uBa+yC03ehoWx/M21tmE67aAEzoc0ktdkieoU+wyvHJL8KmfPmd2fVhj2ns3O9J7aZq3Ryfa49xfD/rckt4QHKqhyKIWKVg/bIzN+rY7XYHUXKJBXptE8ymx2bDGshvVjEcZuECjzUIk/m2p2q6BnErY0uLep0cI+ThVHbtufCoudm9MiVpP+EMQEJw7m+VGcdb3043He0o+kcl3ZlNq5i1O2yzPysY/kwHdhsTr ubuntu@blackboxsw-bastion"
]
},
"reservation-id": "r-fl055475",
"security-groups": ""
},
"meta_data": {
"availability_zone": "nova",
"devices": [],
"hostname": "test-bionic.novalocal",
"instance-id": "2bfdd175-76a5-4f84-9f85-23c449556150",
"keys": [
{
"data": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeJ7e0INdC10Ly1ufyBovZkFjKz9pfgfpGvPkcvU64eUlIKytQvb3PvK03jSJvq8fWXeE0fl6kJBzP/WjZcZFQVcWUKxSSCTOkpMlrMtKzUtR0uBa+yC03ehoWx/M21tmE67aAEzoc0ktdkieoU+wyvHJL8KmfPmd2fVhj2ns3O9J7aZq3Ryfa49xfD/rckt4QHKqhyKIWKVg/bIzN+rY7XYHUXKJBXptE8ymx2bDGshvVjEcZuECjzUIk/m2p2q6BnErY0uLep0cI+ThVHbtufCoudm9MiVpP+EMQEJw7m+VGcdb3043He0o+kcl3ZlNq5i1O2yzPysY/kwHdhsTr ubuntu@blackboxsw-bastion\n",
"name": "mykey",
"type": "ssh"
}
],
"launch_index": 0,
"local-hostname": "test-bionic.novalocal",
"name": "test-bionic",
"project_id": "3354f8a4ec5e4fbd827a6999c311f5d1",
"public_keys": {
"mykey": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeJ7e0INdC10Ly1ufyBovZkFjKz9pfgfpGvPkcvU64eUlIKytQvb3PvK03jSJvq8fWXeE0fl6kJBzP/WjZcZFQVcWUKxSSCTOkpMlrMtKzUtR0uBa+yC03ehoWx/M21tmE67aAEzoc0ktdkieoU+wyvHJL8KmfPmd2fVhj2ns3O9J7aZq3Ryfa49xfD/rckt4QHKqhyKIWKVg/bIzN+rY7XYHUXKJBXptE8ymx2bDGshvVjEcZuECjzUIk/m2p2q6BnErY0uLep0cI+ThVHbtufCoudm9MiVpP+EMQEJw7m+VGcdb3043He0o+kcl3ZlNq5i1O2yzPysY/kwHdhsTr ubuntu@blackboxsw-bastion\n"
},
"random_seed": "YE/haBs83LxAaSpjK32Z8Q0PNp0is0DG9auQvV7iLb6Yw8O2gTgPI/S6cIGiQncR5CfRAWc+vD6Qxg2v1yveM01PbwafGX8sJUC6tzGRIhwO+7n4GQa84G9sI0hUuoyPfp5B8socCjZMwxfCVFYkwLikLhNeJlgOHmXB7PZDEqdjX1F1Y8PomDave0yCU+V7qr6nqDO2T0QXdsCdiX4dHHoS+efvk95i6Vynd65NwxiyeSfIO4nPkC5P/VXSyXA8uYZbjf3DaW1loDxfzN490IY4Ert+c4/WlpibkDcOQTrJ4eO3i2zfvuOT9+7ADc01ATDVdIUEESvchFrjsf22R/ySe3BefwQJluKEP6JD+zi0dqFgIcJbxNTr8z6yi1bYc6CFYC4ZFvpIKZN+/RdOp+2x2fUrZQze+cc5GN/VuaXYvLiSq3hg2At5tTHk6AP8fXSlWR0wgKTRRnTUtqSBL9HWB3keZpYwA9l8RfamyB0J9+xoQQycETAJ/1uGa4fymM3rfR/ZkdQM9bjbRr+XeAE0DMcfjVehjJQH263HT08xrZ9P16OyIXUwpGHJJBo6xj1kmvQlmKv6HGKvafPCHAx0nNIKw2J7gY/IQFYje+0VsOHtCuHJ4gFZe5coFI2PxbKBxQ6oplkjZYYd/VlKS8iSI6vwYGH1IUFARxEXtIs=",
"uuid": "2bfdd175-76a5-4f84-9f85-23c449556150"
},
"network_json": {
"links": [
{
"ethernet_mac_address": "fa:16:3e:d3:c8:bd",
"id": "tap30544651-68",
"mtu": 8958,
"type": "ovs",
"vif_id": "30544651-68c0-4e77-80e3-1bdf9b2d4559"
}
],
"networks": [
{
"id": "network0",
"link": "tap30544651-68",
"network_id": "243d8067-501d-454b-bd96-28c929b6202d",
"type": "ipv4_dhcp"
}
],
"services": []
}
},
"sensitive_keys": [],
"v1": {
"availability-zone": "nova",
"availability_zone": "nova",
"cloud-name": "openstack",
"cloud_name": "openstack",
"instance-id": "2bfdd175-76a5-4f84-9f85-23c449556150",
"instance_id": "2bfdd175-76a5-4f84-9f85-23c449556150",
"local-hostname": "test-bionic",
"local_hostname": "test-bionic",
"region": null
}
}
{
"base64_encoded_keys": [],
"ds": {
"_doc": "EXPERIMENTAL: The structure and format of content scoped under the 'ds' key may change in subsequent releases of cloud-init.",
"meta_data": {
"availability-zone": "phx-ad-3",
"instance-id": "ocid1.instance.oc1.phx.abyhqljt26tucnukhtjl2vdpf2t5jvpt3rzuyzcpodwq22jkxahvcs6ljrga",
"launch-index": 0,
"local-hostname": "smoser-xenial1",
"public_keys": {
"0": "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA3I7VUf2l5gSn5uavROsc5HRDpZdQueUq5ozemNSj8T7enqKHOEaFoU2VoPgGEWC9RyzSQVeyD6s7APMcE82EtmW4skVEgEGSbDc1pvxzxtchBj78hJP6Cf5TCMFSXw+Fz5rF1dR23QDbN1mkHs7adr8GW4kSWqU7Q7NDwfIrJJtO7Hi42GyXtvEONHbiRPOe8stqUly7MvUoN+5kfjBM8Qqpfl2+FNhTYWpMfYdPUnE7u536WqzFmsaqJctz3gBxH9Ex7dFtrxR4qiqEr9Qtlu3xGn7Bw07/+i1D+ey3ONkZLN+LQ714cgj8fRS4Hj29SCmXp5Kt5/82cD/VN3NtHw== smoser@brickies"
}
}
},
"sensitive_keys": [],
"v1": {
"availability-zone": "phx-ad-3",
"availability_zone": "phx-ad-3",
"cloud-name": "oracle",
"cloud_name": "oracle",
"instance-id": "ocid1.instance.oc1.phx.abyhqljt26tucnukhtjl2vdpf2t5jvpt3rzuyzcpodwq22jkxahvcs6ljrga",
"instance_id": "ocid1.instance.oc1.phx.abyhqljt26tucnukhtjl2vdpf2t5jvpt3rzuyzcpodwq22jkxahvcs6ljrga",
"local-hostname": "smoser-xenial1",
"local_hostname": "smoser-xenial1",
"region": null
}
}
Welcome to a demo of instance data on cloud-init 18.4.5!
Instance data is a collection of cloud meta-data, user-data and
vendor-data surfaced to the instance to describe configuration.
The method in which instance data is surfaced differs on each cloud
platform:
Serial devices, urls, config-drives ...
The format of that data differs on each cloud platform.
cloud-init generalizes various attributes to offer cloud-agnostic
information. It stores that information in:
/run/cloud-init/instance-data.json
and
/run/cloud-init/instance-data-sensitive.json
-----------------------------------------------------------------------------
--- 00
cat intro.txt
cat /run/cloud-init/instance-data.json
---- 01
# instance-data-sensitive.json is only readable by root, and
# may contain sensitive data.
#
cat /run/cloud-init/instance-data-sensitive.json
sudo cat /run/cloud-init/instance-data-sensitive.json
--- 02
# Each cloud surfaces different raw metadata formats/content,
# cloud-init stores that "raw" content under a 'ds' key.
#
# Access the 'ds' key of instance-data.json 'query':
#
# nocloud under lxd / does not have many fields there.
cloud-init query ds
--- 03
#
# AWS has lots of data.
cloud-init query ds --instance-data id-aws.json
--- 04
# Here is some data from Oracle Public Cloud
#
cloud-init query ds --instance-data id-oracle.json
--- 05
# Cloud-init's generalized data lives under a versioned 'v1' key
# This content will be present on all clouds.
#
cloud-init query v1
cloud-init query v1 -i id-azure.json
--- o6
# Instance-data.json can easily be referenced in
# a 'cloud-config' file or user-script (#!) using jinja templates.
cat myscript.sh
cloud-init devel render -i id-aws.json myscript.sh
--- 07
# instance-data can also be used and formatted via commandline tool
#
cloud-init query --all
--- 08
for json in *.json; do
echo == $json ==
cloud-init query -i $json --format 'mine-{{v1.cloud_name}}-{{v1.availability_zone}}'; done
--- 09
# Thanks for the views. See more at
# https://cloudinit.readthedocs.io/en/latest/topics/instancedata.html
# Visit us on FreeNode #cloud-init IRC channel
#!/bin/sh
cat > my.bashrc <<"EOF"
set -o vi
PS1="demo$ "
EOF
asciinema rec --command="clear; bash --rcfile my.bashrc" ${1:-my.cast}
set -o vi
PS1="demo$ "
## template: jinja
#!/bin/sh
hostname {{ v1.cloud_name }}-{{v1.region}}
echo "My instance uses these pub keys: {{v1.public_ssh_keys}}" > /ssh-key.log
#!/bin/sh
for cast in "$@"; do
asciinema play "$cast" || break
done
## template: jinja
#cloud-config
{% set HN = 'oss-' ~ cloud_name ~ '-' ~ region ~ '-' ~ range(1,100) | random %}
puppet:
conf:
agent:
server: "puppetmaster.blackboxsw.com"
certname: "{{ HN }}.ci"
hostname: {{ HN }}.ci
runcmd:
- 'mkdir -p /etc/facter/facts.d/' # Add custom cloud-init facts to facter
- 'INSTANCE_JSON=`cat /run/cloud-init/instance-data.json`'
- 'echo {\"cloud\": $INSTANCE_JSON} > /etc/facter/facts.d/cloud-init.json'
ssh_import_id: chad.smith
#cloud-config
hostname: puppetmaster.blackboxsw.com
write_files:
- content: |
#!/usr/bin/python3
import sys
content = sys.stdin.readlines()
sys.exit(0)
path: /etc/puppetlabs/puppet/autosign.py
permissions: '0755'
runcmd: # Setup puppet server with cert autosign enable and foreman demo
- 'apt-get -y install ca-certificates'
- 'cd / && wget https://apt.puppetlabs.com/puppet5-release-bionic.deb'
- 'dpkg -i /puppet5-release-bionic.deb'
- 'mkdir -p /etc/facter/facts.d/' # Add custom cloud-init facts to facter
- 'INSTANCE_JSON=`cat /run/cloud-init/instance-data.json`'
- 'echo {\"cloud\": $INSTANCE_JSON} > /etc/facter/facts.d/cloud-init.json'
- 'echo "deb http://deb.theforeman.org/ bionic 1.19" | sudo tee /etc/apt/sources.list.d/foreman.list'
- 'echo "deb http://deb.theforeman.org/ plugins 1.19" | sudo tee -a /etc/apt/sources.list.d/foreman.list'
- 'wget -q https://deb.theforeman.org/pubkey.gpg -O- | sudo apt-key add -'
- 'apt-get update && apt-get -y install puppetserver'
- 'apt-get -y install foreman-installer'
- 'chown puppet:puppet /etc/puppetlabs/puppet/autosign.py'
- 'chmod 755 /etc/puppetlabs/puppet/autosign.py'
- 'echo autosign = /etc/puppetlabs/puppet/autosign.py >> /etc/puppetlabs/puppet/puppet.conf'
- 'IP=`/opt/puppetlabs/bin/facter networking.ip`'
- 'echo $IP puppetmaster.blackboxsw.com puppetmaster >> /etc/hosts'
#- foreman-installer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment