Uninstall Swarm

This section covers the steps required to uninstall Swarm.

Background

The bulk of Swarm's metadata (activity, comments, review records, followers) is stored in p4 keys under swarm-*. If you are using a 2012.1+ server, Swarm also defines user groups for each project that you define. The names of these groups correspond 1-to-1 with projects, for example swarm-project-fantastico. Swarm manages a pool of client workspaces that it uses to shelve and commit files. These clients are named swarm-{uuid}, for example swarm-5ad4a9c0-06e7-20eb-897f-cbd4cc934295.

Uninstall steps

  1. Uninstall the Swarm triggers

  2. Remove your web server's virtual host configuration for Swarm.

  3. Restart your web server.

  4. Delete groups/clients/keys that are prefixed with swarm-*.

    Note

    The clients could contain shelved files for reviews. Determine how you want to handle those files prior to deleting the clients.

  5. Additional indexed information is stored in the database file db.ixtext. Unfortunately, indexed jobs and other generic indexed information would be lost if this table was simply removed, and modifying the database file can be a dangerous operation in a number of Helix Versioning Engine deployment scenarios.

    Important

    Contact Perforce support for assistance if you feel the need to remove Swarm's indexed information: .

  6. Rebuild the job index. The best approach is to run:

    $ p4 jobs -R
    

    which rebuilds the db.ixtext table. There are two caveats that likely require discussion with :

    1. If you make use of the unsupported p4 index command, you cannot use this approach, as it would remove all of your indexes.

    2. If you have indexing turned on for the domain table, you must also run:

      $ p4d -xf index.domain.owner
      
  7. If the P4.Swarm.URL or P4.Swarm.CommitURL properties were set (for details, see Client integration and Commit-edge deployment respectively), they should be unset to prevent P4V (and potentially other clients) from attempting Swarm operations:

    $ p4 property -d -n P4.Swarm.URL
    $ p4 property -d -n P4.Swarm.CommitURL
    

    If the P4.Swarm.URL or P4.Swarm.CommitURL properties were set using sequence numbers, you need to add the -sN flag to the commands, where N is a sequence number.

    To discover all of the definitions of the P4.Swarm.* properties and their sequence numbers, run the command:

    $ p4 property -Al | grep P4.Swarm
    P4.Swarm.CommitURL = https://myswarm.url/ (any) #none
    P4.Swarm.CommitURL = https://myswarm1.url/ (any) #1
    P4.Swarm.URL = https://myswarm.url/ (any) #none
    P4.Swarm.URL = https://myswarm3.url/ (any) #3
    P4.Swarm.URL = https://myswarm2.url/ (any) #2
    P4.Swarm.URL = https://myswarm1.url/ (any) #1
    

    To delete all of these property definitions, you would run the following commands:

    $ p4 property -d -n P4.Swarm.URL
    $ p4 property -d -n P4.Swarm.URL -s1
    $ p4 property -d -n P4.Swarm.URL -s2
    $ p4 property -d -n P4.Swarm.URL -s3
    $ p4 property -d -n P4.Swarm.CommitURL
    $ p4 property -d -n P4.Swarm.CommitURL -s1