Contents
Abstract
In this chapter, learn how to log in to SUSE Studio Onsite and how to execute basic administration tasks, like viewing statistics or checking events on your server, how to manage repositories, builds and appliances, and how to add cron jobs.
To log in to the SUSE Studio Onsite Web interface, enter the URL of your SUSE Studio Onsite server in your browser and click (in the upper right hand corner).
After you have successfully logged in, your home page of SUSE Studio Onsite gives you an overview of all your appliances. To switch to the administration settings, click on your login name to show the administration panel, see Figure 3.1, “The Administration Panel”.
Accessing SUSE Studio Onsite is permission-based. Access can be granted by the administrator based on a user access request or via administrator invitation:
User Issues an Account Request: The user requests an account from the SUSE Studio Onsite home page by entering an appropriate e-mail address as shown in Figure 3.2, “Requesting an Account” and clicking the button. A request is generated and sent to the SUSE Studio Onsite administrator for approval.
Administrator Initiates Account: The administrator issues an invitation to a user (without a prior user request).
For both approval and invitation of a user, use the administration panel. To approve a request you have received, select ++ and click the link.
If you want to initiate an account, select ++ and enter the e-mail address of the user you want to invite.
After administrator approval or by direct invitation, a user account will be created and an invitation e-mail is sent to the specified e-mail address. The user must activate the account by following the instructions in the invitation e-mail. Activation requires the user to log into SUSE Studio Onsite with a username and a password.
It is possible to disable user requests by modifying the SUSE Studio Onsite
configuration file. See Example 1.1, “Central Configuration File /srv/studio/options.yml” for
additional details.
Information about the repositories available for your appliance builds can be accessed in the administration panel by clicking +. Use one of the following options to add repositories:
From media (CD/DVD). Insert the media and press the button to search for packages. This feature is able to copy packages from SUSE Linux Enterprise repositories of the installation media, but only those that have metadata already downloaded from SMT or Novell Customer Center.
From a SMT server. Insert your SMT server hostname and press the button to search for packages.
From an URL. Insert the name and URL into the corresponding text fields and press the button.
To modify an already configured repository, click the link on the right. This will display a page containing the details of the selected repository, see Figure 3.3, “Editing Repository Information”. Make the desired changes, such as setting the or flag and click the button when finished.
Next to the label a link indicates the number of appliances built using this repository. Click the link to modify or replace the references to this repository. With the action buttons at the bottom of the page you enable or disable automatic updates to the repository or delete the repository from your system. You can also disallow the URL for future addition to the repository list by clicking .
To get an overview of all your builds, go to +. The page shows a tabular view of all appliances that have already been built, see Figure 3.4, “Overview of Built Appliances”.
Clicking the filter icon next to the author will filter the displayed list to only show appliances created by this author. As can be seen in Figure 3.4, “Overview of Built Appliances”, the table shows details for each appliance, like the appliance name, a description, the author, the version and other information. In the right most column of the table the following action links are available:
Displays information about this appliance, like its ID or name.
Displays the events diary for this appliance.
Allows you to grant other users read and write permissions.
Allows you to delete this appliance and its configuration from the server after confirming the respective pop-up message.
SUSE Studio allows you to easily set up preconfigured periodic task. These are also known as cron jobs. The following table provides a list of the available preconfigured jobs:
Table 3.1. Description of Cron Jobs¶
|
Task |
Description |
|---|---|
|
|
This job removes expired test drives and makes sure that test drive sessions ended by users are removed. |
|
|
This job removes all appliance images that are older than one week. The configuration of the appliances is not affected by this job—the appliance configuration is retained and will continue to be displayed in the Web interface for the given user. Activating this job can help you reduce the disk space requirements for SUSE Studio. |
|
|
This job removes uncompressed image files that are older than one week. These uncompressed files are only used for test drives. If a test drive is started for a build whose uncompressed image file was removed, it is regenerated on the fly. Activating this job can help you reduce the disk space requirements for SUSE Studio. However, accessing the test drive feature for a particular appliance may take initial time as the appliance image has to be extracted. |
|
|
Internal job to process the build queues. |
|
|
Internal job to keep the state of the different services synchronized. |
To create a new cron job, proceed as follows:
From your administration panel select +.
Click .
Choose a task from the pop-up menu, see the description in Table 3.1, “Description of Cron Jobs”.

Modify the value to change the cron job execution frequency.
Optionally, change the initial start date and time by modifying the date and time entries.
Click . The configured cron job will be executed at the configured intervals.
If you need to backup your SUSE Studio server, proceed as follows:
Procedure 3.1. Creating Backups of SUSE Studio
Log in as root.
Stop the services RMDS, Thoth, and Apache with:
rcrmds stop rcthoth stop rcapache2 stop
Create a dump of the PostgreSQL database:
cd /root pg_dump -Ft -b studio | gzip > studio_db.tar.gz
Create a tar archive of the complete /studio
directory with:
tar cfz studio.tar.gz --absolute-names \ --preserve-permissions --dereference /studio
Copy the tar archives (studio_db.tar.gz, and
studio.tar.gz) to some persistent storage device.
Restart the services:
rcrmds start rcthoth start rcapache2 start
To restore the backup, proceed as follows:
Procedure 3.2. Restoring Backups of SUSE Studio
Log in as root.
Stop the services RMDS, Thoth, Apache, and restart the PostgreSQL database with:
rcrmds stop rcthoth stop rcapache2 stop rcstudio_delayed_job stop rcpostgresql restart
Drop the old database schema with:
echo "drop database studio;" | psql template1 echo "create database studio;" | psql template1
Unpack the old archives:
gunzip studio_db.tar.gz
Restore the PostgreSQL database:
pg_restore -c -d studio studio_db.tar
Populate database:
cd /srv/studio/ui-server RAILS_ENV=production rake db:migrate
Restore backup files"
tar -C / -x -z -f studio.tar.gz
Restart the services:
rcrmds start rcthoth start rcapache2 start rcstudio_delayed_job start
Check sphinx. To make sure the sphinx indexer does work, check if its configuration file exists:
ls /srv/studio/ui-server/config/production.sphinx.conf
If the file is missing, create it and assign to the wwwrun
user. Then restart sphinx:
touch /srv/studio/ui-server/config/production.sphinx.conf chown wwwrun /srv/studio/ui-server/config/production.sphinx.conf rcstudio_sphinx restart
Whenever you administer your SUSE Studio server it is recommended to set the site status to “read-only” prior to any changes. No new jobs can be started in this mode. Any user who is logged in is notified about the read-only state.
Go to + and press the button. The site is in read-only mode now. To switch back, press the button.
The disk storage requirements for SUSE Studio Onsite may be very high
depending on your usage patterns. Therefore you may wish to mount the
/studio/filestore directory or its subdirectories to different storage devices,
particularly if you are running low on disk space.
Before moving the files in this directory, stop all SUSE Studio Onsite's services by running the following commands:
/etc/init.d/studio_crontick stop /etc/init.d/studio_delayed_job stop /usr/sbin/rcapache2 stop /usr/sbin/rcrmds stop /usr/sbin/rcthoth stop
After the disk operations are complete, start the services again:
/etc/init.d/studio_crontick start /etc/init.d/studio_delayed_job start /usr/sbin/rcapache2 start /usr/sbin/rcrmds start /usr/sbin/rcthoth start
After the services are started, SUSE Studio Onsite should be using the new storage device to store its data.
As already mentioned in Section “Appliance Formats” (Chapter 2, Creating Appliances, ↑User Guide), OVF format is disabled by default as we cannot distribute the VMware ovftool officially. To enable OVF format, proceed as follows:
Download and install the VMware ovftool from http://communities.vmware.com/community/vmtn/vsphere/automationtools/ovf. You need to register to download the file.
Install the downloaded file with the following command, for example:
sudo sh VMware-ovftool-2.0.1-260188-lin.x86_64.sh
The correct version might be different in your case.
Enable the OVF format after installing with the following command (one line):
cd /srv/studio/ui-server && ./script/runner -e production
'ImageType.find_by_key("ovf").update_attributes!(:enabled => true)'The OVF build format will now appear in the build tab of the appliance editor.
The scheduler controls runners. Runners are used to build the image or control the test drive. Each runner contains a maximum slot value, which describes how many builds or test drives a runner can handle concurrently. In most cases, the default value is sufficient and you can skip this section. It is recommended to leave this value as it is and only change it, if you know what you do.
If you need to change the maximum number of slots for a runner, go to + in the administration panel. Click on the corresponding runner type to get an overview of the load average, the used and maximum slots, and other information. Go to and change the value in the text field. Finish with .