Agent Update on Create
The agent on a new instance should be updated before it is used to ensure it's running the most reliable code.
A new agent_builds table is created which lists all of the available agent builds. Entries are found using the triple of hypervisor, operating system and architecture. A URL and md5hash are retrieved for the build that matches the triple.
nova-manage will have a new 'agent' command that allows managing the agent_builds table. Included are 'create', 'delete', 'list' and 'modify' subcommands.
Before nova attempts to set the admin password and inject files, it should query the version of the agent and update it if necessary.
If the instance is running an agent build that is older than the build obtained from the agent_builds table, then it is updated. If it's running the same or newer version, then it is not updated.