Network device upgrade based group priority
Techniques are disclosed for identifying sets of network devices to which to deploy a software upgrade based on an importance to the network of each network device. For example, a network system obtains information identifying a number of instances of an application associated with network traffic forwarded by each network device of a plurality of network devices. The instances of the application are executed by client devices serviced by each network device in forwarding the network traffic. The network system assigns each network device to different upgrade groups based on the number of instances of the application, each upgrade group associated with a different relative priority. The network system deploys a software upgrade to each network device according to a priority of the respective upgrade group relative to a priority of the other upgrade groups.
1 . A network system comprising:
storage media comprising instructions; and
hardware-based processing circuitry, wherein the instructions cause the hardware-based processing circuitry to:
obtain information identifying a number of instances of an application associated with network traffic forwarded by a network device of a plurality of network devices of a network, wherein the instances of the application are executed by client devices serviced by the network device in forwarding the network traffic;
obtain information specifying a high availability status of one or more interfaces of the network device;
assign, based on the number of instances of the application and the high availability status of the one or more interfaces of the network device, the network device to a first upgrade group of a plurality of upgrade groups, wherein each of the plurality of upgrade groups is associated with a different relative priority; and
deploy, to the network device according to a priority of the first upgrade group relative to a priority of other upgrade groups of the plurality of upgrade groups, a software upgrade.
2 . The network system of claim 1 ,
wherein the instructions cause the hardware-based processing circuitry to obtain, from the network device, the information specifying the high availability status of the one or more interfaces of the network device, and
wherein the information is generated based on deep packet inspection (DPI) by the network device of the network traffic forwarded by the network device.
3 . The network system of claim 1 ,
wherein the instructions cause the hardware-based processing circuitry to compute, based on the information specifying the high availability status of the one or more interfaces of the network device, an upgrade score for the network device, and
wherein to assign the network device to the first upgrade group, the instructions cause the hardware-based processing circuitry is configured to assign, based on the upgrade score for the network device, the network device to a first upgrade group of a plurality of upgrade groups, wherein each upgrade group of the plurality of upgrade groups includes as members one or more network devices of the plurality of network devices having upgrade scores within a predetermined range.
4 . The network system of claim 3 , wherein the instructions cause the hardware-based processing circuitry to compute the upgrade score for the network device based on a health of the network device, wherein network devices of the plurality of network devices with relatively worse health are given a more prioritized upgrade score than network devices having relatively better health.
5 . The network system of claim 3 , wherein the instructions cause the hardware-based processing circuitry to compute the upgrade score for the network device based on an upgrade priority of the network device, wherein network devices of the plurality of network devices with a relatively higher upgrade priority are given a more prioritized upgrade score than network devices having a relatively lower upgrade priority.
6 . The network system of claim 3 , wherein the instructions cause the hardware-based processing circuitry to compute the upgrade score for the network device based on the number of peer paths with which the network device is provisioned, wherein network devices of the plurality of network devices with a relatively lower number of peer paths are given a more prioritized upgrade score than network devices having a relatively higher number of peer paths.
7 . The network system of claim 3 , wherein the instructions cause the hardware-based processing circuitry to compute the upgrade score for the network device based on a role of the network device within the network of a plurality of roles, wherein the network system applies predefined rules indicating a manner in which each role of the plurality of roles is prioritized for upgrade.
8 . The network system of claim 3 , wherein network devices of the plurality of network devices having a high availability status of one or more interfaces are given a more prioritized upgrade score than network devices not having a high availability status of one or more interfaces.
9 . The network system of claim 3 , wherein to compute the upgrade score for the network device, the instructions cause the hardware-based processing circuitry to:
identify a plurality of characteristics associated with the network device; and
apply a corresponding weight to each characteristic of the plurality of characteristics to affect a contribution of the characteristic to the upgrade score.
10 . The network system of claim 1 , wherein the instructions cause the hardware-based processing circuitry to assign the network device to the first upgrade group based on a role of the network device within the network of a plurality of roles.
11 . A method comprising:
obtaining, by a network system, information identifying a number of instances of an application associated with network traffic forwarded by a network device of a plurality of network devices of a network, wherein the instances of the application are executed by client devices serviced by the network device in forwarding the network traffic;
obtaining, by the network system, information specifying a high availability status of one or more interfaces of the network device;
assigning, by the network system and based on the number of instances of the application and the high availability status of the one or more interfaces of the network device, the network device to a first upgrade group of a plurality of upgrade groups, wherein each of the plurality of upgrade groups is associated with a different relative priority; and
deploying, by the network system and to the network device according to a priority of the first upgrade group relative to a priority of other upgrade groups of the plurality of upgrade groups, a software upgrade.
12 . The method of claim 11 ,
wherein obtaining the information specifying the high availability status of the one or more interfaces of the network device comprises obtaining, from the network device, the information specifying the high availability status of the one or more interfaces of the network device,
wherein the information is generated based on deep packet inspection (DPI) by the network device of the network traffic forwarded by the network device.
13 . The method of claim 11 ,
wherein the method further comprises computing, based on the information specifying the high availability status of the one or more interfaces of the network device, an upgrade score for the network device, and
wherein assigning the network device to the first upgrade group comprises assigning, by the network system and based on the upgrade score for the network device, the network device to a first upgrade group of a plurality of upgrade groups, wherein each upgrade group of the plurality of upgrade groups includes as members one or more network devices of the plurality of network devices having upgrade scores within a predetermined range.
14 . The method of claim 13 , wherein computing the upgrade score for the network device is further based on a health of the network device, wherein network devices of the plurality of network devices with relatively worse health are given a more prioritized upgrade score than network devices having relatively better health.
15 . The method of claim 13 , wherein computing the upgrade score for the network device is further based on an upgrade priority of the network device, wherein network devices of the plurality of network devices with a relatively higher upgrade priority are given a more prioritized upgrade score than network devices having a relatively lower upgrade priority.
16 . The method of claim 13 , wherein computing the upgrade score for the network device is further based on the number of peer paths with which the network device is provisioned, wherein network devices of the plurality of network devices with a relatively lower number of peer paths are given a more prioritized upgrade score than network devices having a relatively higher number of peer paths.
17 . The method of claim 13 , wherein computing the upgrade score for the network device is further based on a role of the network device within the network of a plurality of roles, wherein the network system applies predefined rules indicating a manner in which each role of the plurality of roles is prioritized for upgrade.
18 . The method of claim 13 , wherein network devices of the plurality of network devices having a high availability status of one or more interfaces are given a more prioritized upgrade score than network devices not having a high availability status of one or more interfaces.
19 . The method of claim 13 , wherein computing the upgrade score for the network device comprises:
identifying a plurality of characteristics associated with the network device; and
applying a corresponding weight to each characteristic of the plurality of characteristics to affect a contribution of the characteristic to the upgrade score.
20 . Non-transitory, computer-readable media comprising instructions that, when executed, are configured to cause processing circuitry to:
obtain information identifying a number of instances of an application associated with network traffic forwarded by a network device of a plurality of network devices of a network, wherein the instances of the application are executed by client devices serviced by the network device in forwarding the network traffic;
obtain information specifying a high availability status of one or more interfaces of the network device;
assign, based on the number of instances of the application and the high availability status of the one or more interfaces of the network device, the network device to a first upgrade group of a plurality of upgrade groups, wherein each of the plurality of upgrade groups is associated with a different relative priority; and
deploy, to the network device according to a priority of the first upgrade group relative to a priority of other upgrade groups of the plurality of upgrade groups, a software upgrade.