components/openstack/nova/patches/11-migrate-data.patch
author Laszlo Peter <laszlo.peter@oracle.com>
Wed, 07 Sep 2016 14:48:42 -0700
changeset 6854 52081f923019
permissions -rw-r--r--
24465850 Update Nova for the Mitaka release 22456289 nova interface-attach reports an error; adds unusable entry to instance anyway
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6854
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     1
This in-house patch adds a subclass to LiveMigrateData to support
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     2
Solaris kernel zone live migration. It will be proposed to the upstream
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     3
along with the Zones driver for Nova at some point in the future.
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     4
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     5
--- nova-13.1.0/nova/objects/migrate_data.py.~1~	2016-06-14 08:45:49.000000000 -0700
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     6
+++ nova-13.1.0/nova/objects/migrate_data.py	2016-08-04 00:28:57.050454220 -0700
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     7
@@ -257,3 +257,26 @@ class XenapiLiveMigrateData(LiveMigrateD
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     8
 @obj_base.NovaObjectRegistry.register
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
     9
 class HyperVLiveMigrateData(LiveMigrateData):
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    10
     VERSION = '1.0'
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    11
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    12
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    13
+@obj_base.NovaObjectRegistry.register
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    14
+class SolarisZonesLiveMigrateData(LiveMigrateData):
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    15
+    VERSION = '1.0'
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    16
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    17
+    fields = {
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    18
+        'hypervisor_hostname': fields.StringField(),
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    19
+    }
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    20
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    21
+    def to_legacy_dict(self, pre_migration_result=False):
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    22
+        legacy = super(SolarisZonesLiveMigrateData, self).to_legacy_dict()
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    23
+        if self.obj_attr_is_set('hypervisor_hostname'):
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    24
+            legacy['hypervisor_hostname'] = self.hypervisor_hostname
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    25
+        if pre_migration_result:
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    26
+            legacy['pre_live_migration_result'] = {}
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    27
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    28
+        return legacy
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    29
+
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    30
+    def from_legacy_dict(self, legacy):
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    31
+        super(SolarisZonesLiveMigrateData, self).from_legacy_dict(legacy)
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    32
+        if 'hypervisor_hostname' in legacy:
52081f923019 24465850 Update Nova for the Mitaka release
Laszlo Peter <laszlo.peter@oracle.com>
parents:
diff changeset
    33
+            self.hypervisor_hostname = legacy['hypervisor_hostname']