Applies to SUSE OpenStack Cloud 7

5 Software Repository Setup

Abstract

Nodes in SUSE OpenStack Cloud are automatically installed from the Administration Server. For this to happen, software repositories containing products, extensions, and the respective updates for all software need to be available on or accessible from the Administration Server. In this configuration step, these repositories are made available. Two types of repositories can be distinguished:

Product Media Repositories: Product media repositories are copies of the installation media. They need to be directly copied to the Administration Server, loop-mounted from an iso image or mounted from a remote server via NFS. Affected are SUSE Linux Enterprise Server 12 SP2 and SUSE OpenStack Cloud 7. The content of these repositories is static. See Section 5.1, “Copying the Product Media Repositories” for setup instructions.

Update and Pool Repositories: Update and Pool repositories are provided by the SUSE Customer Center. They contain all updates and patches for the products and extensions. To make them available for SUSE OpenStack Cloud they need to be mirrored from the SUSE Customer Center. Since their content is regularly updated, they need to be kept in synchronization with SUSE Customer Center. For these purposes, SUSE provides either the Subscription Management Tool (SMT) or the SUSE Manager.

5.1 Copying the Product Media Repositories

The files in the product repositories for SUSE Linux Enterprise Server and SUSE OpenStack Cloud do not change, therefore they do not need to be synchronized with a remote source. It is sufficient to either copy the data (from a remote host or the installation media), to mount the product repository from a remote server via NFS, or to loop mount a copy of the installation images.

Important
Important: No Symbolic Links for the SUSE Linux Enterprise Server Repository

Note that the SUSE Linux Enterprise Server product repository must be directly available from the local directory listed below. It is not possible to use a symbolic link to a directory located elsewhere, since this will cause booting using PXE to fail.

Tip
Tip: Providing the SUSE OpenStack Cloud Repository via HTTP

The SUSE Linux Enterprise Server product repositories needs to be made available locally to enable booting using PXE for node deployment. The SUSE OpenStack Cloud repository may also be served via http from a remote host. In this case, enter the URL to the Cloud repository as described in Section 7.4, “Repositories.

However, copying the data to the Administration Server as described here, is recommended. It does not require much hard disk space (approximately 350 MB). Nor does it require the Administration Server to be able to access a remote host from a different network.

The following product media needs to be copied to the specified directories:

Table 5.1: Local Product Repositories for SUSE OpenStack Cloud

Repository

Directory

SUSE Linux Enterprise Server 12 SP2 DVD #1

/srv/tftpboot/suse-12.2/x86_64/install

SUSE OpenStack Cloud 7 DVD #1

/srv/tftpboot/suse-12.2/x86_64/repos/Cloud

The data can be copied by a variety of methods:

Copying from the Installation Media

It is recommended to use rsync for copying. If the installation data is located on a removable device, make sure to mount it first (for example, after inserting the DVD1 in the Administration Server and waiting for the device to become ready):

SUSE Linux Enterprise Server 12 SP2 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/install
mount /dev/dvd /mnt
rsync -avP /mnt/ /srv/tftpboot/suse-12.2/x86_64/install/
umount /mnt
SUSE OpenStack Cloud 7 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/repos/Cloud
mount /dev/dvd /mnt
rsync -avP /mnt/ /srv/tftpboot/suse-12.2/x86_64/repos/Cloud/
umount /mnt
Copying from a Remote Host

If the data is provided by a remote machine, log in to that machine and push the data to the Administration Server (which has the IP address 192.168.124.10 in the following example):

SUSE Linux Enterprise Server 12 SP2 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/install
rsync -avPz /data/SLES-12-SP2/DVD1/ 192.168.124.10:/srv/tftpboot/suse-12.2/x86_64/install/
SUSE OpenStack Cloud 7 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/repos/Cloud
rsync -avPz /data/SUSE-OPENSTACK-CLOUD//DVD1/ 192.168.124.10:/srv/tftpboot/suse-12.2/x86_64/repos/Cloud/
Mounting from an NFS Server

If the installation data is provided via NFS by a remote machine, mount the respective shares as follows. To automatically mount these directories either create entries in /etc/fstab or set up the automounter.

SUSE Linux Enterprise Server 12 SP2 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/install
mount -t nfs nfs.example.com:/exports/SLES-12-SP2/x86_64/DVD1/ /srv/tftpboot/suse-12.2/x86_64/install
SUSE OpenStack Cloud 7 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/repos/Cloud/
mount -t nfs nfs.example.com:/exports/SUSE-OPENSTACK-CLOUD/DVD1/ /srv/tftpboot/suse-12.2/x86_64/repos/Cloud
Mounting the ISO Images

The product repositories can also be made available by copying the respective iso images to the Administration Server and mounting them. To automatically mount these directories either create entries in /etc/fstab or set up the automounter.

SUSE Linux Enterprise Server 12 SP2 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/install/
mount -o loop /local/SLES-12-SP2-x86_64-DVD1.iso /srv/tftpboot/suse-12.2/x86_64/install
SUSE OpenStack Cloud 7 DVD#1
mkdir -p /srv/tftpboot/suse-12.2/x86_64/repos/Cloud/
mount -o loop /local/SUSE-OPENSTACK-CLOUD-7-x86_64-DVD1.iso /srv/tftpboot/suse-12.2/x86_64/repos/Cloud

5.2 Update and Pool Repositories

Update and Pool Repositories are required on the Administration Server to set up and maintain the SUSE OpenStack Cloud nodes. They are provided by SUSE Customer Center and contain all software packages needed to install SUSE Linux Enterprise Server 12 SP2 and the extensions (pool repositories). In addition, they contain all updates and patches (update repositories). Update repositories are already used when deploying the nodes that will build SUSE OpenStack Cloud to ensure they are initially equipped with the latest software versions available.

The repositories can be made available on the Administration Server using one of the following methods (or a mix of them):

5.2.1 Repositories Hosted on an SMT Server Installed on the Administration Server

When all update and pool repositories are managed by an SMT server installed on the Administration Server (see Chapter 4, Installing and Setting Up an SMT Server on the Administration Server (Optional)), make sure the repository location in YaST Crowbar is set to Local SMT Server (this is the default). For details, see Section 7.4, “Repositories . No further action is required. The SUSE OpenStack Cloud Crowbar installation automatically detects all available repositories.

5.2.2 Repositories Hosted on a Remote SMT Server

To use repositories from a remote SMT server, you first need to make sure all required repositories are mirrored on the server. Refer to Section 4.3, “Setting up Repository Mirroring on the SMT Server” for more information. When all update and pool repositories are managed by a remote SMT server, make sure the repository location in YaST Crowbar is set to Remote SMT Server. For details, see Section 7.4, “Repositories. No further action is required. The SUSE OpenStack Cloud Crowbar installation automatically detects all available repositories.

Note
Note: Accessing an External SMT Server

In SUSE OpenStack Cloud, only the Administration Server needs to be able to access the external SMT server. A network connection can either be established via a bastion network (see Section 7.3.1, “Setting Up a Bastion Network” or an external gateway.

5.2.3 Repositories Hosted on a SUSE Manager Server

To use repositories from SUSE Manager you first need to make sure all required products and extensions are registered and the corresponding channels are mirrored in SUSE Manager (refer to Table B.3, “SUSE Manager Repositories (Channels)” for a list of channels).

Important
Important: Accessing a SUSE Manager Server

An external SUSE Manager server needs to be accessed from all nodes in SUSE OpenStack Cloud. To be able to access it, the network hosting the SUSE Manager server needs to be added to the network definitions as described in Section 7.5.1, “Providing Access to External Networks”.

By default SUSE Manager does not expose repositories for direct access. To access them via https, you need to create a Distribution for auto-installation for the SUSE Linux Enterprise Server 12 SP2 (x86_64) product. Creating this distribution makes the update repositories for this product available, including the repositories for all registered add-on products (like SUSE OpenStack Cloud, SLES High Availability Extension and SUSE Enterprise Storage). Instructions on how to create a distribution can be found in the SUSE Manager documentation in http://www.suse.com/documentation/suse_manager/.

During the distribution setups you need to provide a Label for each the distribution. This label will be part of the URL under which the repositories are available. It is recommended to choose a name consisting of characters that do not need to be URL-encoded. In Table B.3, “SUSE Manager Repositories (Channels)” we assume the following label has been provided: sles12-sp2-x86_64.

When all update and pool repositories are managed by a SUSE Manager server, make sure the repository location in YaST Crowbar is set to SUSE Manager Server. For details, see Section 7.4, “Repositories. No further action is required. The SUSE OpenStack Cloud Crowbar installation automatically detects all available repositories.

The autoinstallation tree provided by SUSE Manager does not provide the SLES Pool repository. Although this repositories is not used for node installation, it needs to be present. To work around this issue, it is sufficient to create an empty Pool repository for SUSE Linux Enterprise Server 12 SP2:

mkdir /srv/tftpboot/suse-12.2/x86_64/repos/SLES12-SP2-Pool/
createrepo /srv/tftpboot/suse-12.2/x86_64/repos/SLES12-SP2-Pool/

5.2.4 Alternative Ways to Make the Repositories Available

If you want to keep your SUSE OpenStack Cloud network as isolated from the company network as possible, or your infrastructure does not allow accessing a SUSE Manager or an SMT server, you can alternatively provide access to the required repositories by one of the following ways:

  • mounting the repositories from a remote server

  • synchronizing the repositories from a remote server (for example via rsync and cron)

  • manually synchronize the update repositories from removable media.

It is strongly recommended to make the repositories available at the default locations on the Administration Server as listed in Table B.4, “Default Repository Locations on the Administration Server”. When choosing these locations, it is sufficient to set the repository location in YaST Crowbar to Custom. You do not need to specify a detailed location for each repository. Refer to Section 7.4, “Repositories for details. If you prefer to use different locations, you need to announce each location with YaST Crowbar.

5.3 Software Repository Sources for the Administration Server Operating System

During the installation of the Administration Server repository locations for SUSE Linux Enterprise Server 12 SP2 have been automatically added to the Administration Server. They point to the source used to install the Administration Server and to the SUSE Customer Center. These repository locations have no influence on the repositories used to set up nodes in the cloud. They are solely used to maintain and update the Administration Server itself.

However, as the Administration Server and all nodes in the cloud use the same operating system—SUSE Linux Enterprise Server 12 SP2—it makes sense to use the same repositories for the cloud and the Administration Server. To avoid downloading the same patches twice: Change this setup in a way that the repositories set up for SUSE OpenStack Cloud deployment are also used on the Administration Server.

To do so, you need to disable or delete all services. In a second step all SUSE Linux Enterprise Server and SUSE OpenStack Cloud repositories need to be edited to point to the alternative sources. Editing the repository setup can either be done with Zypper or YaST. Note that changing the repository setup on the Administration Server is optional.