Removing Fugue

There are a couple of things you will need to know if you are interested in removing Fugue. To be clear, removing Fugue can refer to removing the infrastructure created using Fugue and the Fugue Conductor, retaining your infrastructure (or certain parts of it) and removing the Fugue Conductor, or removing the Fugue Client Tools (the package used to install Fugue). The steps you will take vary based on what you’re trying to achieve and have been organized for the most common scenarios, including:

  • Removing infrastructure you built using Fugue
  • Retaining infrastructure you built using Fugue
  • Removing the Fugue Client Tools

In any case, removing the Fugue Conductor leaves a small amount of infrastructure behind. Read more below.

Important note: the scenarios provided in the examples below assume you are either removing or retaining a single process. For a scenario where you would prefer to retain some elements of the infrastructure built using Fugue, while removing others you can simply limit your fugue kill commands to only those processes with the associated infrastructure you would like to be removed and issue a fugue suspend for any associated infrastructure you would like to leave running after removing the Fugue Conductor.

As usual, if you have questions or concerns, contact us at support@fugue.co.

Removing infrastructure created by Fugue

Use the following example to review the steps for removing any infrastructure you have built with Fugue and then removing the Fugue conductor.

For a general overview of the Fugue status, kill, or uninstall command refer to the CLI Reference, otherwise the steps we recommend to remove infrastructure you may have built with Fugue and the Fugue Conductor are as follows:

Run fugue status to identify your current processes and issue a fugue kill command to stop any active processes you want to remove.

Note: To inspect an individual process’ managed infrastructure you can also use fugue status <fid>.

$ fugue status

Fugue Status Report for user/xxxxxxxxxxxx - Tue Oct 11 2016 2:09pm

State    Updated    Created    Account              FID                                   Alias    Last Message    Next Command
-------  ---------  ---------  -------------------  ------------------------------------  -------  --------------  --------------
Running  6:24pm     6:22pm     fugue-1505320402664  9cdc807a-7b7a-4b72-9635-1171ad695bbe  hello    SUCCEEDED

$ fugue kill 9cdc807a-7b7a-4b72-9635-1171ad695bbe
[ fugue kill ] Killing running process with FID: 9cdc807a-7b7a-4b72-9635-1171ad695bbe

[ WARN ] Are you sure you want to kill the process with FID: 9cdc807a-7b7a-4b72-9635-1171ad695bbe? [y/N]: y
Requesting the Conductor to kill running composition with FID: 9cdc807a-7b7a-4b72-9635-1171ad695bbe...
[ Done ] The conductor is killing the process with FID: 9cdc807a-7b7a-4b72-9635-1171ad695bbe

Verify that the processes you want to remove are gone using the fugue status command, and then run fugue uninstall to remove your Fugue Conductor.

$ fugue status

Fugue Status Report for user/xxxxxxxxxxxx - Tue Oct 11 2016 2:10pm

State    Updated    Created    Account              FID                                   Alias    Last Message    Next Command
-------  ---------  ---------  -------------------  ------------------------------------  -------  --------------  --------------
Killing  2:10pm     2:09pm     fugue-1505320402664  9cdc807a-7b7a-4b72-9635-1171ad695bbe           SUCCEEDED

$ fugue status

Fugue Status Report for user/xxxxxxxxxxx - Tue Oct 11 2016 2:15pm

State    Updated    Created    Account    FID    Alias    Last Message    Next Command
-------  ---------  ---------  ---------  -----  -------  --------------  --------------
Nothing to see here. Go create something! :-)

$ fugue uninstall
[ fugue uninstall ] Uninstalling the Fugue Conductor

[ WARN ] Would you like to proceed with uninstalling Fugue from AWS account user/xxxxxxxxxxxx [y/N]: y

Uninstalling the Fugue Conductor from AWS account user/xxxxxxxxxxxx ...
[ WARN ] Some uninstall tasks did not complete within 60 seconds

Deleting Conductor CloudWatch Alarms ... Success

Uninstalling the Fugue Conductor from AWS account user/xxxxxxxxxxxx ...

FugueVpcGatewayAttachment            Deleted
FugueVpc                             Deleted
FugueVpcSecurityGroup                Deleted
FugueSubnet1RouteTableAssociation    Deleted
FugueResourceEventsTopic             Deleted
FugueInstanceProfile                 Deleted
FugueSubnet2                         Deleted
FugueSubnet1                         Deleted
FugueInternetRoute                   Deleted
FugueRouteTable                      Deleted
FugueIam                             Deleted
FugueHealthCheckDb                   Deleted
FugueVpcGateway                      Deleted
FugueAutoScalingGroup                Deleted
FugueLaunchConfiguration             Deleted
FugueSubnet2RouteTableAssociation    Deleted
-----------------------------------------------
Overall Progress  [#########################]  100%
[ DONE ] The Fugue Conductor has completed its uninstall process. It may take up to 15 minutes for all resources to be removed by AWS.

Note: Only resources that were removed using the fugue kill command will be removed by AWS.

Retaining infrastructure created by Fugue

Use the following example to review the steps for suspending and retaining any infrastrucutre you have built with Fugue, and then removing the Fugue Conductor.

For a general overview of the Fugue status, suspend, or uninstall commands refer to the CLI Reference, otherwise the steps we recommend to retain infrastructure you may have built with Fugue and then remove the Fugue Conductor are as follows:

Run fugue status to identify your current processes and issue a fugue suspend command to suspend any active processes.

$ fugue status

Fugue Status Report for user/xxxxxxxxxxxx - Tue Oct 11 2016 3:24pm

State    Updated    Created    Account              FID                                   Alias    Last Message    Next Command
-------  ---------  ---------  -------------------  ------------------------------------  -------  --------------  --------------
Running  3:21pm     3:21pm     fugue-1505320402664  b55ab4b0-e22e-4647-aad9-a1106c8c8662           SUCCEEDED

$ fugue suspend b55ab4b0-e22e-4647-aad9-a1106c8c8662
[ fugue suspend ] Suspending process with FID: b55ab4b0-e22e-4647-aad9-a1106c8c8662

[ WARN ] Are you sure you want to suspend the process with FID: b55ab4b0-e22e-4647-aad9-a1106c8c8662 ? [y/N]: y

Requesting the Conductor to suspend process ...
[ DONE ] Process with FID: b55ab4b0-e22e-4647-aad9-a1106c8c8662 is being suspended.

[ HELP ] Run the 'fugue status' command to view details and status of this process suspension.

Verify that your processes have been successfully suspended with fugue status and run fugue uninstall to remove your Fugue Conductor.

$ fugue status

Fugue Status Report for user/xxxxxxxxxxxx - Tue Oct 11 2016 3:25pm

State      Updated    Created    Account              FID                                   Alias    Last Message    Next Command
---------  ---------  ---------  -------------------  ------------------------------------  -------  --------------  --------------
Suspended  3:24pm     3:21pm     fugue-1505320402664  b55ab4b0-e22e-4647-aad9-a1106c8c8662           SUCCEEDED

$ fugue uninstall
[ fugue uninstall ] Uninstalling the Fugue Conductor

[ WARN ] Would you like to proceed with uninstalling Fugue from AWS account user/xxxxxxxxxxxx [y/N]: y

Uninstalling the Fugue Conductor from AWS account user/xxxxxxxxxxxx ...
[ WARN ] Some uninstall tasks did not complete within 60 seconds

Deleting Conductor CloudWatch Alarms ... Success

Uninstalling the Fugue Conductor from AWS account user/xxxxxxxxxxxx ...

FugueVpc                             Deleted
FugueResourceEventsTopic             Deleted
FugueSubnet2                         Deleted
FugueHealthCheckDb                   Deleted
FugueVpcGateway                      Deleted
FugueInternetRoute                   Deleted
FugueInstanceProfile                 Deleted
FugueSubnet2RouteTableAssociation    Deleted
FugueVpcGatewayAttachment            Deleted
FugueAutoScalingGroup                Deleted
FugueSubnet1                         Deleted
FugueSubnet1RouteTableAssociation    Deleted
FugueVpcSecurityGroup                Deleted
FugueLaunchConfiguration             Deleted
FugueIam                             Deleted
FugueRouteTable                      Deleted
-----------------------------------------------
Overall Progress  [#########################]  100%
[ DONE ] The Fugue Conductor has completed its uninstall process. It may take up to 15 minutes for all resources to be removed by AWS.

Note: After completing these steps the infrastructure you created using Fugue still exists and works, however these processes are no longer being enforced or maintained by Fugue.

Removing the Fugue Client Tools

After determining that you no longer want to use Fugue, removing the package is straightforward for most operating systems. Instructions based on package type follow.

For Linux RPM:

sudo yum remove fugue-client.x86_64

For Windows:

  1. Launch the Control Panel and locate the Uninstall feature.
  2. Locate Fugue in the list of applications and select the option to uninstall the application.

For OS X:

sudo /opt/fugue/bin/uninstall.sh

For Ubuntu:

sudo apt-get remove fugue-client

What Fugue Leaves Behind

When Fugue is removed with the uninstall command, the following items are not deleted from your AWS account:

  • A DynamoDB table, fugue-vars-store
  • An S3 bucket, fugue-large-value-<AWS account ID>-<region>
  • An S3 bucket, fugue-<AWS account ID>-<region>

The fugue-vars-store table is for the user Vars service, which is separate from the Fugue Vars service. This table contains key/value pairs that the user puts into Vars, so Fugue does not delete the table. For example, if you use Vars to store an encrypted RDS password, you can safely uninstall Fugue without losing the password.

Fugue uses the fugue-<AWS account ID>-<region> bucket to store composition data, RBAC policies and users, Vars snapshots, and so on. Objects related to a particular Fugue installation, such as RBAC user data, are deleted, but the rest of the data is not deleted.

Vars uses fugue-large-value-<AWS account ID>-<region> for storing values that exceed 150 KB. Fugue empties the bucket but does not delete the bucket itself.

AWS costs will continue to accrue for the DDB table and the items stored in the fugue-<AWS account ID>-<region> bucket, so if you’re sure you won’t need your user Vars data or your Fugue composition data, you’ll need to manually delete the resources.

If you have any questions, reach out to support@fugue.co.