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

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    FID                                     Alias  Last Message
-------  ---------  ---------  ------------------------------------  -------  --------------
Running  2:09pm     2:09pm     9cdc807a-7b7a-4b72-9635-1171ad695bbe

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

[ WARN ] [ 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    FID                                   Alias    Last Message
-------  ---------  ---------  ------------------------------------  -------  --------------

Killing  2:10pm     2:09pm     9cdc807a-7b7a-4b72-9635-1171ad695bbe

$ fugue status

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

State    Updated    Created    FID    Alias    Last Message
-------  ---------  ---------  -----  -------  --------------
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  - Tue Oct 11 2016 3:24pm

State    Updated    Created    FID                                     Alias  Last Message
-------  ---------  ---------  ------------------------------------  -------  --------------
Running  3:21pm     3:21pm     b55ab4b0-e22e-4647-aad9-a1106c8c8662           SUCCESS

$ 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    FID                                   Alias    Last Message
---------  ---------  ---------  ------------------------------------  -------  --------------

Suspended  3:24pm     3:21pm     b55ab4b0-e22e-4647-aad9-a1106c8c8662           SUCCESS

$ 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:

for f in $(pkgutil --only-files --files co.fugue.fugue-client); do
  echo "Removing /$f"
  sudo rm "/$f"
done

for d in bin lib docs etc; do
  if [ "$(ls -A /opt/fugue/$d)" ]; then
    echo "/opt/fugue/$d not empty"
  else
    echo "/opt/fugue/$d empty, removing"
    sudo rmdir "/opt/fugue/$d"
  fi
done

if [ "$(ls -A /opt/fugue)" ]; then
  echo "/opt/fugue not empty"
else
  echo "/opt/fugue empty, removing"
  sudo rmdir /opt/fugue
fi

sudo pkgutil --forget co.fugue.fugue-client

For Ubuntu:

sudo apt-get remove fugue-client