Quick Start

This section presents how to quickly get the services up and running in a few minutes. This allows you to easily test the services and check how Software Factory works. When you are satisfied, check the configuration file to customize the settings and the architecture file to enable extra services. Also check the deployment documentation for deployment options and how to setup network access control.

Minimal quickstart

On a CentOS-7 system, deploy the basic services (managesf, gerrit, zuul and nodepool) using these commands:

yum install -y https://softwarefactory-project.io/repos/sf-release-3.2.rpm
yum update -y
yum install -y sf-config
sfconfig --provision-demo


By default the deployment will use “sftests.com” for the FQDN, you might want to set it locally in your /etc/hosts so that the web interface works properly.

RunC provider quickstart

The Nodepool service integrated in Software Factory comes with a runC provider driver to enable simple static node usage. The sfconfig configuration management comes with a hypervisor-runc role that you can use to quickly setup and configure a test environment.

For this quickstart, we will use the main instance as the hypervisor:

echo "      - hypervisor-runc" >> /etc/software-factory/arch.yaml
sfconfig --enable-insecure-slaves


Because the container doesn’t have network isolation, we have to use a sfconfig argument to enable the main host as a nodepool provider. Please check the the nodepool operator doc to properly deploy one or many dedicated instances to use as nodepool containers providers.

Sfconfig will automatically update the config repository and create some ready to use slaves so that you can run zuul tests without an OpenStack account. Running “nodepool list” will show 2 runc-centos slaves.

Third-Party-CI quickstart

To configure an external gerrit such as review.openstack.org, you’ll need to manually create a user on the remote gerrit. For openstack.org, follow this guide to configure it.

It’s recommended to first deploy a local installation, before adding the external gerrit. In that case, after your local deployment is validated, add the local zuul ssh public key (located here: /var/lib/software-factory/bootstrap-data/ssh_keys/zuul_rsa.pub) to the remote user ssh key setting page. Then add the new gerrit connection to /etc/software-factory/sfconfig.yaml file:

    - name: review.openstack.org
      hostname: review.openstack.org
      port: 29418
      puburl: https://review.openstack.org
      username: external-gerrit-user-name
      # optional canonical_hostname
      canonical_hostname: git.openstack.org