Skip to main content

F5 Networks OpenStack Heat Plugin Library

Project description


This repository houses all of F5’s OpenStack Heat resource plugins. F5’s Heat plugins can be used to orchestrate BIG-IP services in your OpenStack environment.

Releases and Versions

This branch supports the OpenStack Kilo release.

For more information about F5 Networks’s OpenStack versioning and a support matrix please see F5 Networks OpenStack Releases and Support Matrix


The heat plugins must be installed on the machine that the Heat engine is running on in order to use templates that refer the the F5 plugins. After installing the plugins the Heat engine must be restarted for them to take effect.

Note: If you are installing a pre-release version of the package with pip you will need to use the –pre option.


$ pip install f5-openstack-heat-plugins
$ service heat-engine restart


$ pip install f5-openstack-heat-plugins
$ systemctl restart openstack-heat-engine.service


Once the plugins are installed the F5 objects can be used when creating Heat templates. An example use of one of the objects is below.

  # The first two resources defined here are requirements for deploying
  # any object on the BigIP VE. The F5::BigIP::Device allows access and
  # authentication to the BigIP on which an object will be configured.
  # The F5::Sys::Partition resource places a particular object in the
  # partition given. These two requirements will be linked with the obects
  # we intend to configure (iAppTemplate, iAppService) by calling the
  # 'get_resource' intrinsic function.
    type: F5::BigIP::Device
      ip: # All properties can be passed in as parameters
      username: admin
      password: admin # The password can be passed in as a hidden field
    type: F5::Sys::Partition
      name: Common # Put these objects in the existing Common partition
      bigip_server: { get_resource: bigip } # Create dependency on bigip
    type: F5::Sys::iAppTemplate
      name: test_template
      bigip_server: { get_resource: bigip } # Depends on bigip resource
      partition: { get_resource: partition} # Depends on partition as well
        get_file: iapps/full_template.tmpl
    type: F5::Sys::iAppService
      name: test_service
      bigip_server: { get_resource: bigip }
      partition: { get_resource: partition }
      template_name: test_template # Matches name in template resource


Project documentation can be found on Read The Docs.

Filing Issues

If you find an issue we would love to hear about it. Please let us know by filing an issue in this repository and tell us as much as you can about what you found and how you found it.


See Contributing


To make a PyPI package…

python sdist


Before you open a pull request, your code must have passing pytest unit tests. In addition, you should include a set of functional tests written to use a real BIG-IP device for testing. Information on how to run our set of tests is included below.

Unit Tests

We use pytest for our unit tests

  1. If you haven’t already, install the required test packages and the requirements.txt in your virtual environment.

    $ pip install hacking pytest pytest-cov
    $ pip install -r requirements.txt
  2. Run the tests and produce a coverage repor. The --cov-report=html will
    create a htmlcov/ directory that you can view in your browser to see the
    missing lines of code.
    py.test --cov ./icontrol --cov-report=html
    open htmlcov/index.html

Style Checks

We use the hacking module for our style checks (installed as part of step 1 in the Unit Test section).

flake8 ./



See Support


Apache V2.0

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Contributor License Agreement

Individuals or business entities who contribute to this project must have completed and submitted the F5 Contributor License Agreement to prior to their code submission being included in this project.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

f5-openstack-heat-plugins-1.0.1a1.tar.gz (7.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page