As a user, I would like to group network elements into regions that correspond to a physical or logical location shared by a number of devices.
- Region (org.onosproject.net.region.Region interface) is a network core entity defined as a collection of devices. Such a collection should be defined explicitly as a set of device IDs.
- Region has a friendly name.
- Region can have a type, e.g. continent, country, metro, campus, building.
- Region can have a list of associated cluster nodes, prioritized based on mastership preference.
Separate story: Region entities can be managed internally via RegionService & RegionAdminService and externally using REST API and CLI to start.
Separate story: As a future enhancement, it can be alternatively defined implicitly as IP ranges, where membership would be determined by the device management IP.
Separate story: Optional application responsible for assigning device mastership based on region data.