9.25. fabric:container-upgrade

Abstract

upgrade the specified containers to a new version

Synopsis

fabric:container-upgrade [ --help ] [ --all ] { Version } [ ContainerList ]

Description

This command is typically used in combination with the fabric:profile-edit command to guarantee atomicity of profile modifications. That is, if multiple edits need to be made to a profile, you can use fabric:container-upgrade to roll out all of the changes in one step.
For example, consider the container, child1, which is currently assigned to version 1.0 and has the sample profile deployed inside it. If you need to make multiple changes to the sample profile, you can roll out these changes atomically, as follows:
  1. Create a new version, 1.1, to hold the pending changes, as follows:
    karaf@root> fabric:version-create
    Created version: 1.1 as copy of: 1.0
  2. Now start editing the new version of the sample profile, remembering to specify 1.1, so that the modifications are applied to version 1.1 of sample. For example, to add the camel-quartz feature to the sample profile, enter the following command:
    fabric:profile-edit --feature camel-quartz sample 1.1
    Note
    Instead of adding the option 1.1 to every edit command, you could change the default version to 1.1 by entering the command, fabric:version-set-default 1.1.
  3. When you have finished editing the sample profile and you are ready to let the changes take effect on the container, child1, you can roll out the changes by upgrading the child1 container to version 1.1, as follows:
    fabric:container-upgrade 1.1 child1
  4. If you are not happy with the changes you made, you can easily roll back to the old version of the sample profile, using the fabric:container-rollback command, as follows:
    fabric:container-rollback 1.0 child1

Arguments

Table 9.25, “fabric:container-upgrade Arguments” describes the command's arguments.

Table 9.25. fabric:container-upgrade Arguments

ArgumentInterpretation
--help Displays the online help for this command
--all Upgrade all containers.
Version(Required) The version to upgrade to.
ContainerList The list of containers to upgrade. An empty list implies the current container.