Utilizing location-based repository mirrors for device upgrades
A device may receive edge data identifying locations of a plurality of edge devices and other criteria associated with the plurality of edge devices, and may identify an upgrade for an edge device, of the plurality of edge devices, based on the other criteria of the edge data. The device may identify a location of a repository mirror for the upgrade based on a location of the edge device identified in the edge data, and may instruct the edge device to utilize the location of the repository mirror to receive the upgrade.
1 . A method, comprising:
receiving, by a device, edge data identifying locations of a plurality of edge devices and other criteria associated with the plurality of edge devices;
identifying, by the device, an upgrade for an edge device, of the plurality of edge devices, based on the other criteria of the edge data;
identifying, when the edge device is determined to be a thin device, a location of a first repository mirror for the upgrade based on comparing a location of the edge device identified in the edge data to locations associated with a plurality of repository mirrors that include the first repository mirror;
providing, temporarily, a second repository mirror at the location of the edge device, when the edge device is a non-thin client,
wherein the second repository mirror is provisioned with the identified upgrade, and
wherein the second repository mirror is removed after the upgrade is received by the edge device; and
instructing, by the device, the edge device to utilize the location of the second repository mirror to receive the upgrade.
2 . The method of claim 1 , further comprising: removing the second repository mirror after the upgrade is received by the edge device.
3 . The method of claim 1 , wherein the edge device utilizes the location of the second repository mirror to receive the upgrade, based on the device instructing the edge device.
4 . The method of claim 1 , further comprising: determining a placement strategy that identifies a set of locations of repository mirrors for a set of edge devices, of the plurality of edge devices, based on the edge data.
5 . The method of claim 4 , further comprising: generating a minimal set of repository mirrors at the set of locations based on the placement strategy; and
removing unused repository mirrors based on the placement strategy.
6 . The method of claim 4 , further comprising: providing a set of repository mirrors, of the plurality of repository mirrors, at the set of locations based on the placement strategy;
providing another upgrade for the set of edge devices in the set of repository mirrors; and
removing the set of repository mirrors after the other upgrade is received by the set of edge devices.
7 . The method of claim 6 , wherein the set of edge devices is a set of Internet of Things devices, wireless access points, routers, switches, or firewalls.
8 . A device, comprising:
one or more memories; and
one or more processors to:
receive edge data identifying locations of a plurality of edge devices and other criteria associated with the plurality of edge devices;
identify an upgrade for an edge device, of the plurality of edge devices, based on the other criteria of the edge data;
identify, when the edge device is determined to be a thin device, a location of a first repository mirror for the upgrade based on comparing a location of the edge device identified in the edge data to locations associated with a plurality of repository mirrors that include the first repository mirror that include the first repository mirror;
provide temporarily, a second repository mirror at the location of the edge device, when the edge device is a non-thin client,
wherein the second repository mirror is provisioned with the identified upgrade, and
wherein the second repository mirror is removed after the upgrade is received by the edge device;
instruct the edge device to utilize the location of the second repository mirror to receive the upgrade; and
remove the second repository mirror after the upgrade is received by the edge device.
9 . The device of claim 8 , wherein the plurality of edge devices includes one or more thin client devices and one or more non-thin client devices.
10 . The device of claim 8 , wherein the one or more processors are further to:
receive a request for another upgrade from another edge device of the plurality of edge devices;
identify another location of another repository mirror for the other upgrade based on a location of the other edge device;
provide the other repository mirror at the other location; and
instruct the other edge device to utilize the other location of the other repository mirror to receive the other upgrade.
11 . The device of claim 10 , wherein the one or more processors are further to:
remove the other repository mirror after the other upgrade is received by the other edge device.
12 . The device of claim 8 , wherein the other criteria associated with the plurality of edge devices includes one or more of:
round trip times associated with the plurality of edge devices,
connection stabilities associated with the plurality of edge devices,
upgrade success rates associated with the plurality of edge devices, or
data privacy policies associated with the plurality of edge devices.
13 . The device of claim 8 , wherein the one or more processors are further to:
identify an underperforming repository mirror based on the other criteria of the edge data; and
adjust a location of the underperforming repository mirror.
14 . The device of claim 8 , wherein the one or more processors are further to:
identify a new upgrade for another edge device, of the plurality of edge devices, associated with an automatic upgrade schedule;
identify another location of another repository mirror for the new upgrade based on a location of the other edge device;
provide the other repository mirror at the other location; and
instruct the other edge device to utilize the other location of the other repository mirror to receive the new upgrade.
15 . A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
receive edge data identifying locations of a plurality of edge devices and other criteria associated with the plurality of edge devices,
wherein the plurality of edge devices includes one or more thin client devices and one or more non-thin client devices;
identify an upgrade for an edge device, of the plurality of edge devices, based on the other criteria of the edge data;
identify, when the edge device is determined to be a thin device, a location of a first repository mirror for the upgrade based on comparing a location of the edge device identified in the edge data to locations associated with a plurality of repository mirrors that include the first repository mirror;
provide temporarily, a second repository mirror at the location of the edge device, when the edge device is a non-thin client,
wherein the second repository mirror is provisioned with the identified upgrade, and
wherein the second repository mirror is removed after the upgrade is received by the edge device; and
instruct the edge device to utilize the location of the second repository mirror to receive the upgrade.
16 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:
determine a placement strategy that identifies a set of locations of repository mirrors for a set of edge devices, of the plurality of edge devices, based on the edge data.
17 . The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions further cause the device to:
generate a minimal set of repository mirrors at the set of locations based on the placement strategy; and
remove unused repository mirrors based on the placement strategy.
18 . The non-transitory computer-readable medium of claim 16 , wherein the one or more instructions further cause the device to:
provide a set of repository mirrors at the set of locations based on the placement strategy;
provide another upgrade for the set of edge devices in the set of repository mirrors; and
remove the set of repository mirrors after the other upgrade is received by the set of edge devices.
19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:
receive a request for another upgrade from another edge device of the plurality of edge devices;
identify another location of another repository mirror for the other upgrade based on a location of the other edge device;
provide the other repository mirror at the other location;
instruct the other edge device to utilize the other location of the other repository mirror to receive the other upgrade; and
remove the other repository mirror after the other upgrade is received by the other edge device.
20 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:
identify an underperforming repository mirror based on the other criteria of the edge data; and
adjust a location of the underperforming repository mirror.