Extensions Management

Note

You must be logged in as a user with super user privileges to configure the Helix Core Server Extensions.

This section details how to manage the Helix Core Server Extensions. You can use the swarm-extctl.sh script file located in /opt/perforce/swarm/sbin directory to perform different actions on the Helix Core Server Extensions.

You can use the following commands to manage the Helix Core Server Extensions:

List

Description

Lists all the installed Extensions and their configurations.

Commands run

Runs the list command.

swarm-extctl list

The swarm-extctl.sh script responds with:

... config swarm
... extension Perforce::helix-swarm
... uuid 4532BC59-7BC8-478F-ADF6-0A563C42563D
... revision 1
... owner super
... type change-commit
... arg //...
... debugStatus none

... config swarm
... extension Perforce::helix-swarm
... uuid 4532BC59-7BC8-478F-ADF6-0A563C42563D
... revision 1
... owner super
... type change-content
... arg //...
... debugStatus none

... config swarm
... extension Perforce::helix-swarm
... uuid 4532BC59-7BC8-478F-ADF6-0A563C42563D
... revision 1
... owner super
... type change-submit
... arg //...
... debugStatus none

Delete

Description

Deletes the Swarm Helix Core Server extension and their configurations.

Commands run

Runs the delete command.

swarm-extctl delete

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Deleting the configuration
Are you really sure (y/n)?
y
Extension 'Perforce::helix-swarm and its configurations' successfully deleted.

Install

Description

Installs the Swarm Helix Core Server extension. The helix-swarm.p4-extension file located in swarm_root/p4-bin/extensions directory is used to install Extensions.

For more information about installing Swarm Helix Core Server extension, see Installing the Swarm Helix Core Server extension (recommended).

After installation, the saved configurations are automatically applied to the extension. For more information about the saved configurations, see Save command.

Commands run

Runs the install command.

swarm-extctl install

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Installing the configuration
Are you really sure (y/n)?
y
Extension 'Perforce::helix-swarm' version '2023.1/2414875' installed successfully.
Perform the following steps to turn on the Extension:

# Create a global configuration if one doesn't already exist.
p4 extension --configure Perforce::helix-swarm

# Create an instance configuration to enable the Extension.
p4 extension --configure Perforce::helix-swarm --name swarm

For more information, visit:
https://www.perforce.com/manuals/v23.1/extensions/Content/Extensions/Home-extensions.html

Reading configuration from /opt/perforce/etc/swarm-extension.conf

Extension config helix-swarm saved.

Reading configuration from /opt/perforce/etc/swarm-extension.conf.inst

Extension config swarm saved.

Config

Description

Lists the global configuration and instance configuration for the installed Extensions.

The global configuration is retrieved from /opt/perforce/etc/swarm-extension.conf file and the instance configuration is retrieved from /opt/perforce/etc/swarm-extension.conf.inst file. If no configuration files are available, the extension specification file opens in your text editor. You can edit the specification file and save it in your text editor.

Commands run

Runs the config command.

swarm-extctl config

The swarm-extctl.sh script responds with:

The global configuration and instance configuration opened in your text editor.
Here is a sample global configuration specification for Swarm Helix Core Server extension:

# A Perforce Extension Specification.
#
#  ExtName:          The name of the Extension being configured.
#  ExtDescription:   The description of the Extension being configured.
#  ExtVersion:       The version of the Extension being configured.
#  ExtUUID:          The UUID/key of the Extension being configured.
#  ExtRev:           The revision of the Extension being configured.
#  ExtMaxScriptTime: Maximum seconds the Extension may be run.
#  ExtMaxScriptMem:  Maximum megabytes the Extension may use.
#  ExtAllowedGroups: Groups whose members may configure the Extension.
#  ExtEnabled:       Enable/Disable this Extension.
#  ExtP4USER:        Perforce user account for the Extension to use.
#  Name:             The name of this Extension config.
#  Owner:            The user who created this Extension config.
#  Update:           Update time for the Extension config spec.
#  Description:      The description of this Extension config.
#  ExtConfig:        Extension-supplied configuration fields.
#
# See 'p4 help extension' for detailed information.

ExtName:        helix-swarm

ExtDescription:
        Helix Swarm Extension

ExtVersion:     2023.1/2414875

ExtUUID:        4532BC59-7BC8-478F-ADF6-0A563C42563D

ExtRev: 1

ExtMaxScriptTime:       unset

ExtMaxScriptMem:        unset

ExtAllowedGroups:

"/tmp/tmp.28273.140308554466304.89" 63 lines, 1847 characters

ExtEnabled:     true

ExtP4USER:      super

Name:   helix-swarm

Owner:  super

Update: 2023/03/07 15:35:18

Description:
           This is the Helix Swarm extension, which replaces the old Perl
           trigger that was used previously. If this is installed and
           configured, then the Swarm triggers MUST be removed.
           This file configures the connection to the Swarm server. Only one 
           Swarm instance can manage a single Helix server.

ExtConfig:
        Swarm-URL:      http://localhost/
       
        Swarm-Token:    785D3DD6-304D-5FCA-AF47-751578849960

        Swarm-Secure:   true

        Debug:  3
E163: There is only one file to edit

After you edit the specification file and save it in your text editor.

Extension config helix-swarm saved.
Extension config swarm saved.

Tokens

Description

Lists the trigger tokens available for a Helix Core Server including the multiple Helix Core Server (P4D) instances. The tokens are saved in /opt/perforce/swarm/data/queue/tokens directory. The Swarm installation folder is /opt/perforce/swarm/.

Commands run

Runs the tokens command.

swarm-extctl tokens

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Available tokens:
785D3DD6-304D-5FCA-AF47-751578849960

Disable

Description

Disables the Swarm Helix Core Server extension configuration.

Commands run

Runs the disable command.

swarm-extctl disable

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Disabled

Enable

Description

Enables the Swarm Helix Core Server extension configuration.

Commands run

Runs the enable command.

swarm-extctl enable

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Enabled

Save

Description

Saves the global configuration to /opt/perforce/etc/swarm-extension.conf file and the instance configuration to /opt/perforce/etc/swarm-extension.conf.inst file.

Commands run

Runs the save command.

swarm-extctl save

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Extension config helix-swarm saved.
Extension config swarm saved.

Load

Description

Loads the global configuration from /opt/perforce/etc/swarm-extension.conf file and the instance configuration from /opt/perforce/etc/swarm-extension.conf.inst file.

Commands run

Runs the Swarm load command.

swarm-extctl load

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
Extension config helix-swarm saved.
Extension config swarm saved.

Ping

Description

Lists the version and status of the Swarm Helix Core Server extension.

Commands run

Runs the ping command.

swarm-extctl ping

The swarm-extctl.sh script responds with:

Checking to see if you are a super user... super
OK
Swarm Version: SWARM/2023.1/2414875 (2023/03/07)
Extension Version: 2023.1/2414875