StackiFest16: What's Next in Stacki - Mason Katz

33
WHAT’S NEXT @masonkatz

Transcript of StackiFest16: What's Next in Stacki - Mason Katz

Page 1: StackiFest16: What's Next in Stacki - Mason Katz

WHAT’S NEXT @masonkatz

Page 2: StackiFest16: What's Next in Stacki - Mason Katz

STACKI HAS 2 GOALS

Page 3: StackiFest16: What's Next in Stacki - Mason Katz

1: Keep You Under the Threshold

Number of Servers

Ma

na

ge

me

nt

Co

mp

lex

ity

General Data Center

Clusters

PAIN

Page 4: StackiFest16: What's Next in Stacki - Mason Katz

2: Stay Out of Your Way

DevOps / Configuration Tool

DHCP /DNS / TFTPNetworkDiskOS

In-housedevelopeddeployment

tools

- Disk Array Controller Configuration- Disk Partitioning Configuration

Page 5: StackiFest16: What's Next in Stacki - Mason Katz

3: World Domination

Page 6: StackiFest16: What's Next in Stacki - Mason Katz

UNRELEASED STUFF On Github right now

Page 7: StackiFest16: What's Next in Stacki - Mason Katz

3.1

Bug Fixes

•  network bridging •  works for install network •  still builds over one nic

•  network bonding •  command line •  spreadsheets

Enhancements

• Host spreadsheets •  10x faster loading at scale

Page 8: StackiFest16: What's Next in Stacki - Mason Katz

BIOS

Page 9: StackiFest16: What's Next in Stacki - Mason Katz

iPXE • PXE on Steroids

• Supports •  HTTP •  WAN •  iSCSI •  Infiniband

Page 10: StackiFest16: What's Next in Stacki - Mason Katz

Space Time

PXE

①  c->* dhcp request ②  s->c dhcp response ③  c->s tftp vmlinuz ④  c->s http ks.cfg ⑤  c->* http packages

iPXE

①  c->* dhcp request ②  s->c dhcp response ③  c->s tftp ipxe ④  c->* dhcp request ⑤  s->c dhcp response ⑥  c->* http vmlinuz ⑦  c->s http ks.cfg ⑧  c->* http packages

Page 11: StackiFest16: What's Next in Stacki - Mason Katz

No More “Legacy Mode”

Page 12: StackiFest16: What's Next in Stacki - Mason Katz

NETWORKING

Page 13: StackiFest16: What's Next in Stacki - Mason Katz

IPv6 • Secondary Interfaces

•  command line •  Spreadsheets

• Primary is IPv4 •  BIOS PXE •  DHCP

• BTW – Turns 20 in 2018 (can drink in 2019)

Page 14: StackiFest16: What's Next in Stacki - Mason Katz

API

Page 15: StackiFest16: What's Next in Stacki - Mason Katz

STACK is the API •  Today

•  Shell (stack) •  Python (stack.api.Call)

• Web Service •  Django-based •  Admin / User access control •  Access all stack commands

• Remote Management •  Shell (stack-ws) •  Write your own client for *

Page 16: StackiFest16: What's Next in Stacki - Mason Katz

CARTS & PALLETS

Page 17: StackiFest16: What's Next in Stacki - Mason Katz

Simplify • Cart -> Pallet

•  Usage •  stack create pallet CART_DIRECTORY

•  Convert site local carts into pallet .iso files •  Developers might prefer this as well

• Wire Abstractions •  Something simpler than XML •  Not settled on anything yet …

Page 18: StackiFest16: What's Next in Stacki - Mason Katz

backend.ini

[packages] foo

bar

[post]

script1.sh script2.py

/export/stack/carts/local

bin/script1.sh bin/script2.py

config/backend.ini

graph/ nodes/

RPMS/

Page 19: StackiFest16: What's Next in Stacki - Mason Katz

config.py if appliance == ‘backend’:

AddPackage(‘foo’) AddPackage(‘bar’)

if attr[‘rack’] = ‘10’: RunScript(‘script1.sh’)

function1()

Page 20: StackiFest16: What's Next in Stacki - Mason Katz

REMOTE MANAGEMENT

Page 21: StackiFest16: What's Next in Stacki - Mason Katz

Down The Stack •  Support for DRAC, iLo, ?, IPMI

•  Apply or Detect Configuration

•  Power On/Off

•  Setting (fixing) Boot Order

•  Firmware Upgrades

•  Serial Console

•  Temperature Monitoring

Page 22: StackiFest16: What's Next in Stacki - Mason Katz

100% Hands Free https://github.com/jmcdice/stack-tools

• Answer script for FE build

• Automatically turn on and build BE nodes

• Requires a custom stacki.iso •  ks.cfg file •  site.attrs file •  extend-*.xml file(s)

• Working closely with Nokia (see git repo above)

Page 23: StackiFest16: What's Next in Stacki - Mason Katz

ks.cfg install url --url file:///mnt/cdrom

lang en_US keyboard us

network --onboot yes --device enp2s0f2 --bootproto static --ip 172.29.55.10

--netmask=255.255.255.0 --gateway 172.29.55.1

--noipv6 --hostname eldora.cloud-band.com

Page 24: StackiFest16: What's Next in Stacki - Mason Katz

extend-server.xml <?xml version="1.0" standalone="no"?> <kickstart> <package>vim-enhanced</package>

<package>tcpdump</package> <post>

mkdir -p /root/.ssh/ <file name="/root/.ssh/authorized_keys" mode="append” perms=“400”>

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEApCOHZpQ+HWnC7CiJeI2Wht4dyu5V6BivpuNYJvfz/X3bf+3aziGgeTIgVsETLTYp+Hz0wUFOTr335kOSEKJNxNMHZ4eXScX7xeyPOeAmFMLwEcTYIQOTxmyAkkslirI1Zj9bTqgoTLpuGHUvmh7XlNPVHwnVuRKEqgjsyhqp+UIiugeTm1QvbDvh+f/shEhhufB23oM1FQNRIPV12HvxZPwXAGtV/rp8n5ahLRESizWJCKlQJz4zmUNO60IGTr+2p4h9FQ5IgFxjwL+ZXtXSRTsSCG5qrlo8Xnwu4ZjZcDMDWzqGEH7gxJhw1wVyWLzuKeYy7+4u66bekXgd5KF/mQ== [email protected] </file>

</post> </kickstart>

Page 25: StackiFest16: What's Next in Stacki - Mason Katz

OS

Page 26: StackiFest16: What's Next in Stacki - Mason Katz

Multiple Versions •  Today

•  RHEL/CentOS 6.x FEs build 6.x BEs •  RHEL/CentOS 7.x FEs build 7.x BEs

• Cross Building •  RHEL/CentOS 7.x FEs build 7.x and 6.x BEs

Page 27: StackiFest16: What's Next in Stacki - Mason Katz

Multi OS •  Today

•  Ubuntu •  CoreOS

•  These are lightweight •  No Pallets / Carts •  No Dynamic Profiles

• Go deeper with Ubuntu

• Explore SUSE, Fedora, Debian

Page 28: StackiFest16: What's Next in Stacki - Mason Katz

COMMUNITY

Page 29: StackiFest16: What's Next in Stacki - Mason Katz

Development

watchers 15 stars 48 forks 12

• Python

• Highly Extensible •  command line •  wire xml

• Create a new Pallet

• Contribute to Wiki

Page 30: StackiFest16: What's Next in Stacki - Mason Katz

Send Us a Pull Request

Page 31: StackiFest16: What's Next in Stacki - Mason Katz

Mailing List

Page 32: StackiFest16: What's Next in Stacki - Mason Katz

Slackers https://stacki.slack.com/signup

Page 33: StackiFest16: What's Next in Stacki - Mason Katz

QUESTIONS @masonkatz