SlideShare a Scribd company logo
Taking Physical Infrastructure from Automation to Autonomy
May 2018
Immutable Deployments
2
8 Years Building Next Generation Physical Automation Software
RackN and Digital Rebar
Rob Hirschfeld and Greg Althaus have established RackN to
deliver next generation provisioning software with a unique culture
of “plumbers” who feel at home in the details and aren’t afraid to do
what needs to be done.
3
Physical Infrastructure Automation
Digital Rebar Provision
● PXE Provisioner
● Tiny Footprint w/ No External
Dependencies
● Supports Bare Metal, Containers,
Virtualization, Cloud, Edge, etc.
Open Source Digital Rebar Community
● http://rebar.digital
● GitHub : https://github.com/digitalrebar
4
What is “modern” Provisioning?
Cloud Native Architecture
• Create/Destroy Cloud Pattern
• Operator Control
API-First Focus
• All Features API implementation
• CLI is 100% generated from API
• UX is Modern, Air Gap, & SaaS
Lightweight
• DRP is 30MB standalone binary
• Portable (Intel, ARM, …)
Visibility into Operations
• Logs all Activities
• Success/Fail Info in UX
Flexible Workflow Mechanism
• Precise Control of Provisioning
• Build Complex Workflows from
Simple Components
Integrations and Connections
• Extensibility via Plugins
• Leverage Existing
Infrastructure
5
Physical Infrastructure Automation
RackN Portal
● Event Driven Configuration
● Manage All Endpoints (Cloud/Phy)
● IPv6 Native Integrations
● Air Gap UX
RackN Portal Access
● http://portal.rackn.io
6
RackN Features
Image Deploy
• Deploys systems from images
• Image can be root tarball or full
disk image
Image Builder
• Build images from Workflows
• Capture existing systems
Terraform
• Use terraform plans
• Drive metal more like cloud
IPMI Control
• Out-of-band operations
• Bare metal and others
Manage Hardware
• Bios/Raid/Firmware
• Pluggable for extensibility
• Dell and some SuperMicro
Integrations
• Drive other systems
• E.g. Honeycomb
Immutable Deployments
What are we going to do?!?
8
What is the plan for today?
1. Gather the Required Items
2. Deploy Digital Rebar Provision
3. Log into RackN SaaS
4. Add Content and Plugins
5. Configure to Deploy Images
6. Configure to Access Packet.net
7. Add Systems for Terraform to Manage
8. Image Systems with Terraform
9. Reset Systems with Terraform
10. Reimage Systems with Terraform
9
Required Items
● Browser
● SSH Client
○ Putty for windows - https://www.putty.org/
● 2-3 Packet.net machines
○ One for DRP Endpoint
○ One or Two to install/deploy
● Add a tab with the cheat sheet
○ http://pkt.tuna.org:8091/files/itx/info.txt
10
Deploy Digital Rebar Provision
In your browser, head over to https://tip.rackn.io
SSH into your first Packet.net node
● Use the private key from the cheat sheet
● Use your assigned IP address
Install DRP in production mode:
● mkdir drp ; cd drp
● curl -fsSL get.rebar.digital/stable | bash -s -- install
11
Deploy Digital Rebar Provision
At this point, DRP is available to start and enable
● systemctl daemon-reload && systemctl start dr-provision
● systemctl daemon-reload && systemctl enable dr-provision
● Should be in you install.sh command output
We also need to include the discovery iso.
● drpcli bootenvs uploadiso sledgehammer
● Should be in your install.sh output
● Takes about 30 seconds
Check to see if we can access DRP from the Browser
● On RackN portal page, enter your IP address with :8092 on the end
○ E.g. 147.75.73.159:8092
● Click the little arrow
● Click link to go directly to the node. Accept the self-signed certificate
12
Log into RackN SaaS
● Click the RackN Portal Login
● Use the following credentials
○ User: itxinterop@rackn.com
○ Password: itx2018Rules!
This will enable our access to plugins, content, and UX features.
If you want to continue playing, you can later create your account and get trial
licenses for these same features.
13
Add Content and Plugins
● Head over the the Content Packages section of the UX
● Add Content Packages
○ Terraform
○ Task-Library
14
Add Content and Plugins
● Head over the the Plugin Providers section of the UX
● Add Plugin Providers
○ Packet IPMI
○ License
○ Image-Deploy
15
Add Content and Plugins
● Where are we?
○ We have content loaded
○ We have plugins that can be configured.
○ We have a discovery ISO ready to go
● Next Up
○ Configuring system to control machines
16
Configure to Deploy Images
● Create Discover Workflow
○ Process machines go through when first discovered or reset.
● Select Workflows Navigation
● Click Add to add the discover workflow
● In the newly added discover workflow, drag and drop the following in order
○ discover
○ packet-discover
○ terraform-ready
17
Configure to Deploy Images
● Create Image Workflow
○ Process machines go through to image a system.
● Select Workflows Navigation
● Click Add to add the image workflow
● In the newly added image workflow, drag and drop the following in order
○ image-deploy
○ image-deploy-cloud-init
○ runner-service
○ complete
18
Configure to Deploy Images
19
Configure to Deploy Images
● Create Profile To Define Image Deployment
● Select Profiles Navigation
● Click Add to add the centos-image profile
● Add the following parameters to the profile
○ image-deploy/image-file: "files/images/centos.tgz"
○ image-deploy/image-os: "linux"
○ image-deploy/image-type: "tgz"
20
Configure to Deploy Images
21
Configure to Deploy Images
● Set Preferences in the System Info Page
○ Default Workflow = discover
○ Default Stage = discover
○ Default BootEnv = sledgehammer
○ Unknown BootEnv = discovery
● SAVE
22
Configure to Deploy Images
● Get the centos image
● Do the following:
○ curl -O http://pkt.tuna.org:8091/files/images/centos.tgz
○ drpcli files upload centos.tgz as images/centos.tgz
23
Configure to Access Packet.net
We need to let DRP access the Packet.net portal to do IPMI actions against the
machines.
● Navigate to Plugins
● Click Add
● Select the packet-ipmi Provider
● In the parameter box, type packet/api-key and click add
● In the new box by packet/api-key, add 9QiCXcTSpMMSc7vRna2mqSsoCcWUpRbx
● In the parameter box, type packet/project-id and click add
● In the new box by packet/project-id, add cc522a04-ef6a-4c09-8d9c-4aebea63a434
● Save
24
Add Systems for Terraform to Manage
● Reboot Machines
○ Using Master DRP Endpoint to restart install machines
● Wait for machines to show up!
25
Image Systems with Terraform
● Install Terraform
○ yum install -y unzip
○ curl -O http://pkt.tuna.org:8091/files/itx/terraform_0.11.7_linux_amd64.zip
○ unzip terraform_0.11.7_linux_amd64.zip
○ cp terraform /usr/local/bin
○ chmod +x /usr/local/bin/terraform
○ rm -f terraform_0.11.7_linux_amd64.zip
● Install Terraform plugin
○ mkdir /root/terraform ; cd /root/terraform
○ curl -O http://pkt.tuna.org:8091/files/itx/terraform-provider-drp
○ chmod +x terraform-provider-drp
26
Image Systems with Terraform
● Build Plan File
● vi image.tf
provider "drp" {
api_user = "rocketskates"
api_password = "r0cketsk8ts"
api_url = "https://127.0.0.1:8092"
}
resource "drp_machine" "image_one_node" {
count = 1
Workflow = "image"
Description = "Terraform controller linux image node"
add_profiles = [ "centos-linux" ]
}
● Or cheat: curl -O http://pkt.tuna.org:8091/files/itx/image.tf
27
Image Systems with Terraform
● Apply plan
○ terraform init
○ terraform plan
○ terraform apply
● Watch systems
○ Using the Packet.net ssh remote console
○ drpcli machines list | grep packet/sos
28
Reset Systems with Terraform
● Terraform Destroy
○ terraform destroy
● Watch systems return to discovery and ready state
○ Same ssh command and UX views
29
Reimage Systems with Terraform
● Apply plan
○ terraform init
○ terraform plan
○ terraform apply
● Watch systems
○ Using the Packet.net ssh remote console
○ drpcli machines list | grep packet/sos
Thanks!
Greg Althaus
CTO/Founder RackN
@galthaus
portal.rackn.io
Backup Slides / Next Steps
What is Immutable?
● https://www.slideshare.net/rhirschfeld/srecon-immutable-infrastructure
-rethinking-configuration-mgmt
DRP Terraform Guided Tour
● https://youtu.be/RtuZQHKmd9U

More Related Content

PDF
Docker primer and tips
ODP
FTTH Factory — an illustration of the "Everything as Code" paradigm
PDF
HPC on OpenStack
PDF
Heroku to Kubernetes & Gihub to Gitlab success story
PDF
PAC 2019 virtual Scott Moore
PDF
Logs/Metrics Gathering With OpenShift EFK Stack
PDF
Presentación Librecon 2018 "GNU/Linux Disaster Recovery con DRLM en GRIFOLS"
PDF
Manage your bare-metal infrastructure with a CI/CD-driven approach
Docker primer and tips
FTTH Factory — an illustration of the "Everything as Code" paradigm
HPC on OpenStack
Heroku to Kubernetes & Gihub to Gitlab success story
PAC 2019 virtual Scott Moore
Logs/Metrics Gathering With OpenShift EFK Stack
Presentación Librecon 2018 "GNU/Linux Disaster Recovery con DRLM en GRIFOLS"
Manage your bare-metal infrastructure with a CI/CD-driven approach

What's hot (14)

PDF
Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)
PDF
Performance Profiling Tools and Tricks
PDF
Terraforming your Infrastructure on GCP
PDF
GDG London Workshop: Build GCP infrastructure with Terraform
ODP
Logging presentation
PDF
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
PPTX
openFoam Hangout on Air #2 - Cloud Simulation, presentation by Dacolt
PPTX
OVN DBs HA with scale test
PDF
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
PDF
Rhel8 Beta - Halifax RHUG
PDF
PPTX
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
PPTX
Cinder On-boarding Room - Berlin (11-13-2018)
PDF
BKK16-306 ART ii
Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)
Performance Profiling Tools and Tricks
Terraforming your Infrastructure on GCP
GDG London Workshop: Build GCP infrastructure with Terraform
Logging presentation
BKK16-407 AOSP Toolchain Evolution and experimental languages on AOSP
openFoam Hangout on Air #2 - Cloud Simulation, presentation by Dacolt
OVN DBs HA with scale test
SFO15-203: Linaro CI - git driven workflow & Jenkins advanced usage
Rhel8 Beta - Halifax RHUG
OpenStack Cinder On-Boarding Room - Vancouver Summit 2018
Cinder On-boarding Room - Berlin (11-13-2018)
BKK16-306 ART ii
Ad

Similar to Immutable Deployment Hands-On Lab Interop ITX (20)

PDF
Rejekts 24 EU No GitOps Pain, No Platform Gain
PDF
Introduction to PaaS and Heroku
PDF
HKNOG 6.0 Next Generation Networks - will automation put us out of jobs?
PDF
Cobbler - Fast and reliable multi-OS provisioning
PDF
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
PDF
200519 TMU Ubiquitous Robot
PDF
Strategies for developing and deploying your embedded applications and images
PPTX
Kubernetes 101
PDF
RHEL8-BETA-RHUG.pdf
PDF
OpenShift 4 installation
PDF
Integrating Puppet and Gitolite for sysadmins cooperations
PDF
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
PDF
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
PPTX
OpenShift 5 Drop5 demo
PDF
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
PPTX
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
PDF
Creating new Tizen profiles using the Yocto Project
PDF
Matthew Mosesohn - Configuration Management at Large Companies
PPTX
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
PDF
Cacti Network Monitoring Networking Tools
Rejekts 24 EU No GitOps Pain, No Platform Gain
Introduction to PaaS and Heroku
HKNOG 6.0 Next Generation Networks - will automation put us out of jobs?
Cobbler - Fast and reliable multi-OS provisioning
OpenShift_Installation_Deep_Dive_Robert_Bohne.pdf
200519 TMU Ubiquitous Robot
Strategies for developing and deploying your embedded applications and images
Kubernetes 101
RHEL8-BETA-RHUG.pdf
OpenShift 4 installation
Integrating Puppet and Gitolite for sysadmins cooperations
The Crucial Component of IoT Products by Aravinth Panchadcharam [ Senior Embe...
PuppetConf 2016: Why Network Automation Matters, and What You Can Do About It...
OpenShift 5 Drop5 demo
DevSecCon London 2019: A Kernel of Truth: Intrusion Detection and Attestation...
A Kernel of Truth: Intrusion Detection and Attestation with eBPF
Creating new Tizen profiles using the Yocto Project
Matthew Mosesohn - Configuration Management at Large Companies
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
Cacti Network Monitoring Networking Tools
Ad

More from RackN (12)

PDF
Immutable Infrastructure & Rethinking Configuration - Interop 2019
PDF
Digital Rebar Community Welcome Guide
PDF
Composable Infrastructure Talk at Interop ITX 2018
PDF
SRECon 18 Immutable Infrastructure
PDF
Immutable infrastructure & Rethinking Configuration
PDF
Immutable infrastructure & Rethinking Configuration
PDF
Immutable Kubernetes with Digital Rebar Provision
PDF
RackN Company Overview
PDF
Operational Improvement Issues, Impacts and Solution from RackN
PDF
KubeCon 2017 Zero Touch Provision
PDF
Data Center’s Last Mile: Zero Touch Metal Automation
PDF
DevOps vs SRE vs Cloud Native
Immutable Infrastructure & Rethinking Configuration - Interop 2019
Digital Rebar Community Welcome Guide
Composable Infrastructure Talk at Interop ITX 2018
SRECon 18 Immutable Infrastructure
Immutable infrastructure & Rethinking Configuration
Immutable infrastructure & Rethinking Configuration
Immutable Kubernetes with Digital Rebar Provision
RackN Company Overview
Operational Improvement Issues, Impacts and Solution from RackN
KubeCon 2017 Zero Touch Provision
Data Center’s Last Mile: Zero Touch Metal Automation
DevOps vs SRE vs Cloud Native

Recently uploaded (20)

PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Encapsulation theory and applications.pdf
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Encapsulation theory and applications.pdf
20250228 LYD VKU AI Blended-Learning.pptx
MIND Revenue Release Quarter 2 2025 Press Release
Programs and apps: productivity, graphics, security and other tools
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Digital-Transformation-Roadmap-for-Companies.pptx
Advanced methodologies resolving dimensionality complications for autism neur...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Spectral efficient network and resource selection model in 5G networks
Building Integrated photovoltaic BIPV_UPV.pdf
Machine learning based COVID-19 study performance prediction
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
“AI and Expert System Decision Support & Business Intelligence Systems”

Immutable Deployment Hands-On Lab Interop ITX

  • 1. Taking Physical Infrastructure from Automation to Autonomy May 2018 Immutable Deployments
  • 2. 2 8 Years Building Next Generation Physical Automation Software RackN and Digital Rebar Rob Hirschfeld and Greg Althaus have established RackN to deliver next generation provisioning software with a unique culture of “plumbers” who feel at home in the details and aren’t afraid to do what needs to be done.
  • 3. 3 Physical Infrastructure Automation Digital Rebar Provision ● PXE Provisioner ● Tiny Footprint w/ No External Dependencies ● Supports Bare Metal, Containers, Virtualization, Cloud, Edge, etc. Open Source Digital Rebar Community ● http://rebar.digital ● GitHub : https://github.com/digitalrebar
  • 4. 4 What is “modern” Provisioning? Cloud Native Architecture • Create/Destroy Cloud Pattern • Operator Control API-First Focus • All Features API implementation • CLI is 100% generated from API • UX is Modern, Air Gap, & SaaS Lightweight • DRP is 30MB standalone binary • Portable (Intel, ARM, …) Visibility into Operations • Logs all Activities • Success/Fail Info in UX Flexible Workflow Mechanism • Precise Control of Provisioning • Build Complex Workflows from Simple Components Integrations and Connections • Extensibility via Plugins • Leverage Existing Infrastructure
  • 5. 5 Physical Infrastructure Automation RackN Portal ● Event Driven Configuration ● Manage All Endpoints (Cloud/Phy) ● IPv6 Native Integrations ● Air Gap UX RackN Portal Access ● http://portal.rackn.io
  • 6. 6 RackN Features Image Deploy • Deploys systems from images • Image can be root tarball or full disk image Image Builder • Build images from Workflows • Capture existing systems Terraform • Use terraform plans • Drive metal more like cloud IPMI Control • Out-of-band operations • Bare metal and others Manage Hardware • Bios/Raid/Firmware • Pluggable for extensibility • Dell and some SuperMicro Integrations • Drive other systems • E.g. Honeycomb
  • 7. Immutable Deployments What are we going to do?!?
  • 8. 8 What is the plan for today? 1. Gather the Required Items 2. Deploy Digital Rebar Provision 3. Log into RackN SaaS 4. Add Content and Plugins 5. Configure to Deploy Images 6. Configure to Access Packet.net 7. Add Systems for Terraform to Manage 8. Image Systems with Terraform 9. Reset Systems with Terraform 10. Reimage Systems with Terraform
  • 9. 9 Required Items ● Browser ● SSH Client ○ Putty for windows - https://www.putty.org/ ● 2-3 Packet.net machines ○ One for DRP Endpoint ○ One or Two to install/deploy ● Add a tab with the cheat sheet ○ http://pkt.tuna.org:8091/files/itx/info.txt
  • 10. 10 Deploy Digital Rebar Provision In your browser, head over to https://tip.rackn.io SSH into your first Packet.net node ● Use the private key from the cheat sheet ● Use your assigned IP address Install DRP in production mode: ● mkdir drp ; cd drp ● curl -fsSL get.rebar.digital/stable | bash -s -- install
  • 11. 11 Deploy Digital Rebar Provision At this point, DRP is available to start and enable ● systemctl daemon-reload && systemctl start dr-provision ● systemctl daemon-reload && systemctl enable dr-provision ● Should be in you install.sh command output We also need to include the discovery iso. ● drpcli bootenvs uploadiso sledgehammer ● Should be in your install.sh output ● Takes about 30 seconds Check to see if we can access DRP from the Browser ● On RackN portal page, enter your IP address with :8092 on the end ○ E.g. 147.75.73.159:8092 ● Click the little arrow ● Click link to go directly to the node. Accept the self-signed certificate
  • 12. 12 Log into RackN SaaS ● Click the RackN Portal Login ● Use the following credentials ○ User: itxinterop@rackn.com ○ Password: itx2018Rules! This will enable our access to plugins, content, and UX features. If you want to continue playing, you can later create your account and get trial licenses for these same features.
  • 13. 13 Add Content and Plugins ● Head over the the Content Packages section of the UX ● Add Content Packages ○ Terraform ○ Task-Library
  • 14. 14 Add Content and Plugins ● Head over the the Plugin Providers section of the UX ● Add Plugin Providers ○ Packet IPMI ○ License ○ Image-Deploy
  • 15. 15 Add Content and Plugins ● Where are we? ○ We have content loaded ○ We have plugins that can be configured. ○ We have a discovery ISO ready to go ● Next Up ○ Configuring system to control machines
  • 16. 16 Configure to Deploy Images ● Create Discover Workflow ○ Process machines go through when first discovered or reset. ● Select Workflows Navigation ● Click Add to add the discover workflow ● In the newly added discover workflow, drag and drop the following in order ○ discover ○ packet-discover ○ terraform-ready
  • 17. 17 Configure to Deploy Images ● Create Image Workflow ○ Process machines go through to image a system. ● Select Workflows Navigation ● Click Add to add the image workflow ● In the newly added image workflow, drag and drop the following in order ○ image-deploy ○ image-deploy-cloud-init ○ runner-service ○ complete
  • 19. 19 Configure to Deploy Images ● Create Profile To Define Image Deployment ● Select Profiles Navigation ● Click Add to add the centos-image profile ● Add the following parameters to the profile ○ image-deploy/image-file: "files/images/centos.tgz" ○ image-deploy/image-os: "linux" ○ image-deploy/image-type: "tgz"
  • 21. 21 Configure to Deploy Images ● Set Preferences in the System Info Page ○ Default Workflow = discover ○ Default Stage = discover ○ Default BootEnv = sledgehammer ○ Unknown BootEnv = discovery ● SAVE
  • 22. 22 Configure to Deploy Images ● Get the centos image ● Do the following: ○ curl -O http://pkt.tuna.org:8091/files/images/centos.tgz ○ drpcli files upload centos.tgz as images/centos.tgz
  • 23. 23 Configure to Access Packet.net We need to let DRP access the Packet.net portal to do IPMI actions against the machines. ● Navigate to Plugins ● Click Add ● Select the packet-ipmi Provider ● In the parameter box, type packet/api-key and click add ● In the new box by packet/api-key, add 9QiCXcTSpMMSc7vRna2mqSsoCcWUpRbx ● In the parameter box, type packet/project-id and click add ● In the new box by packet/project-id, add cc522a04-ef6a-4c09-8d9c-4aebea63a434 ● Save
  • 24. 24 Add Systems for Terraform to Manage ● Reboot Machines ○ Using Master DRP Endpoint to restart install machines ● Wait for machines to show up!
  • 25. 25 Image Systems with Terraform ● Install Terraform ○ yum install -y unzip ○ curl -O http://pkt.tuna.org:8091/files/itx/terraform_0.11.7_linux_amd64.zip ○ unzip terraform_0.11.7_linux_amd64.zip ○ cp terraform /usr/local/bin ○ chmod +x /usr/local/bin/terraform ○ rm -f terraform_0.11.7_linux_amd64.zip ● Install Terraform plugin ○ mkdir /root/terraform ; cd /root/terraform ○ curl -O http://pkt.tuna.org:8091/files/itx/terraform-provider-drp ○ chmod +x terraform-provider-drp
  • 26. 26 Image Systems with Terraform ● Build Plan File ● vi image.tf provider "drp" { api_user = "rocketskates" api_password = "r0cketsk8ts" api_url = "https://127.0.0.1:8092" } resource "drp_machine" "image_one_node" { count = 1 Workflow = "image" Description = "Terraform controller linux image node" add_profiles = [ "centos-linux" ] } ● Or cheat: curl -O http://pkt.tuna.org:8091/files/itx/image.tf
  • 27. 27 Image Systems with Terraform ● Apply plan ○ terraform init ○ terraform plan ○ terraform apply ● Watch systems ○ Using the Packet.net ssh remote console ○ drpcli machines list | grep packet/sos
  • 28. 28 Reset Systems with Terraform ● Terraform Destroy ○ terraform destroy ● Watch systems return to discovery and ready state ○ Same ssh command and UX views
  • 29. 29 Reimage Systems with Terraform ● Apply plan ○ terraform init ○ terraform plan ○ terraform apply ● Watch systems ○ Using the Packet.net ssh remote console ○ drpcli machines list | grep packet/sos
  • 31. Backup Slides / Next Steps What is Immutable? ● https://www.slideshare.net/rhirschfeld/srecon-immutable-infrastructure -rethinking-configuration-mgmt DRP Terraform Guided Tour ● https://youtu.be/RtuZQHKmd9U