-
Notifications
You must be signed in to change notification settings - Fork 80
Description
Describe the bug
Cloud Migration Factory doesn't seem to be able to handle migration of servers that require Boot Mode UEFI: they all end up using Boot Mode Legacy BIOS, so EC2 instances created don't boot properly. In the code there's an attribute to set UEFI behaviour per server (server_boot_mode_uefi) but it doesn't seem to be present in schema. Boot Mode property of MGN source server gets overwritten by Cloud Migration Factory every time which forces you to stop using it for this scenario.
To Reproduce
- /import page
Import servers into Migration Factory using csv, please adapt values:
wave_name,app_name,aws_region,aws_accountid,server_name,server_os_family,server_os_version,server_fqdn,server_tier,server_environment,r_type,subnet_IDs,securitygroup_IDs,subnet_IDs_test,securitygroup_IDs_test,instanceType,tenancy,tags
windows-test-1,win-app-1,ca-central-1,012345678901,server_name.domain,windows,Microsoft Windows Server 2022,server_name.domain,front,prod,Rehost,subnet-05d8200fb2ef77073,sg-08767e3082348607e,subnet-05d8200fb2ef77073,sg-08767e3082348607e,t3.large,Shared,CostCenter=123;BU=IT;Location=CA;App=blueYou can try adding server_boot_mode_uefi attribute but it's not recognized.
- /pipelines page
Add Automation pipeline "Rehost with Application Migration Service (MGN)" on new Wave created (windows-test-1)
As a consequence (see snapshots):
- MGN Source Server is created with Boot Mode = Legacy
- EC2 Test instance created doesn't boot properly
Expected behavior
a. During import I should be able to add servers with attribute server_boot_mode_uefi = TRUE, or it should be detected automatically
Right now this option is not enabled even though documentation says otherwise. It doesn't seem to be part of default schema, error during import (see snapshots):
server_boot_mode_uefi: server_boot_mode_uefi attribute name not found in any user schema and your data file has provided values.b. MGN source server created will have Launch Settings accordingly (Boot = Legacy BIOS | UEFI) [see screenshots]
Getting Launch settings of a given Source Server:
https://ca-central-1.console.aws.amazon.com/mgn/home?region=ca-central-1#/sourceServers
c. Test EC2 instance will boot properly without errors
Getting Instance Screenshot from created instance:
d. Changing the MGN Source server manually from Boot Mode from to seems to be overwritten by the Cloud Migration Factory that keep updating them every time, which force us to stop using this for this scenario:
cloud-migration-factory-on-aws/source/integrations/mgn/lambdas/lambda_mgn_template.py
Lines 665 to 672 in 40b9d3a
| if factoryserver.get('server_boot_mode_uefi'): | |
| mgn_client.update_launch_configuration( | |
| bootMode='UEFI', | |
| sourceServerID=factoryserver['source_server_id']) | |
| else: | |
| mgn_client.update_launch_configuration( | |
| bootMode='LEGACY_BIOS', | |
| sourceServerID=factoryserver['source_server_id']) |
This can continue to happen, I guess? But ideally users should be able to change this as well on /servers UI as well?
d. (workaround) The only way to make it work right now is to stop using Cloud Migration Factory and use MGN services directly: revert source servers to Ready for testing, change Boot Mode to UEFI and relaunch test instance manually to make it work.
Please complete the following information about the solution:
- [ x ] Version: v4.5.1
To get the version of the solution, you can look at the description of the created CloudFormation stack. For example, "(SO0097) - AWS CloudEndure Migration Factory Solution. Version v1.1.0".
- [ x ] Region: ca-central-1
- [ x ] Was the solution modified from the version published on this repository? No
- [ x ] If the answer to the previous question was yes, are the changes available on GitHub? N/A
- [ x ] Have you checked your service quotas for the sevices this solution uses? N/A
- Were there any errors in the CloudWatch Logs?
Screenshots
If applicable, add screenshots to help explain your problem (please DO NOT include sensitive information).
EC2 - Get Screen Image show Windows Boot error:

MGN - Source server is always created with Boot mode = Legacy BIOS:
Cloud Migration Factory - I can't import servers with boot mode UEFI:
Additional context