At SUSE Manager and Uyuni we use right now a set of bash scripts called sumaform-test-runner to run terraform and cucumber, send notifications and store cucumber results.
However such scripts are currently hard to maintain and extend, and bash is clearly showing it's limitations when it comes to parsing cucumber results, working with JSON stuff, or using APIs. Besides it forces us to have credentials hardcoded at the main.tf files, which is a huge problem for making a public CI for Uyuni.
So the plan is to replace this set of bash scripts with a python solution. By the end of the hackweek there should be at least a python module to handle all the tasks that we need. Then next step (best if ready during the hackweek) will be having a CLI tool that we can use from the CI.
Looking for hackers with the skills:
This project is part of:
Hack Week 18
Activity
Comments
-
over 5 years ago by juliogonzalezgil | Reply
As the development from last year is complete, we will continue at https://hackweek.suse.com/19/projects/fix-terracumber-add-some-python-unit-tests-try-to-extend-it-and-publish-it
Similar Projects
terraform-provider-feilong by e_bischoff
Project Description
People need to test operating systems and applications on s390 platform.
Installation from scratch solutions include:
- just deploy and provision manually
(with the help of
ftpboot
script, if you are at SUSE) - use
s3270
terminal emulation (used byopenQA
people?) - use
LXC
from IBM to start CP commands and analyze the results - use
zPXE
to do some PXE-alike booting (used by theorthos
team?) - use
tessia
to install from scratch using autoyast - use
libvirt
for s390 to do some nested virtualization on some already deployed z/VM system - directly install a Linux kernel on a LPAR and use
kvm
+libvirt
from there
Deployment from image solutions include:
- use
ICIC
web interface (openstack
in disguise, contributed by IBM) - use
ICIC
from theopenstack
terraform
provider (used byRancher
QA) - use
zvm_ansible
to controlSMAPI
- connect directly to
SMAPI
low-level socket interface
IBM Cloud Infrastructure Center (ICIC
) harnesses the Feilong API, but you can use Feilong
without installing ICIC
, provided you set up a "z/VM cloud connector" into one of your VMs following this schema.
What about writing a terraform Feilong
provider, just like we have the terraform
libvirt
provider? That would allow to transparently call Feilong
from your main.tf files to deploy and destroy resources on your system/z.
Other Feilong-based solutions include:
- make
libvirt
Feilong-aware - simply call
Feilong
from shell scripts withcurl
- use
zvmconnector
client python library from Feilong - use
zthin
part of Feilong to directly commandSMAPI
.
Goal for Hackweek 23
My final goal is to be able to easily deploy and provision VMs automatically on a z/VM system, in a way that people might enjoy even outside of SUSE.
My technical preference is to write a terraform provider plugin, as it is the approach that involves the least software components for our deployments, while remaining clean, and compatible with our existing development infrastructure.
Goals for Hackweek 24
Feilong provider works and is used internally by SUSE Manager team. Let's push it forward!
Let's add support for fiberchannel disks and multipath.
Possible goals for Hackweek 25
Modernization, maturity, and maintenance.