Jump to: navigation, search

Haforvms

Revision as of 09:02, 30 November 2011 by Jason (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
  • Launchpad Entry: NovaSpec:ha-for-vms
  • Created: 2011-Nov-30
  • Contributors: Jason Kim

Summary

Support HA for vms from the failed host.

Release Note

When this is implemented, VMs will be rebuilt from failed host to the other hosts.

Rationale

If the host are failed, we can't run the current vms on the host. That is to say,we can't HA for vms. I solved the HA using the rebuild means.

Below steps will be added.

1) get the information of instances on the failed host. - we can know the state of host by using monitoring system or using the service state (nova-compute, nova-network)

2) get a list of dictionaries of network data of an instance.

3) update the volume db and instance db.

4) setup volumes for block device mapping

5) spawn the instance

6) associate the floating ip which is used existing the instances.

  - set up the iptables and so on.

7) update the instance db.

User stories

  • User will see instances booted with volumes attached.

Assumptions

For root volume support, the following blueprints are assumed.

Design

File:Haforvms$auto create boot volume concept.png

Implementation

  • nova.conf
  add 'auto_create_boot_volumes' flag and set it True 
  • compute node
    • Compute Manager should call Volume Manager to create volumes on boot time.
    • Virt Driver should copy the OS images to the root volume.
    • Virt Driver should inject ssh key or files into the root volume.

Code Changes

  • /nova/compute/manager.py
  • /nova/virt/libvert/connection.py

Migration

  • When 'auto_create_boot_volumes' is added on nova.conf,
  • the cached images have to be deleted. in common case, it's '/var/lib/nova/instances/_base/...'
  • to synchronize the size between volume and image.

Test/Demo Plan

This need not be added or completed until the specification is nearing beta.

Unresolved issues

TBD

BoF agenda and discussion

Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected.