glean: a minimal non-cloud-init cloud-init

Monty Taylor

http://inaugust.com/talks/glean.html

twitter: @e_monty

When you boot a VM, it needs boot time data or bootstrapping

I use ansible for orchestration

I don't need boot time fancy, I JUST need ssh bootstrap

Ok. And maybe network

Things I must consume at boot

  • Network Configuration
  • maybe SSH Keys

Network information should be easy

There is this thing called DHCP

Dynamic Host Configuration Protocol

Some providers don't support DHCP - because bong

cloud-init

Handles many cases, but not all

Has lots of dependencies that conflict with gate depends

'frozen' pending 2.0 rewrite

glean

http://git.openstack.org/cgit/openstack-infra/glean

    No dependencies

    Handles future static network config in config drive

    Optionally also reads ssh keys from config drive

    Nothing else

network_info.json

Hopefully added in liberty

services:
- type: dns
  address: 72.3.128.241
- type: dns
  address: 72.3.128.240
networks:
- network_id: 00000000-0000-0000-0000-000000000000
  type: ipv4
  netmask: 255.255.255.0
  link: tapfafb5c05-a6
  routes:
  - netmask: 0.0.0.0
    network: 0.0.0.0
    gateway: 23.253.229.1
  ip_address: 23.253.229.154
  id: network0
- network_id: 11111111-1111-1111-1111-111111111111
  type: ipv4
  netmask: 255.255.224.0
  link: tape501e1cd-10
  routes:
  - netmask: 255.240.0.0
    network: 10.176.0.0
    gateway: 10.208.160.1
  - netmask: 255.240.0.0
    network: 10.208.0.0
    gateway: 10.208.160.1
  ip_address: 10.208.169.118
  id: network1
links:
- ethernet_mac_address: BC:76:4E:01:62:86
  mtu: 1500
  type: null
  id: tapfafb5c05-a6
  vif_id: fafb5c05-a661-48ae-9810-46601c7e22d1
- ethernet_mac_address: BC:76:4E:05:7B:06
  mtu: 1500
  type: null
  id: tape501e1cd-10
  vif_id: e501e1cd-10d0-4e63-b0c2-6542989ccbb2
              

Integrated with diskimage-builder

disk-image-create -o debian.qcow2 debian-minimal vm simple-init
              

You know what has less depends than minimal python?

Rust

glean.rs

https://gitlab.com/mordred/glean.rs

Thank you!

http://inaugust.com/talks/glean.html

twitter: @e_monty