Warning: I’ve followed the guide and here I present you my notes, and they are just notes that I want to share, maybe I’m not doing things in the proper way so please stick to the official guide.
In my installation I’m using the default sqlite database and the only virtual machine that I’ve created is not in a transient state as requested. My virtual machines is in the STOPPED state.
- I stop the opennebula services I’m running in my frontend machine. I’m currently only using the opennebula and opennebula-sunstone services but according to the guide you must stop also: oneflow-server, econe-server and occi-server.
#service opennebula-sunstone stop #service opennebula stop
- I create a temporary backup for the /etc/one directory
#cp -r /etc/one/ /tmp/one
3. I’m using the official OpenNebula repository for CentOS so I update the packages using yum:
#yum update opennebula opennebula-common opennebula-node-kvm opennebula-ruby opennebula-server opennebula-sunstone ..... Dependencies Resolved ===============================================================================================Package Arch Version Repository Size =========================================================== Updating: opennebula x86_64 4.4.0-1 opennebula 58 k opennebula-common x86_64 4.4.0-1 opennebula 7.0 k opennebula-node-kvm x86_64 4.4.0-1 opennebula 7.2 k opennebula-ruby x86_64 4.4.0-1 opennebula 54 k opennebula-server x86_64 4.4.0-1 opennebula 1.1 M opennebula-sunstone x86_64 4.4.0-1 opennebula 1.1 M Transaction Summary =============================================================================================== Upgrade 6 Package(s) Total download size: 2.4 M Is this ok [y/N]: y
In my case I’ve also updated some packages in a remote host
# yum update opennebula opennebula-common opennebula-node-kvm opennebula-ruby
The configuration files are backed up while upgrading as the guide recommends to use the new configuration files, notice that maybe you have to change the new configuration files.
warning: /etc/one/oned.conf saved as /etc/one/oned.conf.rpmsave warning: /etc/one/sunstone-server.conf saved as /etc/one/sunstone-server.conf.rpmsave
4. I’m using the default sqlite database so in order to upgrade. I create a new directory /var/lib/one/backup where I’ll store the sqlite backup created by the migration scripts.
su - oneadmin onedb upgrade -v --sqlite /var/lib/one/one.db Version read:4.2.0 : OpenNebula 4.2.0 daemon bootstrap Sqlite database backup stored in /var/lib/one/one.db.bck Use 'onedb restore' or copy the file back to restore the DB. > Running migrator /usr/lib/one/ruby/onedb/4.2.0_to_4.3.80.rb > Done > Running migrator /usr/lib/one/ruby/onedb/4.3.80_to_4.3.85.rb > Done > Running migrator /usr/lib/one/ruby/onedb/4.3.85_to_4.3.90.rb > Done > Running migrator /usr/lib/one/ruby/onedb/4.3.90_to_4.4.0.rb > Done Database migrated from 4.2.0 to 4.4.0 (OpenNebula 4.4.0) by onedb command. mkdir /var/lib/one/backups mv /var/lib/one/one.db.bck /var/lib/one/backups/
5. Now as root I try to start the opennebula and opennebula-sunstone services
# service opennebula start Starting OpenNebula daemon: [ OK ] # service opennebula-sunstone start Starting Sunstone Server daemon: VNC proxy started sunstone-server started [ OK ]
6. Now the guide says that you must upgrade the drivers in the hosts using sync. I check that the hosts are ok
$ onehost sync * Adding deckard.artemit to upgrade * Adding gaff.artemit to upgrade [========================================] 2/2 gaff.artemit All hosts updated successfully. $ onehost list ID NAME CLUSTER RVM ALLOCATED_CPU ALLOCATED_MEM STAT 0 deckard.artemit - 0 0 / 200 (0%) 0K / 5.6G (0%) on 1 gaff.artemit - 0 0 / 200 (0%) 0K / 5.7G (0%) on
7. Remember the configuration files have been changed. In my case I’ve edited the oned.conf and sunstone-server.conf file so Sunstone listens on a different address and my LDAP server is used for authentication.
8. I have no cluster configured for now so the new multi system datastore is not affecting me. I just start my stopped VM and it works again in the new OpenNebula 4.4
I wish to thank the OpenNebula team for such a great documentation.