7a0f9fbddb
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 |
||
---|---|---|
doc/source | ||
glean | ||
.coveragerc | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
.testr.conf | ||
CONTRIBUTING.rst | ||
HACKING.rst | ||
LICENSE | ||
MANIFEST.in | ||
README.rst | ||
rebuild-test-output.sh | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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?
...
- Free software: Apache license
- Documentation: http://docs.openstack.org/infra/glean
- Source: http://git.openstack.org/cgit/openstack-infra/glean
- Bugs: http://storyboard.openstack.org