Stacki: Automate with Spreadsheets (Tutorial)

7
Automate Server Configuration Using Spreadsheets Don MacVittie, Sr. Solutions Architect

Transcript of Stacki: Automate with Spreadsheets (Tutorial)

Automate Server Configuration Using Spreadsheets

Don MacVittie, Sr. Solutions Architect

Overview

• Stacki can use CSV-formatted spreadsheets to automate server configuration.

• Stacki installs everything necessary to make a fully functional Linux server.

• Utilizing just two command lines, spreadsheet configuration can install one or many servers without human interaction.

• This means that an entire server farm can be automatically installed (in parallel) while you’re on a break.

Spreadsheet Configuration

The Spreadsheet format:

Name – server host name.Appliance – the type of machine to install. IP – the IP address to assign the primary NIC. MAC – the MAC address to associate the IP with. Rack – the rack this server resides in.Rank – the location in the rack. Subnet – the Stacki subnet the NIC we just defined should be defined on.

Tell Stacki About It

• Copy the spreadsheet out to the Stacki server.• Issue the commands (in red) below to load the spreadsheet and validate

that Stacki now knows about your servers.• Note in stack list host that the Stacki server (donrh7 in this sample) is in

the host list.

[root@donrh7 ~]# stack load hostfile file=stacki.cocoamaster.csv/export/stack/spreadsheets/RCS/stacki.cocoamaster.csv,v <-- /export/stack/spreadsheets/stacki.cocoamaster.csvinitial revision: 1.1done/export/stack/spreadsheets/RCS/stacki.cocoamaster.csv,v --> /export/stack/spreadsheets/stacki.cocoamaster.csvrevision 1.1 (locked)Done[root@donrh7 ~]# stack list hostHOST RACK RANK CPUS APPLIANCE DISTRIBUTION RUNACTION INSTALLACTIONdonrh7: 0 0 1 frontend default os installbackend-0-0: 0 0 1 backend default os installcocoamaster357-storage: 0 1 1 backend default os install[root@donrh7 ~]#

Telling Stacki it’s Time to Install

Just tell Stacki that is time to install with the commands (in red) below, and boot the servers. They’ll install, no need to watch them.

But no matter how many servers you’re installing, it’s fast, so feel free to watch if you like.

[root@donrh7 ~]# stack set host boot cocoamaster357 action=install[root@donrh7 ~]# stack set host attr cocoamaster357 attr=nukedisks value=true[root@donrh7 ~]#

Multiple NICS

Notice our spreadsheet has two lines for cocoamaster357? That’s because we’re defining two Network Interface Cards (NICs) for this server.

The first line defines the host and the NIC on Stacki’s private network

The second line adds the information to define a second NIC on the public network.

That is all you need. Since we loaded this spreadsheet and installed Cocoamaster357, it now has two NICs defined, one on each network. To the right are the calls to show the configuration.

[root@donrh7 ~]# ssh cocoamaster357Last login: Wed Jul 22 15:28:50 2015[root@cocoamaster357 ~]# ifconfigeth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.1.1.252 netmask 255.255.255.0 broadcast 10.1.1.255 inet6 fe80::a00:27ff:fe5f:121c prefixlen 64 scopeid 0x20<link> ether 08:00:27:5f:12:1c txqueuelen 1000 (Ethernet) RX packets 62 bytes 10273 (10.0 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 84 bytes 9436 (9.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.218 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::a00:27ff:fe98:268c prefixlen 64 scopeid 0x20<link> ether 08:00:27:98:26:8c txqueuelen 1000 (Ethernet) RX packets 174 bytes 16219 (15.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 12 bytes 888 (888.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Stacki Resources

• There is a lot more to Stacki than this few slides can show. Join us at the linksbelow to explore Stacki’s rich command structure and see how it answers yourproblems.

Quick access to Stacki resources:• Visit www.Stacki.com to download a pre-build ISO for RHEL/CentOS 6 & 7 and to sign up

for our charter program• Stacki source code is available on the StackIQ GitHub: https://github.com/StackIQ/stacki• Engage with other users and developers in the Stacki Google Group:

https://groups.google.com/forum/#!forum/stacki

Follow us on Twitter @StackIQ