CHANGES
=======

1.24.0
------

* Use importlib when pkg\_resources isn't available
* Fix glean docs build
* Drop opensuse jobs

1.23.0
------

* redhat-ish platforms: refactor simplification of interface writing
* tests: stub out fields
* testing: add vexxhost sample config
* redhat-ish platforms: handle ipv6\_slaac metadata
* redhat-ish platforms: use IPV6\_DEFAULTGW
* redhat-ish platforms: write out ipv6 configuration

1.22.0
------

* tests: symlink same files together
* \_network\_info: refactor to add ipv4 info at the end
* \_network\_info: Clean up TYPE=Ethernet handling
* write\_redhat\_interfaces: pass multiple networks to output functions
* write\_redhat\_interfaces: refactor to walk interfaces first
* Revert "Add option to ignore config drive interfaces info"

1.21.0
------

* Handle udev move events in addition to add events
* Install older voluptuous on py27 due to import error

1.20.0
------

* Remove rebuild-test-output.sh
* Add Rocky Linux support
* distro: sync to 3.6
* testing: drop centos-8, add 8-stream and 9-stream
* Remove debian-stable, add focal/bullseye testing
* Remove Fedora 32 job
* Cleanup glean.sh variable names
* Run a glean-early service to mount configdrive
* Create "legacy" script path
* Stop requiring /usr/local/bin links for glean.sh
* Move to Zuul standard hacking rules
* Update hacking and fix pep8 violations
* Fix Gentoo "is" comparisons

1.19.0
------

* Fix a typo in a log message
* Do not require external mock on Python 3
* Only force DNS handling if there is DNS data
* Add Python 3.6 to supported versions
* Allow disabling DHCP fallback
* Override NetworkManager to wait for udev-settle
* Reduce metadata read/parsing overhead
* Run glean fewer times in glean.sh

1.18.2
------

* add hosts entries and ssh keys only once
* Replace Fedora 31 functional tests with Fedora 32
* Do not fail if routes are missing from a network

1.18.1
------

* switch glean.sh path in gentoo openrc init
* Add container build jobs
* Drop release test
* Update functional tests

1.18.0
------

* write one resolv config
* Switch to Fedora 30 jobs
* Fix a handful of bugs in config-drive processing
* Remove trusty job
* Move opensuse jobs to experimental for now

1.17.0
------

* Add support for SLES

1.16.0
------

* Do not bring up udev assigned interfaces
* Update testing to opensuse 15

1.15.0
------

* Sync when writing the file
* Add a nodepool job based on releases

1.14.1
------

* Enable RAs with gentoo when using dhcpv6-stateless
* network-manager: add network-pre dependencies
* Replace nodepool func jobs
* Add .zuul.yaml
* Pin sphinx
* OpenDev Migration Patch

1.14.0
------

* Ignore Wireguard interfaces
* Use openstackdocstheme

1.13.0
------

* Change openstack-dev to openstack-discuss
* A systemd skip for Debuntu systems
* Add NetworkManager distro plugin support
* fix tox python3 overrides
* write dns info to networkd
* changes for alpine compatibility
* Pass arguments rather than distro to utility functions
* Fix argv patching in unit tests
* check networkd files

1.12.0
------

* ignore ip6gre when setting up interfaces
* Add option to ignore config drive interfaces info
* Debian interface config set bond once
* Consistent debian interface control flow
* Manage the debian interface header in one place
* Check same debian interface path everywhere
* Use common function for debian bond mode
* Close file in safe\_open

1.11.1
------

* glean: Fix SUSE support for bridges and vlan configurations

1.11.0
------

* Add networkd support

1.10.3
------


1.10.2
------

* Fix SUSE detection on Tumbleweed and SLE15
* Break systemd unit dependency cycle

1.10.1
------

* Create ARGS environmental varaible to allow for systemd override files

1.10.0
------

* Define CONFIG\_DRIVE\_LABEL in default case
* Remove config\_exists function from glean.sh
* Simplify glean.sh options
* Add --skip-dns option

1.9.2
-----

* Add checks for uppercase config drive label
* prevent overwrite of gentoo init script
* Revise systemd determination to verify systemctl presence

1.9.1
-----

* Revert "Enable network.service with systemd"

1.9.0
-----

* Always define link\_type in debian interfaces
* Remove support for py33/py26
* Adjust the way we wait for interfaces to become available
* Fix SUSE based network configuration

1.8.0
-----

* Stop managing openssh-server from glean

1.7.0
-----

* Append to interface definition for multi-address
* Refactor side-effect functions
* Add selinux context manager for writing files
* Patch glean.cmd.open for unit testing
* Use mock patching for most functions
* Ignore non permanenet addresses in udev too
* Index networks using id, not links
* Use OS\_LOG\_CAPTURE to get log output

1.6.1
-----

* Skip interfaces not in sys\_interfaces

1.6.0
-----

* Remove After=network.target dependency cycle
* Add check to skip bridge interfaces
* Improve the support for checking vlan interfaces
* Add logging around interface carrier detection
* Remove discover from test-requirements
* workaround for ubuntu 14.04 bonding issue
* Added support for setting bond-lacp-rate and bond-xmit\_hash\_policy
* Explain vlan setup with interface names
* Explain difference between config drive files
* Use blkid to grab config drive fs type
* Add coverage generated files to .gitignore
* Use constant for mac addr permanent type
* Ignore hacking rules
* Remove mock of os.stat()
* Add support for bonded interfaces with a static IP
* Do not overwrite readonly files
* Enable support for configuring bonded interfaces
* Enable multiple VLANs per physical interface
* Handle invalid symlinks in written files

1.5.1
-----

* Bring up glean before network.service
* change iteritems to items method
* Better service description
* Mock systemlock on glean tests
* Fix hostname entries in glean
* Allow glean to preserve existing keys for root

1.5.0
-----

* Remove the manual start of network interfaces
* Add link to documentation on network\_info.json
* Stop confusing vim's tiny brain
* enable glean in gentoo's init on install
* Update glean to fix gentoo support
* add gentoo support to glean
* mask interfaces that shouldn't be configured by default
* Fix bug in double configuring vlans on glean
* Add some notes on the differences to cloud-init
* Add missing entry for localhost
* Fixup invalid hostnames
* Minor testing cleanups
* Revert "Always log debug output to syslog"
* install systemd service as 0644
* Open /etc/hosts file in append mode, not write
* Allow to configure fqdn hostname
* Always log debug output to syslog
* Update documentation
* Enable network.service with systemd
* Make distro detection global
* Fixup some logging issues
* Update documentation and logging
* Handle different paths to glean.sh
* Basic logging
* Dont pass os.path.exists through to host os
* Fix missing .cfg on exist\_debian\_interface function check
* Run glean after networking service
* Rename 'v' to 'network\_info'
* Fix creation of vlan interfaces in Debian/Ubuntu
* Don't use --root for tmp lockfile
* Start after local-filesystems
* Add support for reading vlan information
* Make ssh key output work with alternate roots
* Change ignore-errors to ignore\_errors
* Put a newline on key injected by Glean

1.4.3
-----

* Fix FileExists exception handling for .ssh

1.4.2
-----

* Work around races with /root/.ssh
* Create systemwide lock for glean
* Fix path for documentation URL

1.4.1
-----

* Create /root/.ssh folder if folder does not exist

1.4.0
-----

* Dont fail if openssh is not installed
* Upon install, test for systemd first
* Support explicitly configured DHCP interfaces
* Refuse to replace pre-existing interface configs

1.3.0
-----

* dont fail if /etc/hosts is missing

1.2.0
-----

* Set hostname to the bottom level domain
* Wait longer for interface carrier to come up
* Make glean python 2.6 compatible for Centos6
* Move init scripts and installation of them in tree

1.1.0
-----

* Support setting hostname

1.0.0
-----

* Use interfaces.d on debian distros
* Overwrite .ssh/authorized\_keys rather than append

0.1.2
-----

* Remove all but latest openstack metadata files
* Handle not having an ssh\_key in config-drive

0.1.1
-----

* Fix unittests for the fixture reparenting
* Add lo back in to the debian files
* Reparent the test fixtures

0.1.0
-----

* Fix a problem with ssh key processing
* Rename module to Glean
* gleam is taken, let's do glean instead
* Reference storyboard instead of launchpad
* Add testing
* Import code from diskimage-builder
* Rename from process-config-drive to gleam
* Do DHCP as a fallback option
* Import content from project-config patch
* Initial Cookiecutter Commit
