Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How Many Ohs? (An Integration Guide to Apex & Triple-o)


Published on

Dan Radez, Red Hat, Tim Rozet, Red Hat

The OPNFV ecosystem is made up of projects that need to integrate with each other. Project Apex uses Triple-o under the covers which most people usually need some assistance to integrate with.

Come and spend a session with the Apex development team learning the ins and outs of Triple-o.

In this session participants will learn about the deployment process that is run when an Apex/Triple-o deployment is executed and how to assign services to nodes and generate networking configurations withing Triple-o to successfully integrate and deploy a new component in OpenStack.

Come learn how to untangle the learning curve presented when integrating and using Triple-o and simplify your future development and deployment endeavors with a new found intimate knowledge of the Apex & Triple-o platform.

Published in: Software
  • Be the first to comment

  • Be the first to like this

How Many Ohs? (An Integration Guide to Apex & Triple-o)

  1. 1. How many Ohs? Apex Integration Guide Dan Radez (Red Hat) Tim Rozet (Red Hat)
  2. 2. The Basics • Apex – Frontend UI for a forked version of TripleO. • TripleO (OOO) – Deployment tool comprised of multiple sub repos/projects. • Undercloud – The TripleO installer VM • Overcloud – Target deployment (OPNFV Control/Compute nodes)
  3. 3. Forked TripleO? ● Forked TripleO used to incubate new NFV features before merged upstream ● Forks include three main subprojects for TripleO: – Tripleo-heat-templates - Drives deployments via Heat orchestration – Puppet-tripleo - Called by heat tools to configure OPNFV on each overcloud node – os-net-config - Called by heat tools to configure NICs and bridges on the overcloud node
  4. 4. Apex Build Process
  5. 5. Apex Build Process
  6. 6. Apex Build Process
  7. 7. Deployment Overview
  8. 8. Deployment Overview
  9. 9. Deployment Overview
  10. 10. Call Flow
  11. 11. Call Flow
  12. 12. Call Flow
  13. 13. Call Flow
  14. 14. Call Flow Repeats for Steps 1-5
  15. 15. Deployment Command ● Derived from Apex deploy settings (example “tacker: true”) ● Example: resource_registry: OS::TripleO::Services::Tacker: ../puppet/services/tacker.yaml ● Which includes enable_tacker.yaml env heat template: openstack overcloud deploy -e opnfv-environment.yaml -e network-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/enable_tacker.yaml ● Resource registry used to register services
  16. 16. Tacker Heat Template heat_template_version: 2016-04-08 description: > OpenStack Tacker service configured with Puppet parameters: TackerPassword: description: The password for the tacker service account. type: string hidden: true outputs: role_data: description: Role data for the Tacker role. value: service_name: tacker config_settings: tacker_password: {get_param: TackerPassword} step_config: | include ::tripleo::profile::base::tacker Sets hieradata Runs puppet-tripleo manifest Parameters which can be overridden in environment files
  17. 17. Tacker Puppet TripleO class tripleo::profile::base::tacker ( $bootstrap_node = hiera('bootstrap_nodeid', undef), $step = hiera('step'), ) { if $::hostname == downcase($bootstrap_node) { $sync_db = true } else { $sync_db = false } if $step >= 4 or ($step >= 3 and $sync_db){ include ::tacker::server include ::tacker::db } } Triggers openstack puppet tacker module: “step” controls stage when puppet is applied
  18. 18. Deployment Network Settings ● Apex parses network settings file ● Writes NIC configuration to /home/stack/nics/ ● Writes network configuration to /home/stack/network- environment.yaml ● Included by environment file in deploy command: openstack overcloud deploy -e opnfv-environment.yaml -e network-environment.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/enable_tacker.yaml
  19. 19. Apex Key Integration Files ● Adding deploy settings: apex/lib/python/apex/ ● Adding or modifying scenarios: apex/config/deploy/ ● Modifying artifacts loaded into disk image during build: apex/build/ apex/build/ apex/build/
  20. 20. Apex Integration Workflow ● Reference integration guide: ● Create patches in apex-tripleo-heat-templates, apex-puppet-tripleo ● Create patch in Apex to trigger including your templates based on new deployment settings or scenario ● Apex patch should include dependent patches: Moving to forks on Migrating off of github onto to host our forked projects that are side loaded into our builds apex-tripleo-heat-templates: Ic65cfeee4a55e993629f831c8c9d9addf6f3dff4 apex-puppet-tripleo: If498c41d706c8f14a5b0bbee64cb4d26cd78c2d0 apex-os-net-config: I5281a57640f388e984b061702362f9c82d08da78
  21. 21. Questions?