Patent ID: 8544016

Claim:
A system for updating a virtual appliance, comprising: an update server configured to generate a workflow to update one or more appliances in response to a repository metadata server detecting an upstream update to one or more origin repositories, wherein the update server is further configured to: identify one or more software components associated with the upstream update, and identify at least one appliance having earlier versions of the identified software components installed therein; a build engine configured to: rebuild a first image corresponding to the identified appliance to obtain a first rebuilt image, wherein the first rebuilt image includes the identified software components associated with the upstream update, and rebuild a second image corresponding to the identified appliance to obtain a second rebuilt image when a first integration test fails, the second rebuilt image comprising a change implemented in response to the first integration test failing, wherein the change is provided by the user via the workflow, wherein the first integration test fails when the identified appliance does not function correctly after the first rebuilt image is installed on the identified appliance; a runtime environment configured to: manage the first integration test for the first rebuilt image after the first rebuilt image is installed, wherein the at least one change is implemented to accommodate the upstream update in response to the first integration test failing, and manage a second integration test for the second rebuilt image; and an appliance repository configured to store the second rebuilt image in response to the second integration test verifying that the second rebuilt image functions correctly with the identified software components associated with the upstream update installed therein.