Due to flaws discovered in its architecture, FreeNAS Corral has been downgraded to “TECHNOLOGY PREVIEW” status while we instead rebase its features upon the rock solid FreeNAS 9.10 base system, soon to be released as “FreeNAS 11”.
As many diehard FreeNAS users know, FreeNAS Corral was released on March 15th. It was a ground-up rewrite of FreeNAS with a new CLI, middleware, GUI, and several rewritten services. This product was in development for nearly three years and the initial Community response was largely positive. There was lots of excitement around the updated UI and the VM/Docker support, especially. However, within two weeks of release, nearly half of the initial users reverted back to FreeNAS 9.10 and over 500 bugs were reported. User feedback was clear: general system instability, challenges upgrading from 9.10, lack of feature parity with 9.10 Jails and iSCSI, GUI usability issues, and lower performance than expected, given the increased demands FreeNAS Corral placed on system hardware resources. With the myriad issues and the subsequent departure of the FreeNAS Corral Project Lead shortly after its release, we were forced to take a hard look at Corral’s feasibility as a product. Subsequently, we decided to revise our plan for its future.
Before we communicate this new plan of record, a little background is in order. The FreeNAS Corral GUI was built on the MontageJS framework, originally working alongside the team at Montage Studios. Unfortunately, during the development of the product, the Montage Studio team disbanded and the development of the MontageJS framework slowed to a crawl. This explains some of the browser incompatibility we’ve seen. So, our first goal following the release was to begin remaking the FreeNAS Corral UI (yes, yet again! …. /sigh) by basing the same UX on a more common framework. Not a huge deal, really, just some extra UI work for the team, but this time with a more common framework in place, allowing for faster development and more opportunity for contributions from the community. Once that new framework was in place for the UI, the next phase was to begin merging the FreeNAS 9 and FreeNAS Corral Engineering Teams to focus on one product.
However, that plan had to be reevaluated in the wake of mixed community feedback and the departure of the Corral leadership. The remaining team underwent a thorough engineering review of the product, specifically delving deeper into the middleware, some of the rewritten services such as DHCP and NFS, and the Plan 9 filesystem code used by VMs to access the host’s filesystem. In doing so, we discovered some holes in the architecture which make enterprise-quality file access impossible without a lot more effort and soak time, prompting us to also re-think how to more safely enable things like virtualization and Docker.
After weighing community feedback, and much internal deliberation at iX, we decided that the amount of work still required to bring FreeNAS Corral, as currently architected, up to an acceptable standard for quality, reliability, and data integrity will take an unreasonable amount of time. The quicker path to a properly stable and mature system is to rebase upon the FreeNAS 9.10 code, bringing some of the new features that FreeNAS Corral offers into a more mature and solid platform. This process has begun with the inclusion of VM container support and a brand new Angular-based UI which is already available in the 9.10 nightlies.
FreeNAS Corral will be treated as an experimental branch and repositioned from “RELEASE” to “TECHNOLOGY PREVIEW” status, available for download and experimentation, but not for use in production environments. This means it is unlikely you will be able to migrate configuration settings from Corral to the next FreeNAS version, however, your data will always be importable.
This new direction allows us to focus our efforts on our next release which will merge the legendary stability of FreeNAS 9 with the whiz-bang features of FreeNAS Corral, while also swapping the GUI with the new Typescript framework. This provides the best of both worlds (stability + features) and has the added benefit of being a far faster path to a rock solid and stable FreeNAS release. In fact, many of the original team behind FreeNAS had already begun the process of taking the 9 series and merging it with some of the new features introduced in FreeNAS Corral, for the next stable and soon-to-be-released FreeNAS 11 (yes, ours will go to 11)
The FreeNAS 11.0 release is currently slated for May/June. Here is a look at the current roadmap (subject to change as we move further along, of course):
- New Angular-based web UI: You can test-drive the early work now in our nightlies. It will also be included in the upcoming 11.0 release as an experimental demo, with feature completion scheduled for later this year.
- Expand and improve support for jails and jail-based plugins: For maximum compatibility with lighter system requirements.
- VM Support: We have added a new “VM” menu which allows you to host your own Virtual Machines on FreeNAS, landing in 11.0.
- Docker support: As a Virtual Machine-driven service, slated for 11.1
- Improve support for DevOps-class alerting, PagerDuty, AWS Alerts, OpsGenie, and Slack (coming in 11.0).
- Local and distributed S3 bucket support: Initial work landing in 11.0.
- FreeBSD 11-stable base: Landing in 11.0.
Most of these items are already under active development, and we at iX look forward to sharing more details as they become available. As usual, we ask our beta-testing community to test drive these features in the nightlies and provide feedback and bug reports on the official tracker: https://bugs.freenas.org/projects/freenas
We understand that some of you may be disappointed by this reversion, and we wholeheartedly sympathize. This decision was incredibly difficult for us as we knew that we would have some unhappy users on our hands, on top of all the work we’d done collectively that would now be shelved. Much time was spent by the community wrangling with FreeNAS Corral issues, testing the multiple BETAs, reporting bugs, etc, and unfortunately that’s not time we can give back to you. However, we do offer our sincere thanks and assure you that this decision was made with the community and users in mind, aiming to bring software of the highest quality that you can trust without a second thought. The short term user and community pain we’re all feeling is ultimately worth the knowledge that we won’t be jeopardizing your data. We’d rather have you be mildly frustrated with us now than furious with us later 🙂
Thank you for your continued support, contributions, and usage of FreeNAS. We appreciate all the users and fans who make this product better on a daily basis.
On behalf of your loyal FreeNAS Engineering Team,
Director of Engineering