Gábor
Gombás
gombasg@sztaki.hu
August 27, 2009
&appmgr;
8

# &appmgr;

Tool to manage applications and platforms

          &appmgr;
          list
          --no-versions

          &appmgr;
          add
          NAME
          DESC

    	--hr=no
    	--hr=fine
    	--hr=coarse

          --beta
          --weight=NUM
          --target_nresults=NUM

          &appmgr;
          delete
          NAME
          --version=VER
          --platform=NAME
          --plan_class=NAME

          &appmgr;
          update
          NAME

    	--hr=no
    	--hr=fine
    	--hr=coarse

            --beta
            --no-beta

          --weight=NUM
          --target_nresults=NUM
          --user_friendly_name=DESC
          --min_version=VER

            --deprecated
            --no-deprecated

          &appmgr;
          update_appver
          NAME
          --version=VER
          --platform=NAME
          --plan_class=NAME

            --deprecated
            --no-deprecated

          --min_core_version=VER
          --max_core_version=VER

          &appmgr;
          list_platform
          --short

          &appmgr;
          add_platform
          NAME
          DESC

          &appmgr;
          delete_platform
          NAME
          --force

          &appmgr;
          update_platform
          NAME
          --user_friendly_name=DESC

            --deprecated
            --no-deprecated

          &appmgr;
          add_standard_platforms

          &appmgr;

    	-h
    	--help

## DESCRIPTION

&appmgr; is a tool to manage platforms, applications and application versions from the command-line.

Note: application refers to data in the `app` table; application version refers to data in the `app_version` table and in the file system.

## COMMANDS

The generic syntax is:

    	&appmgr;
    	COMMAND
    	command arguments

Note that command-specific options must came after the command, never before. Here is a short list of the available commands. The following sections describe the commands in detail.

list

  List the installed applications and application versions.

add

  Add a new application.

delete

  Delete an application or application version.

update

  Update the properties of an application.

update_appver

  Update the properties of an application version.

list_platform

  List the platforms known to the project.

add_platform

  Add a new platform.

delete_platform

  Delete a platform.

update_platform

  Update the properties of a platform.

add_standard_platforms

  Add all standard platforms to the project.

### LIST

List the installed applications and application versions, together with any non-default properties (beta, deprecated, min. core version etc.). If the `--no-versions` option is specified, then the list of application versions is omitted and just the application definitions are listed.

### ADD

Add a new application. NAME is the short name of the application as used in the file system. DESC is the user-friendly name that is displayed to users.

The following options can also be specified:

`--hr=no`, `--hr=fine`, `--hr=coarse`

  Set the homogeneous redundancy class. `no` means all hosts are equivalent, `fine` means fine-grained classification of 80 classes, `coarse` means coarse classification of 4 classes.

`--beta`

  Indicate that this is application is in beta testing. Users can select if they are willing to test applications marked as beta in their preferences; see the wiki section "Beta-test applications" about how to enable this on the web interface.

`--weight=NUM`

  Specify the weight of this application if the feeder is run with the `-allapps` option. NUM is a floating-point value, the default is 1.

`--target_nresults=NUM`

  Set the number of replicas when an otherwise unreplicated work unit is sent to a host that is not trusted. See the wiki section "Adaptive replication" for details.

### DELETE

Delete applications or application versions. This command deletes both the database records and the files under the `download` and `apps` directories, so use with care.

The following options can be specified:

`--version=VER`

  Select only application versions with the version number VER. The version number must be specified as `major.minor`.

`--platform=NAME`

  Select only application versions for the platform NAME.

`--plan_class=NAME`

  Select only application versions having the plan class NAME.

If more than one of the options `--version`, `--platform` and `--plan_class` are specified, then only application versions matching all the criteria are deleted. If none of these options are specified, then the application is also deleted. Note that if one or more of these options are specified then the application is not deleted even if there are no more application versions remaining.

### UPDATE

Update the properties of an application. The following properties can be modified:

`--hr=no`, `--hr=fine`, `--hr=coarse`

  Set the homogeneous redundancy class. `no` means all hosts are equivalent, `fine` means fine-grained classification of 80 classes, `coarse` means coarse classification of 4 classes.

  Do not change the homogeneous redundancy class while there are jobs in progress!

`--beta`

  Indicate that this is application is in beta testing. Users can select if they are willing to test applications marked as beta in their preferences; see the wiki about how to enable this on the web interface.

`--no-beta`

  Indicate that the application is no more in beta testing.

`--weight=NUM`

  Specify the weight of this application if the feeder is run with the `-allapps` option. NUM is a floating-point value, the default is 1.

`--target_nresults=NUM`

  Set the number of replicas when an otherwise unreplicated work unit is sent to a host that is not trusted. See the wiki article on "Adaptive replication" for details.

`--user_friendly_name=DESC`

  Update the user-friendly description of the application.

`--min_version=VER`

  Set the min. version of the application that the scheduler accepts. This is checked only if the client uses the `anonymous` platform. The version number must be specified as `major.minor`.

`--deprecated`

  Indicate that the application is deprecated. The feeder will then ignore this application when looking for new work.

`--no-deprecated`

  Remove the deprecation mark from the application.

### UPDATE_APPVER

Update the properties of an application version. The version(s) to operate on can be specified with the `--version`, `--platform` and `--plan_class` options, as described at the `DELETE` command.

The following properties can be modified:

`--min_core_version=VER`

  Set the min. version of the core client that is required to run this application version. The version number must be specified as `major.minor`. The 3rd component (the patch level) of the core client version is ignored.

`--max_core_version=VER`

  Set the max. version of the core client that is allowed to run this application. Note that the scheduler ignores this setting currently.

`--deprecated`

  Indicate that the application version is deprecated. The feeder will then ignore this version when looking for new work.

`--no-deprecated`

  Remove the deprecation mark from the application version.

### LIST_PLATFORM

List the platforms known to the project. If the `--short` option is specified, then only the short names of the platforms are listed.

### ADD_PLATFORM

Add a new platform. NAME is the short name of the platform that is used in the scheduler requests. DESC is the user-friendly name that is displayed to users.

### DELETE_PLATFORM

Delete a platform. If the `--force` option is specified, the command deletes all application versions for this platform. Otherwise, if there are such application versions, the command will fail.

### UPDATE_PLATFORM

Update the properties of a platform. The following properties can be modified:

`--user_friendly_name=DESC`

  Update the user-friendly description of the platform.

`--deprecated`

  Indicate that the platform is deprecated. The feeder will then ignore this platform when looking for new work.

`--no-deprecated`

  Remove the deprecation mark from the platform.

### ADD_STANDARD_PLATFORMS

Add all the standard platform definitions to the database that do not exist yet.