Sunday, 17 May 2015

TripleO Heat templates Part 3 - Cluster configuration, introduction/primer

In my previous two posts I covered an overview of TripleO template roles and groups, and specifics of how initial deployment of a node happens.  Today I'm planning to introduce the next step of the deployment process - taking the deployed groups of nodes, and configuring them to work together as clusters running the various OpenStack services encapsulated by each role.

This post will provide an introduction to the patterns and Heat features used to configure the groups of nodes, then in the next instalment I'll dig into the specifics of exactly what configuration takes place in the TripleO heat templates.




Recap - the deployed group of servers


So, we're continuing from where we got to at the end of the last post - we've deployed a ResourceGroup containing several OS::TripleO::Controller resources, which in turn have deployed a nova server, and done some initial configuration of it.

What comes next is configuring the whole group, or cluster, to work together, e.g configuring the OpenStack services running on the controller.

Group/Cluster configuration with Heat


Similar to the SoftwareDeployment (singular) resources described in my previous post, Heat supports applying a SoftwareConfig to a group of servers via the SoftwareDeployments and StructuredDeployments (plural) resources.  The function of both is basically the same, one works with a SoftwareConfig resource and the other with a StructuredConfig resource.




Typically (in TripleO at least) StructuredDeployments resources are used combined with a ResourceGroup containing some servers.  You pass a list of servers to configure (provided via an attribute from the OS::Heat::ResourceGroup resource), and a reference to a StructuredConfig resource.

The StructuredConfig resource defines the configuration to apply to each server, and the StructuredDeployments resource then internally creates a series of StructuredDeployment (singular) resources, one per server.

When all of the deployment (singular) resources complete, the deployments (plural) resource goes CREATE_COMPLETE - if any of the nested deployment resources fail, the deployments resource will go into a FAILED state.

Debugging groups of deployments


You may notice that the StructuredDeployments resource above looks a lot like the ResourceGroup containing the OS::TripleO::Controller resources - this is no coincidence, internally heat actually creates a ResourceGroup containing the StructuredDeployment resources.

This is a useful fact to remember when debugging, because it means you can use the techniques I've previously described to inspect the individual Deployment resources  created by the StructuredDeployments resource, e.g so you can use heat deployment-show <id> to help diagnose a problem with a failing deployment inside the StructuredDeployments group (which is often quicker and more convenient than SSHing onto the failing node and trawling the logs).


For example, here's a simple bash script which dumps out details about all of the Deployment resources in an overcloud, obviously you can add in a "grep FAILED" here if you just want to see details about failing deployments:

#!/bin/bash
while read -r line
do
  deployment_name=$(echo $line | cut -d"|" -f2)
  deployment_id=$(echo $line | cut -d"|" -f3)
  parent_name=$(echo $line | cut -d"|" -f7)
  echo "deployment=$deployment_name ($deployment_id) parent $parent_name"
  heat deployment-show $deployment_id
  echo "---"
done < <(heat resource-list --nested-depth 5 overcloud | grep "OS::Heat::\(Software\|Structured\)Deployment ")


We should probably add a python-heatclient feature which automates this lookup (particularly for failing deployments), but right now that is one way to do it.

 

Until next time..!

So here we've covered the basics of how Heat can be used to configure groups of servers, and we've illustrated how that pattern is applied in the TripleO templates.

The TripleO templates use this technique for all roles, to do multiple configuration passes during the deployment - in the next post I'll cover specifics of how this works in detail, but for now you can check out the TripleO heat templates and hopefully see this pattern for yourself.  Note that it's combined with provider resource abstractions as previously discussed, which as we will see makes for a nicely abstracted approach to cluster configuration which is pretty easy to modify, extend, or plug in alternative implementations.

19 comments:

  1. Looking forward to the next instalment! :)

    ReplyDelete
  2. I am looking for OpenStack alternative with good performance and storage infrastructure. This blog provide helpful information.

    ReplyDelete
  3. This comment has been removed by the author.

    ReplyDelete
  4. Hey! What a wonderful blog. I loved your blog. QuickBooks is the best accounting software, however, it has lots of bugs like QuickBooks Error. To fix such issues, you can contact experts via QuickBooks Customer Service

    ReplyDelete
  5. quickbooks error 179 this error mainly occurs in Quickbooks when user trying to access the bank account and are unable to access their account data,to know how can we resolve this error you can visit the site.

    ReplyDelete
  6. your content is provide uniquue information .its really helpful for me .if you are looking regarding quicbooks software issue realated service then contact our team at

    quickbooks phone number

    ReplyDelete
  7. Download Quickbooks install diagnostic tool free of charge. To push forward the client is needed to close down the running projects running behind the scenes. In the event that you cannot discover the symbol do an inquiry in Windows for QuickBooks Tool Hub and select the program.

    ReplyDelete
  8. Hey! Nice Blog, I have been using QuickBooks for a long time. One day, I encountered QuickBooks Customer Service in my software, then I called QuickBooks Support Phone Number (855)552-2543. They resolved my error in the least possible time.

    ReplyDelete
  9. Quickbooks error 15106 is viewed as those mistakes that the purchaser generally faces while downloading QuickBooks Desktop refreshes followed by an error message: "The update program isn't opened. The update program is harmed."

    ReplyDelete
  10. quickbooks error 6147 is a typical blunder that numerous QB clients stumble into while reestablishing or getting to their corporate records over a network.fro every one of the insights about this mistake go to the referenced site

    ReplyDelete
  11. quickbooks database server manager is a comprehensive accounting software kit created and sold by Intuit, an American corporation. It mostly addresses small to medium-sized enterprises and is more than adequate for these business types. QB is now outfitted with cutting-edge accounting software. These tools and functions can be automated based on the needs of the enterprise

    ReplyDelete
  12. This comment has been removed by the author.

    ReplyDelete

  13. Hiiii!!
    If you are looking for Quickbooks Customer Service you can reach us at.+1 855-786-5155,NH.

    ReplyDelete
  14. The QuickBooks install diagnostic tool is a program designed to resolve faults that occur during the software installation process. This tool can assist users in resolving error codes 1603, 1935, 1904, 1402, and so on. This utility is available for download from Intuit's official website.

    ReplyDelete
  15. If something went wrong during the QuickBooks install, it could cause a problem when you try to QuickBooks Activation not Working. Run the QuickBooks Install Diagnostic Tool to fix common install issues. Open the QuickBooks Tool Hub, then select Installation Issues. Select QuickBooks Install Diagnostic Tool.

    ReplyDelete

  16. You can lern here What is QuickBooks Commerce and who will use it. QuickBooks Commerce is built to give online sellers based in the U.S. the tools to work smarter and take control of their finances. QuickBooks Commerce integrates your sales and inventory data across channels into a single platform to help you run your business and make better decisions.

    ReplyDelete
  17. If you are presented with accounts you do not want to track in this data file, choose Ignore. Quicken not updating accounts the application.

    ReplyDelete
  18. Hey! Good blog. I was facing an the intuit quickbooks fcs service terminated unexpectedly in my QuickBooks software, so I called QuickBooks Support +1(855)-738-0359. I was tended to by an experienced and friendly technician who helped me to get rid of that annoying issue in the least possible time.

    ReplyDelete
  19. This diagnostic tool is a repair tool, designed to identify and fix the issue automatically. It helps you lower down the time to resolve the issue. Whenever you receive an error, you must first run QuickBooks install diagnostic tooltrying any manual troubleshooting method to fix the issue.

    ReplyDelete