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.
Warning
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.