Uploaded image for project: 'RHEL'
  1. RHEL
  2. RHEL-7486

migration/qmp: no error prompt when destination address is invalid under postcopy-paused

Linking RHIVOS CVEs to...Migration: Automation ...SWIFT: POC ConversionSync from "Extern...XMLWordPrintable

    • None
    • Low
    • rhel-virt-core
    • ssg_virtualization
    • 2
    • False
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • RegressionOnly
    • If docs needed, set a value
    • None
    • 57,005

      Description of problem:
      When postcopy is paused, fix the network issue, then try to resume postcopy with invalid destination address but get no error prompt in source qmp like below migration failure of normal case without postcopy:
      ****************************

      {"execute":"query-migrate"}

      {"return": {"status": "failed", "error-desc": "Failed to connect to '192.168.130.123:1234': No route to host"}}

      Version-Release number of selected component (if applicable):
      hosts info:
      kernel-5.14.0-1.7.1.el9.x86_64 & qemu-kvm-6.1.0-6.el9.x86_64

      How reproducible:
      100%

      Steps to Reproduce:
      1.Boot a vm on src host;
      2.Boot a vm on dst host with same qemu cmds as src host but appending "-incoming defer";
      3.Load some stress in vm with stressapptest tool;
      4.Enable postcopy&events capabilities on src&dst host, and set postcopy speed to 5MB on src host;
      5.Set migration incoming on dst host, and start migration from src to dst host;
      6.During migration is active, switch to postcopy mode;
      7.During postcopy is active, down migration network on dst host;
      8.After postcopy is paused, fix network issue to ensure migration recovery.
      9.After network recovery, recover migration on dst host:
      {"exec-oob":"migrate-recover", "arguments":{"uri":"tcp:$dst_host_ip:1235"}}
      10.Then resume migration on src host with invalid dst ip:
      {"execute":"migrate", "arguments":{"uri":"tcp:$wrong_dst_host_ip:1235", "resume":true}}

      Actual results:
      After step 10, qmp won't give errors via 'query-migrate':
      {"execute":"migrate", "arguments":{"uri":"tcp:$wrong_dst_ip:1235", "resume":true}}
      {"return": {}}

      {"execute":"query-migrate"}

      {"return": {"expected-downtime": 300, "status": "postcopy-paused", "setup-time": 7, "total-time": 273813, "ram":

      {"total": 4312604672, "postcopy-requests": 2804, "dirty-sync-count": 3, "multifd-bytes": 0, "pages-per-second": 1280, "page-size": 4096, "remaining": 1680412672, "mbps": 42.026400000000002, "transferred": 5366104695, "duplicate": 253336, "dirty-pages-rate": 33839, "skipped": 0, "normal-bytes": 5353353216, "normal": 1306971}

      }}

      Expected results:
      After step 10, qmp cmd: 'query-migrate' gets similar error like migration failure under migration without postcopy enabled:
      {"execute": "migrate","arguments":{"uri": "tcp:192.168.130.123:1234"}}
      {"timestamp":

      {"seconds": 1635503696, "microseconds": 53372}

      , "event": "MIGRATION", "data": {"status": "setup"}}
      {"return": {}}
      {"timestamp":

      {"seconds": 1635503699, "microseconds": 140495}

      , "event": "MIGRATION", "data": {"status": "failed"}}

      {"execute":"query-migrate"}

      {"return": {"status": "failed", "error-desc": "Failed to connect to '192.168.130.123:1234': No route to host"}}

      Additional info:

              zhexu@redhat.com Peter Xu
              rhn-support-xiaohli Xiaohui Li
              Peter Xu Peter Xu
              Xiaohui Li Xiaohui Li
              Votes:
              0 Vote for this issue
              Watchers:
              12 Start watching this issue

                Created:
                Updated:
                Resolved: