Jump to: navigation, search

Difference between revisions of "Ironic/NovaBaremetalIronicMigration"

(Nova Bare-metal to Ironic migration)
(Nova Bare-metal to Ironic migration)
Line 21: Line 21:
 
** '''Remove''' the [baremetal] section ([[#Baremetal_section|Example]])
 
** '''Remove''' the [baremetal] section ([[#Baremetal_section|Example]])
 
* Update flavor metadata to reference Ironic's deploy kernel & ramdisk  ([[#Update_flavor|Example]])
 
* Update flavor metadata to reference Ironic's deploy kernel & ramdisk  ([[#Update_flavor|Example]])
* Run ironic-nova-bm-migrate script to migrate nova-bm nodes and interfaces to ironic nodes and ports
+
* Run [[#https://github.com/openstack/ironic/blob/master/ironic/migrate_nova/migrate_db.py|migrate_db]] script ([[#Run_migrate_script|Example]])
 
* Start Ironic services  ([[#Start_Ironic_services|Example]])
 
* Start Ironic services  ([[#Start_Ironic_services|Example]])
* Ensure proper service start-up
+
* Ensure proper service start-up ([[#Ensure_service_start-up|Example]])
 
* (Re)start Nova services ([[#Start_Nova_services|Example]])
 
* (Re)start Nova services ([[#Start_Nova_services|Example]])
 
* End maintenance period
 
* End maintenance period
Line 58: Line 58:
 
   nova flavor-key baremetal set "baremetal:deploy_kernel_id"="$dkid"
 
   nova flavor-key baremetal set "baremetal:deploy_kernel_id"="$dkid"
 
   nova flavor-key baremetal set "baremetal:deploy_ramdisk_id"="$drid"
 
   nova flavor-key baremetal set "baremetal:deploy_ramdisk_id"="$drid"
 +
===== Run migrate script =====
 +
  TBA
 
===== Start Ironic services =====
 
===== Start Ironic services =====
 
   sudo service ironic-api start
 
   sudo service ironic-api start
 
   sudo service ironic-conductor start
 
   sudo service ironic-conductor start
 +
===== Ensure service start-up =====
 +
  TBA
 
===== Start Nova services =====
 
===== Start Nova services =====
 
   sudo service nova-compute start
 
   sudo service nova-compute start
 
   sudo service nova-scheduler start
 
   sudo service nova-scheduler start

Revision as of 00:55, 11 September 2014

Nova Bare-metal to Ironic migration

Assumptions / Requirements

  • Migration is only supported *within* Juno release
  • Migrating live instances between virt drivers in Nova is not tested! It is NOT recommended.
  • Migrating from Icehouse-baremetal -> Juno-ironic is not supported
  • The nova-compute and nova-scheduler will need to be restarted
  • Icehouse Nova deployed with:
    • Nova "bare-metal" driver
    • Populated nova_bm database
    • Nova Juno release admin upgrades applied
  • Deploy-ironic kernel and ramdisk built (DIB)
  • Empty Ironic database exists

High Level Walk Through

  • Start maintenance period (to prevent API service access for upgrade)
  • Stop Nova services (Example)
  • Update nova-compute configuration (nova.conf)
  • Update flavor metadata to reference Ironic's deploy kernel & ramdisk (Example)
  • Run migrate_db script (Example)
  • Start Ironic services (Example)
  • Ensure proper service start-up (Example)
  • (Re)start Nova services (Example)
  • End maintenance period

Detailed examples

Stop services
 sudo service nova-compute stop
 sudo service nova-scheduler stop
Changes
 compute_driver = nova.virt.ironic.IronicDriver
 scheduler_host_manager = nova.scheduler.ironic_host_manager.IronicHostManager
Ironic section
 [ironic]
 admin_username = ironic
 admin_password = password
 admin_url = http://keystone.host:35357/v2.0
 admin_tenant_name = service
Baremetal section
 [Baremetal] 
 sql_connection = db
 tftp_root = /tftpboot
 flavor_extra_specs = cpu_arch / arch
 driver = nova.virt.baremetal.pxe.PXE
 pxe_network_config=True
 pxe_deploy_timeout= pxe_deploy_timeout
 power_manager = power_manager
 virtual_power_host_user=user
 virtual_power_host_key=/mnt/state/var/lib/nova/virtual-power-key
 virtual_power_ssh_host=ssh_host
 virtual_power_type=type
Update flavor
 dkid=$(glance image-create --name "deploy-ironic-kernel" --public --disk-format aki --file deploy-ironic.kernel | awk ' / id / {print $4}')
 drid=$(glance image-create --name "deploy-ironic-ramdisk" --public --disk-format ari --file deploy-ironic.initramfs | awk ' / id / {print $4}')
 nova flavor-key baremetal set "baremetal:deploy_kernel_id"="$dkid"
 nova flavor-key baremetal set "baremetal:deploy_ramdisk_id"="$drid"
Run migrate script
 TBA
Start Ironic services
 sudo service ironic-api start
 sudo service ironic-conductor start
Ensure service start-up
 TBA
Start Nova services
 sudo service nova-compute start
 sudo service nova-scheduler start