Merge lp:~jamesbeedy/charms/trusty/nova-compute/next into lp:~openstack-charmers-archive/charms/trusty/nova-compute/next

Proposed by james beedy
Status: Merged
Merged at revision: 172
Proposed branch: lp:~jamesbeedy/charms/trusty/nova-compute/next
Merge into: lp:~openstack-charmers-archive/charms/trusty/nova-compute/next
Diff against target: 111 lines (+46/-0)
6 files modified
config.yaml (+16/-0)
hooks/nova_compute_context.py (+6/-0)
templates/havana/nova.conf (+6/-0)
templates/icehouse/nova.conf (+6/-0)
templates/juno/nova.conf (+6/-0)
templates/kilo/nova.conf (+6/-0)
To merge this branch: bzr merge lp:~jamesbeedy/charms/trusty/nova-compute/next
Reviewer Review Type Date Requested Status
Liam Young (community) Approve
Antonio Rosales Pending
James Page Pending
Review via email: mp+272431@code.launchpad.net

This proposal supersedes a proposal from 2015-09-25.

Commit message

Enable live migration between heterogeneous kvm hypervisors.

Fixes: Bug #1499611

Description of the change

Enable live migration between heterogeneous kvm hypervisors.

Modified NovaComputeLibvirtContext in nova_compute_context.py to
transclude 'cpu-mode' and 'cpu-model' into nova.conf.

Added conditional tags for 'cpu_mode' and 'cpu_model' to the havana,
icehouse, juno, and kilo nova.conf templates.

Added 'cpu-mode' and 'cpu-model' string params and descriptions to
config.yaml.

Fixes: Bug #1499611

To post a comment you must log in.
Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote : Posted in a previous version of this proposal

charm_lint_check #10763 nova-compute-next for jamesbeedy mp272420
    LINT FAIL: lint-test failed

LINT Results (max last 2 lines):
make: *** [lint] Error 1
ERROR:root:Make target returned non-zero.

Full lint test output: http://paste.ubuntu.com/12555280/
Build: http://10.245.162.77:8080/job/charm_lint_check/10763/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_lint_check #10769 nova-compute-next for jamesbeedy mp272431
    LINT OK: passed

Build: http://10.245.162.77:8080/job/charm_lint_check/10769/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_unit_test #9947 nova-compute-next for jamesbeedy mp272431
    UNIT OK: passed

Build: http://10.245.162.77:8080/job/charm_unit_test/9947/

Revision history for this message
uosci-testing-bot (uosci-testing-bot) wrote :

charm_amulet_test #6774 nova-compute-next for jamesbeedy mp272431
    AMULET OK: passed

Build: http://10.245.162.77:8080/job/charm_amulet_test/6774/

Revision history for this message
Liam Young (gnuoy) wrote :

approved

review: Approve
Revision history for this message
Liam Young (gnuoy) wrote :

Thank for taking the time to create this patch, it is very much appreciated!

Revision history for this message
james beedy (jamesbeedy) wrote :

NP! Thank you for accepting!

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'config.yaml'
2--- config.yaml 2015-08-13 09:11:23 +0000
3+++ config.yaml 2015-09-25 15:32:16 +0000
4@@ -211,6 +211,22 @@
5 order for this charm to function correctly, the privacy extension must be
6 disabled and a non-temporary address must be configured/available on
7 your network interface.
8+ cpu-mode:
9+ type: string
10+ default:
11+ description: |
12+ Set to 'host-model' to clone the host CPU feature flags; to
13+ 'host-passthrough' to use the host CPU model exactly; to 'custom' to
14+ use a named CPU model; to 'none' to not set any CPU model. If
15+ virt_type='kvm|qemu', it will default to 'host-model', otherwise it will
16+ default to 'none'.
17+ cpu-model:
18+ type: string
19+ default:
20+ description: |
21+ Set to a named libvirt CPU model (see names listed in
22+ /usr/share/libvirt/cpu_map.xml). Only has effect if cpu_mode='custom' and
23+ virt_type='kvm|qemu'.
24 # Storage configuration options
25 libvirt-image-backend:
26 type: string
27
28=== modified file 'hooks/nova_compute_context.py'
29--- hooks/nova_compute_context.py 2015-08-13 10:31:20 +0000
30+++ hooks/nova_compute_context.py 2015-09-25 15:32:16 +0000
31@@ -124,6 +124,12 @@
32 if config('disk-cachemodes'):
33 ctxt['disk_cachemodes'] = config('disk-cachemodes')
34
35+ if config('cpu-mode'):
36+ ctxt['cpu_mode'] = config('cpu-mode')
37+
38+ if config('cpu-model'):
39+ ctxt['cpu_model'] = config('cpu-model')
40+
41 if config('hugepages'):
42 ctxt['hugepages'] = True
43
44
45=== modified file 'templates/havana/nova.conf'
46--- templates/havana/nova.conf 2015-04-13 12:22:05 +0000
47+++ templates/havana/nova.conf 2015-09-25 15:32:16 +0000
48@@ -128,6 +128,12 @@
49 {% endif -%}
50
51 [libvirt]
52+{% if cpu_mode -%}
53+cpu_mode = {{ cpu_mode }}
54+{% endif -%}
55+{% if cpu_model -%}
56+cpu_model = {{ cpu_model }}
57+{% endif -%}
58 {% if libvirt_images_type -%}
59 images_type = {{ libvirt_images_type }}
60 images_rbd_pool = {{ rbd_pool }}
61
62=== modified file 'templates/icehouse/nova.conf'
63--- templates/icehouse/nova.conf 2015-09-23 14:01:44 +0000
64+++ templates/icehouse/nova.conf 2015-09-25 15:32:16 +0000
65@@ -146,6 +146,12 @@
66 {% endif -%}
67
68 [libvirt]
69+{% if cpu_mode -%}
70+cpu_mode = {{ cpu_mode }}
71+{% endif -%}
72+{% if cpu_model -%}
73+cpu_model = {{ cpu_model }}
74+{% endif -%}
75 {% if libvirt_images_type -%}
76 images_type = {{ libvirt_images_type }}
77 images_rbd_pool = {{ rbd_pool }}
78
79=== modified file 'templates/juno/nova.conf'
80--- templates/juno/nova.conf 2015-08-25 17:40:00 +0000
81+++ templates/juno/nova.conf 2015-09-25 15:32:16 +0000
82@@ -142,6 +142,12 @@
83 {% endif -%}
84
85 [libvirt]
86+{% if cpu_mode -%}
87+cpu_mode = {{ cpu_mode }}
88+{% endif -%}
89+{% if cpu_model -%}
90+cpu_model = {{ cpu_model }}
91+{% endif -%}
92 {% if libvirt_images_type -%}
93 images_type = {{ libvirt_images_type }}
94 images_rbd_pool = {{ rbd_pool }}
95
96=== modified file 'templates/kilo/nova.conf'
97--- templates/kilo/nova.conf 2015-08-25 17:40:00 +0000
98+++ templates/kilo/nova.conf 2015-09-25 15:32:16 +0000
99@@ -147,6 +147,12 @@
100 {% endif -%}
101
102 [libvirt]
103+{% if cpu_mode -%}
104+cpu_mode = {{ cpu_mode }}
105+{% endif -%}
106+{% if cpu_model -%}
107+cpu_model = {{ cpu_model }}
108+{% endif -%}
109 {% if libvirt_images_type -%}
110 images_type = {{ libvirt_images_type }}
111 images_rbd_pool = {{ rbd_pool }}

Subscribers

People subscribed via source and target branches