-
Notifications
You must be signed in to change notification settings - Fork 186
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OCIS fails to start after upgrade from 5.0.0-rc.5 to 5.0.0-rc.6 #8669
Comments
Please check your process by comparing to the upgrade docs. https://doc.owncloud.com/ocis/5.0/migration/upgrading-ocis.html
We have a not so clear situation here. It is a known DevOPS paradigm to not change config files "automagically" by the installed application. In the future we can also have a maintenance command that can do an incremental upgrade "on demand". |
Same here using WOPI deployment. I am stuck on rc5. |
Please Check the upgrade guide in the docs. you need to add service account id and secret to your config. |
My instance won't start because the service account isn't defined after upgrading from 4.x to 5.x. I tried adding a section like this to my
...but it didn't work. The documentation page here suggests simply putting it in a top-level section (although it seems to be for a
...which also doesn't work. I'm running OCIS as a single Podman container using the official Docker image, and I don't want to have to specify secrets as environment variables in my systemd service that starts the continer. What is the proper format to configure this on-disk in Edit: I also tried |
@jacobgkau the (identical) service account configuration is required for all services that need a service account. I'm including the id and secret here, because this is only a local dev instance that get's killed on a regular basis anyway. Please don't use the two values in a production instance but generate your own values. graph:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
proxy:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
frontend:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
search:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
storage_users:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
notifications:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
userlog:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
auth_service:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6
--
clientlog:
service_account:
service_account_id: 19dff10e-6694-4a48-a698-5c7c8a4a5008
service_account_secret: sKrUn-e@w6Mn9N0XL=gUHegt%nDQ9!C6 And one more service account related config that I found in the settings:
service_account_ids:
- 19dff10e-6694-4a48-a698-5c7c8a4a5008 |
@kulmann Thanks! That explains it very well. More InfoEnv variables in ocis are very convenient, especially if there are I think we can work on an Relates to #3645 |
I fail to see why global configuration in the configuration file isn't possible when it is possible via environment variables. It can't be a security best-practices thing (e.g. giving that id/secret to services that don't need it), because if it was that, then the environment variables would have the same issue. |
I just tried it myself: in the config file the service account needs to be configured on each and every service individually. There is no shorthand in the config file (= defining a value on root level to make it apply to all services, as an equivalent of the |
I had this problem aswell, but ifxed it myself. But now as I see others have this problem aswell and checking over the yaml file I in generall wondered why it is made so complicated. Currently:
How I think it should work aswell (according to this docs):
Or why are there not just two variables (env vars if you want) for ALL Services:
or
And each service just reads in the config-variable it needs. (all take both, but "settings" just needs the But the way it currently is, is just repetitive config. The last approach with only the two variables for all services IMHO is the best, as the maintainers just broke a lot of installations when they updated (not upgraded!) from rc5 to rc6. But with the 3rd approach even every new service would also get these two variables and would not require to have the config altered/upgraded. |
The reason why that is that complicated is because we have a microservice architecture. All services are not aware of internals of other services. The ocis.yaml is just a hierarchical shortcut. It combines the yaml files of each individual services. There is no "shared" config for yaml files. The link from geoserver is IMHO custom implementation. We are marshalling that yaml file from go data types. Like i said, we will work on an "init-upgrade" command which takes care of an auto update. NOTE: The ocis.yaml is only interesting for the single process deployment. In kubernetes and the ocis chart we are not using ocis init at all. We just use the capabilities of the orchestration system to create unique IDs and secrets and manage them from there. |
Closing - should work now with the suggested additions. |
Describe the bug
After upgrading from
5.0.0-rc.5
to5.0.0-rc.6
, ocis wasn't starting anymore :First, I tried first to generate a new
ocis.yaml
but I ran into errors (unable to login anymore, see below).Then I managed to start
5.0.0-rc.6
by manually adding this (to my original config):(I copy-pasted this section from the newly generated
ocis.yaml
)Note: rolling-back to
5.0.0-rc.5
was also working.Also, my config file was generated a long time ago (most likely with 5.0.0-alpha1).
Steps to reproduce
5.0.0-rc.5
5.0.0-rc.6
Expected behavior
I've tested almost all 5.0 alpha/beta/rc without any issues.
I was expecting two things :
ocis.yaml
, a newly generatedocis.yaml
shall be OK.I'm running ocis with keycloak and all OCIS parameters are setup using environment variables.
But in my setup, I ran into a lot of troubles after regenerating ocis.yaml:
The only solution was to rollback and re-use the previous one.
What is the underlying limitation ? Why re-generating a new
ocis.yaml
do not work ?Note: to be sure this wasn't related to my setup, I tried to do this :
v5.0.0-rc.6
docker compose up
docker compose
docker compose up
Is automatic config file migration a feature ? How to trigger it ? (
ocis init
seems to do nothing if a configuration file already exists).Setup
I'm running latest ocis 5.0.0 rc6 (podman) with keycloak SSO.
My setup is very similar to https://owncloud.dev/ocis/deployment/ocis_keycloak/
The text was updated successfully, but these errors were encountered: