CPC H04L 49/15 (2013.01) [H04L 41/082 (2013.01); H04L 41/0846 (2013.01); H04L 45/58 (2013.01); H04L 49/25 (2013.01); H04L 41/0886 (2013.01)] | 13 Claims |
7. A system, comprising:
a data processing apparatus comprising one or more computers; and
a non-transitory memory storage system storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising:
receiving a set of first intents, wherein the set of first intents describes a state of a first switch fabric within a set of network elements, the set of network elements including routers and switches;
receiving a set of second intents, wherein the set of second intents describes a state of a second switch fabric, wherein the state of the second switch fabric results from changes applied to the set of network elements;
computing, by an intent translator executing on the data processing system, a set of network operations to perform on the first switch fabric to achieve the second switch fabric, the computing including determining an order in which the network operations in the set of network operations are to be executed, and the set of network operations and the order are determined based on the set of first intents, the set of second intents, and migration logic that defines a ruleset for selecting the network operations in the set of network elements based on the set of first intents and the set of second intents, wherein the set of network operations:
enable control of a subset of non-cluster border routers by a switch controller proxy that can simultaneously control the non-cluster border routers according to controller logic of the first switch fabric and controller logic of the second switch fabric;
performing one or more canary checks to determine whether failures occur in the subset of non-cluster border routers during changes applied to the set of network elements;
in response to determining failures do not occur in the subset of non-cluster border routers during changes applied to the set of network elements:
connecting remaining non-cluster border routers by the switch controller proxy to simultaneously control the non-cluster border routers according to controller logic of the first switch fabric and controller logic of the second switch fabric; and
after enabling control of the non-cluster border routers by the switch controller proxy, migrating cluster border routers from the first switch fabric to the second switch fabric.
|