Important announcement regarding FreeNAS Corral

Status
Not open for further replies.

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
The 9.10 branch has always had .X releases as "feature" releases, the -UX releases are patch/bugfix updates only. That being said, the reason for that versioning scheme was political while Corral development was underway and we will be revisiting it here in the near future. (Believe me, we like it less than you do)

Well, you can't call it 10. For all intents version 10 needs to be burnt in a fire, like Microsoft did with Windows 9. The next major version of FN (all singing all dancing) should be FN11. Meanwhile, FN9.11 should perhaps be the next big release... sounds like what 9.10.3 is shaping up to be. Are you shipping FreeBSD 11 yet as stable? If so, great... go with 9.11. If the problem is that 9.11 references the two towers... then skip 11 and go to 12.

Its just a version number.

Chrome v56v57.

Meanwhile, I think there is a new case study in the Second System Syndrome :(
 

Stux

MVP
Joined
Jun 2, 2016
Messages
4,419
I am really disappointed with the decision of rebasing. Dockers in Corral really worked for me and I really liked Corral's UI -simple enough to understand what's going on but sophisticated enough to run complicated set-ups. I really don't want to revert back to 9.10 and/or get used to another UI but I guess I will have to unless I move away from freenas completely.

It would really help me feel better about all this if I understood the details behind the decision of rebasing to 9.10. Kris Moore mentions issues with MontageJS and Plan 9 filesystem code but not enough details is provided for me to be able to dig through and find out what exactly were the wrong decisions made in Corral and why IX decided to roll back.

Also, I really admired jkh and his communication in this forum with the community. It is a real loss that he moved away all of a sudden. Perhaps I am reading too much between the lines but in his last post he writes:

"Even though some folks have somewhat stubbornly refused to see FreeNAS as a genuinely open source project and instead one in which iXsystems calls all the shots and its users are just spectators, you collectively have more power and influence than I think you've ever realized. "

I wonder what's the story behind here? If I were to trust IX systems for their future releases (and I really would like to), I would like to understand a little bit of what's going on behind the scenes. It would be especially enlightening if someone could explain in some detail what the reasons are for rebasing to 9.10.

Thanks.

====

William Grzybowski gave some details that was helpful to me but it seems that his post disappeared. Luckily, I had it opened in my browser so here is a copy of it in case it helps others:

"First I would like to make it clear this is my personal opinion. Do not take it in anyway as official reasons.

It was not about anything the user can see, its all about what is under the hood.
The following image illustrates it pretty well:



In my vision thats exactly what happened.
Corral was very beautiful looking, from outside. The UI is quite beautiful, the CLI did what it was supposed to do, it has shiny dockers.

There are several things that did lead to this.

First point is the UI. Apparently writing full blown Rich Internet Applications is hard. As you did read in this first post the core of the UI was MontageJS, it does not matter anymore why it was chosen, but even the developers who helped write this framework did not like it. It was already expected to be replaced to something different but were stopped by someone so the product could actually be released. The whole UI was built without a single automation test and there are probably about 5 people in the world who really understand this framework. So how were we supposed to keep supporting this virtually dead javascript framework (to us at least) or completely swap it with something else and without automatic testing in place? its like getting a Muscle car, put the engine of a Ferrari _while_ its still running and expect everything to keep working perfectly. So yeah, not happening...
Even after this long period of development there were basic things that simply did not work in the GUI. One can't even replace a disk from GUI. It only works well in Chrome. It does not provide historical reporting stats. There is no documentation. Translation is not supported, it was not built with that in mind.

The backend architecture is over engineered. There was no such thing as "do not reinvent the wheel". For instance, did you know the DHCP protocol was rewritten in a python library and is leading to several compatibility issues? The well known, stable and worldwide used system logging (syslog-ng) was rewritten to a python log daemon (from scratch), making diagnosing debugging from a support perspective much harder? The core of the middleware was about to be rewritten from scratch using another language? Cython modules created without thread-safety in mind (e.g. smbconf) which can cause service corruption?

Several changes were made to FreeBSD which could not be upstreamed, making it very difficult to maintain. ZFS was modified to have a special aclmode making it incompatible with every other ZFS implementation (breaking replication for instance).

The whole middleware does not have a single functional test. Thats right, whole middleware was built without a testing harness. (Fix one thing, break another).

The system is bloated. Have you actually tried running a "top" in a stock system and check how many "auxiliary" services there are? Close to a dozen python services, eating up a lot of RAM.

There is no documentation for the new REST API. There is no compatibility whatsoever with the old REST API rendering multiple applications useless (specially for the enterprise side, e.g. Zabbix, vCenter, etc).

Several design decisions were made in the course of development that simply made a seamless migration from old codebase to Corral extremely hard and painful.

The list goes on, but I will stop here. I am probably getting too technical.
All of that (and more) made us realize it was going to be a lot more work to bring it to sanity then incorporate the features on the 9.10 codebase.
Also to give you an idea, the new experimental UI (which you can find in 9.10 nightlies) was written in about a week, works on every major browser (even mobile) and supports translation out of the box. That has shown us it does not need to be complicated. "

327f185dr2b9ar4bb8r85e2ra0e8d9f61371.jpg
 

Mooash

Dabbler
Joined
Jun 22, 2016
Messages
11
Best of luck to the FreeNAS team in what must be a pretty difficult time!
 

megalex

Cadet
Joined
Apr 14, 2017
Messages
3
To me, it gave the advantage of being able to set up multiple hosts that group containers with tailored server resources.



I wouldn't call it crazy. That wouldn't be much UI work to add. And the functionality was available in the CLI for people who really needed it right away.



Yes. But, there comes a time in most software life-cycles when the changes that really need to happen can only be achieved with major re-writes. And a larger list of bugs goes with that territory.



That is apples to oranges. A software application doesn't compare to programming languages in general.



I don't see how that is possible at all.

I have a relatively modest machine and I was limiting Plex' resources to less than a quarter of what I sent to it from 9.10. And it ran just as well.

I think that those people had some other issues going on other than Docker overhead.



Well. It sounds like the current promise is that nearly all of Corral's great features can be plugged into 9.10 within a few months. Doesn't sound plausible to me. But, I would be happy to be proven wrong.



How can that be? Corral was just the result of FreeNAS 10 which was available for testing for quite a long time.



Why would that missing GUI element require killing the whole thing? Isn't it more sensible to just add the feature as a priority?

This is like saying that Grand Theft Auto should cancel the entire project if it was discovered that someone forgot to add an unpause button.



No. I don't think there really is much standardization there. There are some common tendencies. But, individual projects/companies seem to have a lot of variation in their dev cycle strategies.



It is very far behind where Corral is. It looks like a UI put together by developers instead of designers.



I hope that it gets an investment into UX and graphic design...

Perfect response. To add to this I would say that how long has the 9.x codebase existed ? I feel we have waited long enough for a new mayor release and a more streamlined user experience. Coral delivers 90% of that. I could have waited another year for the other 10 percent. The new 9 UI just looks like the same unfriendly UI with a bootstrapped template.

Most of the complaints I have seen about freenas 10 are:
1) No Migration path. This was a mayor release why would you expect a migration path to a re-write to come pre-baked ?
2) Missing functionality / Bugs. Again this was a new codebase you should expect bugs but the core functionality (NAS) should work since its after all freebsd based even if you had no UI way of configuring things.

Not an excuse to dump an entire codebase. The amount of bugs logged for Coral on the issue tracking were minimal compared to other open source project major releases that I have seen.
Unfortunately it feels like the 9.x team didn't want to work/learn the Coral codebase and took the much easier approach of canning the codebase and merging functionality back into the old codebase..
This is not "Great News"
 

megalex

Cadet
Joined
Apr 14, 2017
Messages
3
Well, you can't call it 10. For all intents version 10 needs to be burnt in a fire, like Microsoft did with Windows 9. The next major version of FN (all singing all dancing) should be FN11. Meanwhile, FN9.11 should perhaps be the next big release... sounds like what 9.10.3 is shaping up to be. Are you shipping FreeBSD 11 yet as stable? If so, great... go with 9.11. If the problem is that 9.11 references the two towers... then skip 11 and go to 12.

Its just a version number.

Chrome v56v57.

Meanwhile, I think there is a new case study in the Second System Syndrome :(

For me a more fair comparison would be like Microsoft releasing windows 10 and then canning it immediately to go back to windows 7 and backporting all the windows 10 features. Although comparing freenas to windows is ugh so sad..
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I wouldn't call it crazy. That wouldn't be much UI work to add. And the functionality was available in the CLI for people who really needed it right away.
It is a fundamental function for a storage system. It has no business not being on the GUI.

Yes. But, there comes a time in most software life-cycles when the changes that really need to happen can only be achieved with major re-writes. And a larger list of bugs goes with that territory.
Most big projects rarely get a real rewrite. The closest was Windows Vista, which significantly overhauled nearly everything, and Microsoft's resources couldn't get it to not be hated.
The normal approach is to slowly review and change components without breaking compatibility, keeping bugs manageable in both scope and number.

How can that be? Corral was just the result of FreeNAS 10 which was available for testing for quite a long time.
It was RC for a day or two. It only got BETA2 when people started complaining.

Why would that missing GUI element require killing the whole thing? Isn't it more sensible to just add the feature as a priority?
It's an example...

This is like saying that Grand Theft Auto should cancel the entire project if it was discovered that someone forgot to add an unpause button.
...a symptom of a larger problem. If nobody ever hit ESC during development, just what kind of QA happened there? If QA lets the trivial through, what about the less-than-trivial?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Perfect response. To add to this I would say that how long has the 9.x codebase existed ? I feel we have waited long enough for a new mayor release and a more streamlined user experience.
How on earth is 9.10 not a major release?

Look, there's this fixation on the shiny going on. The shiny is beyond secondary. I rarely interact with the GUI. There's no reason to open the GUI every week, much less every day.

Most importantly, to everyone saying Corral shouldn't have been canned because code is wasted and such: Have you read the code? The devs have, and they say it's not worth the trouble. That has infinitely more value than the opinion of someone who hasn't even looked at the repository.

Development hell is development hell, and it rarely spawns good things (TF2 is the exception).
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
How on earth is 9.10 not a major release?

Look, there's this fixation on the shiny going on. The shiny is beyond secondary. I rarely interact with the GUI. There's no reason to open the GUI every week, much less every day.

Most importantly, to everyone saying Corral shouldn't have been canned because code is wasted and such: Have you read the code? The devs have, and they say it's not worth the trouble. That has infinitely more value than the opinion of someone who hasn't even looked at the repository.

Development hell is development hell, and it rarely spawns good things (TF2 is the exception).

https://forums.freenas.org/index.ph...dates-for-freenas-10.39790/page-4#post-282283
Hindsight 20-20 and all that jazz. This whole episode reminds me of The Mythical Man Month.
 

abcslayer

Dabbler
Joined
Dec 9, 2014
Messages
42
Have tested FreeNAS since 8 to Corral, used 9.x heavily in testing & small real world environment. I think some of the development steps of 9.x are right but QA was terrible. As user, we need:
  • First: Stability + Compatibility + Performance
  • Second: Usability
  • Third: Expansion
So:
  1. FreeNAS being in synced with FreeBSD release is important. (should FreeNAS being a meta package on top of FreeBSD? similar as pfSense & OPNSense?)
  2. A responsive + async GUI
  3. Much better QA (yes 9.x + Corral series come with huge lot of simple-easily-to-spot bugs that make people feel the dev never test their software)
  4. Lower system resource needed. (I think <1GB RAM for whole FreeNAS system is right, there rest of RAM should be used for ARC and other stuffs like docker/jail/VM/....)
Corral get point 1 & 2 but failed at 3 & 4
9.x get 4 only. (9.10 seems to get less of bugs so maybe 9.10 get 3 & 4)
----
P/S: I always wonder why FreeNAS & pfSense & OPNSense need to get different GUI & middle-ware, a convergence could save a lot of effort?
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
P/S: I always wonder why FreeNAS & pfSense & OPNSense need to get different GUI & middle-ware, a convergence could save a lot of effort?
Well, a NAS appliance isn't very much like a firewall appliance. You'd end up with something like this

280px-1973_El_camino.jpg


Funnily enough, I believe the original FreeNAS was developed from monowall.
 

Stanri010

Explorer
Joined
Apr 15, 2014
Messages
81
Nothing is set on stone.
Can you help us telling what you most liked about Corral which you would like incorporated/changed in 9?
Nothing you described here seem to be impossible to change in 9, quite the contrary.
We would love to hear everything you have to say and transform them in possible features for improvement: http://bugs.freenas.org
I can say we strongly believe in slowly iterating something to make it better.
Corral itself did not simply appear out of the blue, it learned from 9 mistakes but it also did commit its own mistakes.

Please consider importing the way Corral implements Peering and Replication Snapshots. The peering function is a great idea and while still rough around the edges, is an improvement from the current 9.10.2 replication setup.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Why would that missing GUI element require killing the whole thing?
You selectively quote and distort my point badly enough that it's hard to believe it's anything other than deliberate, especially when you also quote (and therefore have presumably read) my subsequent posts.

Disk replacement is a critical feature of any redundant storage system--otherwise the redundancy doesn't mean much. For a storage system that's meant to be managed through a web GUI, that functionality must be present in the GUI, and it must be thoroughly tested before release. There's simply no excuse for this feature being absent in a RELEASE version of what's supposed to be a stable storage solution, and that lack, by itself, would (IMO) warrant pulling FN10 from RELEASE status until it's implemented and thoroughly tested--but probably not killing the entire release.

The reason I said that "I guess" killing it was "doing the right thing" was because of the whole history noted throughout this thread. The "don't worry about missing features, it's beta." The "don't worry about this bug, it's beta." The "sure, we'll use an obsolete GUI framework to write our GUI; we'll rewrite it in a different framework in a point release*." As I said in the part of my post you didn't quote, it's looking more and more like one bad decision on top of another. I question whether that could be salvaged, but the folks who should be in a much better position to know (i.e., the FreeNAS devs) don't seem to think it can, or at least that it would be worthwhile to do so. And if that's the case, then killing it is the right thing to do.

* The web GUI is literally what makes FreeNAS FreeNAS. Otherwise you could just install FreeBSD and Samba, and call it a day. And another complete GUI rewrite is going to be a point release?
 
Last edited:

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
This was a mayor release why would you expect a migration path to a re-write to come pre-baked ?
Because they have a large installed base of users. If they want those users to upgrade, there needs to be a way for them to do so without losing major functionality that iX has long advertised, and they've long been using. "Throw out your jails and replace them from scratch with Docker containers" is the wrong answer. For all the faults of jails (and it may well be that they need to get rid of them in favor of some other technology--the devs seem to think so, anyway), they're out there, in large numbers. And that's because iX gave us the ability, and told us to use it. At one point, it was suggested that a migration path might consist of building a FreeBSD VM, and pulling the jails into that VM--but apparently that idea was dropped in the mad rush to release a half-baked product.

People are complaining here, very loudly, that Docker support (a feature that's only been released for about a month) is going away with the death of FN10. What of the users of jails, a feature that's been released, promoted, and used for years?

Sure, the FN9 GUI looks dated. It's kind of ugly. I don't find it particularly hard to navigate (it's much more logical than pfSense, IMO), but it could certainly stand to look better. And yeah, the FN10 GUI definitely looked better, when it worked. But I'm with @Ericloewe here--I don't need to use the GUI very often. The server runs and does its thing. I log into the GUI every couple of months to update the TLS certificate. If a disk fails, I replace that through the GUI. But I don't otherwise have a regular need to be in there. I'm less concerned with how the GUI looks than I am with whether it works.
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
it's much more logical than pfSense, IMO
At least the FreeNAS devs realize the current UI is messy. The knuckleheads at pfSense changed the UI completely but kept the absurd and hard to navigate menu structure. What the hell were they thinking?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
Please consider importing the way Corral implements Peering and Replication Snapshots. The peering function is a great idea and while still rough around the edges, is an improvement from the current 9.10.2 replication setup.
That's one of the nice things that will probably be revamped and included.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
...and just a little more about migration paths. Another FOSS product I use (and have been using for 15+ years, through a couple of name changes) is Koozali SME Server. It's a Linux-based web/mail/file server + router/firewall, built on CentOS. Its most recent major release, due to upstream changes, required that users back up, reinstall, and restore--there was no way to upgrade in place. It's a PITA, but it was at least a documented migration path, and it worked.

Somewhat like the jails and plugins that FreeNAS has, SME has contribs--community-developed add-ons to add functionality. Those wouldn't survive the backup/reinstall/restore process, but there are provided audit tools to develop lists of installed contribs, as well as changes made to the configuration file templates.

Of course, the ideal migration is that you can upgrade in place, and everything continues to work. Sometimes that isn't possible. But in those cases, you (whoever "you" is that's releasing the software) need to document how users of previous versions of your software are supposed to move to your new version. And that has to happen by the time you release.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
9,554
Because they have a large installed base of users. If they want those users to upgrade, there needs to be a way for them to do so without losing major functionality that iX has long advertised, and they've long been using. "Throw out your jails and replace them from scratch with Docker containers" is the wrong answer. For all the faults of jails (and it may well be that they need to get rid of them in favor of some other technology--the devs seem to think so, anyway), they're out there, in large numbers.

I wonder if the "jails" problem is really a "warden" problem that will be resolved by FreeNAS 11 moving to iocage.
 

Michael Schultz

Dabbler
Joined
Feb 26, 2016
Messages
22
At least the FreeNAS devs realize the current UI is messy. The knuckleheads at pfSense changed the UI completely but kept the absurd and hard to navigate menu structure. What the hell were they thinking?
I know I said I wouldn't be back until july but this is such a bullcrap statement. The pfsense ui is literally 1000000x better than freenas 9.10.2 ui. Nothing in old freenas makes sense. EVERYTHING in pfsense makes sense. Does the freenas dev team share your opinion of the pfsense ui?


EDIT: Explain to me why the left menu and the top menu in freenas 9.10.2 don't bring you to the same place? That's the single stupidest thing about freenas or any software I use.
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504
Nothing in old freenas makes sense. EVERYTHING in pfsense makes sense.
Universal statements rarely contribute anything to a discussion. What are a few examples of things from the FN9 GUI that don't make sense? I can give a few from pfSense that don't, just off the top of my head:
  • Why are the commands to shutdown or reboot the system on the Diagnostics menu?
  • Why aren't they placed together?
  • Why is the shutdown option labeled "Halt system"?
It would make much, much more sense to put those two on the System menu, together, at the bottom, with the option to shut down the system called "Shutdown" or "Power Off." Though this is probably veering pretty far off-topic.

So what's so awful about the FN9 GUI? What's so bad that "nothing makes sense"?
 

Ericloewe

Server Wrangler
Moderator
Joined
Feb 15, 2014
Messages
20,194
I know I said I wouldn't be back until july but this is such a bullcrap statement. The pfsense ui is literally 1000000x better than freenas 9.10.2 ui. Nothing in old freenas makes sense. EVERYTHING in pfsense makes sense. Does the freenas dev team share your opinion of the pfsense ui?


EDIT: Explain to me why the left menu and the top menu in freenas 9.10.2 don't bring you to the same place? That's the single stupidest thing about freenas or any software I use.
Look, you've done little more than try to stir up trouble in this thread. Since you've been given ample opportunity to discuss the matter in a civilized way, I am banning you from replying to this thread.

I urge everyone to keep the discussion civil and not resort to the "Everything in FreeNAS sucks" line of reasoning or any other trollish behavior.
 
Status
Not open for further replies.
Top