Description of problem: Looks like the interval time between precopies in warm migration stays 60 minutes, although configmap/vm-import-controller-config was patched oc command to change the interval time: $ oc patch configmap/vm-import-controller-config -n openshift-cnv -p '{"data": {"warmImport.intervalMinutes": "3"}}' configmap/vm-import-controller-config patched $ oc get configmap/vm-import-controller-config -nopenshift-cnv -oyaml apiVersion: v1 data: warmImport.intervalMinutes: "3" kind: ConfigMap metadata: creationTimestamp: "2021-10-05T08:55:09Z" name: vm-import-controller-config namespace: openshift-cnv resourceVersion: "7858476" uid: b34163e4-cdb6-479e-9d4f-db55baa1f46f $ oc describe plan mig-plan-warm ... Warm: Consecutive Failures: 0 Failures: 0 Next Precopy At: 2021-10-11T07:47:19Z Precopies: Completed: 2021-10-11T06:47:19Z Snapshot: snapshot-7858 Started: 2021-10-11T06:41:02Z Successes: 0 Observed Generation: 1 Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal Ready 44m plan The migration plan is ready. Version-Release number of selected component (if applicable): MTV 2.2.0-39 / iib: 121326 CNV 4.9.0-232 / iib: 117863 How reproducible: 100% Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
I've updated the Product to MTV, since you're apparently not using VMIO API. In MTV 2.2, the interval is not set in HCO or VMIO, because we don't use VMIO anymore. So, we need to update the documentation. @slucidi, could you please explain how to set the interval ?
The precopy interval is now set as an environment variable on the forklift-controller pod's `controller` container. In order to adjust it, you need to add `PRECOPY_INTERVAL` with a value in minutes to the `env` section of the `controller` container definition on the `forklift-controller` deployment, or add the key `PRECOPY_INTERVAL` with a value in minutes to the `forklift-controller-config` config map and restart the controller pod. Example of setting the environment variable on the deployment: kind: Deployment apiVersion: apps/v1 metadata: name: forklift-controller namespace: konveyor-forklift <...> spec: template: spec: restartPolicy: Always serviceAccountName: forklift-controller schedulerName: default-scheduler terminationGracePeriodSeconds: 10 securityContext: {} containers: - resources: limits: cpu: 500m memory: 800Mi requests: cpu: 100m memory: 350Mi terminationMessagePath: /dev/termination-log name: controller command: - /usr/local/bin/manager env: - name: PRECOPY_INTERVAL value: 60 <...> Example with the forklift-controller-config config map: kind: ConfigMap apiVersion: v1 metadata: name: forklift-controller-config namespace: konveyor-forklift <...> data: PRECOPY_INTERVAL: '60' WORKING_DIR: /var/cache/inventory
Thanks @slucidi for providing this information (comment #2) Both options were checked and the interval time between precopies has been changed accordingly. I noticed that the PRECOPY_INTERVAL environment variable on the `forklift-controller` deployment is what counts in case of PRECOPY_INTERVAL is set in both places (`forklift-controller` deployment and `forklift-controller-config` configMap) Could you please confirm this is expected?
Yes, that is expected.
Changes merged.