TripleO No longer considered an Epic Spell of Transformation Transformation:: IN-PLACE UPGRADE!
TripleO "I am looking for someone to share in an adventure" Gandalf the Grey
TripleO is a project aimed at installing, upgrading and operating
OpenStack clouds using OpenStack’s own cloud facilities as the foundation building on Nova, Ironic, Neutron and Heat to automate cloud management at datacenter scale .
●
Product vs Service
●
Beyond cookie cutter
●
Maturity
●
Features
●
In-place Upgrades
●
OpenStack Foreman Installer (OFI)
●
RHEL OSP installer (Codename Staypuft)
●
Packstack
●
Ansible-based homebrew homebrew
●
SpinalStack (via acquisition of eNovance)
●
Bashstack
Deployment "Toto, I've a feeling we're not in Kansas any more." Dorothy
[stack@undercloud-new ~]$ grep -v "^#\|^$" undercloud.conf [DEFAULT] local_ip = 192.0.2.4/24 network_gateway = 192.0.2.4 undercloud_public_vip = 192.168.102.4 undercloud_admin_vip = 192.0.2.5 local_interface = eth0 network_cidr = 192.0.2.0/24 masquerade_network = 192.0.2.0/24 dhcp_start = 192.0.2.10 dhcp_end = 192.0.2.29 inspection_interface inspection_interface = br-ctlplane inspection_iprange = 192.0.2.100,192.0.2.120 192.0.2.100,192.0.2.120 inspection_runbench = false undercloud_debug = false store_events = true [stack@undercloud-new ~]$ openstack undercloud install
Upstream RDO: https://buildlogs.centos.org/ce https://buil dlogs.centos.org/centos/7/cloud/x86_ ntos/7/cloud/x86_64/tripleo_images 64/tripleo_images// Red Hat OpenStack Platform [stack@undercloud-new [stack@undercloud-new ~]$ sudo yum install rhosp-director-images rhosp-director-images rhosp-director-images-ipa
[stack@undercloud-new [stack@undercloud-new ~]$ openstack overcloud image upload [stack@undercloud-new [stack@undercloud-new ~]$ openstack image list +---------------------------+--------------------------------------+------------+-------------------------------------+-------------+--------+ -+ | ID | Name | Status | +---------------------------+--------------------------------------+------------+-------------------------------------+-------------+--------+ -+ | 73dece24-dc1d-4884-9feb-4f1f8 73dece24-dc1d-4884-9feb-4f1f8b9c9432 b9c9432 | bm-deploy-ramdisk bm-deploy-ramdisk | active | | 29c6be7e-934c-47dd-ada2-ffc76 29c6be7e-934c-47dd-ada2-ffc7671a2ce2 71a2ce2 | bm-deploy-kernel bm-deploy-kernel | active | | 8801c499-cfb9-4 8801c499-cfb9-4d7d-b603-2df3c d7d-b603-2df3c348e261 348e261 | overcloud-ful l | active | | cd3339cc-8742-4b1c-8db7-5fc592de6daa cd3339cc-8742-4b1c-8db7-5fc592de6daa | overcloud-full-vmlinuz | active | | b665cc2b-2fea-464c-8da9b665cc2b-2fea-464c-8da9-23559964933a 23559964933a | overcloud-full-initrd overcloud-full-initrd | active | +---------------------------+--------------------------------------+------------+-------------------------------------+-------------+--------+ -+
TripleO UI CLI – instackenv.json {
"nodes":[ { "mac":[ "bb:bb:bb:bb:bb:bb" ], "cpu":"4", "memory":"6144", "disk":"40", "arch":"x86_64", "pm_type":"pxe_ipmitool", "pm_user":"admin", "pm_password":"p@55w0rd!", "pm_addr":"192.0.2.205" }, ]
} [stack@undercloud-new ~]$ openstack baremetal import --json ~/instackenv.json [stack@undercloud-new ~]$ openstack baremetal introspection bulk start
Deploy vanilla Overcloud [stack@undercloud-new ~]$ openstack overcloud deploy –templates --compute-scale 1 --control-scale 1 --ntp-server pool.ntp.org
PROFIT!
Customization "You’re a wizard Harry" Hagrid
Core:
Advance Networking Network Isolation Storage backends Security Metering
Advanced:
Composable roles Big Data (Sahara) Baremetal (Ironic) Filesystem (Manila) RadosGW HyperConverged SDN NFV LbaaS Monitoring More ..
[stack@chrisj-undercloud environments]$ cat neutron-sriov.yaml ## A Heat environment that can be used to deploy SR-IOV resource_registry: OS::TripleO::Services::NeutronSriovAgent: ../puppet/services/neutron-sriov-agent.yaml parameter_defaults: NeutronMechanismDrivers: ['openvswitch','sriovnicswitch']
# Add PciPassthroughFilter to the scheduler default filters NovaSchedulerDefaultFilters: ['RetryFilter','AvailabilityZoneFilter','RamFilter','ComputeFilter','ComputeCapabilitiesFilter','ImagePropertiesFilter','ServerGroupAntiA ffinityFilter','ServerGroupAffinityFilter','PciPassthroughFilter'] NovaSchedulerAvailableFilters: ["nova.scheduler.filters.all_filters","nova.scheduler.filters.pci_passthrough_filter.PciPassthroughFilter"] # Provide the vendorid:productid of the VFs NeutronSupportedPCIVendorDevs: ['8086:154c','8086:10ca','8086:1520'] NeutronPhysicalDevMappings: "datacentre:ens20f2"
# Number of VFs that needs to be configured for a physical interface NeutronSriovNumVFs: "ens20f2:5" NovaPCIPassthrough: - devname: "ens20f2" physical_network: "datacentre"
heat_template_version: 2014-10-16
description: > Extra hostname configuration resources: userdata: type: OS::Heat::MultipartMime properties: parts: - config: {get_resource: nameserver_config} nameserver_config: type: OS::Heat::SoftwareConfig properties: config: | #!/bin/bash echo "nameserver 192.168.1.1" >> /etc/resolv.conf outputs: OS::stack_id: value: {get_resource: userdata} ######################################### resource_registry: OS::TripleO::NodeUserData: /home/stack/templates/nameserver /home/stack/templates/nameserver.yaml .yaml #########################################
openstack overcloud deploy --templates -e /home/stack/templates/firstboo /home/stack/templates/firstboot.yaml t.yaml
- name: Uber-Hyperconvered CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExtern OS::TripleO::Services::CephExternal al - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CephOSD - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBack OS::TripleO::Services::CinderBackup up - OS::TripleO::Services::CinderSche OS::TripleO::Services::CinderScheduler duler - OS::TripleO::Services::CinderVolu OS::TripleO::Services::CinderVolume me - OS::TripleO::Services::Core - OS::TripleO::Services::ComputeCei OS::TripleO::Services::ComputeCeilometerAgent lometerAgent - OS::TripleO::Services::ComputeNeu OS::TripleO::Services::ComputeNeutronL3Agent tronL3Agent - OS::TripleO::Services::ComputeNeu OS::TripleO::Services::ComputeNeutronMetadataAgent tronMetadataAgent - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GlanceRegi OS::TripleO::Services::GlanceRegistry stry - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiClo OS::TripleO::Services::HeatApiCloudwatch udwatch - OS::TripleO::Services::HeatEngine - OS::TripleO::Services::MySQL - OS::TripleO::Services::NeutronDhc OS::TripleO::Services::NeutronDhcpAgent pAgent
decouple resource hungry service from the stack merge 2 or more roles together → compute + storage accommodate different hardware for the same roles (snow flakes) create custom configurations on per server basis
time openstack overcloud deploy --templates --stack tigerlab \ --ntp-server 10.9.71.7 \ --control-flavor control --control-scale 1 --compute-flavor compute --compute-scale 4 --ceph-storage-scale 0 \ --neutron-tunnel-types vxlan --neutron-network-type vxlan \ -e templates/network-environment.yaml \ -e templates/environments/network-isolation.yaml \ -e templates/ceilometer.yaml \ -e templates/logging-environment.yaml \ -e templates/monitoring-environment.yaml \ -e templates/environments/services/sahara.yaml \ -e templates/environments/enable-tls.yaml \ -e templates/environments/inject-trust-anchor.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environment s/tls-endpoints-public-ip.yaml \ -e templates/environments/manila-cephfsnative-config.yaml \ -e templates/fernet.yaml \ -e templates/deployment-artifacts.yaml \ -e templates/puppet-ceph-external.yaml
Features "What about your sword? I heard witchers carry two - a silver blade for monsters and steel for humans... ? Both are for monsters" Geralt of Rivia
Fluentd client Sensu client Collectd client Ansible validations Rally
OVS DPDK SRIOV OpenDaylight Hyper-converged Manila Metadata injections Volume encryption Composable Roles Erasure Coding DVR VLAN aware VMs Telemetry Fernet Tokens
Big Data & Analytics Convergence Engine Bare Metal Provisioning Integration Test Benchmarking UI Independent Deployment Phases Ops Tools Simplified HA Red Hat Storage RGW for Swift VirtualBMC Dashboard
Upgrades "See this acorn? I'll throw it at you and turn you to stone!" Willow
●
Minor – Mitaka → Mitaka++
●
Major – Mitaka→ Newton
●
Backup
●
Dev/Test
●
Production
→ ●
$ $ $ $
●
Undercloud sudo systemctl stop 'openstack-*' sudo systemctl stop 'neutron-*' yum update python-tripleoclient python-tripleoclient openstack undercloud upgrade
Overcloud
$ openstack overcloud deploy --update-plan-only \ --templates \ -e /usr/share/openstack-tri /usr/share/openstack-tripleo-heat-temp pleo-heat-templates/environm lates/environments/network-is ents/network-isolation.yaml olation.yaml \ -e /home/stack/templates/networ /home/stack/templates/network-environment.y k-environment.yaml aml \ -e /home/stack/templates/storag /home/stack/templates/storage-environment.y e-environment.yaml aml $ openstack overcloud update stack -i overcloud
→ Time for the Demo...
Question ?
Well, here at last, dear friends, on the shores of the Sea comes the end of our fellowship in Middle-earth. Go in peace! I will not say: do not weep; for not all tears are an evil.