Production channel removal

I agree. Itā€™s not a good look at all. Just more bait and switch from Nextcloud.

From the Nextcloud website:
ā€œEnjoy constant improvements from a thriving and transparent, entirely open-source community development model, free of lockins or paywalls.ā€

Kind of seems like a joke in light of recent changes.

2 Likes

@kesselb Show me someone who runs WSUS for one other Windows server. That isnā€™t a reasonable solution.

1 Like

If you can do it, help is always appreciated I think.

@jospoortvliet Any update on this? I think itā€™d put a lot of people, including me, at ease.
The change of the production channel to an enterprise channel does have some people worried and the ability to basically do the same thing that the production channel allowed would be great.
Also, if this is done, itā€™d make my planned change to the updater useless soā€¦

Well, it would be niceā€¦ Nah, if someone wants it, itā€™s not a hard patch to write. Would rather at least keep the notification.

Not necessarily. Being able to specify a version on the command line is a great addition and solves other problems. At one point I was thinking about implementing it myself, but as always I got sucked into other projects.
Iā€™d be happy to collaborate on this. Or did you have something else in mind? e.g. specifying the major version and the updater retrieves the most recent minor update? That would have been my next step (cmdline option)ā€¦

I think thatā€™s the right place. If you want some flag ā€œdont_send_me_major_updatesā€ thats probably a bit more work to do. The update_server will always return one version. I see two ways:

  1. Pass &dont_send_me_major_updates=1 and only return updates for the same version.
  2. A more generic approach: Return all available updates for this version. This also requires a new parameter &give_me_multi_version_response=1 because old clients donā€™t know how to parse responses with more than one version.

For 1 and 2 nextcloud/server and nextcloud/updater need some changes to support the new flag properly. At least 3 pull requests to different repositories is probably a tough start :wink:

./updater.phar --patchFile=nc17.zip --signatureFile=nc17.sig

As start I would extend the updater to accept a specific patch file and the signature via arguments. So people have full control which version is installed.

I identified url, signature, version and versionstring as mandatory information from the updater_server response (probably they are more).

If --patchFile and --signatureFile not empty donā€™t call $this->getUpdaterServerResponse modify $this->getUpdaterServerResponse to return some information from patchFile. For the version check we need version and versionstring.

Use https://www.php.net/manual/en/ziparchive.extractto.php to extract version.php from the patch file and $version = implode('.', $OC_Version); and $versionString = 'Nextcloud ' . $OC_VersionString;

Probably curl will accept something like ā€˜file://local/path/to/nc17.zipā€™ or check is $response[ā€˜urlā€™] a path to a local file and copy it to $fp and skip all the curl rest.

Paste the content of --signatureFile here.

This method is probably a good place to add all this --patchFile and --signatureFile logic. If these two arguements are present do something different but also return a array with url, signature, version and versionString.

Iā€™m not sure but sometimes autoupdate = false. These seems to be related to outdated php versions: updater_server/config/config.php at 03037e2413dcd4e389652f5dfd571991574733dd Ā· nextcloud-releases/updater_server Ā· GitHub

If people are using the updater with a custom patch file I would ignore this flag for now assuming they know what they are doing :wink:

2 Likes

@jospoortvliet Iā€™ve read this tread and I must agree that loosing the Production channel is a bad move.
Thatā€™s particularly the case for us, small businesses (5 clients running):

  • too small to afford your Entreprise plan starting at 50 users
  • still big enough to not be able to support outages due to unstable updates for the supposed Stable branch.
    We are now blocked and without options

This problem is for the server and also for clients. Releases are silent and changelog is hidden and not manageable by admin for client.
(At each update you rolling out several nasty notification and confusing elements making update after updates more and more Nextcloud an adware.
(Seriously what the point advertising on the client connected to a dedicated server for a paid hosted server.))
In the last months Iā€™ve lost a lot of time reverting client updates problems.

Yesterday expecting to fix the HTTP/2 pending issue Iā€™ve updated from Production 16.x to supposed tested and Stable 17.0.2 ( 3,5 months old now)
Result => server down for 3h :

  1. Web Update failed ( back to old times) => needed to move to command line occ:ā€¦ ( Outage => 1 h)
  2. Unable to access the main page => Check Log => Found the Error source [Undefined variable] (https://github.com/nextcloud/server/issues/19030)
    somebody validate an app Metadata for this version without testing it properly since September 30th
    => Disable app ( Outage => 2h and system impaired up to this morning)
  3. Still no solution for HTTP/2 error leaving critical files not synchronised

With the production channel lost, Iā€™m now in fear to be in the first, second or three 10% test random batch in Stable channel.
I hope that your are not going to release silently, on top of that, an automagic update.

Itā€™s seems for some reason NC developers want their product to be a geeky tool for non paying customers.
Even if we are happy to support with the [bounty program] (https://www.bountysource.com/teams/nextcloud) and patches and bug reports

Please just stop making our support difficult by creating new difficulties by removing keys features.

Please also find us a solution to keep a production channel both for server AND clients AND if paid is a requirement an affordable solution for small businesses.

In this last case, we will move both our bounties contribution and support hours to a paid plan. Moving from willing contributors to paying clients is not the same relationship itā€™s less supportive more requiring. Not sure NC will earn more.

1 Like

I see your point and understand the concerns but 1, 2 and 3 would happen with the production channel as well. I donā€™t see the relation to be honest.

That is just wrong. The faulty version was released at 2020-01-20 and fixed a day later. Bad timing of course.

I must disagree on these very specific points.

  • A stable or production version should not create error 500 on update like it was three to four majors version before. Betatest is here for that.
  • An App validation need to be organised too before being released in the Stable/Production world
    That not a bad timing, just a bad process !

As said: I understand your concerns. But the issues are not related to production or stable channel. Please donā€™t hijack this discussion for other things.

An App validation need to be organised too before being released in the Stable/Production world

https://docs.nextcloud.com/server/latest/admin_manual/installation/apps_supported.html

Please create a new topic to share your updater nightmare. Probably there are already threads about that around. But this thread is the wrong place :wink:

As this thread is quite long, I hope not to have overlooked something.

@jospoortvliet [As @nachoparker already said] Thank you for keeping cool and handling the discussion professionally.

What about instances running 16.x and still being set to ā€œproductionā€?

We have 16.0.7 running still set to production and as of now no update is offered to 17, although 18 has been released some days ago.

Of course I probably could and will solve this by changing to stable sometime, but does the policy change mean that 16.x set to production will stay on that level indefinitely, or is the update really still pending?

The average user not following the forum threads, github issues or the website will probably not be aware of the change. This might lead to the paradox situation of (many?) instances falling back to an old version level, although their admins wanted a stable and secure system by choosing production and relying on this channel.

EDIT: At least minor version updates are still delivered to ā€œoldā€ production users on 16.x. We have received an update to 16.0.8 (from 16.0.7).

EDIT2: And finally the update to 17.0.3 was offered, too.

3 Likes

My big objection was the silent push of the production channel into the stable channel without warning.

I agree that there is a need for the production channel.
N+1 beta
N stable
N-1 production

Makes a lot of sense for those of us that canā€™t afford the 50 user license. Red Hat has a production version (LTS) as well as a stable. So does Fedora.

With production users pushed into stable, we are now at risk without warning. While the enterprise users that have paid for 50+ users licensing have retained the so-called advantages of a production environment.

At the end of the day, either Nextcloud wants to gain paying subscribers by doing the right thing or not.

To me, the minimum right thing is to at least have warned customers that they need to do a manual upgrade to stay on the production/enterprise channel.

You donā€™t own my installation. So you canā€™t push me into a different channel without my choosing to do so.

At the very least there should have been a warning. Given the update, there is no way to revert back to 16.0.8 now.

I am now going to remove the update notification because it no longer serves a purpose.

I feel as violated as I did when ownCloud claimed that the WebRTC tech (open source and GPL) would only work in the enterprise version. Itā€™s the DAY I moved to Nextcloud.

How does the guy at the top feel about this reduction of the non-enterprise users to the stable channel? Iā€™d like to hear his opinion. He left ownCloud for the same kind of shenanigans.

1 Like

16.0.6 had only one real bug that was back ported in 16.0.7 - the external storage via SMB because a flag was missing.

Production has historically been a lot more stable and doesnā€™t change as often. Thatā€™s the whole point of production. WIth Stable - you constantly have to read the change log. Now that production is gone, I will manually update to the N-1.

Your ruse has not changed the behavior of those that wanted the production channel. Youā€™ve just created friction and a reason for us to NOT purchase a license. Itā€™s not created an impetus for us to get into an enterprise license.

The best way to sell the enterprise license would have been to simply start providing the smaller plans. That would have eased the friction. And would have made us want to buy the license.

1 Like

Got a notification because you replied to something I wrote earlier. Iā€™m not able to match anything you wrote to something I wrote. Manual update sounds like a good alternative. Probably even automatable by some shell scripts or a configuration management tool.

Thatā€™s hilarious. Thatā€™s why thereā€™s an updater app. Brilliant.

@kesselb

just im case you didnā€™t realize what s/he was referring to just click on your name in the postingā€¦ :wink:

Just my two cents as an admin of a ā€œFamily NC instanceā€ on a rather limited shared hosting server with one heavy (DAVx5, Win Thunderbird 60.9.1, NC Win+Android client), one regular (DAVx5, NC Android client) and 2 minor (DAVx5) users: I do not care much about ā€œnewā€ features as long as my FOSS ecosystem regarding Adresses/Contacts, Calendars and file/gallery sync/sharing is working in a reliable and stable way so to avoid closed ecosystems like Google, Apple, Microsoft, etc.
In the frequent updates of at least one of the FOSS ecosystem components Iā€™m now ā€œexpectingā€ that sometimes per year things break and need hours of troubleshooting and fixing (see Tb 60 to 68 disabling Add-Ons I need).
I have to say NC updater worked much finer then previously in OC but still being on production the updates (especially major version) are not a carefree act - I had some issues.
All this said I must say I do not feel very comfortable with the Production channel removal or in other words I will trust update suggestions less now and feel like ā€œnon payingā€ users have less choice/control. Having a FOSS product steered by company employed experts on the one hand is giving confidence but on the other hand often takes away at least the impression the community can influence main strategies and core features.
I know a lot of personal subjective feelings, but as we have seen with OC they matter.

Yes, I think the writing is on the wall for the disadvantaging of non-enterprise users, going forward.

One thing that might be worth considering for home users, is using Keycloak Gatekeeper to provide an added layer of security, and make it less critical to update quickly, if the update system is to be made inconvenient. This essentially takes over the job of authentication, and puts your application behind a secure proxy. This makes it far less likely that your private Nextcloud instance could be attacked from the open net.

For what itā€™s worth, my last NC instance only got updated to 16.0.8. I refrained from doing the 17.0.3 because I now know the NC team doesnā€™t care that I only want production code and it if I want production level code, I have to manage/upgrade it myself. Itā€™s not that big a deal. But still. Kinda sad.

Have you considered adding encryption? What does keycloak get me? Why would I want a proxy for home users? I donā€™t get it.