owf13 - osmeetup - steven hardy
DESCRIPTION
Open Stack Meetup - Steven HardyTRANSCRIPT
Steven Hardy ([email protected])3rd October 2013
Heat – Orchestration for OpenStackOverview, Intro to Provider Resources
HeatHeat Overview Overview
Compute(Nova)
REST
Glance(Image Store)
Instance- cloud-init- cfn-init- cfn-hup
-cfn-push-stats
Network(Neutron)
Block Storage(Cinder)
Object Storage(Swift)
Orchestration (Heat)
Stack/ResourceTemplates
REST RESTR
ES
TRE
ST
RE
ST
Metrics/Alarms(Ceilometer)
User Portal (Horizon)
RE
ST
Identity(Keystone)
RE
ST
Havana FeaturesHavana Features● Concurrent resource operations
● Much improved networking/Neutron support
● Initial support for native template language (HOT)
● “Provider/Environments” abstractions (template-defined resources)
● Ceilometer integration for metrics/monitoring/alarms
● UpdateStack improvements
● Initial integration with keystone trusts functionality
● Many more native resource types
● Horizon (UI) integration
● Stack “actions” (suspend/resume)
Heat Template OverviewHeat Template Overview
Heat Template OverviewHeat Template Overview
Heat Template OverviewHeat Template Overview
Heat Nested Stack TemplatesHeat Nested Stack Templates
Openshift ExampleOpenshift Example
LaunchConfig(Openshift Node)
Openshift Broker
AutoScalingGroup
Openshift Users
Heat Stack
Openshift ExampleOpenshift Example
LaunchConfig(Openshift Node)
Openshift BrokerAWS::CloudFormation::Stack
AutoScalingGroup
Openshift Users
Heat Stack
Heat Stack
Broker Instance
Heat Nested Stack TemplatesHeat Nested Stack Templates
"Resources" : { "OpenshiftBroker": { "Type": "AWS::CloudFormation::Stack", "Properties": { "TemplateURL": "https://somewhere/something.template",
“Parameters”: <map containing stack parameters> } },
● Available in Grizzly Heat
● AWS compatible interface to nested stacks
● Allows user to compose layered/reusable deployments
● Hard-coded URL's is inconvenient
Provider ResourcesProvider Resources
Provider ResourcesProvider Resources● Heat native interface to nested stacks
● No hard-coded URLs (in the template)
● Staging workflow/testing much simplified
● Allows deployer and user to define custom resources
– /etc/heat/environment.d
– /etc/heat/templates
– Users heat stack-create –environment-file=foo.yaml
● Users can override default deployer resources!
resource_registry: "My::Custom::Server": file:///foo/bar.yaml
Heat Resource TypesHeat Resource TypesOS::Ceilometer::AlarmOS::Cinder::VolumeOS::Cinder::VolumeAttachmentOS::Heat::AccessPolicyOS::Heat::CWLiteAlarmOS::Heat::HARestarterOS::Heat::InstanceGroupOS::Neutron::FirewallOS::Neutron::FirewallPolicyOS::Neutron::FirewallRuleOS::Neutron::FloatingIPOS::Neutron::FloatingIPAssociationOS::Neutron::HealthMonitorOS::Neutron::IKEPolicyOS::Neutron::IPsecPolicyOS::Neutron::IPsecSiteConnectionOS::Neutron::LoadBalancerOS::Neutron::NetOS::Neutron::PoolOS::Neutron::PortOS::Neutron::RouterOS::Neutron::RouterGatewayOS::Neutron::RouterInterfaceOS::Neutron::SubnetOS::Neutron::VPNServiceOS::Nova::ServerOS::Swift::Container
AWS::AutoScaling::AutoScalingGroupAWS::AutoScaling::LaunchConfigurationAWS::AutoScaling::ScalingPolicyAWS::CloudFormation::StackAWS::CloudFormation::WaitConditionAWS::CloudFormation::WaitConditionHandleAWS::EC2::EIPAWS::EC2::EIPAssociationAWS::EC2::InstanceAWS::EC2::InternetGatewayAWS::EC2::NetworkInterfaceAWS::EC2::RouteTableAWS::EC2::SecurityGroupAWS::EC2::SubnetAWS::EC2::SubnetRouteTableAssocationAWS::EC2::VolumeAWS::EC2::VolumeAttachmentAWS::EC2::VPCAWS::EC2::VPCGatewayAttachmentAWS::ElasticLoadBalancing::LoadBalancerAWS::IAM::AccessKeyAWS::IAM::UserAWS::RDS::DBInstanceAWS::S3::Bucket
Icehouse RoadmapIcehouse Roadmap● Developing HOT DSL
● Engine scale-out
● Rolling Updates (UpdatePolicy, Metadata update)
● Native in-instance tools
● Template-function plugins
● Software configuration resources (Puppet/Chef/...)
● More native resource types
● Stack snapshot/restore
● Per-resource suspend/resume
● Better cloud-init integration
● ...
Links, any Questions?Links, any Questions?
● http://docs.openstack.org/developer/heat/
● http://openstack.redhat.com/Docs
● http://github.com/openstack/heat
● https://launchpad.net/heat
● http://wiki.openstack.org/wiki/Heat
● http://hardysteven.blogspot.co.uk
● https://github.com/hardys/presentations