Simple program to write static config from config-drive
Go to file
Ian Wienand 7a0f9fbddb Enable network.service with systemd
glean is writing out interface scripts to
/etc/sysconfig/network-scripts ; these scripts are run by the LSB/sysv
init script /etc/init.d/network

It is quite possible this isn't enabled in systemd and on a minimal
system (no NetworkManger, cloud-config, systemd-networkd, etc),
nothing may require it, so the upshot is your system boots with no
network.

It can be confusing because the *first* time the system boots, the
glean udev rules are matched on the interface and install the
interface-scripts and then bring it up.

Enable the service when we install the interface config on redhat like
platforms.

Change-Id: Ib2b618dd975ca44e9c6b0a2c9027642ffc46b9b0
2015-12-15 12:57:52 +11:00
doc/source gleam is taken, let's do glean instead 2015-04-12 16:06:41 -04:00
glean Enable network.service with systemd 2015-12-15 12:57:52 +11:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:23:11 +00:00
.gitignore Initial Cookiecutter Commit. 2015-03-02 19:05:03 -05:00
.gitreview gleam is taken, let's do glean instead 2015-04-12 16:06:41 -04:00
.mailmap Initial Cookiecutter Commit. 2015-03-02 19:05:03 -05:00
.testr.conf Initial Cookiecutter Commit. 2015-03-02 19:05:03 -05:00
CONTRIBUTING.rst Reference storyboard instead of launchpad 2015-04-12 15:56:20 -04:00
HACKING.rst gleam is taken, let's do glean instead 2015-04-12 16:06:41 -04:00
LICENSE Initial Cookiecutter Commit. 2015-03-02 19:05:03 -05:00
MANIFEST.in Initial Cookiecutter Commit. 2015-03-02 19:05:03 -05:00
README.rst Update documentation and logging 2015-12-11 15:23:37 +11:00
rebuild-test-output.sh Support explicitly configured DHCP interfaces 2015-07-17 19:53:15 +00:00
setup.cfg Move init scripts and installation of them in tree 2015-06-29 09:27:05 -04:00
setup.py Import content from project-config patch 2015-03-02 20:12:23 -05:00
test-requirements.txt Add testing 2015-04-12 15:47:07 -04:00
tox.ini Add testing 2015-04-12 15:47:07 -04:00

README.rst

glean

Glean is a program intended to configure a system based on configuration provided in a configuration drive.

Why would you want glean?

Different cloud providers have different ways of providing networking and other configuration to guest virtual-machines. Many use DHCP but others, notably Rackspace, use configuration provided via a configuration drive.

What does glean do?

Glean firstly checks for configuration drive based information and, if found, uses that for network configuration. If config-drive is not found, it falls back to configuring any available interfaces with DHCP.

Specifically, it will mount the special block-device with label config-2 and parse the network_info.json and vendor_info.json files within. If appropriate network configuration is found, it will write out network configuration files (e.g. /etc/sysconfig/network/ scripts on Red Hat platforms, /etc/interfaces on Debian, etc).

If no network info is found there, available interfaces will be probed from /sys/class/net and any that appear to be up will be configured for use with DHCP.

It will also handle authorized_keys and host-name info provided from meta_data.json.

How do I use glean?

Glean ships glean-install, a script which install glean into your system startup environment. It should handle sysv, upstart and systemd to cover all major distributions. This should be run once, during install or image build.

The startup environment will run glean.sh, which configures any found interfaces as described above.

Differences to cloud-config?

...