upgrade

Usage

fugue [global options] upgrade [options] <ami_id>

Options

Global options are detailed here.

-y | --yes
Suppress confirmation dialogs. The yes flag suppresses confirmation dialogs and bypasses interactive prompts by providing input to aid scripting.
-h | --help
Show help text. The help flag is available throughout the CLI in both an application-level and command-level context. It enables a user to view help text for any command within the Fugue CLI.

Definition

The upgrade command upgrades the Fugue Conductor to the specified AMI ID provided.

Warning

While the upgrade command technically allows upgrades from any valid Conductor AMI ID to any other valid Conductor AMI ID, only upgrades between consecutive versions of the Conductor (from n-1 to n or vice versa) are tested and supported. If you are unsure whether your current Conductor’s AMI ID and the target Conductor’s AMI ID represent consecutive versions, reach out to support@fugue.co and include the AMI IDs.

upgrade executes in several phases. First, the Fugue CLI asks AWS to upgrade Fugue in the AWS account associated with the credentials set during fugue init.

Note: We strongly recommend running fugue suspend on any existing processes prior to running fugue upgrade to avoid introducing issues into any existing infrastructure.

[ fugue upgrade ] Upgrading Conductor

[ WARN ] Are you sure you want to upgrade the Conductor in the AWS Account user/xxxxxxxxxxxx? [y/N]: y
Checking availability and validity of ami-6e274e79 ...
[ OK ] AMI ID is valid and available.

Upgrading the Fugue Conductor in AWS account user/xxxxxxxxxxxx ...

Found existing fugue.yaml.old file in /Users/user/test-fugue .
Deleting existing fugue.yaml.old ...
[ OK ] Existing fugue.yaml.old file deleted.

Found existing fugue.yaml file in /Users/user/test-fugue .
Renaming existing fugue.yaml file to fugue.yaml.old ...
[ OK ] Existing fugue.yaml file renamed.

[ HELP ] Exiting the upgrade command while in progress (CTRL+C) will only stop progress tracking and *not* the upgrade itself.

Creating new Launch Configuration ...
[ OK ] Launch Configuration created with new AMI.

Next, Fugue updates the autoscaling group’s launch configuration in the Conductor’s CloudFormation stack with the specified AMI ID.

Fugue then terminates the old Conductor instance, activating the autoscaling group, which launches a new Conductor EC2 instance using the updated launch configuration. As the required resources are created, the CLI displays the upgrade progress.

As part of this upgrade process, fugue upgrade also renames and replaces your existing fugue.yaml file. If a fugue.yaml and fugue.yaml.old both exist the current fugue.yaml.old file is deleted and the existing fugue.yaml is renamed.

Found existing fugue.yaml.old file in /path/to/fugue.yaml .
Deleting existing fugue.yaml.old ...
[ OK ] Existing fugue.yaml.old file deleted.

Found existing fugue.yaml file in /path/to/fugue.yaml .
Renaming existing fugue.yaml file to fugue.yaml.old ...
[ OK ] Existing fugue.yaml file renamed.

When installation is complete, the CLI asks the user to wait while the Conductor boots up.

Updating Conductor Autoscaling Group ...
[ OK ] Autoscaling Group updated.

Requesting AWS to terminate the old Conductor instance ...
[ OK ] AWS is terminating old instance.

Installing new Conductor ...
[ OK ] New Conductor installed.

Booting the Conductor, please wait as this may take between 5-15 minutes...

When booting is complete, the CLI states that Fugue is ready to receive commands again.

[ DONE ] Fugue has been successfully upgraded and is ready to receive commands.