Uploaded image for project: 'Red Hat OpenStack Services on OpenShift'
  1. Red Hat OpenStack Services on OpenShift
  2. OSPRH-41

Remove post-copy flag when live-migrating a paused instance

XMLWordPrintable

    • False
    • False
    • Proposed
    • No Docs Impact
    • openstack-nova-27.3.1-18.0.20240607165514.dd66f40.el9ost
    • Proposed
    • Proposed
    • None
    • Hide
      .Migrating paused instance no longer generates error messages

      Before this update, live migration of a paused instance with live_migration_permit_post_copy=True in nova.conf caused the libvirt driver to erroneously generate error messages similar to [1].

      Now the error message is not generated when you live migrate a paused instance with live_migration_permit_post_copy=True.

      [1] Error message example: "Live Migration failure: argument unsupported: post-copy migration is not supported with non-live or paused migration: libvirt.libvirtError: argument unsupported: post-copy migration is not supported with non-live or paused migration."
      Show
      .Migrating paused instance no longer generates error messages Before this update, live migration of a paused instance with live_migration_permit_post_copy=True in nova.conf caused the libvirt driver to erroneously generate error messages similar to [1]. Now the error message is not generated when you live migrate a paused instance with live_migration_permit_post_copy=True. [1] Error message example: "Live Migration failure: argument unsupported: post-copy migration is not supported with non-live or paused migration: libvirt.libvirtError: argument unsupported: post-copy migration is not supported with non-live or paused migration."
    • Bug Fix
    • Done
    • Automated
    • Moderate

      Description of problem:

      When one of our customers run `tempest.api.compute.admin.test_live_migration.LiveMigrationTest.test_live_block_migration_paused`, nova-compute.log in their compute node showed an error from tempest[1] and an error from libvirt driver in Nova.

      On the other hand, when I checked the customer's sosreport, I found live_migration_permit_post_copy=True in nova.conf in their compute node. So, I think that this configuration caused these errors.

      IMHO, I think that `test_live_block_migration_paused` should take into account `live_migration_permit_post_copy=True`

      [1] message from tempest:
      ~~~

      {0}

      tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration_paused [20.953129s] ... FAILED

      Captured traceback:
      ~~~~~~~~~~~~~~~~~~~
      b'Traceback (most recent call last):'
      b' File "/usr/lib/python3.6/site-packages/tempest/api/compute/admin/test_live_migration.py", line 153, in test_live_block_migration_paused'
      b" self._test_live_migration(state='PAUSED')"
      b' File "/usr/lib/python3.6/site-packages/tempest/api/compute/admin/test_live_migration.py", line 129, in _test_live_migration'
      b' self._live_migrate(server_id, destination_host, state, volume_backed)'
      b' File "/usr/lib/python3.6/site-packages/tempest/api/compute/admin/test_live_migration.py", line 94, in _live_migrate'
      b' msg)'
      b' File "/usr/lib/python3.6/site-packages/testtools/testcase.py", line 411, in assertEqual'
      b' self.assertThat(observed, matcher, message)'
      b' File "/usr/lib/python3.6/site-packages/testtools/testcase.py", line 498, in assertThat'
      b' raise mismatch_error'
      b"testtools.matchers._impl.MismatchError: 'rhosp-cmp12.xxxxxx' != 'rhosp-cmp10.xxxxxx': Live Migration failed. Migrations list for Instance d7dbcccc-692b-4de2-8d78-216e3d4e8018: ["
      b"

      {'id': 351, 'source_compute': 'rhosp-cmp10.xxxxxx', 'dest_compute': 'rhosp-cmp12.xxxxxx', 'source_node': 'rhosp-cmp10.xxxxxx', 'dest_node': 'rhosp-cmp12.xxxxxx', 'dest_host': None, 'old_instance_type_id': 3, 'new_instance_type_id': 3, 'instance_uuid': 'd7dbcccc-692b-4de2-8d78-216e3d4e8018', 'status': 'error', 'migration_type': 'live-migration', 'created_at': '2022-02-04T03:32:55.000000', 'updated_at': '2022-02-04T03:33:01.000000'}

      ]"
      b''
      ~~~

      [2] message from libvirt driver:
      ~~~
      2022-02-04 10:16:54.266 7 ERROR nova.virt.libvirt.driver [-] [instance: c281705e-df31-480e-adad-f6650864e936] Live Migration failure: argument unsupported: post-copy migration is not supported with non-live or paused migration: libvirt.libvirtError: argument unsupported: post-copy migration is not supported with non-live or paused migration
      ~~~

      Version-Release number of selected component (if applicable):

      openstack-tempest-26.1.0-2.20210531080657.271f820.el8ost.1

      How reproducible:

      Always if live_migration_permit_post_copy is True in nova.conf in compute nodes.

      Steps to Reproduce:
      1. Set live_migration_permit_post_copy to True in nova.conf.
      2. run the test tempest.api.compute.admin.test_live_migration.LiveAutoBlockMigrationV225Test.test_live_block_migration_paused

      Actual results:

      The test failed.

      Expected results:

      The test should be done successfully even if there is a setting `live_migration_permit_post_copy=True` in nova.conf.

              alifshit@redhat.com Artom Lifshitz
              jira-bugzilla-migration RH Bugzilla Integration
              rhos-dfg-compute
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated:
                Resolved: