A method for provisioning consumer premises equipment includes communicating identification information to a software management system via a network interface, receiving a list of bundles in response to communicating the identification to the software management system via the network interface, determining a location of a repository storing at least one bundle in the list, wherein the software management system includes a plurality of repositories storing a plurality of bundles at different locations, and installing, by the consumer premises equipment, the at least one bundle from the repository having the location.