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=blue
You 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
https://ca-central-1.console.aws.amazon.com/mgn/home?region=ca-central-1#/sourceServers/378293133261/s-c5eb929de51fd9ff2/launch_settings
c. Test EC2 instance will boot properly without errors
Getting Instance Screenshot from created instance:
https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#GetInstanceScreenshot:instanceId=i-xxxxxxxxxxx
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:
|
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:
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".
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
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 servers into Migration Factory using csv, please adapt values:
You can try adding
server_boot_mode_uefiattribute but it's not recognized.Add Automation pipeline "Rehost with Application Migration Service (MGN)" on new Wave created (windows-test-1)
As a consequence (see snapshots):
Expected behavior
a. During import I should be able to add servers with attribute
server_boot_mode_uefi= TRUE, or it should be detected automaticallyRight 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):
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
https://ca-central-1.console.aws.amazon.com/mgn/home?region=ca-central-1#/sourceServers/378293133261/s-c5eb929de51fd9ff2/launch_settings
c. Test EC2 instance will boot properly without errors
Getting Instance Screenshot from created instance:
https://ca-central-1.console.aws.amazon.com/ec2/home?region=ca-central-1#GetInstanceScreenshot:instanceId=i-xxxxxxxxxxx
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
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:
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".
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