Package profiles allows you to create a set of packages and constraints into another package (called a profile, or meta-package), which then can be installed on the machines that you want in that profiles.
It integrates with the activity system and the tag system, automatically creating activities for computers with the associated tags.
In order to be able to use this feature, you need to have landscape-client 1.5.0 or later installed on the machine. If you don't, Landscape won't be able to ask for installation of the profile.
Creating a package profile
To create a package profile, click in the "Package Profiles" item in the left menu of your account, and then "Add".
The following fields are present:
Name: it's the identifier for your profile. It has a unique constraint inside your account. It must be alphanumeric, and will be used as the package name created by Landscape. "web-server", or "database-profile" are good examples. The generated package will have the name "landscape-profile-$your_account-$name".
Description: high-level description of your profile. It will be used to create the debian package description.
Package constraints: those are composed of 3 parts: a relationship (depends or conflicts), a package name, and a version constraint. The version constraint is optional, and default to any version.
Note that you don't need to put all the dependencies in the constraints. As a normal package, dependencies will be resolved at installation time. For example, if you specify apache2-mpm-prefork, apache2-common and apache2-bin will be installed as well.
The package profile dashboard summarizes the information about your profile in several blocks.
The first block displays the content of your profile: the current version, the description, and the different constraints, one table containing dependencies and the other containing conflicts.
The second block presents a summary of the current links between your profile and computers:
The first line tells you if the profile is currently being applied, ie if there are pending activities installing the profile. If there are any, there is a link to the activity page which will show you those activities.
The second line shows failures happening when trying to apply the profile. For example, it happens if one specified package doesn't exist, or can't be installed, or if you cancel an activity. If this is a temporary failure, you can click on the link to the computers, and reapply the profile. Otherwise, you can edit the profile to fix the problem, and it will be automatically reapplied.
The third line counts the number of computers associated with the profile, with a link to display those computers.
Finally, the last block allows you to edit the association of the profile with tags. Associating a profile with a tag create an activity to install the profile on the machines having that tag, and maintain the relationship (if you upgrade the profile, for example).
If you dissociate a profile and a tag, the packages won't be removed from the corresponding machines. If you want them to be removed you have to explicitly create an activity.
The package profile dashboard also presents a link to edit the profile. The editing page looks exactly the same as the creation page, except that it show you the current version, the creation date, and the last modified date. The version is automatically incremented when you save, and the installation of the profile is propagated to the associated machines, creating an activity.
The enforcement of a profile in a machine will create an activity to install that profile. It will happen when you initially associate a profile with a tag (an activity will be created for all the machines with that tag) or when you add a machine to a tag linked to a profile.
As normal package activities, they may come back unapproved if it requires additional changes. It will fail if the asked task can't be achieve, for example if a version constraint is not possible, or if a package doesn't exist. You can also manually cancel one of those activities.