SlideShare a Scribd company logo
1 of 34
Download to read offline
© 2012VMware Inc. All rights reserved
Confidential
VMware vCloud Hybrid Service and Puppet
Nan Liu, Sr. Systems Engineer - VMware Inc
2 Confidential
Overview
§  VMware vCloud Hybrid Service
§  Automation with Puppet
§  Lesson’s learned the hard way
3 Confidential
vCloud Hybrid Service
VMware vCloud
Hybrid Service
Your Data Center Software-Defined
Data Center
VMware vSphere &
vCloud Suite
Existing & New Apps
Seamless Networking
Common management
One Support call
4 Confidential
vCloud Hybrid Service (vCHS)
§  Customer:
5 Confidential
vCloud Hybrid Services
§  Engineer:
-------------- 1 ---------------
Init VPC
- Engine
- API Call
------------- 3 --------------
Install ESXi
Engine Broker Plugin
- Razor
Inputs:
- Razor IP
- Blade
- Hostname
- Network Information
Tasks:
- Create Policy
- Boot Blade
------------- 3 --------------
Prep TLM
Engine Broker Plugin
- Puppet vCenter
Inputs:
- TLM VCSA IP
- TLM VCSA Creds
- TLM DVS
- Portgroup Name
- Portgroup VLAN
- Portgroup Settings
- Ports: 128
- Load Balancing: IP Hash
- Reset at Disconnect: Enabled
Tasks:
- Create PGs
- d#p#v#-dmz-pg-##
- d#p#v#-esx-pg-##
- d#p#v#-pvt-pg-##
----------- 4 ------------
Deploy VPC VCSA
Engine Broker Plugin
- OVFTool
Inputs:
- OVA
- TLM vCenter IP
- TLM vCenter Creds
- Cluster
- Datastore
- VM Name
- Network
- VM Hardware Settings
- Memory: 16384
Tasks:
- Deploy VPC VCSA
- d#p#v#-mgmt-vc0
- Update VM Hardware
----------- 4 ------------
Deploy VPC VSE Pub Pair
Engine Broker Plugin
- Puppet vShield
Inputs:
- TLM VSM IP
- TLM VSM Creds
- Edge Settings
- Name
- Hostname
- Enable HA
- Declare Dead Time: 6
- Interface 1
- Heartbeat IP Addresses
- TLM Datacenter
- TLM Cluster
- TLM Shared Datastore
- Size: Compact
- Interface Settings
- Interface 0
- Name
- Type
- Portgroup
- Subnet Settings
- Interface 1
- Name
- Type
- Portgroup
- Subnet Settings
Tasks:
- Create VPC Pub Edge
- d#p#v#-mgmt-vse-pub
----------- 4 ------------
Deploy VPC VSE Priv Pair
Engine Broker Plugin
- Puppet VMware-vShield
Inputs:
- TLM VSM IP
- TLM VSM Creds
- Edge Settings
- Name
- Hostname
- Enable HA
- Declare Dead Time: 6
- Interface 2
- Heartbeat IP Addresses
- TLM Datacenter
- TLM Cluster
- TLM Shared Datastore
- Size: Compact
- Interface Settings
- Interface 0
- Name: InterVPC
- Type
- Portgroup
- Subnet Settings
- Interface 1
- Name: DMZ
- Type
- Portgroup
- Subnet Settings
- Interface 2
- Name: PVT
- Type
- Portgroup
- Subnet Settings
- Interface 3
- Name: ESX
- Type
- Portgroup
- Subnet Settings
Tasks:
- Create VPC Priv Edge
- d#p#v#-mgmt-vse-priv
----------- 5 ------------
Configure VPC VSE Pub Pair
Engine Broker Plugin
- Puppet vShield
Inputs:
- TLM VSM IP
- TLM VSM Creds
- Edge Settings
- DNS Settings
- Firewall Settings
- IPsets
- Application Groups
- Applications
- Firewall Rules
- Load Balancer Settings
- Enable
- Pools
- VIPs
- Default Route
- Syslog
Tasks:
- Configure VPC VSE Pub Pair
----------- 5 ------------
Configure VPC VSE Priv Pair
Engine Broker Plugin
- Puppet VMware-vShield
Inputs:
- TLM VSM IP
- TLM VSM Creds
- Edge Settings:
- Syslog
- DNS
- Firewall Settings
- IPsets
- Application Groups
- Applications
- Firewall Rules
- Load Balancer Settings
- Enable
- Pools
- VIPs
- Default Route
Tasks:
- Configure VPC VSE Priv Pair
----------- 7 ------------
Init VPC VCSA
Engine Broker Plugin
- Puppet VMware-VCSA
Inputs:
- Credentials
- NTP Settings
- Syslog Settings
- DB Settings
- Sizing: Large
Tasks:
- Init VPC VCSA
----------- 4 ------------
Deploy VPC VSM
Engine Broker Plugin
- OVFTool
Inputs:
- OVA
- TLM vCenter IP
- TLM vCenter Creds
- Cluster
- Datastore
- VM Name
- Network
Tasks:
- Deploy VPC VSM
- d#p#v#-mgmt-vsm0
----------- 9 ------------
Configure VPC VSM
Engine Broker Plugin
- Puppet VMware-vShield
Inputs:
- VPC VSM IP
- VPC VSM Creds
- VPC VCSA IP
- VPC VCSA Creds
- NTP
- Syslog
Tasks:
- Configure VPC VSM
----------- 4 ------------
Deploy VPC vCloud
Engine Broker Plugin
- ??
Inputs:
- TLM vCenter IP
- TLM vCenter Creds
- Cluster
- Datastore
- VM Names
- VM Settings
- Network
Tasks:
- Deploy VPC vCloud Cells
- Deploy VPC vCloud NFS
- Deploy VPC vCloud DB
-------------- 2 -----------------
Reserve VPC
Engine Broker Plugin:
- Rez
Inputs:
- VPC #
----------- 8 ------------
Configure VPC vCenter
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP Address
- VPC VCSA Credentials
- Licenses
- vCenter
- ESXi
- vCloud Net & Sec
- Retention Policies
- Task: Enabled
- Event: Enabled
- Datacenter Name
- Cluster Settings
- Name
- DRS Settings
- EVC Settings?
- DVS Configuration
- Name: d#p#v#
- Settings
- Uplinks: 4
- MTU: 9000
- Enable NIOC
- Portgroup settings
- Name
- VLAN
- Settings
-Tasks:
- Configure VPC VCSA
- Configure DVS
----------- 7 ------------
Init VPC VSM
Engine Broker Plugin
- ??
Inputs:
- VPC VSM Network Settings
Tasks:
- Init VPC VSM
----------- 6 ------------
VPC VCSA Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC VCSA IP
Tasks:
- VPC VCSA Port Check
----------- 6 ------------
VPC VSM Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC VSM IP
Tasks:
- VPC VSM Port Check
----------- 6 ------------
Verify VPC ESXi
Engine Broker Plugin
- Puppet Util?
Inputs:
- VPC ESXi IP
- VPC ESXii Creds
Tasks:
- Verify VPC ESXi
----------- 9 ------------
Add ESXi to VPC Datacenter
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC ESXi IP
- VPC ESXii Creds
- VPC VCSA IP
- VPC VCSA Creds
- VPC Datacenter Name
Tasks:
- Add ESXi to VPC Datacenter
----------- 10 ------------
Configure VPC ESXi
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP
- VPC VCSA Creds
- DNS Settings
- NTP Settings
- Syslog Settings
- VMK Configuration
- vMotion
- Storage
- FT
- ???
Tasks:
- Configure ESXi
- Add to DVS
- Add VMK Networking
----------- 11 ------------
Add Storage to VPC ESXi
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP
- VPC VCSA Creds
- iSCSI Settings
- LUN Information
Tasks:
- Configure iSCSI
- Add LUNs
------------- 3 ---------------
Configure VNX VPC Storage Group
Engine Broker Plugin:
- Storage Controller
Inputs:
- VPC #
- LUN IDs
- ESXi iSCSI information
Tasks:
- Create VPC Storage Group
- Configure VNX Host registrations
- Add LUNs to VPC Storage Group
----------- 6 ------------
VPC vCloud Cell Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC vCloud Cell IP
Tasks:
- VPC vCloud Cell Port Check
----------- 6 ------------
VPC vCloud Cell Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC vCloud Cell IP
Tasks:
- VPC vCloud Cell Port Check
----------- 6 ------------
VPC vCloud NFS Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC vCloud Cell IP
Tasks:
- VPC vCloud NFS Port Check
----------- 6 ------------
VPC vCloud DB Port Check
Engine Broker Plugin
- Util
Inputs:
- VPC vCloud Cell IP
Tasks:
- VPC vCloud DB Port Check
----------- 7 ------------
Configure VPC vCloud NFS
Engine Broker Plugin
- ??
Inputs:
- VPC vCloud NFS IP
- VPC vCloud NFS Creds
- NFS Export Settings
- ???
Tasks:
- Config VPC vCloud NFS
----------- 7 ------------
Configure VPC vCloud DB
Engine Broker Plugin
- ??
Inputs:
- VPC vCloud DB IP
- VPC vCloud DB Creds
- vCloud Database Config
- ???
Tasks:
- Configure VPC vCloud DB
----------- 8 ------------
Configure VPC vCloud Cell
Engine Broker Plugin
- ??
Inputs:
- VPC vCloud Cell IP
- VPC vCloud Cell Creds
- VPC vCloud NFS Config
- VPC vCloud Installation
Responses.properties
- VPC vCloud Cell Cert
- NTP Settings
Tasks:
- Install and Configure NTP
- Install VPC vCloud Cert
- Configure vCD
- Configure vCD Transfer Service
----------- 9 ------------
Configure VPC vCloud Cell
Engine Broker Plugin
- ??
Inputs:
- VPC vCloud Cell IP
- VPC vCloud Cell Creds
- VPC vCloud Installation
Responses.properties
- VPC vCloud NFS Config
- VPC vCloud Cell Cert
- NTP Settings
Tasks:
- Install and Configure NTP
- Install VPC vCloud Cert
- Configure vCD
- Configure vCD Transfer Service
----------- 12 ------------
Create VPC VM Storage Profile
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP
- VPC VCSA Creds
- Storage Profile Name
Tasks:
- Create VPC VM Storage Profile
- Tag VPC Datastores
----------- 13 ------------
Add VPC vCenter to vCloud
Engine Broker Plugin
- Puppet VMware-vCloud
Inputs:
- VPC vCloud IP
- VPC vCloud Creds
- VPC VCSA IP
- VPC VCSA Creds
- ???
Tasks:
- Add VPC vCenter to VPC vCloud
----------- 10 ------------
Configure VXLAN
Engine Broker Plugin
- Puppet VMware-vShield
Inputs:
- VPC VSM IP
- VPC VSM Creds
- Multicast Information
- VPC DVS Information
- VPC Cluster
- ???
Tasks:
- Configure VXLAN
----------- 11 ------------
Reconfigure VXLAN VMK Ports
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP
- VPC VCSA Creds
- VXLAN VMK Network Settings
Tasks:
- Configure VXLAN VMK Ports
----------- 14 ------------
Configure VPC vCloud
Engine Broker Plugin
- Puppet VMware-vCloud
Inputs:
- VPC vCloud IP
- VPC vCloud Creds
- Provider VDC Name
- External Org Network Name
- ???
Tasks:
- Configure VPC vCloud
----------- 12 ------------
Configure VPC Cluster HA
Engine Broker Plugin
- Puppet VMware-vCenter
Inputs:
- VPC VCSA IP
- VPC VCSA Creds
- VPC ESXi Hosts
- VPC Cluster
- HA Settings
- Failure: percentage
Tasks:
- Add VPC ESXi hosts to Cluster
- Configure VPC Cluster HA Settings
----------- 5 ------------
Prep VPC vCloud Cell
Engine Broker Plugin
- Puppet vCenter
- ??
Inputs:
- VPC VCSA IP
- VPC VCSA Cred
- VPC vCloud Cell Name
- Static Routes
Tasks:
- PowerOn VM
- Set Hostname
- Set Static Routes
- Configure Networking
----------- 5 ------------
Prep VPC VCSA
Engine Broker Plugin
- ??
Inputs:
- Credentials
- Network Settings
Tasks:
- Configure Networking
----------- 5 ------------
Prep VPC vCloud Cell
Engine Broker Plugin
- Puppet vCenter
- ??
Inputs:
- VPC VCSA IP
- VPC VCSA Cred
- VPC vCloud Cell Name
- Static Routes
Tasks:
- PowerOn VM
- Set Hostname
- Set Static Routes
- Configure Networking
----------- 5 ------------
Prep VPC VSM
Engine Broker Plugin
- ??
Inputs:
- VPC VCSA IP
- VPC VCSA Cred
- VPC VSM name
- Network Settings
Tasks:
- PowerOn VM
- Configure Networking
6 Confidential
vCloud Hybrid Service
§  Start your engine:
7 Confidential
Click Fail
Add VPC Hosts to VCSA
§  Continuing from the vCenter view of the vSphere Web Client
§  In the main content pane, click Related Objects > Clusters
§  Click on VPC on the list
§  Click the second plus icon to add a host
•  Host name: Enter first host FQDN
•  Location: Confirm the location is set.
•  Click NEXT
§  …
§  Repeat Manually?
8 Confidential
Problem
Challenges:
§  Reduce deployment time
§  Reduce complexity
§  Scale … Fast
Solution:
1.  Automate
2.  See first rule
9 Confidential
vCloud Director
10 Confidential
Infrastructure Services
Server & OS Services (Puppet)
§  NTP
§  Syslog
§  RabbitMQ
§  …
11 Confidential
Automation Challenges
§  Service APIs:
•  vCenter: vSphere API (soap)
•  vCNS: vShield API (REST)
•  vCD: vCD API (REST)
§  vCenter/vCNS servers are appliances
12 Confidential
Why not ‘puppet device’?
§  Limited to one device at a time:
Puppet Management
Server
VMware vCenter
VMware vShield
Datacenter
ESX
ESX
ESX
Datacenter
ESX
ESX
vSphere API
vShield API
Edge
13 Confidential
Solution: Take the road less traveled
§  Everything is a Native Resource
§  Transport to the rescue
•  vCenter/vCNS Appliance: SSH
•  vCenter API: RbVmomi
•  vShield API: rest-client + subset of savon project
•  vCD API: rest-client
14 Confidential
Transport Resource
§  Credentials
§  Connectivity Options
§  Multiple connections
15 Confidential
Transport Example
16 Confidential
Transport
Puppet Management
Server
VMware vCenter
SSH
Puppet Management
Server
VMware vCenter
vSphere API
Datacenter
Folders
Datacenter
ESX
17 Confidential
vCenter Appliance Resource
18 Confidential
vCenter Resource
19 Confidential
vCD Resources
20 Confidential
Transport
§  Persistent shared connection
§  Connection cleanup after catalog apply
§  Open to supporting additional transport
•  VMware-RabbitMQ (REST)
21 Confidential
Modules
Puppet Enterprise Users (PE 2.7):
§  http://forge.puppetlabs.com/vmware
Puppet Developers (Developing Puppet 3):
§  http://github.com/vmware/vmware-vmware_lib
§  http://github.com/vmware/vmware-vcsa
§  http://github.com/vmware/vmware-vcenter
§  http://github.com/vmware/vmware-vshield
22 Confidential
Lessons Learned
§  Working with APIs
§  Puppet 2.7.x -> Puppet 3.x
§  Puppet Wat?
23 Confidential
Working with APIs
§  Functionalities not always in API*
§  Dealing with API versions
§  Metaprogramming
* Even if you are @lamw :)
24 Confidential
Dealing with outliers
§  Accept work around
ssh.exec( "
esxcfg-vmknic -i #{opts[:new_mgmt_ip]}
-n #{opts[:new_mgmt_mask]}
-p 'Management Network' &&
esxcfg-route -a default #{opts[:new_mgmt_gw]} &&
esxcfg-vswitch -p 'Management Network'
-v #{opts[:new_mgmt_vlan]} vSwitch0
" )
§  Last resort, file a ticket
t = ServiceNow::Request.new(
:subject => ”Please click yes"
)
ServiceNow.create(t)
25 Confidential
Testing API versions
§  puppet apply --libdir=/dev/null
§  bundler exec + Gemfile
source 'file:///opt/repo/’
source 'https://rubygems.org’
gem 'facter’
gem 'puppet', '3.2.2’
gem 'gyoku', '1.0.0z2’
gem 'hashdiff’
gem 'net-ssh’
gem 'nokogiri’
gem 'nori', '1.1.4’
gem 'rbvmomi', '1.6.0.z1’
gem 'rest-client’
gem 'pry'
26 Confidential
Metaprogramming
Good
§  Reduces boiler plate code
§  No more API ‘transfer’ bugs
§  API reference = Resource reference
Bad
§  Difficult to debug
§  Fixing API issues results in surprises
§  Not all APIs are designed to be idempotent
•  action => { :create, :modify }
27 Confidential
Puppet 3 Upgrade
§  What the scope?
§  Where’s my HOME?
§  Ruby 1.9.3
28 Confidential
What the scope?
§  Fully qualify ::class::var
§  Fix your template @var, scope.lookup(‘::class::var’)
29 Confidential
Where’s my HOME?
§  Exec specify HOME.
§  Providers Fix:
if respond_to? :has_command
has_command(:brew, "/usr/local/bin/brew") do
environment({ 'HOME' => ENV['HOME'] })
end
else
commands :brew => "/usr/local/bin/brew”
end
30 Confidential
Puppet Wat
Boolean:
§  adrientthebo/boolean
§  vmware_lib property
§  Symbool in Hash
What the undef?
§  Careful about behavior
ENC Data
§  ENC integer .to_s
31 Confidential
Where we are Today
§  Deploy VPC: #
§  95% reduction in deployment time
§  Configuration Management = Version
§  Metrics:
•  47 Modules
•  70 Custom Resources
•  1400 Resources
32 Confidential
Work at VMware
Challenges:
§  Software Defined Datacenter
•  Data driven configuration management
§  Software Defined Networking
•  vCNS, Nicira VSX
§  Scale + Speed
•  10X, 100X, 1000X ?
•  Faster !!! Now !!!
33 Confidential
Thanks!
§  Nicholas Weaver
§  Randy Brown
§  Shawn Holland
§  Floyd Arguello
§  David Scherer
§  Ryan Zenker
§  Justin Guidroz
§  Dan Pittman
§  Branan Purvine-Riley
§  Zach Leslie
§  vCHS R&D Team
34 Confidential
Q & A

More Related Content

What's hot

3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfvvideos
 
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014Amazon Web Services
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communicationsAnimesh Dixit
 
Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4InfraEngineer
 
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stable
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/StableSR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stable
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stablejuet-y
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleChanaka Lasantha
 
CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_InfraEngineer
 
P&G BT Global Services - LLD Final Revision Year 2008.
P&G BT Global Services - LLD Final Revision Year 2008.P&G BT Global Services - LLD Final Revision Year 2008.
P&G BT Global Services - LLD Final Revision Year 2008.Kapil Sabharwal
 
Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Sathishkumar A
 
Nexus 1000v part ii
Nexus 1000v part iiNexus 1000v part ii
Nexus 1000v part iiKrunal Shah
 
Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stablejuet-y
 
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSDCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSdchq
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석Yongyoon Shin
 
Factory setup wsa_9.2_v1.0
Factory setup wsa_9.2_v1.0Factory setup wsa_9.2_v1.0
Factory setup wsa_9.2_v1.0Dhruv Sharma
 
Stupid Web Caching Tricks
Stupid Web Caching TricksStupid Web Caching Tricks
Stupid Web Caching TricksMark Nottingham
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to HeroDhruv Sharma
 
OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?Yongyoon Shin
 

What's hot (20)

3. configuring a compute node for nfv
3. configuring a compute node for nfv3. configuring a compute node for nfv
3. configuring a compute node for nfv
 
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
 
vCenter and ESXi network port communications
vCenter and ESXi network port communicationsvCenter and ESXi network port communications
vCenter and ESXi network port communications
 
Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4Packet walks in_kubernetes-v4
Packet walks in_kubernetes-v4
 
Nexus 1000v
Nexus 1000vNexus 1000v
Nexus 1000v
 
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stable
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/StableSR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stable
SR-IOV, KVM and Intel X520 10Gbps cards on Debian/Stable
 
Free radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmapleFree radius billing server with practical vpn exmaple
Free radius billing server with practical vpn exmaple
 
CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_CKA(Kubernetes 자격증) 잘 준비하는 법_
CKA(Kubernetes 자격증) 잘 준비하는 법_
 
P&G BT Global Services - LLD Final Revision Year 2008.
P&G BT Global Services - LLD Final Revision Year 2008.P&G BT Global Services - LLD Final Revision Year 2008.
P&G BT Global Services - LLD Final Revision Year 2008.
 
Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0Vmware management-with-vcli-5.0
Vmware management-with-vcli-5.0
 
Nexus 1000v part ii
Nexus 1000v part iiNexus 1000v part ii
Nexus 1000v part ii
 
11g r2 rac_guide
11g r2 rac_guide11g r2 rac_guide
11g r2 rac_guide
 
Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure Cohesive Networks Support Docs: VNS3 Configuration in Azure
Cohesive Networks Support Docs: VNS3 Configuration in Azure
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
 
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaSDCHQ Cloud Application Platform | Linux Containers | Docker PaaS
DCHQ Cloud Application Platform | Linux Containers | Docker PaaS
 
OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석OpenStack networking-sfc flow 분석
OpenStack networking-sfc flow 분석
 
Factory setup wsa_9.2_v1.0
Factory setup wsa_9.2_v1.0Factory setup wsa_9.2_v1.0
Factory setup wsa_9.2_v1.0
 
Stupid Web Caching Tricks
Stupid Web Caching TricksStupid Web Caching Tricks
Stupid Web Caching Tricks
 
Introduction to nexux from zero to Hero
Introduction to nexux  from zero to HeroIntroduction to nexux  from zero to Hero
Introduction to nexux from zero to Hero
 
OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?OpenStack DVR_What is DVR?
OpenStack DVR_What is DVR?
 

Similar to PuppetConf 2013 vCloud Hybrid Service and Puppet

VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...
VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...
VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...VMworld
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Amazon Web Services
 
VDI-in-a-Box installation guide for Lab PCs
VDI-in-a-Box installation guide for Lab PCs VDI-in-a-Box installation guide for Lab PCs
VDI-in-a-Box installation guide for Lab PCs Changhyun Lim
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Amazon Web Services
 
Let us make clear the aws directconnect
Let us make clear the aws directconnectLet us make clear the aws directconnect
Let us make clear the aws directconnectTomoaki Hira
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
AWS May Webinar Series - Deep Dive: Amazon Virtual Private Cloud
AWS May Webinar Series - Deep Dive: Amazon Virtual Private CloudAWS May Webinar Series - Deep Dive: Amazon Virtual Private Cloud
AWS May Webinar Series - Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean WinnCouch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean WinnTrevor Roberts Jr.
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014Amazon Web Services
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudAmazon Web Services
 
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks
 
Deep Dive: Amazon Virtual Private Cloud (March 2017)
Deep Dive: Amazon Virtual Private Cloud (March 2017)Deep Dive: Amazon Virtual Private Cloud (March 2017)
Deep Dive: Amazon Virtual Private Cloud (March 2017)Julien SIMON
 
Deep Dive VPC - Pop-up Loft TLV 2017
Deep Dive VPC - Pop-up Loft TLV 2017Deep Dive VPC - Pop-up Loft TLV 2017
Deep Dive VPC - Pop-up Loft TLV 2017Amazon Web Services
 
Cloud stack networking shapeblue technical deep dive
Cloud stack networking   shapeblue technical deep diveCloud stack networking   shapeblue technical deep dive
Cloud stack networking shapeblue technical deep diveShapeBlue
 
[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVROpenStack Korea Community
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsCreating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsAmazon Web Services
 
Creating Your Virtual Data Center: VPC Fundamentals
Creating Your Virtual Data Center: VPC FundamentalsCreating Your Virtual Data Center: VPC Fundamentals
Creating Your Virtual Data Center: VPC FundamentalsAmazon Web Services
 

Similar to PuppetConf 2013 vCloud Hybrid Service and Puppet (20)

VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...
VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...
VMworld 2013: The Story Behind Designing and Building a Distributed Automatio...
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
 
VDI-in-a-Box installation guide for Lab PCs
VDI-in-a-Box installation guide for Lab PCs VDI-in-a-Box installation guide for Lab PCs
VDI-in-a-Box installation guide for Lab PCs
 
Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)Deep Dive - Amazon Virtual Private Cloud (VPC)
Deep Dive - Amazon Virtual Private Cloud (VPC)
 
Let us make clear the aws directconnect
Let us make clear the aws directconnectLet us make clear the aws directconnect
Let us make clear the aws directconnect
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private Cloud
 
AWS May Webinar Series - Deep Dive: Amazon Virtual Private Cloud
AWS May Webinar Series - Deep Dive: Amazon Virtual Private CloudAWS May Webinar Series - Deep Dive: Amazon Virtual Private Cloud
AWS May Webinar Series - Deep Dive: Amazon Virtual Private Cloud
 
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean WinnCouch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
Couch to OpenStack: Neutron (Quantum) - August 13, 2013 Featuring Sean Winn
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private Cloud
 
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
(SDD422) Amazon VPC Deep Dive | AWS re:Invent 2014
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private Cloud
 
Deep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private CloudDeep Dive: Amazon Virtual Private Cloud
Deep Dive: Amazon Virtual Private Cloud
 
vmware_ports.pdf
vmware_ports.pdfvmware_ports.pdf
vmware_ports.pdf
 
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
Cohesive Networks Support Docs: VNS3 Configuration for Amazon VPC
 
Deep Dive: Amazon Virtual Private Cloud (March 2017)
Deep Dive: Amazon Virtual Private Cloud (March 2017)Deep Dive: Amazon Virtual Private Cloud (March 2017)
Deep Dive: Amazon Virtual Private Cloud (March 2017)
 
Deep Dive VPC - Pop-up Loft TLV 2017
Deep Dive VPC - Pop-up Loft TLV 2017Deep Dive VPC - Pop-up Loft TLV 2017
Deep Dive VPC - Pop-up Loft TLV 2017
 
Cloud stack networking shapeblue technical deep dive
Cloud stack networking   shapeblue technical deep diveCloud stack networking   shapeblue technical deep dive
Cloud stack networking shapeblue technical deep dive
 
[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR[OpenStack 하반기 스터디] HA using DVR
[OpenStack 하반기 스터디] HA using DVR
 
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity OptionsCreating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
Creating Your Virtual Data Center: VPC Fundamentals and Connectivity Options
 
Creating Your Virtual Data Center: VPC Fundamentals
Creating Your Virtual Data Center: VPC FundamentalsCreating Your Virtual Data Center: VPC Fundamentals
Creating Your Virtual Data Center: VPC Fundamentals
 

Recently uploaded

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsPrecisely
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Recently uploaded (20)

My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Unlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power SystemsUnlocking the Potential of the Cloud for IBM Power Systems
Unlocking the Potential of the Cloud for IBM Power Systems
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 

PuppetConf 2013 vCloud Hybrid Service and Puppet

  • 1. © 2012VMware Inc. All rights reserved Confidential VMware vCloud Hybrid Service and Puppet Nan Liu, Sr. Systems Engineer - VMware Inc
  • 2. 2 Confidential Overview §  VMware vCloud Hybrid Service §  Automation with Puppet §  Lesson’s learned the hard way
  • 3. 3 Confidential vCloud Hybrid Service VMware vCloud Hybrid Service Your Data Center Software-Defined Data Center VMware vSphere & vCloud Suite Existing & New Apps Seamless Networking Common management One Support call
  • 4. 4 Confidential vCloud Hybrid Service (vCHS) §  Customer:
  • 5. 5 Confidential vCloud Hybrid Services §  Engineer: -------------- 1 --------------- Init VPC - Engine - API Call ------------- 3 -------------- Install ESXi Engine Broker Plugin - Razor Inputs: - Razor IP - Blade - Hostname - Network Information Tasks: - Create Policy - Boot Blade ------------- 3 -------------- Prep TLM Engine Broker Plugin - Puppet vCenter Inputs: - TLM VCSA IP - TLM VCSA Creds - TLM DVS - Portgroup Name - Portgroup VLAN - Portgroup Settings - Ports: 128 - Load Balancing: IP Hash - Reset at Disconnect: Enabled Tasks: - Create PGs - d#p#v#-dmz-pg-## - d#p#v#-esx-pg-## - d#p#v#-pvt-pg-## ----------- 4 ------------ Deploy VPC VCSA Engine Broker Plugin - OVFTool Inputs: - OVA - TLM vCenter IP - TLM vCenter Creds - Cluster - Datastore - VM Name - Network - VM Hardware Settings - Memory: 16384 Tasks: - Deploy VPC VCSA - d#p#v#-mgmt-vc0 - Update VM Hardware ----------- 4 ------------ Deploy VPC VSE Pub Pair Engine Broker Plugin - Puppet vShield Inputs: - TLM VSM IP - TLM VSM Creds - Edge Settings - Name - Hostname - Enable HA - Declare Dead Time: 6 - Interface 1 - Heartbeat IP Addresses - TLM Datacenter - TLM Cluster - TLM Shared Datastore - Size: Compact - Interface Settings - Interface 0 - Name - Type - Portgroup - Subnet Settings - Interface 1 - Name - Type - Portgroup - Subnet Settings Tasks: - Create VPC Pub Edge - d#p#v#-mgmt-vse-pub ----------- 4 ------------ Deploy VPC VSE Priv Pair Engine Broker Plugin - Puppet VMware-vShield Inputs: - TLM VSM IP - TLM VSM Creds - Edge Settings - Name - Hostname - Enable HA - Declare Dead Time: 6 - Interface 2 - Heartbeat IP Addresses - TLM Datacenter - TLM Cluster - TLM Shared Datastore - Size: Compact - Interface Settings - Interface 0 - Name: InterVPC - Type - Portgroup - Subnet Settings - Interface 1 - Name: DMZ - Type - Portgroup - Subnet Settings - Interface 2 - Name: PVT - Type - Portgroup - Subnet Settings - Interface 3 - Name: ESX - Type - Portgroup - Subnet Settings Tasks: - Create VPC Priv Edge - d#p#v#-mgmt-vse-priv ----------- 5 ------------ Configure VPC VSE Pub Pair Engine Broker Plugin - Puppet vShield Inputs: - TLM VSM IP - TLM VSM Creds - Edge Settings - DNS Settings - Firewall Settings - IPsets - Application Groups - Applications - Firewall Rules - Load Balancer Settings - Enable - Pools - VIPs - Default Route - Syslog Tasks: - Configure VPC VSE Pub Pair ----------- 5 ------------ Configure VPC VSE Priv Pair Engine Broker Plugin - Puppet VMware-vShield Inputs: - TLM VSM IP - TLM VSM Creds - Edge Settings: - Syslog - DNS - Firewall Settings - IPsets - Application Groups - Applications - Firewall Rules - Load Balancer Settings - Enable - Pools - VIPs - Default Route Tasks: - Configure VPC VSE Priv Pair ----------- 7 ------------ Init VPC VCSA Engine Broker Plugin - Puppet VMware-VCSA Inputs: - Credentials - NTP Settings - Syslog Settings - DB Settings - Sizing: Large Tasks: - Init VPC VCSA ----------- 4 ------------ Deploy VPC VSM Engine Broker Plugin - OVFTool Inputs: - OVA - TLM vCenter IP - TLM vCenter Creds - Cluster - Datastore - VM Name - Network Tasks: - Deploy VPC VSM - d#p#v#-mgmt-vsm0 ----------- 9 ------------ Configure VPC VSM Engine Broker Plugin - Puppet VMware-vShield Inputs: - VPC VSM IP - VPC VSM Creds - VPC VCSA IP - VPC VCSA Creds - NTP - Syslog Tasks: - Configure VPC VSM ----------- 4 ------------ Deploy VPC vCloud Engine Broker Plugin - ?? Inputs: - TLM vCenter IP - TLM vCenter Creds - Cluster - Datastore - VM Names - VM Settings - Network Tasks: - Deploy VPC vCloud Cells - Deploy VPC vCloud NFS - Deploy VPC vCloud DB -------------- 2 ----------------- Reserve VPC Engine Broker Plugin: - Rez Inputs: - VPC # ----------- 8 ------------ Configure VPC vCenter Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP Address - VPC VCSA Credentials - Licenses - vCenter - ESXi - vCloud Net & Sec - Retention Policies - Task: Enabled - Event: Enabled - Datacenter Name - Cluster Settings - Name - DRS Settings - EVC Settings? - DVS Configuration - Name: d#p#v# - Settings - Uplinks: 4 - MTU: 9000 - Enable NIOC - Portgroup settings - Name - VLAN - Settings -Tasks: - Configure VPC VCSA - Configure DVS ----------- 7 ------------ Init VPC VSM Engine Broker Plugin - ?? Inputs: - VPC VSM Network Settings Tasks: - Init VPC VSM ----------- 6 ------------ VPC VCSA Port Check Engine Broker Plugin - Util Inputs: - VPC VCSA IP Tasks: - VPC VCSA Port Check ----------- 6 ------------ VPC VSM Port Check Engine Broker Plugin - Util Inputs: - VPC VSM IP Tasks: - VPC VSM Port Check ----------- 6 ------------ Verify VPC ESXi Engine Broker Plugin - Puppet Util? Inputs: - VPC ESXi IP - VPC ESXii Creds Tasks: - Verify VPC ESXi ----------- 9 ------------ Add ESXi to VPC Datacenter Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC ESXi IP - VPC ESXii Creds - VPC VCSA IP - VPC VCSA Creds - VPC Datacenter Name Tasks: - Add ESXi to VPC Datacenter ----------- 10 ------------ Configure VPC ESXi Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP - VPC VCSA Creds - DNS Settings - NTP Settings - Syslog Settings - VMK Configuration - vMotion - Storage - FT - ??? Tasks: - Configure ESXi - Add to DVS - Add VMK Networking ----------- 11 ------------ Add Storage to VPC ESXi Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP - VPC VCSA Creds - iSCSI Settings - LUN Information Tasks: - Configure iSCSI - Add LUNs ------------- 3 --------------- Configure VNX VPC Storage Group Engine Broker Plugin: - Storage Controller Inputs: - VPC # - LUN IDs - ESXi iSCSI information Tasks: - Create VPC Storage Group - Configure VNX Host registrations - Add LUNs to VPC Storage Group ----------- 6 ------------ VPC vCloud Cell Port Check Engine Broker Plugin - Util Inputs: - VPC vCloud Cell IP Tasks: - VPC vCloud Cell Port Check ----------- 6 ------------ VPC vCloud Cell Port Check Engine Broker Plugin - Util Inputs: - VPC vCloud Cell IP Tasks: - VPC vCloud Cell Port Check ----------- 6 ------------ VPC vCloud NFS Port Check Engine Broker Plugin - Util Inputs: - VPC vCloud Cell IP Tasks: - VPC vCloud NFS Port Check ----------- 6 ------------ VPC vCloud DB Port Check Engine Broker Plugin - Util Inputs: - VPC vCloud Cell IP Tasks: - VPC vCloud DB Port Check ----------- 7 ------------ Configure VPC vCloud NFS Engine Broker Plugin - ?? Inputs: - VPC vCloud NFS IP - VPC vCloud NFS Creds - NFS Export Settings - ??? Tasks: - Config VPC vCloud NFS ----------- 7 ------------ Configure VPC vCloud DB Engine Broker Plugin - ?? Inputs: - VPC vCloud DB IP - VPC vCloud DB Creds - vCloud Database Config - ??? Tasks: - Configure VPC vCloud DB ----------- 8 ------------ Configure VPC vCloud Cell Engine Broker Plugin - ?? Inputs: - VPC vCloud Cell IP - VPC vCloud Cell Creds - VPC vCloud NFS Config - VPC vCloud Installation Responses.properties - VPC vCloud Cell Cert - NTP Settings Tasks: - Install and Configure NTP - Install VPC vCloud Cert - Configure vCD - Configure vCD Transfer Service ----------- 9 ------------ Configure VPC vCloud Cell Engine Broker Plugin - ?? Inputs: - VPC vCloud Cell IP - VPC vCloud Cell Creds - VPC vCloud Installation Responses.properties - VPC vCloud NFS Config - VPC vCloud Cell Cert - NTP Settings Tasks: - Install and Configure NTP - Install VPC vCloud Cert - Configure vCD - Configure vCD Transfer Service ----------- 12 ------------ Create VPC VM Storage Profile Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP - VPC VCSA Creds - Storage Profile Name Tasks: - Create VPC VM Storage Profile - Tag VPC Datastores ----------- 13 ------------ Add VPC vCenter to vCloud Engine Broker Plugin - Puppet VMware-vCloud Inputs: - VPC vCloud IP - VPC vCloud Creds - VPC VCSA IP - VPC VCSA Creds - ??? Tasks: - Add VPC vCenter to VPC vCloud ----------- 10 ------------ Configure VXLAN Engine Broker Plugin - Puppet VMware-vShield Inputs: - VPC VSM IP - VPC VSM Creds - Multicast Information - VPC DVS Information - VPC Cluster - ??? Tasks: - Configure VXLAN ----------- 11 ------------ Reconfigure VXLAN VMK Ports Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP - VPC VCSA Creds - VXLAN VMK Network Settings Tasks: - Configure VXLAN VMK Ports ----------- 14 ------------ Configure VPC vCloud Engine Broker Plugin - Puppet VMware-vCloud Inputs: - VPC vCloud IP - VPC vCloud Creds - Provider VDC Name - External Org Network Name - ??? Tasks: - Configure VPC vCloud ----------- 12 ------------ Configure VPC Cluster HA Engine Broker Plugin - Puppet VMware-vCenter Inputs: - VPC VCSA IP - VPC VCSA Creds - VPC ESXi Hosts - VPC Cluster - HA Settings - Failure: percentage Tasks: - Add VPC ESXi hosts to Cluster - Configure VPC Cluster HA Settings ----------- 5 ------------ Prep VPC vCloud Cell Engine Broker Plugin - Puppet vCenter - ?? Inputs: - VPC VCSA IP - VPC VCSA Cred - VPC vCloud Cell Name - Static Routes Tasks: - PowerOn VM - Set Hostname - Set Static Routes - Configure Networking ----------- 5 ------------ Prep VPC VCSA Engine Broker Plugin - ?? Inputs: - Credentials - Network Settings Tasks: - Configure Networking ----------- 5 ------------ Prep VPC vCloud Cell Engine Broker Plugin - Puppet vCenter - ?? Inputs: - VPC VCSA IP - VPC VCSA Cred - VPC vCloud Cell Name - Static Routes Tasks: - PowerOn VM - Set Hostname - Set Static Routes - Configure Networking ----------- 5 ------------ Prep VPC VSM Engine Broker Plugin - ?? Inputs: - VPC VCSA IP - VPC VCSA Cred - VPC VSM name - Network Settings Tasks: - PowerOn VM - Configure Networking
  • 6. 6 Confidential vCloud Hybrid Service §  Start your engine:
  • 7. 7 Confidential Click Fail Add VPC Hosts to VCSA §  Continuing from the vCenter view of the vSphere Web Client §  In the main content pane, click Related Objects > Clusters §  Click on VPC on the list §  Click the second plus icon to add a host •  Host name: Enter first host FQDN •  Location: Confirm the location is set. •  Click NEXT §  … §  Repeat Manually?
  • 8. 8 Confidential Problem Challenges: §  Reduce deployment time §  Reduce complexity §  Scale … Fast Solution: 1.  Automate 2.  See first rule
  • 10. 10 Confidential Infrastructure Services Server & OS Services (Puppet) §  NTP §  Syslog §  RabbitMQ §  …
  • 11. 11 Confidential Automation Challenges §  Service APIs: •  vCenter: vSphere API (soap) •  vCNS: vShield API (REST) •  vCD: vCD API (REST) §  vCenter/vCNS servers are appliances
  • 12. 12 Confidential Why not ‘puppet device’? §  Limited to one device at a time: Puppet Management Server VMware vCenter VMware vShield Datacenter ESX ESX ESX Datacenter ESX ESX vSphere API vShield API Edge
  • 13. 13 Confidential Solution: Take the road less traveled §  Everything is a Native Resource §  Transport to the rescue •  vCenter/vCNS Appliance: SSH •  vCenter API: RbVmomi •  vShield API: rest-client + subset of savon project •  vCD API: rest-client
  • 14. 14 Confidential Transport Resource §  Credentials §  Connectivity Options §  Multiple connections
  • 16. 16 Confidential Transport Puppet Management Server VMware vCenter SSH Puppet Management Server VMware vCenter vSphere API Datacenter Folders Datacenter ESX
  • 20. 20 Confidential Transport §  Persistent shared connection §  Connection cleanup after catalog apply §  Open to supporting additional transport •  VMware-RabbitMQ (REST)
  • 21. 21 Confidential Modules Puppet Enterprise Users (PE 2.7): §  http://forge.puppetlabs.com/vmware Puppet Developers (Developing Puppet 3): §  http://github.com/vmware/vmware-vmware_lib §  http://github.com/vmware/vmware-vcsa §  http://github.com/vmware/vmware-vcenter §  http://github.com/vmware/vmware-vshield
  • 22. 22 Confidential Lessons Learned §  Working with APIs §  Puppet 2.7.x -> Puppet 3.x §  Puppet Wat?
  • 23. 23 Confidential Working with APIs §  Functionalities not always in API* §  Dealing with API versions §  Metaprogramming * Even if you are @lamw :)
  • 24. 24 Confidential Dealing with outliers §  Accept work around ssh.exec( " esxcfg-vmknic -i #{opts[:new_mgmt_ip]} -n #{opts[:new_mgmt_mask]} -p 'Management Network' && esxcfg-route -a default #{opts[:new_mgmt_gw]} && esxcfg-vswitch -p 'Management Network' -v #{opts[:new_mgmt_vlan]} vSwitch0 " ) §  Last resort, file a ticket t = ServiceNow::Request.new( :subject => ”Please click yes" ) ServiceNow.create(t)
  • 25. 25 Confidential Testing API versions §  puppet apply --libdir=/dev/null §  bundler exec + Gemfile source 'file:///opt/repo/’ source 'https://rubygems.org’ gem 'facter’ gem 'puppet', '3.2.2’ gem 'gyoku', '1.0.0z2’ gem 'hashdiff’ gem 'net-ssh’ gem 'nokogiri’ gem 'nori', '1.1.4’ gem 'rbvmomi', '1.6.0.z1’ gem 'rest-client’ gem 'pry'
  • 26. 26 Confidential Metaprogramming Good §  Reduces boiler plate code §  No more API ‘transfer’ bugs §  API reference = Resource reference Bad §  Difficult to debug §  Fixing API issues results in surprises §  Not all APIs are designed to be idempotent •  action => { :create, :modify }
  • 27. 27 Confidential Puppet 3 Upgrade §  What the scope? §  Where’s my HOME? §  Ruby 1.9.3
  • 28. 28 Confidential What the scope? §  Fully qualify ::class::var §  Fix your template @var, scope.lookup(‘::class::var’)
  • 29. 29 Confidential Where’s my HOME? §  Exec specify HOME. §  Providers Fix: if respond_to? :has_command has_command(:brew, "/usr/local/bin/brew") do environment({ 'HOME' => ENV['HOME'] }) end else commands :brew => "/usr/local/bin/brew” end
  • 30. 30 Confidential Puppet Wat Boolean: §  adrientthebo/boolean §  vmware_lib property §  Symbool in Hash What the undef? §  Careful about behavior ENC Data §  ENC integer .to_s
  • 31. 31 Confidential Where we are Today §  Deploy VPC: # §  95% reduction in deployment time §  Configuration Management = Version §  Metrics: •  47 Modules •  70 Custom Resources •  1400 Resources
  • 32. 32 Confidential Work at VMware Challenges: §  Software Defined Datacenter •  Data driven configuration management §  Software Defined Networking •  vCNS, Nicira VSX §  Scale + Speed •  10X, 100X, 1000X ? •  Faster !!! Now !!!
  • 33. 33 Confidential Thanks! §  Nicholas Weaver §  Randy Brown §  Shawn Holland §  Floyd Arguello §  David Scherer §  Ryan Zenker §  Justin Guidroz §  Dan Pittman §  Branan Purvine-Riley §  Zach Leslie §  vCHS R&D Team