Hitless upgrade for network control applications
First Claim
Patent Images
1. A method for upgrading a controller cluster comprising a plurality of controller nodes, the controller cluster for managing a plurality of forwarding elements, each controller node executing a version of a network control application, the method comprising:
- upgrading a first subset of the plurality of controller nodes to execute a newer version of the network control application while managing the forwarding elements with a second subset of the plurality of controller nodes that execute an older version of the network control application;
upon completion of the upgrade of the first subset of controller nodes, upgrading a decisive controller node in the second subset of controller nodes to signal the controller cluster to manage the forwarding elements with the first subset of controller nodes;
upgrading the second subset of controller nodes to the newer version of the network control application while managing the forwarding elements with the first subset of controller nodes and the decisive controller node; and
upon completion of the upgrade of the second subset of controller nodes, managing the forwarding elements with the first and second subsets of controller nodes.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for upgrading a set of controller nodes in a controller cluster that manages a plurality of forwarding elements in a way that minimizes dataplane outages. The method of some embodiments upgrades the control applications of a subset of the controller nodes before upgrading a decisive controller node. Once the decisive controller node is upgraded, the method switches the controller cluster to use a new version of the control applications.
117 Citations
20 Claims
-
1. A method for upgrading a controller cluster comprising a plurality of controller nodes, the controller cluster for managing a plurality of forwarding elements, each controller node executing a version of a network control application, the method comprising:
-
upgrading a first subset of the plurality of controller nodes to execute a newer version of the network control application while managing the forwarding elements with a second subset of the plurality of controller nodes that execute an older version of the network control application; upon completion of the upgrade of the first subset of controller nodes, upgrading a decisive controller node in the second subset of controller nodes to signal the controller cluster to manage the forwarding elements with the first subset of controller nodes; upgrading the second subset of controller nodes to the newer version of the network control application while managing the forwarding elements with the first subset of controller nodes and the decisive controller node; and upon completion of the upgrade of the second subset of controller nodes, managing the forwarding elements with the first and second subsets of controller nodes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory machine readable medium storing a program for execution by at least one processing unit, the program for coordinating the upgrade of a controller cluster comprising a plurality of controller nodes, the controller cluster for managing a plurality of forwarding elements, each controller node executing a version of a network control application, the program comprising sets of instructions for:
-
upgrading a first subset of the plurality of controller nodes to execute a newer version of the network control application while managing the forwarding elements with a second subset of the plurality of controller nodes that execute an older version of the network control application; upon completion of the upgrade of the first subset of controller nodes, upgrading a decisive controller node in the second subset of controller nodes to signal the controller cluster to manage the forwarding elements with the first subset of controller nodes; upgrading the second subset of controller nodes to the newer version of the network control application while managing the forwarding elements with the first subset of controller nodes and the decisive controller node; and upon completion of the upgrade of the second subset of controller nodes, managing the forwarding elements with the first and second subsets of controller nodes. - View Dependent Claims (12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
a processing unit; a storage for storing a program for coordinating the upgrade of a controller cluster comprising a plurality of controller nodes, the controller cluster for managing a plurality of forwarding elements, each controller node executing a version of a network control application, the program comprising sets of instructions for; upgrading a first subset of the plurality of controller nodes to execute a newer version of the network control application while managing the forwarding elements with a second subset of the plurality of controller nodes that execute an older version of the network control application; upon completion of the upgrade of the first subset of controller nodes, upgrading a decisive controller node in the second subset of controller nodes to signal the controller cluster to manage the forwarding elements with the first subset of controller nodes; upgrading the second subset of controller nodes to the newer version of the network control application while managing the forwarding elements with the first subset of controller nodes and the decisive controller node; and upon completion of the upgrade of the second subset of controller nodes, managing the forwarding elements with the first and second subsets of controller nodes. - View Dependent Claims (17, 18, 19, 20)
-
Specification