Release Notes for 0.1-6¶
- The environment and puppet class importer now works in batch and interactive modes
- In interactive mode, allows the user to select those classes and environments that they wish to import or delete.
- The environment and puppetclass importer removes the contents of config/ignored_classes_and_environments.yml from the set of changes that are to be applied. A sample file extras/ignored_classes_and_environments.yml.sample is supplied
- The importer will now obsolete missing puppet classes and environments
- Support Puppet 2.6.x reports
- External node import script (from an older external nodes script) now overrides the exists classes in foreman if they exists.
User Authentication and Authorization¶
- Added support for internal authentication.
- Added full Role based Authorization (RBAC) system, see Roles and permissions for more details.
- All actions are audited as either the logged in user, or the system account named admin, if logins are unused.
- Added JSON based API to many common actions, see API for more details
- Added example scripts to add and remove hosts in extras directory
- Added YAML support for all host lists, dashboard pages etc.
- Reports are filtered by default so that only reports that contain any changes are displayed. All reports can still be seen by running a suitable search.
- The user may search for hosts that are using a class, though this only works if the host explicitly names the class as host's hostgroups are not searched.
- It is now possible to cancel a "build host" request.
- New features, notices and alerts can be presented to users via a new notification pane within the web interface.
- A single puppetdoc page for an environment's manifest now contains a link to the browser for the whole environment's manifests
- The settings page has been replaced with a floating dropdown selector box at the right of the screen
- Improve host edit form in cases when working in mixed mode where some machines were installed via foreman, and others are managed (i.e. class assignments).
- Added timestamps to facts, this allow users to see if their facts data is up to date.
- Added links from puppet classes list to see hosts which apply that class.
- changed many URLS to include a meanful name instead of the internal ID, i.e. foreman/hosts/fqdn instead of foreman/hosts/123
- updated html pages to be XHTML compliance
- Added the ability to disable notifications for several hosts, this will not show the hosts in the host list and in the dashboard statistics.
- Fixed confusing graph labels in the host show page
- When operating in spoof mode, the output will always be in text/plain instead of html.
- Foreman can now be programatically interrogated to determine the required bootfiles for a media type. This allows an external tftp source to locate and download these files before a host is built - see API.
- Auto generate pxe syslinux config files on remote TFTP servers - see API
- on anaconda based installed (redhat family), Foreman will use the MAC address (from the active interface) to identify the host.
- Added new setting to allow Foreman to install the host from a temporary IP range (which is not the final host ip).
This will avoid scenarios where the IP gets rotated between the entered values and the IP coming from Facter.
- Added redhat network registration snippet
- Fixed slipping newlines in the dynamic partition table layouts.
- New repositories for RedHat/Fedora, and Debian/ubuntu are now available at http://yum.theforeman.org or http://deb.theforeman.org
- Foreman now bundle rubygem rack package, this allow the package to be natively installed on many distributions (in various versions).
- see Installation Instructions for more details.
- Added rack task to build a deb package.
- Parameter names and values may now contain spaces and other characters, but they must still not end with whitespace
- In previous version, when entering a FQDN as the hostname, Foreman would automatically create the domain name for the host, however, as its have a full stop (".") as part of the hostname, foreman can no longer know which part is the domain, and therefore will not create the domain, if the domain already exists, Foreman would still associate the host to it.
- (for developers) The rake db:convert:prod2dev task now takes an optional tablename and record count.
Important migration notes¶
In order to support Puppet 2.6.x reports, a major change in the database structure was required, if you are upgrading via a package the database change will happen automatically as part of the package update, however it might take a long time according to the amount of reports you currently have in your database.
therefore its recommended to expire non-required reports (via the rake reports:expire command)
Release Notes for 0.1-5¶
Most of the pages have been rewritten, there are many changes:Search options
- Hosts (filter based on facts, based on host groups etc
- Facts (all hosts with fact x or with value y etc)
- Reports (show me all failed reports in the last 3 months etc)
- Audits (per user, per type – e.g. all hosts, per action – e.g. delete)
Improved Graphs for dashboard and per hostHost edit page now has a lot of logic
- Class selection depends on your chosen environment
- Class selection breaks down into modules, making it easy to navigate
- Inherited classes (via hostgroups), are also visible.
- Unattended settings will only show selection based on the os (e.g. no debian disk templates will be shown to redhat based os etc).
- Clone existing hosts (instead of choosing all of the options again)
- change a parameter for many hosts
- change host group for many hosts
- change environment for many hosts
Import new puppetclasses from the interface
- added support for dynamic disk layout
- added kickstart/preseed compatibility with Ubuntu 10.04, RHEL6 beta, Fedora 13
- support for customized kickstart files (e.g. if you use a package like rpm, you can create your own kickstart which will not be replaced on next update).
- medias can now be shared with many operating systems (e.g. with replacing variables for $arch or $version)
- x-rhn-provisioning headers support for booting from other devices than eth0
- added verbose mode, which will return all of hosts classes, facts and external node parameters.
- added query based on a hostgroup
- Host ownership (via a user or a user group) base infrastructure for per host authorization (e.g. who can change what) and sending the reports to the right people.
- Speed optimization when keeping many reports in the db
- Puppetdoc integration
- Foreman can generate puppetdoc (via a rack task, so you can add it to your repo post commits scripts), and links to the docs via the puppet classes page.
- Improved RPM packaging
- added startup script for foreman (uses webrick)
- moved all config files to /etc/foreman and /etc/sysconfig/foreman
- moved log files to /var/log and added logrotate support
- moved db files state dir
- Fact importer now imports the hardware model information