From Fedora Project Wiki
(Blanked the page)
 
(6 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Replace Bacula with Bareos =


== Summary ==
The powerful Bacula network backup solution has switched from being Open Source friendly to being almost closed source. Originally the project was conceived totally as Open Source, but since the creation of Bacula Systems and its proprietary Bacula Enterprise Edition product, the Open Source (now called "Community Edition") has received less and less updates and is mostly abandoned.
== Owner ==
* Name: [[User:Slaanesh| Simone Caronni]]
* Email: negativo17@@gmail.com
* Release notes owner: <to be assigned by docs team>
<!--- [[User:FASAccountName| Release notes owner name]] <email address> -->
<!--- UNCOMMENT only for Changes with assigned Shepherd (by FESCo)
* FESCo shepherd: [[User:FASAccountName| Shehperd name]] <email address>
-->
== Current status ==
* Targeted release: [[Releases/21 | Fedora 21 ]]
* Last updated: 1st November 2013
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page
Bugzilla states meaning as usual:
NEW -> change proposal is submitted and announced
ASSIGNED -> accepted by FESCo with on going development
MODIFIED -> change is substantially done and testable
ON_QA -> change is code completed and could be tested in the Beta release (optionally by QA)
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development
-->
* Tracker bug: <will be assigned by the Wrangler>
== Detailed Description ==
The most important points that are left "abandoned" are the following:
* Installation scripts and updates to makefiles are not updated anymore.
* New plugins and functionalities are not added anymore, except those in the "core" daemons.
* Gaphical (and buggy) console has not received any update in almost two years.
* Patches and bugs opened in the bug tracker are mostly left abandoned. Even trivial fixes are not imported in the source.
* Windows binaries are no longer provided, nor the source for the clients has been updated. Even if compiled with difficulties, there is no support for recent Windows versions.
A former Bacula developer, frustrated by the situation created the fork Bareos a long time ago from Bacula 5.2.x (the current Fedora and RHEL 7 version). This version has now received '''a lot of bugfixes''' compared to the original Bacula source. This makes compilation and installation a lot easier than it was with Bacula.
On top of this, a '''lot of new features''' have been added; some unique to Bareos but many available only in the closed source Bacula Enterprise.
Here is the list of new features compared to the current Bacula 5.2.13:
* http://www.bareos.org/en/whats_new.html
Some highlights include NDMP support for enterprise class storage (NetApp, etc.), support for enterprise class tape libraries and Windows support (including Windows Server 2012) with Bareos generated binaries.
For further details on why a Bacula fork was created please look at the following links:
* http://www.bareos.org/en/faq/items/why_fork.html
Bareos can also be '''fully compatible with Bacula''' by setting a specific configuration directive in the Daemon configuration files; thus providing the option for RHEL 6/7 users to interoperate with Fedora systems.
* http://www.bareos.org/en/faq/items/bareos_bacula_compatibility.html
== Benefit to Fedora ==
Fedora will move from an almost proprietary product that is no longer supported upstream to a fully Open Source equivalent with a lot of new features, developer involvment and bugfixing.
Enterprise users will benefit of the cross-system integration (AIX, Windows binaries, etc.) and of the new enterprise grade features (NDMP support, bigger tape libraries, client initiated backups for laptops, etc.).
== Scope ==
To accomplish the goal, the following Bacula packages need to be replaced with Bareos equivalents:
bacula
bacula-docs
Currently, the same Fedora packages can be rebuilt as they are, to work also on CentOS/RHEL 5 and 6, upgrading the EPEL or official Bacula packages in the distributions. This is to have a consistent backup infrastructure across all the Fedora/CentOS/RHEL ecosystem.
To ease installation, a repository for installing those packages on a CentOS/RHEL system do exist:
http://repos.fedorapeople.org/repos/slaanesh/bacula/README.txt
The idea is the same for Bareos: import into Fedora 21 packages that can be rebuilt for all supported Fedora/RHEL/CentOS releases and provide a repository that can upgrade any Bacula release currently installed in the system with the new one. In detail; the upgrade scenarios supported when going '''from Bacula to Bareos''' would be:
From Bacula 2.4:
* RHEL/CentOS 5 with EPEL repository
From Bacula 5.0:
* RHEL/CentOS 6
From Bacula 5.2.13:
* Fedora 18+
* RHEL/CentOS 5 with [http://repos.fedorapeople.org/repos/slaanesh/bacula/README.txt slaanesh' repository]
* RHEL/CentOS 6 with [http://repos.fedorapeople.org/repos/slaanesh/bacula/README.txt slaanesh' repository]
As written before, '''the change is impacting only Fedora 21''', the list of upgrades supported are only for users who want a consistent backup solution across the enterprise.
=== External activities ===
Proposal owners: I'm the current Bacula mantainer in Fedora and will complete the transition in time for the release.
Other developers: N/A (not a System Wide Change)
Release engineering: the release engineering team should make sure the new Bareos packages are in place instead of the current Bacula packages for the new release.
Policies and guidelines: N/A (not a System Wide Change)
== Upgrade/compatibility impact ==
Upgrades are not different than '''Bacula upgrades between major releases''' (i.e. Fedora 16 bacula 5.0 to Fedora 17 Bacula 5.2).
Systems that are currently running Bacula will have their system upgraded to Bareos by correct dependencies in the packages. Current preferences for the database backend (MySQL, PostgreSQL, SQLite) will be retained across the upgrade.
The procedure involves a bit of tuning of configuration files for new features and upgrades for the database schema. This is exactly what needs to be done between the various Bacula iterations that Fedora and EPEL have seen across the year.
Apart from this, Bareos can also be '''fully compatible with Bacula''' by setting a specific configuration directive in the Daemon configuration files; thus providing the option for RHEL 6/7 users to interoperate with Fedora systems:
* http://www.bareos.org/en/faq/items/bareos_bacula_compatibility.html
== How To Test ==
Install a Bareos environment on a new Fedora system and configure some backups.
Upgrade a current Fedora release with Bacula installed to get the new Bareos packages. Test the upgrade from the Bacula 5.2.13 database schema to the new Bareos one, make sure all backups work as before. No difference than performing a normal Bacula update.
== User Experience ==
Lots and lots of new features for Bacula users, bugfixing, ability to backup also newer Windows systems, more Open Source friendly software.
== Dependencies ==
Bacula has a static UID/GID defined in the [https://apps.fedoraproject.org/packages/setup setup package]. A bug needs to be filed as the "label" should change from "bacula" to "bareos" for Fedora 21.
All the other requirements are self-contained in the Bareos packages.
=== Status ===
* '''DONE''' - Create Bareos packages
* '''DONE''' - Make sure Bareos packages upgrade/obsolete/provide Bacula packages
* '''DONE''' - Make sure Bareos packages keep Bacula preferences (2.4, 5.0 and 5.2)
* '''DONE''' - Write documentation to be included in the package
* '''50%'''  - Integrate previous Fedora patches upstream
* '''50%'''  - Create backports repository to test packages across all supported RHEL/CentOS/Fedora releases
* '''TBD'''  - Post review of packages in Bugzilla
== Contingency Plan ==
Revert to previous Bacula packages (considered current Community version development decline, they will still be probably at version 5.2.13).
* Contingency mechanism: N/A (not a System Wide Change)
* Contingency deadline: N/A (not a System Wide Change)
* Blocks release? N/A (not a System Wide Change)
== Documentation ==
<!-- Is there upstream documentation on this change, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
N/A (not a System Wide Change)
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this change, indicate them here.  A link to upstream documentation will often satisfy this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release.
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.
-->
[[Category:ChangePageIncomplete]]
<!-- When your change proposal page is completed and ready for review and announcement -->
<!-- remove Category:ChangePageIncomplete and change it to Category:ChangeReadyForWrangler -->
<!-- The Wrangler announces the Change to the devel-announce list and changes the category to Category:ChangeAnnounced (no action required) -->
<!-- After review, the Wrangler will move your page to Category:ChangeReadyForFesco... if it still needs more work it will move back to Category:ChangePageIncomplete-->
<!-- Select proper category, default is Self Contained Change -->
[[Category:SelfContainedChange]]
<!-- [[Category:SystemWideChange]] -->

Latest revision as of 17:45, 25 November 2013