[one-users] OpenNbula 3.0 migration: problem with onedb
Javier Fontan
jfontan at opennebula.org
Tue Oct 18 13:50:25 PDT 2011
Can you tell me the packages needed to be able to compile/install the
failing gems? I already had rake and gcc for most of the gems but
probably some slipped through my fingers.
2011/10/18 Ruben Diez <rdiez at cesga.es>:
> We had used the /usr/share/one/install_gems script to install gems....
>
> Never the less seems that some of them need the corresponded devel c
> library, and fails to install
>
> We now had install the gems one by one, and these errors appears...
>
> Now the onedb command runs....
>
> Thanks a lot for your help....
>
>
>
>
> Ruben Diez escribió:
>>
>> Thank you for your help....
>>
>> After the modification you suggest, this is the output:
>>
>> oneadmin at onesrv04:/srv/cloud$ onedb upgrade -v
>> undefined method `fetch' for nil:NilClass
>> Database schema does not look to be created by OpenNebula: table user_pool
>> is missing or empty.
>>
>> Seems to fail to find a function.... Perhaps any library is needed??
>> We think all the ruby gems are installed, as the documentation explain....
>>
>>
>>
>>
>> Carlos Martín Sánchez escribió:
>>>
>>> I don't see any other reasons why this could fail... Could you edit
>>> /usr/lib/one/ruby/onedb/onedb_backend.rb to output some more info?
>>>
>>> Just add the Exception message to the rescue clause in db_exists?
>>>
>>> def db_exists?
>>> begin
>>> # User with ID 0 (oneadmin) always exists
>>> @db.fetch("SELECT * FROM user_pool WHERE oid=0") { |row| }
>>> return true
>>> rescue Exception => e
>>> puts e.message
>>> return false
>>> end
>>> end
>>>
>>> Thank you
>>> --
>>> Carlos Martín, MSc
>>> Project Engineer
>>> OpenNebula - The Open Source Toolkit for Cloud Computing
>>> www.OpenNebula.org <http://www.opennebula.org/> | cmartin at opennebula.org
>>> <mailto:cmartin at opennebula.org>
>>>
>>>
>>> 2011/10/18 Ruben Diez <rdiez at cesga.es <mailto:rdiez at cesga.es>>
>>>
>>> Yes: it is populated:
>>>
>>> mysql> select * from user_pool where oid=0;
>>>
>>> +-----+-----------+------------------------------------------+---------+
>>> | oid | user_name | password |
>>> enabled |
>>>
>>> +-----+-----------+------------------------------------------+---------+
>>> | 0 | oneadmin | 8944aada99d6d0122494dd0ac8129db653bc1f4a |
>>> 1 |
>>>
>>> +-----+-----------+------------------------------------------+---------+
>>> 1 row in set (0.00 sec)
>>>
>>> When you put the "-p" option followed by a blank space you are
>>> prompted for the password... in this case "opennebula" is the
>>> database name, not the password...
>>>
>>> We can't make onedb backup in the old machine because the onedb
>>> command don't exist in OpenNebula 2.1...
>>>
>>> Any way, the onedb backup command seems to be a wrapper of the
>>> mysqldump command....
>>>
>>>
>>>
>>> Carlos Martín Sánchez escribió:
>>>
>>> Hi,
>>>
>>> Is the DB in the new machine correctly populated?
>>> Can you manually perform a "select * from user_pool where
>>> oid=0;" ?
>>>
>>> I'm asking because the '-p' option of the mysql commands needs
>>> the password right next to it, without any space; i.e.
>>> '-popennebula' instead of '-p opennebula'
>>>
>>>
>>> In case any other user is in a similar situation, you can use
>>> the onedb command to move the DB to the new mysql server using
>>> "onedb backup" and "onedb restore".
>>>
>>> Regards.
>>> --
>>> Carlos Martín, MSc
>>> Project Engineer
>>> OpenNebula - The Open Source Toolkit for Cloud Computing
>>> www.OpenNebula.org <http://www.OpenNebula.org>
>>> <http://www.opennebula.org/> | cmartin at opennebula.org
>>> <mailto:cmartin at opennebula.org> <mailto:cmartin at opennebula.org
>>> <mailto:cmartin at opennebula.org>>
>>>
>>>
>>>
>>> On Tue, Oct 18, 2011 at 12:35 PM, Ruben Diez <rdiez at cesga.es
>>> <mailto:rdiez at cesga.es> <mailto:rdiez at cesga.es
>>> <mailto:rdiez at cesga.es>>> wrote:
>>>
>>> Hi:
>>>
>>> We are attempt to migrate OpenNebula from 2.1.80 to 3.0....
>>>
>>> But the new 3.0 OpenNebula was installed in a new machine.
>>>
>>> For database migration, we have followed these steps:
>>>
>>> 1- In the old machine, we made a dump of the database:
>>>
>>> mysqldump -h localhost -u oneadmin -p opennebula
>>> >opennebula_2_database.mysq
>>>
>>> 2- In the new machine, we create the oneadmin user, an empty
>>> opennebula database and grant privileges to user oneadmin on
>>> database opennebula:
>>>
>>> mysql> create user 'oneadmin'@'localhost' identified by
>>> 'XXXXX';
>>> mysql> create database opennebula;
>>> mysql> grant all privileges on opennebula.* to
>>> 'oneadmin'@'localhost';
>>>
>>> 3- Now, in the new machine, we restore the 2.1 version
>>> database:
>>>
>>> mysql -h localhost -u oneadmin -p opennebula
>>> <opennebula_2_database.mysql
>>>
>>> 4- The configuration of the database is set in the
>>> oned.conf file:
>>>
>>> DB = [ backend = "mysql",
>>> server = "localhost",
>>> port = 0,
>>> user = "oneadmin",
>>> passwd = "XXXXX",
>>> db_name = "opennebula" ]
>>>
>>> 5- Now, we attempt the database conversion: but it fails:
>>>
>>> #oneadmin at onesrv04:/srv/cloud$ onedb upgrade -v
>>> Database schema does not look to be
>>> created by
>>> OpenNebula: table user_pool is missing or empty.
>>>
>>>
>>> We attempt to avoid oned.conf file, but also fails:
>>>
>>> #oneadmin at onesrv04:/srv/cloud$ onedb upgrade -v -u oneadmin -d
>>> opennebula MySQL Password:
>>> MySQL option DBNAME is needed
>>>
>>> #oneadmin at onesrv04:/srv/cloud$ onedb upgrade -v -u root -d
>>> opennebula
>>> MySQL Password:
>>> MySQL option DBNAME is needed
>>>
>>> #oneadmin at onesrv04:/srv/cloud$ onedb upgrade -v -P 3306 -S
>>> localhost -u oneadmin -d opennebula
>>> MySQL Password:
>>> MySQL option DBNAME is needed
>>>
>>>
>>> Any ideas about why the database migration fails??
>>>
>>> Regards....
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opennebula.org
>>> <mailto:Users at lists.opennebula.org>
>>> <mailto:Users at lists.opennebula.org
>>> <mailto:Users at lists.opennebula.org>>
>>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>>>
>>>
>>>
>>>
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.opennebula.org
>> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>
> _______________________________________________
> Users mailing list
> Users at lists.opennebula.org
> http://lists.opennebula.org/listinfo.cgi/users-opennebula.org
>
--
Javier Fontán Muiños
Project Engineer
OpenNebula Toolkit | opennebula.org
More information about the Users
mailing list