Profiling Ansible memory usage per task

Sai's Blog

In this post, let’s look at how I was able to profile memory usage per task in a piece of software that uses ansible for configuration. While the post talks about getting memory profiling working for any ansible playbook, it also goes deeper into the TripleO example.

TripleO, Config-Download and Ansible

In OpenStack Queens, TripleO defaults to use an agent running on each overcloud node called os-collect-config. This agent periodically polls the undercloud Heat API for software configuration changes that need to be applied to the node. The os-collect-config agent runs os-refresh-config and os-apply-config as needed whenever new software configuration changes are detected. 

This model is a “pull” style model given each node polls the Heat API and pulls changes, then applies them locally. With the Ansible-based config-download, director/TripleO has switched to a “push” style model. Heat is still used to create the stack (and all of the Red Hat…

View original post 965 more words

Performance Monitoring of Red Hat Satellite 6 using satperf

Continuous time-series metric collection of Satellite  & all Capsules are essential while satellite running at scale.
This post is helps to configure & monitor metrics using satellite-performance
1) Tools:
  • Collectd – Daemon to collect System Performance Statistics
    • Collects CPU, Memory, Disk, Network, Per Process stats (Regex), Postgresql, mongodb, turbostat, qpid, foreman, DynFlow, Passenger, Puppet, Tomcat, collectd..etc
  • Graphite/Carbon
    • Carbon receives metrics, and flushes them to whisper database files
    • Graphite is webapp frontend to carbon
  • Grafana – Visualize metrics from multiple backends.
    • Dashboards saved in json and customized by Ansible during deployment

2) Architecture


3) How do i configure performance?

Archit has come up with a nice blog for configuration

Description of metrics collected in satperf:

4)  Example Graphs
4.1 )  Passenger Mem
4.2) Postgresql DB (candlepin & foreman)
4.3) Candlepin DB
4.4) Puppet Registrations
4.2) Dynflow Mem
Thanks to Archit, Jhutar for providing inputs & help!

RedHat Satellite 6.2 Considerations for Large scale deployments

Red Hat Satellite is a complete system management product that allows system administrators to manage the full life cycle of Red Hat deployments across physical, virtual, and private clouds. Red Hat Satellite delivers system provisioning, configuration management, software management, and subscription management- all while maintaining high scalability and security.  Satellite 6.2 is third major release of the next generation Satellite with a raft of improvements that continue to narrow the gaps in functionality found in Satellite 5 in many critical areas of the product.  This Blog  provides basic guidelines and considerations for tuning Red Hat Satellite 6.2 & capsule for Large scale deployments

1) Increase open-files-limit for Apache with systemd on satellite & Capsule server

# cat /etc/systemd/system/httpd.service.d/limits.conf



# systemctl daemon-reload

# katello-service restart

2) Increase open-files-limit for Qpid with systemd on satellite & Capsule server

# cat /etc/systemd/system/qpidd.service.d/limits.conf



# systemctl daemon-reload

# katello-service restart

3) Increase postgresql shared_buffer

While registering content hosts at scale to Satellite server, shared_buffers needs to be set appropriately in postgresql.conf. Recommended: 256 MB

4) Increase postgresql max_connections

When registering content hosts at scale, it is recommended to increase max_connections setting (set to 100 by default) as per your needs and HW profile. For example, you might need to set the value to 200 when you are registering 200 content hosts in parallel.

5) Storage planning for qpid

When you use katello-agent extensively, plan storage capacity for /var/lib/qpidd in advance. Currently, in Satellite 6.2 /var/lib/qpidd requires 2MB disk space per a content hos.

6) Increase open-files-limit for Qpid Dispatch Router with systemd on satellite & Capsule server

# cat /etc/systemd/system/qdrouterd.service.d/limits.conf



# systemctl daemon-reload

# katello-service restart


Special Thanks to Jan Jutar & Archit Sarma for the help to get scale numbers.








Red Hat Satellite 6.2 is available

Red Hat Satellite is a system management solution that enables you to deploy, configure, and maintain your systems across physical, virtual, and cloud environments. Satellite provides provisioning, remote management and monitoring of multiple Red Hat Enterprise Linux deployments with a single, centralized tool. Red Hat Satellite Server synchronizes the content from Red Hat Customer Portal and other sources, and provides functionality including fine-grained life cycle management, user and group role-based access control, integrated subscription management, as well as advanced GUI, CLI, or API access.

Red Hat Satellite 6.2 is available now :

Satellite 6.2 Feature Overview:

Remote Execution



 Inter-Satellite Sync



Importing Existing Hosts via the Bootstrap Script



PXE-Less Discovery




SPEC Cloud™ IaaS 2016

The SPEC Cloud IaaS 2016 benchmark is SPEC’s first benchmark suite to measure cloud performance. The benchmark suite’s use is targeted at cloud providers, cloud consumers, hardware vendors, virtualization software vendors, application software vendors, and academic researchers.

The SPEC Cloud IaaS 2016 Benchmark addresses the performance of infrastructure-as-a-service (IaaS) cloud platforms. IaaS cloud platforms can either be public or private.

The SPEC Cloud IaaS 2016 benchmark is available for purchase via the SPEC order form.

Austin Openstack summit talk

Other links

What’s the difference between two vendors selling the same open source project?

Ahh this is a great read. Chapter 3 could have been named “The Red Hat Way”. Thanks to Jeremy for sharing this

Open Source for Business People