Skip to content
Terraform configuration to quickly set up SUSE Manager/Uyuni environments
HCL SaltStack Python Shell XSLT HTML Other
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.ci-travis Rename use_un/released_updates to use_os_un/released_updates Mar 13, 2019
.github Add PR template, include warning about terraform modules Sep 10, 2019
help Remove old logo Jun 22, 2018
modules Enable client tools and allow uyuni-master and uyuni-stable for all m… Sep 13, 2019
salt Bugfix: extend libgio2 workaround to all the SLE 12 family Sep 17, 2019
.coafile Travis: add style checks (whitespace) Mar 2, 2018
.gitignore Clean swap file and add them to .gitignore Jun 7, 2019
.travis.yml Update travis to use xenial Aug 8, 2019
CONTRIBUTING.md CONTRIBUTING: explain how to rebuild OBS images Nov 23, 2018
DESIGN.md Refactoring: use immutable images Jan 4, 2017
LICENSE License added Oct 18, 2016
README.md Add openSUSE Leap 15.1 repo Jun 25, 2019
README_ADVANCED.md Enable client tools and allow uyuni-master and uyuni-stable for all m… Sep 13, 2019
TROUBLESHOOTING.md Refactor: rename: from suma3(1)?pg to server Sep 4, 2019
configure_aws_tunnels.rb AWS: improve tunnel configuration Oct 30, 2017
main.tf.aws.example Refactor: rename: from suma3(1)?pg to server Sep 4, 2019
main.tf.libvirt-testsuite.example Enable client tools and allow uyuni-master and uyuni-stable for all m… Sep 13, 2019
main.tf.libvirt.example Feat: correct examples to use version 3.2 Sep 4, 2019
main.tf.openstack-testsuite.example Feat: correct examples to use version 3.2 Sep 4, 2019
main.tf.openstack.example Feat: correct examples to use version 3.2 Sep 4, 2019
main.tf.qam-clients.example Enable client tools and allow uyuni-master and uyuni-stable for all m… Sep 13, 2019
main.tf.uyuni.example Enable client tools and allow uyuni-master and uyuni-stable for all m… Sep 13, 2019

README.md

sumaform logo

sumaform is a way to quickly configure test SUSE Manager setups with clients and servers.

It got its portmanteau name being the successor of suminator implemented as Terraform modules.

Travis CI build status Join the chat at https://gitter.im/sumaform/Lobby

Installation

openSUSE and SUSE Linux Enterprise Server:

# Uncomment one of the following lines depending on your distro

#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/openSUSE_Leap_15.1/systemsmanagement:sumaform.repo
#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/openSUSE_Leap_15.0/systemsmanagement:sumaform.repo
#sudo zypper addrepo https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_12_SP3/systemsmanagement:sumaform.repo

sudo zypper install terraform-provider-libvirt git-core
git clone https://github.com/uyuni-project/sumaform.git

Ubuntu and Debian:

sudo apt install alien
wget https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_12_SP3/x86_64/terraform.rpm
sudo alien -i terraform.rpm
wget https://download.opensuse.org/repositories/systemsmanagement:/sumaform/SLE_12_SP3/x86_64/terraform-provider-libvirt.rpm
sudo alien -i terraform-provider-libvirt.rpm
git clone https://github.com/uyuni-project/sumaform.git

NOTE: be sure to have SUSE's CA certificates installed on your system.

You will need to edit HCL (HashiCorp Configuration Language) files. Syntax highlighting is available in major text editors like atom.

Backend choice

sumaform can deploy virtual machines to:

  • single libvirt hosts
  • OpenStack Cloud
  • Amazon Web Services

The simplest, recommended setup is to use libvirt on your local host. That needs at least 8 GB of RAM in your machine. If you need a lot of VMs or lack hardware you probably want using an external libvirt host with bridged networking is also possible.

The Amazon Web Services backend has been developed for scalability tests of SUSE Manager and it is only currently used in that context.

Basic main.tf configuration

In sumaform you define a set of virtual machines in a main.tf configuration file, then run Terraform to have them deployed. Contents of the file vary slightly depending on the backend you choose.

Refer to specific READMEs to get started:

Typical use

Refer to the official guides for a general understanding of Terraform and full commands.

For a very quick start:

vim main.tf     # change your VM setup
terraform init  # populate modules
terraform apply # prepare and apply a plan to create your systems (after manual confirmation)

Advanced use

Please see README_ADVANCED.md.

I have a problem!

Check TROUBLESHOOTING.md first, if that does not help feel free to join the Gitter chat or directly drop a line to moio at suse dot de!

You can’t perform that action at this time.