Mailu / helm-charts

Development repo for helm charts
126 stars 130 forks source link

Admin hangs at migration after upgrade from 2.0.28 to 2.0.29 #309

Closed DerKnerd closed 11 months ago

DerKnerd commented 11 months ago

Environment & Version

Environment

Version

Description

After upgrading my setup from version 2.0.28 to 2.0.29 the admin container hangs during startup at the following messages:

INFO  [alembic.runtime.migration] Context impl SQLiteImpl.
INFO  [alembic.runtime.migration] Will assume non-transactional DDL.

Changing the log level to DEBUG doesn't have any effect.

Replication Steps

Take a base installation of Mailu with data in the database and upgrade it from 2.0.28 to 2.0.29.

Greetings Imanuel

timoschwarzer commented 11 months ago

I was slightly worried something was wrong with my Node... :sweat_smile: Downgrading to 2.0.28 works as a workaround for me. I assume this does not happen in Docker Compose stacks?

DerKnerd commented 11 months ago

Not sure, I have written the manifests myself based on the Docker Compose stack, so I really don't know for sure.

DerKnerd commented 11 months ago

https://github.com/Mailu/Mailu/issues/2992 I created a new issue in the main repo since I don't use the helm charts.

DerKnerd commented 11 months ago

After some research, it seems to be related to the generation of migrations during startup.

cyberworm-uk commented 11 months ago

No, they intentionally broke your setup because it's not supported.

See: https://github.com/Mailu/Mailu/commit/2a570d0f6f9f5d799ffcaaf68963e729830e03b9

You'll want to add the I_KNOW_MY_SETUP_DOESNT_FIT_REQUIREMENTS_AND_WONT_FILE_ISSUES_WITHOUT_PATCHES=true to your environment variables passed to admin.

https://mailu.io/2.0/faq.html#how-can-i-use-mailu-without-docker

It seems that while it claims Kubernetes is supported, it only supports Kubernetes that uses docker directly because their check for if it's supported is if /.dockerenv exists as a file in the container.

My guess is if you check your stalled admin container has such a file, you'll find it doesn't.

It looks like they've cut off their nose to spite their face.

nextgens commented 11 months ago

@guest42069 just to be clear, the intent was never to break people's setup, just to make it clear that they are on their own.

https://mailu.io/2.0/kubernetes/mailu/index.html is clear: we are looking for help. We do publish helm-charts that work; if people want to use something else (no helm charts at all like the reporter here, or bleeding edge) that hasn't been tested and there is only limited amount of willingness on our part to provide support with their custom usecase.

If you think "something else" should be supported, step in and help. @fastlorenzo has done a great job modernizing the charts but they do lag behind. As explained on https://github.com/Mailu/helm-charts/issues/311#issuecomment-1777543708 the next released version will likely work out of the box... but that won't help the reporter here and is why we do have a config flag we ask people to set.

DerKnerd commented 11 months ago

@guest42069 Interesting.

@nextgens This should definitely be logged. Since it just breaks and you have literally no idea why. Apart from that, I would not call the current version bleeding edge. I would suggest removing the ability to change the tag of the containers in the helm charts, cause if it is supported that will be used and calling that an unsupported environment is confusing.

That I do have an unsupported environment is clear to me now. I would guess there are several people with unsupported setups, would it be possible for you to add the discussions tab in the main repo for people to have central place to look? Matrix is more chat than forum. I would be willing to act as a mod if you need some :slightly_smiling_face:

About the part of unsupported setups, where can I signup to make the manifests I use an official supported version?

fastlorenzo commented 11 months ago

Let me have a look, have been busy on other things lately so didn't try the chart with the latest version. However, @nextgens , is it required to be Docker or should containerd work as well? Because I use containerd and thus don't have the .dockerenv file, so will most likely run into the same issue...

fastlorenzo commented 11 months ago

ok, I indeed got the issue that the admin pod would not start if I don't set the I_KNOW_MY_SETUP_DOESNT_FIT_REQUIREMENTS_AND_WONT_FILE_ISSUES_WITHOUT_PATCHES variable to true.

Once set it in the values file it works:

admin:
  extraEnvVars:
    - name: I_KNOW_MY_SETUP_DOESNT_FIT_REQUIREMENTS_AND_WONT_FILE_ISSUES_WITHOUT_PATCHES
      value: "true"

@nextgens I would suggest checking the logging if unsupported as the message was never printed for me in the container logs (I'm using DEBUG level).

fastlorenzo commented 11 months ago

Please try: https://github.com/Mailu/helm-charts/releases/tag/mailu-1.5.0

nextgens commented 11 months ago

That I do have an unsupported environment is clear to me now. I would guess there are several people with unsupported setups, would it be possible for you to add the discussions tab in the main repo for people to have central place to look? Matrix is more chat than forum. I would be willing to act as a mod if you need some 🙂

@Diman0 maybe this is the way: open up "discussions" and restrict the filing of new issues?

About the part of unsupported setups, where can I signup to make the manifests I use an official supported version?

Show up at one of the online developer meetings and we can talk it through. I think a new repository would be the way.

nextgens commented 11 months ago

Regarding the absent logging, we've talked it through with @fastlorenzo ; master was fixed... it was not backported since my account was restricted and the next release will have something better in place.

DerKnerd commented 11 months ago

@nextgens that sounds good, will keep an eye when the next one is. About discussions, many projects do it like that, mainly libs that I use, they restrict issues to actual bugs and everything else including feature requests go into discussions.