TripleO - object-storage-ca-ymq-1.vexxhost.net · TripleO is a project aimed at installing,...

Preview:

Citation preview

TripleONo longer considered an Epic Spell of 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

● 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/24network_gateway = 192.0.2.4undercloud_public_vip = 192.168.102.4undercloud_admin_vip = 192.0.2.5local_interface = eth0network_cidr = 192.0.2.0/24masquerade_network = 192.0.2.0/24dhcp_start = 192.0.2.10dhcp_end = 192.0.2.29inspection_interface = br-ctlplaneinspection_iprange = 192.0.2.100,192.0.2.120inspection_runbench = falseundercloud_debug = falsestore_events = true

[stack@undercloud-new ~]$ openstack undercloud install

Upstream RDO:https://buildlogs.centos.org/centos/7/cloud/x86_64/tripleo_images/

Red Hat OpenStack Platform[stack@undercloud-new ~]$ sudo yum install rhosp-director-images rhosp-director-images-ipa

[stack@undercloud-new ~]$ openstack overcloud image upload

[stack@undercloud-new ~]$ openstack image list+--------------------------------------+------------------------+--------+| ID | Name | Status |+--------------------------------------+------------------------+--------+| 73dece24-dc1d-4884-9feb-4f1f8b9c9432 | bm-deploy-ramdisk | active || 29c6be7e-934c-47dd-ada2-ffc7671a2ce2 | bm-deploy-kernel | active || 8801c499-cfb9-4d7d-b603-2df3c348e261 | overcloud-full | active || cd3339cc-8742-4b1c-8db7-5fc592de6daa | overcloud-full-vmlinuz | active || b665cc2b-2fea-464c-8da9-23559964933a | overcloud-full-initrd | active |+--------------------------------------+------------------------+--------+

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

TripleO UI

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 NetworkingNetwork Isolation Storage backendsSecurityMetering

Advanced:Composable rolesBig Data (Sahara)Baremetal (Ironic)Filesystem (Manila)RadosGWHyperConvergedSDNNFVLbaaSMonitoringMore ..

[stack@chrisj-undercloud environments]$ cat neutron-sriov.yaml## A Heat environment that can be used to deploy SR-IOVresource_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','ServerGroupAntiAffinityFilter','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 configurationresources: 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.confoutputs: OS::stack_id: value: {get_resource: userdata}#########################################

resource_registry: OS::TripleO::NodeUserData: /home/stack/templates/nameserver.yaml

#########################################

openstack overcloud deploy --templates -e /home/stack/templates/firstboot.yaml

- name: Uber-Hyperconvered CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CephMon - OS::TripleO::Services::CephExternal - OS::TripleO::Services::CephRgw - OS::TripleO::Services::CephOSD - OS::TripleO::Services::CinderApi - OS::TripleO::Services::CinderBackup - OS::TripleO::Services::CinderScheduler - OS::TripleO::Services::CinderVolume - OS::TripleO::Services::Core - OS::TripleO::Services::ComputeCeilometerAgent - OS::TripleO::Services::ComputeNeutronL3Agent - OS::TripleO::Services::ComputeNeutronMetadataAgent - OS::TripleO::Services::Kernel - OS::TripleO::Services::Keystone - OS::TripleO::Services::GlanceApi - OS::TripleO::Services::GlanceRegistry - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiCloudwatch - OS::TripleO::Services::HeatEngine - OS::TripleO::Services::MySQL - OS::TripleO::Services::NeutronDhcpAgent

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/environments/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 DPDKSRIOVOpenDaylightHyper-convergedManilaMetadata injectionsVolume encryptionComposable RolesErasure CodingDVRVLAN aware VMsTelemetryFernet Tokens

Big Data & AnalyticsConvergence EngineBare Metal ProvisioningIntegration TestBenchmarkingUIIndependent Deployment PhasesOps ToolsSimplified HARed Hat StorageRGW for SwiftVirtualBMCDashboard

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$ openstack undercloud upgrade

● Overcloud$ openstack overcloud deploy --update-plan-only \ --templates \ -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml \ -e /home/stack/templates/network-environment.yaml \ -e /home/stack/templates/storage-environment.yaml$ 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.

Recommended