GithubHelp home page GithubHelp logo

f5-openstack-ansible's Introduction

F5 OpenStack Ansible

Slack

This repository houses ansible playbooks, modules, and roles for deploying/configuring F5 OpenStack components.

Prerequisites

To use these playbooks, install ansible:

$ pip install ansible

Directory Layout

The current directory structure is as follows:

playbooks/
    playbookX.yaml      # A playbook acts a specification for the tasks and roles you wish to deploy
    roles/              # Roles group snippets of associated tasks
        roleX/          # A specific role, such as 'configure_lbaasv2_agent'
            tasks/      # Tasks associated with a specific role
            vars/       # Variables related to a specific role
        roleY/          # Another role, such as 'pip install_lbaasv2_driver'
    vars/               # Global variables for a single playbook, separted into specific files

Usage

In general, to use the playbooks within, one would define a hosts file. As of now, a sample hosts file exists, but this is just an example. For more information on the allowed inventory (hosts) parameters, see the Ansible Inventory Doc.

Once you've setup your host file with the appropriate parameters, you may need to configure a YAML variables file with the appropriate key values related to your playbook. These are found in the playbooks/vars directory. If no YAML file exists for a particular playbook, please add one with the same name as the playbook appended with _vars.yaml. From there, you can run your ansible playbook:

$ ansible-playbook -i <my_hosts_file> <my_playbook>

Copyright

Copyright 2016-2017 F5 Networks Inc.

License

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 http://www.apache.org/licenses/LICENSE-2.0

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 [email protected] prior to their code submission being included in this project.

f5-openstack-ansible's People

Contributors

jlongstaf avatar szakeri avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

f5-openstack-ansible's Issues

Boolean conditional checks for 'when' should not use jinja2 format

Description

As of ansible release 2.3.0, a warning is printed when using the jinja2 format for checking conditionals in a when statement. The suggestion is to coerce a variable to a boolean and do the check in this way: 'when: my_var|bool' or 'when: not my_var|bool'.

Need support for setting HA type in OpenStack agent

Description

The ansible playbook to configure the F5 agent does not provide a way to set the f5_ha_type option int he agent INI file. This configuration option is needed to support configuring BIG-IP HA pairs and other cluster configurations.

Prepare ansible scripts for newton installation of driver and agent

Description

There is one major change that needs to be done to be able to install the agent and driver for OpenStack Newton. It appears that setting the service_provider in the neutron_lbaas.conf file is deprecated. The ansible playbook will then put the service_provider configuration in the neutron.conf file.

Operating System

RHEL 7

OpenStack Release

Newton

Create playbook to install ml2 mechanism driver

Description

We need to be able to install the f5 ml2 mechanism driver on a node that contains neutron. This can be done with a single role, to pip install the library, configure neutron, and restart the neutron server.

Package location variables point to Mitaka instead of Liberty

Operating System

N/A

OpenStack Release

Liberty

Description

The following files reference Mitaka instead of Liberty, for package installation:
playbooks/vars/agent_deploy_vars.yaml
playbooks/vars/agent_driver_deploy_vars.yaml
playbooks/vars/driver_deploy_vars.yaml

Versions will move forward over time, but should at least point to a version from the correct branch (i.e. 8.1.0)

Make agent installation perform an optional upgrade when using pip

Description

When the agent is installed, we perform an upgrade with pip. This has a side-effect of upgrading dependencies to the latest versions, even if it is strictly not necessary for testing. We should be able to optionally upgrade with pip, but the default behavior will be to not upgrade.

Make git a dependency of each role

Description

Git must be installed as a dependency of each role where we use pip to install f5 code. This is because pip often installs from the github repository. We can add a set of preparatory steps, such as installing git, where we can collect such tasks as dependencies.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.