This guide presumes the availability of off-server/site backups of the following directories so that the files of those directories could be copied back to the server being recovered:

  • /onapp/interface/config/
  • /root/
  • /onapp/backups/db/dump
  • /etc/my.cnf
  • /home/onapp

If you have any SSL certificates on the server, take a copy of the necessary files.

Recover Control Panel

  1. To prepare for Control Panel recovery: 

    • Install a clean installation of CentOS 64bit

    • Configure networking to match the previous configuration 

    • Ensure you can ping compute resources and backup servers over the management network
      Ensure that you can access MySQL without a password before continuing if it is already installed

    • Remove any client MySQL configuration in /root/.my.cnf
  2. Update CentOS components to the latest yum update.

  3. Download and install the OnApp YUM repository file: 

    rpm -Uvh
  4. Install OnApp Control Panel installer package. Please, reboot if requested by the installer due to SELINUX, and then continue:

    bash#> yum install -y onapp-cp-install
  5. Run the Control Panel installer to install the latest OnApp release:


    If required, indicate the build number of the release version you want to install:

    /onapp/onapp-cp-install/  -v  <ONAPP_VERSION>

    To avoid any issues, make sure you reinstall the same release which was previously installed on the CP server. 

  6. Import the OnApp config from backup:

  7. To ensure the SSH keys are correct, import the following from the backup: 


    Make sure you can access each compute resource and backup server from the OnApp user. To verify the keys are working correctly run the following commands: 

    su onapp
    ssh root@<HV_IP_ADDRESS>
  8. Install OnApp Storage packages 

    yum -y install onapp-store-install
  9. Locate and restore the latest MySQL dump.
    Copy from backup the latest gzipped dump into the/root directory on CP. I.e.: 

    scp 1397788801.localhost.onapp.sql.gz <CP_IP_ADDRESS>:/root/
    gunzip /root/1397788801.localhost.onapp.sql.gz
    mysql -p onapp < /root/1397788801.localhost.onapp.sql
  10. Restore MySQL optimizations from backup (if changed from defaults): 

  11. If required, run the OnApp installer to update the DB scheme.

    This may be required if you have reinstalled a newer version of OnApp than was installed previously, or you are not sure what version was installed previously. 

  12. Regenerate Cloudboot information

    Option 1

    su onapp
    cd /onapp/interface/ && rails c { |hv| if hv.mac.present? }

    In OnApp Web UI, go to Settings > Configuration and click Save at the bottom of the page.

    Option 2 

    If you have an up to date backup of /tftpboot you can restore the whole directory to replace the default /tftpboot files 
  13. Regenerate new dhcpd.conf by adding and removing a placeholder IP:

    1. Go to Settings > Hypervisors > Cloudboot IPs

    2. Add a single placeholder IP; e.g:

      • IP  Address - 

      • Netmask - 

      • Gateway -

    3. After adding the above IP, please delete it using the Trash icon.


  14. Restart services for changes to take effect:

    service httpd stop  
    service onapp stop  
    service mysqld stop  
    service mysqld start  
    service onapp start  
    service httpd start

You may need to wait around 15 minutes for the license to become active, once it has become active this process should be complete.

Post Actions

If you have an empty Cloudboot server, it is recommended to reboot it at this stage in order to ensure the DHCP/TFTP services are working as expected.

Provision a test virtual server, smart server, and baremetal server where the capacity allows to ensure the end-to-end process for each provisioning process is working normally.