Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: changed algorithm; now aligned with implementation

...

Manager Implementation

Migrate Network

During migration of a network the UUID of objects are swapped so that external system (like NuageVsp) will perceive the migration as a delete of the network on the old physical network followed by a reimplement on the new physical network. Because of this, orchestration systems can still use the same UUID's as before (the resulted objects in CloudStack will have the same UUID's except for the VR.).

  • Make a temporary copy of the network before migration to keep the implementation details (moving along VR and nics).

  • Implement original network on new Physical network using guest network guru, found by looking up the tag of the offering

  • Implement services (Dhcp, static nat, source nat, …)

    • Deploy VR if needed

  • Migrate vnics to new physical network (move them back from the copy to the original network that is upgraded now)

    • Prepare Nic on Guru (add vport, vm interface, vm)

    • Prepare Nic on Element (apply acl rules, …)

    • Send ReplugNicCommand to host

    • Remove nic on native element and guru

  • Shutdown network services on old physical network (for this the copy object is used)

    • Undeploy VR if needed

  • Shutdown network infrastructure on old physical network

  • Delete original network

Migrate VPC

During migration of a network the UUID of objects are swapped so that external system (like NuageVsp) will perceive the migration as a delete of the network on the old physical network followed by a reimplement on the new physical network. Because of this, orchestration systems can still use the same UUID's as before (the resulted objects in CloudStack will have the same UUID's except for the VR.).

  • Make copy of original VPC Implement and implement VPC on new Physical network using guest network guru, found by looking up the tag of the network offerings

  • Migrate Tiers to newly created VPC in the new Physical Network (same pattern as migrate network happens for every tier.)

    • Make copy of original network (moving along VR and nics)

    • Implement Re-implement original network on new Physical network using guest network guru

    • Implement services (Dhcp, static nat, source nat, …)

      1. Deploy VR if needed

    • Migrate vnics to new physical network

      1. Prepare Nic on Guru (add vport, vm interface, vm)

      2. Prepare Nic on Element (apply acl rules, …)

      3. Send ReplugNicCommand to host

      4. Release nic on native element and guru

    • Shutdown network services on old physical network

      1. Undeploy VR if needed

    • Shutdown network infrastructure on old physical network

    • Delete original network

  • Shutdown (original) vpc on in old physical network

  • Delete original vpc

...

 

network.bridge.type=native

libvirt.vif.driver.Vpn=com.cloud.hypervisor.kvm.resource.OvsVifDriver

 

Resume support

Resume support is implemented for operators to have the ability to finish off a previously submitted migration command which halfway failed during its new network implementation. After correcting the cause of that failure, the operator can re-issue the same migration command, now with a resume parameter set to True.

The resume logic follows below table :


 

resume parameter value \ Network migration "state"

Good

Bad (but error resolved)

False (default)

Success

Fail (again)

True

Success

>> Success <<


Based on the resume parameter and the related field in the networks table, we “force” migration of a network even if the network offering of the network is already the same as the current network offering. In that case, we will use the network that is stored in the related field (DB table) as the already generated copy. Otherwise we follow the normal migration procedure.

...