Fleet Commander Setup

This page describes install steps for Fleet Commander. Right now only Fedora22+/CentOS7/RHEL7 instructions are described

Overview

Currently there are three main components in Fleet Commander:

  • Admin interface
  • Virtual sessions to create profiles by live editting the settings
  • Client hosts

Fedora21/22 and CentOS7/RHEL7

Note that on Fedora 22 you

Adding the COPR repository

If you are using Fedora you can use dnf to install copr repo:

$ sudo dnf copr enable aruiz/fleet-commander

On CentOS/RHEL you can just wget the repo file:

$ sudo wget https://copr.fedoraproject.org/coprs/aruiz/fleet-commander/repo/epel-7/aruiz-fleet-commander-epel-7.repo \
-O /etc/yum.repos.d/aruiz-fleet-commander-epel-7.repo

Installation

Note that on production systems, you are not supposed to install all the services in the same machine, however feel free to do so for testing purposes:

Installing the admin interface:

$ sudo yum install fleet-commander-admin
$ sudo systemctl enable fleet-commander-admin
$ sudo systemctl start  fleet-commander-admin

Installing the virtual session components:

$ sudo yum install fleet-commander-vnc-session
$ sudo systemctl enable fleet-commander-controller
$ sudo systemctl start  fleet-commander-controller

Installing the client side components:

$ sudo yum install fleet-commander-client
$ sudo systemctl start fleet-commander

Configuration

In case you installed all the components in the same host, the only thing you need to do is to configure the fleet-commander-client to point to the web service that provides the profile data, which is part of the admin interface web service. Note that the configuration is commented out by default to prevent security risks in case the package gets installed.

The rest of the default configuration would just work if everything is in localhost.

Following are the steps to configure each service separately.

Client side configuration

The source key points to the HTTP path that serves the profile data, comment out the default value for 'source:' if the admin interface is running in the same host as the client, or point it to the right remote host, note that this value must always end in '/', in the future we intend to provide a mechanism to use ldap and other methods:

#/etc/xdg/fleet-commander.conf
source: http://localhost:8181/profiles/

You need to configure this for each host that is expected to be managed by your fleet-commander setup. Note that after changing the configuration you probably want to restart the service:  $ sudo systemctl restart fleet-commander 

Admin interface configuration

If you want to change the address or the port you want to bind to, just modify the host or port keys in the [admin] section. Note that if you change the port value you need to configure the clients accordingly. To let clients access this service you probably want to specify the host/IP of the network the clients are going to access.

For testing purposes, as long as you run the client in the same host as the admin interface, you can just leave this as is.

#/etc/xdg/fleet-commander-admin.conf
[admin]
#host = localhost
#port = 8181
data_dir     = /usr/share/fleet-commander-admin
profiles_dir = /var/lib/fleet-commander-admin

Virtual session controller service

The virtual session controller service is a web service that allows the admin interface to control it remotely to start a remote virtual desktop session.

Note that the virtual session host and port has to be accessible from the host that holds the admin interface service through the network.

As the default host that this service runs on is localhost, if you leave the configuration as-is and run the controller, it will only work if the admin interface runs on the same machine. Do not modify the logger_config value unless you know what you're doing.

#/etc/xdg/fleet-commander-controller.conf
[controller]
port = 8182
host = localhost
logger_config = /etc/xdg/fleet-commander-logger.conf

You should restart the service if you modify the configuration:

  $ sudo systemctl restart fleet-commander-controller

First run: Creating your first profile

Either if you ran everything from the same host and enabled the client daemon or if you created a setup with different machines, these are the steps to get familiar with the Fleet Commander admin interface:

Creating a profile

  • Point your browser to http://localhost:8181/ (or the host that is serving the admin service)

  • You will see an empty summary of all the profiles available. Click on the Add profile button.

  • You will be prompted for a host (or host:port) where the virtual session controller is running. Enter localhost if you are running everything in the same host.
  • You will see a virtual desktop session started within your browser, make any configuration changes that you'd like, like gedit's 'show line numbers'.
  • Click Review and submit and check the configuration keys you want to keep in the profile. Then click on Save.

  • You will be prompted for more details about the profile, like the name and the users and/or groups it applies to.
  • Make sure you select existing users/groups (or that you add those afterwards). Click on save.
  • You will be brought back to the initial summary and your profile should show up there.

Testing the profile

If you want to test one of your client machines once they are configured to talk to the admin service, you need to first restart the service to ensure that it picks the profile data. You can ensure this happened if you see any fleet-commander-[long UID string] files in /etc/dconf/db.

Now you need to log in with one of the users affected by the profile (either explicitly or through a group they're member of). If you're already logged in you're going to need to log out first and then log in. We recommend to use pristine users when testing to avoid confusion with settings that were already set by the user.

Launch the app affected by the configuration and check if the default value changed.

NOTE: a current bug prevents some apps from reading the data unless they are launched from the command line after doing this:

$ su - `whoami`
Password:
$ gedit #### or some other app you want to test

Projects/FleetCommander/InstallSteps (last edited 2015-08-24 15:02:13 by AlbertoRuiz)