Skip to content

Ignalina/automata

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 

Repository files navigation

Automata

Create and maintain airgaped clusters for distributed software

Automata does this by Generate OS iso's and fire them up on hosts (kvm or redfish)

a quick test run on your local linux.

airgap_media.sh fedora_41
iso_create.sh fedora_41 4 spark x14.se
kvm_initiate.sh fedora_41 4 spark x14.se
kvm_cluster.sh fedora_41 4 spark x14.se

you will se 4 small virtual machines fired up !

An explanation of the steps above..

  1. airgap your target os media on an internet enabled server.
    syntax airgap_img.sh osversion For example , fedora_41 os
airgap_media.sh fedora_41 

For a quick test continue with step nr 2 below on same server. But for production you need transfer airgaped media files to non internet enabled machines.

A future update needs to run the below command and again transfer the packages to non internet enabled machine/s

airgap_update.sh fedora_41 
  1. Create your media ,One iso for each node in cluster will be created

syntax iso_create.sh osversion nodes nodename domain

For example , to create 4 isos with hostnames {spark1.x14.se, spark2.x14.se, spark3.x14.se}

iso_create.sh fedora_41 4 spark x14.se
  1. Initate your hosts (DISCLAIMER WARNING WILL DESTROY / FORMAT / DELETE your hosts)
    syntax [kvm/redfish]_initate.sh osversion nodes nodename domain

using local kvm

kvm_initiate.sh fedora_41 4 spark x14.se

or redfish where you must set ip1...ip4 to your hardwares BMC.

redfish_initiate.sh fedora_41 4 spark x14.se  {ip1,ip2,ip3,ip4}
  1. Fire up your cluster by installing iso's on hosts

syntax kvm_cluster.sh osversion nodes nodename domain
syntax redfish_cluster.sh osversion nodes nodename domain {ip1,ip2,..}_

For example to fire up fedora_41 cluster localy on kvm'ms

kvm_cluster.sh fedora_41 4 spark x14.se

a small cluster json vill be created with IP'setc..

  1. Use your cluster
    Its up and running and you have an cluster.json with ip's etc

CREDITS!

To myself Rickard Ernst Björn Lundin on behalf of Swedish X14 AB and Danish Ignalina APS
KVM parts are partly copied and inspired from from Earl C. Ruby III https://github.com/earlruby/create-vm
Wikipedia image of Automata

About

Create clusters for distributed software

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published