Skip to content

Bug on rehost of servers that require Boot Mode UEFI #61

@felipempda

Description

@felipempda

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

  1. /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.

  1. /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:

  • [ 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:
Image

MGN - Source server is always created with Boot mode = Legacy BIOS:

Image

Cloud Migration Factory - I can't import servers with boot mode UEFI:

Image

Additional context

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions