[Users] New engine install on remote DB fails "uuid-ossp extension is not loaded"

Ian Levesque ian at crystal.harvard.edu
Tue Aug 14 14:20:21 EDT 2012


On Aug 14, 2012, at 12:58 PM, Yair Zaslavsky wrote:

> On 08/14/2012 07:12 PM, Ian Levesque wrote:
>> Hello,
>> 
>> I'm trying to install oVirt 3.1, using an external postgres db running on RHEL6 (postgresql-server-8.4.12-1.el6_2.x86_64). I'm getting the following error during engine-setup:
>> 
>>   Error: uuid-ossp extension is not loaded into the DB.
>>   Verify with the DB admin that uuid-ossp extension is loaded into newly created databases and rerun the setup.
>> 
>> The database log indicates:
>> 
>>   ERROR:  function uuid_generate_v1() does not exist at character 8
>>   HINT:  No function matches the given name and argument types. You might need to add explicit type casts.
>>   STATEMENT:  SELECT uuid_generate_v1();
>> 
>> I did some searching, and it appeared that I might need to add some postgres-contrib functions:
>> 
>>   psql -U postgres -d engine -f /usr/share/pgsql/contrib/uuid-ossp.sql
>> 
>> Unfortunately, it appears that the install script wants to create a temporary database and expects these functions to exist on its newly-created temp DB, not an already-existing database.
> 
> Indeed this step is required for postgresql 8.4.x (you have to install this script).
> I did not encounter an issue with this script.
> I ran
> 
> psql -U postgres -d engine -f /usr/share/pgsql/contrib/uuid-ossp.sql
> 
> And the script execution went smoothly (this scripts runs instructions of create or replace function so it is re-entrant).
> Can you please elaborate more on the error you're getting?

Here's what the install log tells me:

2012-08-14 11:56:12::INFO::engine_validators::425::root:: Successfully created temp database on server cmcd-web.
2012-08-14 11:56:12::INFO::engine_validators::443::root:: Checking that uuid extension is loaded by default on the remote server
2012-08-14 11:56:12::DEBUG::common_utils::350::root:: running sql query 'SELECT uuid_generate_v1();' on db server: 'cmcd-web'.
2012-08-14 11:56:12::DEBUG::common_utils::286::root:: cmd = /usr/bin/psql -h cmcd-web -p 5432 -U ovirt -d ovirt_engine_test -c "SELECT uuid_generate_v1();"
2012-08-14 11:56:12::DEBUG::common_utils::291::root:: output = 
2012-08-14 11:56:12::DEBUG::common_utils::292::root:: stderr = ERROR:  function uuid_generate_v1() does not exist

So, the installer is trying to create a database "ovirt_engine_test" and succeeding. But until you run `psql -U postgres -d <database_name> -f /usr/share/pgsql/contrib/uuid-ossp.sql`, the function uuid_generate_v1() won't be available. Therefore, the temporary database the installer is using to determine compatibility fails.

Ian





More information about the Users mailing list