Version-Release number of selected component (if applicable): ovirt-engine-setup-4.0.4.4-0.1.el7ev.noarch Description of problem: engine-setup checks ownership of database entities, but it searches also entities in schemas, that could not have anything to do with engine file: /usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py function: def _checkDatabaseOwnership(self): sql: ... where nsp.nspname not in ('information_schema', 'pg_catalog') Customer can have his own schemas with tables/views/functions and so he fails to install engine. Failed to execute stage 'Setup validation': Cannot upgrade the Engine database schema due to wrong ownership of some database entities. Please execute: /usr/share/ovirt-engine/setup/dbutils/changedbowner.sh -s xxx -p xxx -d engine -f postgres -t engine Using the password of the "postgres" user. I can't test if the changeowner.sh changes ownership of this tables too, because of Bug 1371501. Or it doesn't and the engine-setup always fails on this check.
Eli, could you please take a look?
Martin - isn't it integration?
(In reply to Lucie Leistnerova from comment #0) > Version-Release number of selected component (if applicable): > ovirt-engine-setup-4.0.4.4-0.1.el7ev.noarch > > Description of problem: > engine-setup checks ownership of database entities, but it searches also > entities in schemas, that could not have anything to do with engine > > file: > /usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt-engine/db/ > schema.py > > function: def _checkDatabaseOwnership(self): > > sql: > ... > where > nsp.nspname not in ('information_schema', 'pg_catalog') > > Customer can have his own schemas with tables/views/functions and so he > fails to install engine. In the engine database? Why would the customer want/need this? IMO engine database should be considered "private". Customer can store whatever customer wants in other databases on the same postgres instance/cluster. > > Failed to execute stage 'Setup validation': Cannot upgrade the Engine > database schema due to wrong ownership of some database entities. Please > execute: /usr/share/ovirt-engine/setup/dbutils/changedbowner.sh -s xxx -p > xxx -d engine -f postgres -t engine Using the password of the "postgres" > user. > > I can't test if the changeowner.sh changes ownership of this tables too, > because of Bug 1371501. Or it doesn't and the engine-setup always fails on > this check. Please note that this bug is for 4.1, and the solution isn't to fix the script but to remove it (and the recommendation to use it).
I really don't think that customer should have its own schema inside our engine database, that not sound correct when the customer can create it own database and add his own schema there
(In reply to Eli Mesika from comment #4) > I really don't think that customer should have its own schema inside our > engine database, that not sound correct when the customer can create it own > database and add his own schema there Data scheme is equivalent to the code. This is what we produce. verify and test and we cannot support any changes to either one, unless it was added during the standard development flow.
This is a issue when trying to use EDB as remote DB.
(In reply to Doron Fediuck from comment #5) > (In reply to Eli Mesika from comment #4) > > I really don't think that customer should have its own schema inside our > > engine database, that not sound correct when the customer can create it own > > database and add his own schema there > > Data scheme is equivalent to the code. This is what we produce. verify and > test > and we cannot support any changes to either one, unless it was added during > the standard development flow. However , there can be a workaround for that changing : file: /usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/ovirt-engine/db/schema.py function: def _checkDatabaseOwnership(self): sql: ... where nsp.nspname not in ('information_schema', 'pg_catalog') to where nsp.nspname in ('public', 'aaa_jdbc') This will enable installation of other schema to our database without checking those schema for the 'engine' owner
(In reply to Yaniv Dary from comment #6) > This is a issue when trying to use EDB as remote DB. Very well - I think there is engineering agreement, that as-is, current bug is not going to be solved. If the only use case is EDB, then please: 1. Change summary accordingly (e.g. "ovirt xyz is failing when using remote EDB") 2. Attach setup (and perhaps other relevant) logs. 3. I don't know EDB. Does it have a free (FOSS, or at least gratis/developer) version we can try with? Thanks.
EnterpriseDB has schema 'sys' with special features free trial version http://www.enterprisedb.com/products-services-training/products/postgres-plus-advanced-server/downloads
Bug tickets must have version flags set prior to targeting them to a release. Please ask maintainer to set the correct version flags and only then set the target milestone.