Rudder 5.0 Release Notes


HCI Data Source: markdown, Import: https://raw.githubusercontent.com/Normation/rudder-tools/master/release-data/changelogs/changelog-5.0.md, Section: arbitrary

General information

Rudder 5.0 is currently a maintained version of Rudder.

This page provides a summary of changes for each version. Previous beta and rc versions are listed below for convenience.

Warning: The following features are now provided as plugins and no more available as part of default Rudder installation starting from 5.0:

  • LDAP-based authentication
  • Relay servers
  • Changes validation workflow (change requests)

If you were using them, upgrade will disable them and you will have to install the plugin. Read the plugins page on our website for more information.

The initial RUDDER model consisting of a single software block which includes all features, thus imposing a greater and greater complexity on all of our users, has reached its limits. We have now reached a sufficient understanding of the domain, its challenges, and the way RUDDER is used, to make us realize that this all-in-one model is not, or is no longer, the best suited.

New plugin ecosystem: Version 5.0 introduces a plugin ecosystem that gathers RUDDER’s most specific features. This way, only essential features have to be installed by default and advanced features can be used on a case by case basis. So what is essential and what is not? The basic rule is that the essential experience must contain the features used by 80% or more of users, whatever the scale of use. In other words, we keep as core features everything that delivers on RUDDER’s initial promise: enabling users to continuously audit and enforce configurations with an easy to use webapp providing visual reporting. The remaining 20% solve needs that are no less important, only less common (PDF compliance reports, UI branding, scale-out relay servers, validation workflow…). To know everything about the impact of this evolution, you can read the detailed dedicated article:

http://www.normation.com/en/blog/2018/09/26/rudder-5-new-modular-version-thanks-ecosystem-plugins/

Integration: We provide integration with third party tools as plugins, making RUDDER more integrated with tools like Ansible, Centreon, Zabbix, GLPI or Vault. Except for a few (ie. managing AIX and Windows host), plugins are open source and source code is available here: https://github.com/normation/rudder-plugins/

New documentation: Welcome to our brand new documentation website docs.rudder.io! Beyond its fresh look (both on the online website and in the embedded version), this new documentation includes updated content and new resources, like a “getting started” guide and examples of use-cases.

System API: We built a new REST API that allows to manage some advanced settings and perform maintenance operations in RUDDER, like triggering policy generations, updating dynamic groups and managing report archives. This was previously available in the now deprecated V1 API (https://docs.rudder.io/history/4.3/rest-api.html#rest-api) which will be removed in the next major version (5.1).

Debugging information script: We created a script to gather basic information about a RUDDER setup when you want to debug or understand RUDDER’s behavior. This script fetches log files and executes various commands, either to get information from databases or directly from the system (package versions, etc)

Automatic Technique upgrade: Techniques provided with RUDDER can now be automatically upgraded when you update RUDDER. This process used to be manual because you might have modified the base Technique Library and we thought you may want to have more control about the content of your Technique Library. But it appears that this process was forgotten by a majority of our users and so many bug fixes and new versions were not available after an upgrade. By default this feature is enabled on new RUDDER 5.0 installations but is disabled on upgrades from older versions, to prevent any accidental damage.

Support policy: Our general policy is to maintain major releases until 3 months after the next major version is released to give some time for upgrading. The ESR tag was previously given to major releases that were maintained 6 months after the next ESR version was announced. Rudder 4.1 is the last ESR release. For a slower major upgrade pace, Rudder subscription provides long-term maintenance up to 24 months after release (depending on the subscription level) for Rudder versions. Read the FAQ page for more information: http://faq.rudder-project.org/forums/2-knowledge-base/topics/9-when-are-versions-published-and-how-long-are-they-maintained/

Packaging: Relay server support is now part of an open-source plugin, pre-compiled packages are available as part of the Rudder subscription.

The agent package is now more modular: instead of embedding all dependencies, we are using system libraries on maintained operating systems, to allow for a better system integration. As a consequence, the experimental rudder-agent-thin (which had this exact goal) package is not built anymore.

New repositories: https://repository.rudder.io/ We are using new repositories for versions starting from 5.0. We also provide all previous releases in these new repos. We improved our build system, files hierarchy, and added more gpg signatures on distributed files (Rudder sources, etc.)

Installing, upgrading and testing

We also recommend using the Rudder Vagrant config if you want a quick and easy way to get an installation for testing.

Supported operating systems

This version provides packages for these operating systems:

  • Rudder server and Rudder relay: Debian 8-9, RHEL/CentOS 7 (64 bits), SLES 12-15, Ubuntu 16.04 LTS-18.04 LTS
  • Rudder agent: all of the above plus RHEL/CentOS 6, Ubuntu 14.04 LTS
  • Rudder agent (binary packages available from (Normation): Debian 5-7, RHEL/CentOS 3-5, SLES 10-11, Ubuntu 10.04 LTS-12.04 LTS, Windows Server 2008R2-2016, AIX 5-6-7, Slackware 14

Read more in https://docs.rudder.io/reference/5.0/installation/operating_systems.html

Changelogs

Rudder 5.0.0 (2018-09-27)

Changes

Packaging

  • Require Postgresql 9.2 for rudder server (#13545)
  • rename "support info" script to "debug info" script and change store debug info in a standard path (#13443)

Documentation

  • Rudder by example cleanup (#13452)
  • Add a rudder-by-example to replace line in a file (#13404)

Bug fixes

Web - UI & UX

  • Fixed: Blue text color in node details tabs (#13168)
  • Fixed: fields are not correctly aligned in group page (#13417)
  • Fixed: Dual scrolling bars on the right of group details in Rudder 5 (#13428)
  • Fixed: Tooltip on the source of property is not dislpayed in Rudder 5.0 (#13456)
  • Fixed: JS error when loading Rules pages (#13469)
  • Fixed: In Rudder 5.0, Password fields in directive is empty (#13446)
  • Fixed: Rudder web login page shows 5 instead of 5.0 in the right bottom corner (#13472)

Generic methods

  • Fixed: Some old tests are failing on centos (#13535)
  • Fixed: there is still a trailing new line in the jinja result test file (#13529)
  • Fixed: variable_string and variable_string_default GM are failing in rudder 5.0 (#13523)
  • Fixed: Some tests are failing on ubuntu distros (#13514)
  • Fixed: add a method to set reportiing_context from within a technique (#13351)

Generic methods - File Management

  • Fixed: Missing report on Permissions (non recursive) (#13536)

Documentation

  • Fixed: Update download link in documentation (#13534)
  • Fixed: Fix appearance of titles (#13502)

Packaging

  • Fixed: rudder-jetty cannot extract java version on sles15 (#13552)
  • Fixed: rudder-agent service is not removed when removing rudder-agent (#13549)
  • Fixed: add insserv-compat dependency on SLES15 packages (#13550)
  • Fixed: Use openjdk 10 on sles 15 (#13543)
  • Fixed: Use new man page URL after doc URL redirect (#13537)
  • Fixed: Error at install of Rudder Server Root 5.0 on Sles 12 (#13527)
  • Fixed: rudder-agent 4.1 install hangs on Debian 7 (#13525)
  • Fixed: Doc download in webapp package does not work anymore (#13499)
  • Fixed: rudder server upgrade-techniques --autoupdate-technique-library fails when run during Rudder upgrade (#13458)

API

  • Fixed: Harmonize URLs of system API (#13471)

Techniques

  • Fixed: deprecate old version of techniques for Rudder 5.0 (#13487)
  • Fixed: Package management technique fails to check if a package is absent in the "latest" version (#12939)

Release notes

Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:

This is a bug fix release in the 5.0 series and therefore all installations of 5.0.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.

Rudder 5.0.0.rc1 (2018-09-12)

Changes

Architecture - Internal libs

  • We need to be able to decide what workflow to use based on the change request (#13396)

Bug fixes

API

  • Fixed: POST/PUT/DELETE API requests gives 403 (#13426)
  • Fixed: Rudder system api token only have RO access (#13416)

Generic methods

  • Fixed: " error: List or container parameter 'args' not found while constructing scope 'log_rudder' - use @(scope.variable) in calling reference" when running Rudder 4.3 (#13430)

Performance and scalability

  • Fixed: On error on nodecompliance SQL, logs are huge (#13427)

Architecture - Refactoring

  • Fixed: Git merge issue between Rudder 4.3 and Rudder 5.0 (#13432)

Agent

  • Fixed: remove unessecary patch that remove truncation of line in inventory (#13403)
  • Fixed: Upgrade perl to latest minor version in 5.0 for fusion inventory (#13402)

Release notes

Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:

This is a bug fix release in the 5.0 series and therefore all installations of 5.0.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.

Rudder 5.0.0.beta2 (2018-09-06)

Changes

Packaging

  • Remove rudder agent thin in 5.0 (#13377)
  • Upgrade python related dependencies (#13371)
  • Remove apache 2.2 support (#13325)
  • keep only systemd on server packages (#13320)
  • Upgrade jetty to 9.4.11 (#13323)
  • Remove support for old system on rudder server builds (#13315)
  • Update agent dependencies (#13314)
  • Upgrade openssl (#13316)
  • Upgrade python related dependencies (#13373)

Web - UI & UX

  • Update main menu: plugin at top level, techique editor in configuration policy (#13067)

Documentation

  • Use repository.rudder.io in 5.0 doc (#13382)

Plugins integration

  • Make user/role management a plugin (#13030)

Architecture - Dependencies

  • Update all rudder dependencies (#13313)

Bug fixes

Web - UI & UX

  • Fixed: Fonts changed in Rudder 5.0 (#13364)
  • Fixed: Save button in group page is not readable in Rudder 5.0 (#13368)
  • Fixed: In directives pages, Text selector and input field are not correctly allligned in Rudder 5.0 (#13372)
  • Fixed: Clicking on Status/Details leads to a disabled screen in Rudder 5.0 (#13362)

Generic methods

  • Fixed: user_primary_group tests are failing on suse (#13282)
  • Fixed: Some ncf tests are too old and fails on many distributions (#13249)

Architecture - Internal libs

  • Fixed: Spring Security error - leading to random unlogging in Rudder 5 (#13365)

Technique editor - API

  • Fixed: Error message is not correctly treated when an exception occurs in when authenticating to Rudder authentication API (#13219)

Packaging

  • Fixed: libxml 2.9.8 doesn't compile on aix (#13363)
  • Fixed: libxml fails to build with old compiler (#13337)
  • Fixed: Use correct version when building Slackware packages (#13329)
  • Fixed: Use https everywhere to download server sources (#13324)
  • Fixed: parallel build on rpmbuild hides build error (#13300)

Generic methods - Service Management

  • Fixed: Service test do not use any service to test on suse (#13278)
  • Fixed: 4.3+ version of 13278 (#13279)
  • Fixed: services GM are not working anymore due to typo (#13258)

Security

  • Fixed: "//" in rudder-web/secure/api//settings/global_policy_mode cause browser/spring error (#13356)
  • Fixed: Bad mime type for our js files: application/js (#13334)

Release notes

Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:

This is a bug fix release in the 5.0 series and therefore all installations of 5.0.x should be upgraded when possible. When we release a new version of Rudder it has been thoroughly tested, and we consider the release enterprise-ready for deployment.

Rudder 5.0.0.beta1 (2018-08-29)

Changes

API

  • Create system Rest API to replace V1 API (#12516)

Generic methods

  • Add a generic method to test variable existence (#12986)

Plugins integration

  • Remove the need for Spring in plugin (#13036)

Documentation

  • Change version of documentation on rudder-doc (#13019)
  • Build a centralized place for doc: docs.rudder.io (#12907)
  • Use a rudder-specific theme (#12875)
  • Add DSC content to Rudder by example (#12584)
  • Add a "Rudder by example" guide to the documentation (#12383)

Technique editor - API

  • Remove expected reports.csv logic (#11915)

Agent

  • Use CFEngine 3.12 in Rudder agent (#12856)
  • Add a package techniques migration script (#12710)
  • Update technique migration technique with 12614 review (#12676)

Packaging

  • Add sles 15 support to rudder-packages (#13295)
  • Disable HTTPs for sources download on old OSes (#13197)
  • Download sources from repository.rudder.io instead of www.normation.com (#13172)
  • Download man on docs.rudder.io (#13170)

Generic methods - Service Management

  • Remove unused _service_check_running_smf and _service_check_running_src in branch 5.0 (#13245)

System integration

  • Bundle support info script into Rudder (#13213)

Architecture - Refactoring

  • Make scale-out (relay) server a plugin (#12885)
  • Make third-party authentication a plugin (#12906)
  • Make validation workflow a plugin (#12904)

Generic methods - Package Management

  • Use the new class_prefix for package methods (#12427)

Bug fixes

Web - UI & UX

  • Fixed: Remove the "tw-bs" css hack (#13022)

Generic methods

  • Fixed: Incomplete management of disabled/reenable reporting (#13209)
  • Fixed: file_check_special tests are failing on debian (#13243)
  • Fixed: Huge agent logs when we define an new class_prefix that is longer than 1024 chars (#13155)

Plugins integration

  • Fixed: Missing real-time check of license capabilities for api and others plugins (#13073)

Generic methods - File Management

  • Fixed: Error when using 2 or more File from a jinja2 template (#13183)

Documentation

  • Fixed: Wrong version displayed on the login page for plugin branding (#13274)
  • Fixed: Update screenshot for Rudder Branding (#13270)
  • Fixed: Typos in rudder-by-example (#12611)
  • Fixed: Add a favicon for Rudder by example (#12490)
  • Fixed: Build rudder man page using asciidoctor (#12977)

Miscellaneous

  • Fixed: Removing workflow comet leads to missing user information and session is destroyed (#13026)

Agent

  • Fixed: Broken agent build on linux platforms (#13311)
  • Fixed: rudder technique-migrate is not documented nor properly named (#13146)

Packaging

  • Fixed: Purge of rudder-webapp should not fail (#13210)
  • Fixed: Fix bdb download link from repository.rudder.io (#13198)
  • Fixed: slackware should not build its package into /tmp (#13194)
  • Fixed: Download rudder.8 for new man page url (#12982)
  • Fixed: Add back missing migration script in 5.0 (#13084)
  • Fixed: Makefile fails if a symbolink link /usr/bin/ncf already exists (#13277)

Generic methods - Service Management

  • Fixed: service_started_start.cf test fails on redhat (#13257)
  • Fixed: service_started_path.cf does not generate classes anymore since 13220 (#13254)

API

  • Fixed: Compilation warnings in master (#13028)

Generic methods - Package Management

  • Fixed: old packages generic methods are failing on old debian (#13305)

Techniques

  • Fixed: Package repository keys Technique in Audit Mode : Missing Reports (#13065)
  • Fixed: Package repository keys Technique in Audit Mode : Missing Reports (#13065)
  • Fixed: Rudder SNMP technique has a component failing on first run (#13159)

Release notes

Special thanks go out to the following individuals who invested time, patience, testing, patches or bug reports to make this version of Rudder better:

  • Mikaël Mantel
  • Pierre HAY
  • Guillaume Terrier

This software is in beta status and contains several new features but we have tested it and believe it to be free of any critical bugs. The use on production systems is not encouraged at this time and is at your own risk. However, we do encourage testing, and welcome all and any feedback!