All Projects → sergevs → ansible-openstack

sergevs / ansible-openstack

Licence: MIT license
Openstack made easy

Projects that are alternatives of or similar to ansible-openstack

Casl Ansible
Ansible automation for Managing OpenShift Container Platform clusters
Stars: ✭ 123 (+846.15%)
Mutual labels:  playbook, openstack
crowbar-core
Core deployment for Crowbar
Stars: ✭ 16 (+23.08%)
Mutual labels:  openstack
Ansible Playbook Bundle
THIS REPO IS MIGRATING: https://github.com/automationbroker/apb
Stars: ✭ 136 (+946.15%)
Mutual labels:  playbook
Ansible Ubuntu
Ansible scripts to setup Ubuntu desktop/server
Stars: ✭ 182 (+1300%)
Mutual labels:  playbook
Terrible
An Ansible playbook that apply the principle of the Infrastructure as Code on a QEMU/KVM environment.
Stars: ✭ 161 (+1138.46%)
Mutual labels:  playbook
Rollback
Ansible role to rollback scripting applications like PHP, Python, Ruby, etc. in a capistrano style
Stars: ✭ 230 (+1669.23%)
Mutual labels:  playbook
Ansible Mysql Hardening
This Ansible role provides security configuration for MySQL.
Stars: ✭ 132 (+915.38%)
Mutual labels:  playbook
AsyncOpenStackClient
Asyncio wrapper to OpenStack API
Stars: ✭ 17 (+30.77%)
Mutual labels:  openstack
c3os
Management multiple CloudOS.
Stars: ✭ 14 (+7.69%)
Mutual labels:  openstack
Playbook
Vinta's Best Moves Compiled
Stars: ✭ 181 (+1292.31%)
Mutual labels:  playbook
Team
sweet home
Stars: ✭ 180 (+1284.62%)
Mutual labels:  playbook
Graylog Ansible Role
Ansible role which installs and configures Graylog
Stars: ✭ 173 (+1230.77%)
Mutual labels:  playbook
Ansible Playbook Grapher
A command line tool to create a graph representing your Ansible playbook tasks and roles
Stars: ✭ 234 (+1700%)
Mutual labels:  playbook
Redfish Ansible Module
Ansible modules for Out-Of-Band Controllers using Redfish APIs
Stars: ✭ 139 (+969.23%)
Mutual labels:  playbook
drupalci-sonar-jenkins
DEPRECATED - Drupal CI environment with SonarQube and Jenkins for Drupal Core code analysis.
Stars: ✭ 40 (+207.69%)
Mutual labels:  playbook
Ansible Role K3s
Ansible role for installing k3s as either a standalone server or HA cluster.
Stars: ✭ 132 (+915.38%)
Mutual labels:  playbook
Ansible Nginx Hardening
This Ansible role provides secure nginx configurations.
Stars: ✭ 180 (+1284.62%)
Mutual labels:  playbook
Nci Ansible Ui
Simple web interface for running Ansible playbooks
Stars: ✭ 217 (+1569.23%)
Mutual labels:  playbook
guides
Dealerdirect guides for getting things done, be a programming role-model, coding in style and being the better colleague.
Stars: ✭ 21 (+61.54%)
Mutual labels:  playbook
cb-spider
CB-Spider provides a unified view and single interface for multi-cloud management.
Stars: ✭ 26 (+100%)
Mutual labels:  openstack

Ansible Playbook: Openstack

An ansible playbook to deploy openstack components to a cluster.

Overview

Initially the playbook was composed with a primary purpose to learn openstack deployment in a nutshell.

As the project succesfully passes test environment the goal is changed to fill the gap between install from source and docker deployment , i.e. to create a deployment on bare metal hosts from official packages repository without containers and therfore eliminate addition level of related complexity.

At the current state, the playbook is able to deploy a fully functional openstack cluster(see below). Also it's possible to deploy everything on a single(VM) host.

You are welcomed to read the playbook and feedback pull requests and suggestions :)

Basic high availability features implemented for controller/infrastructure services:

  • MariaDB galera cluster
  • RabbitMQ cluster
  • Memcached service
  • VIP cluster address managed by keepalived

So if more than one controller node configured, seemless failover is expected for:

  • keystone
  • glance
  • cinder controller
  • nova controller
  • neutron controller
  • heat
  • horizon

Description

The playbook is able to setup the core services described in the official guide:

The configuration is very simple:

It’s only required to place hostname(s) to the controller and compute groups in hosts file and carefully fill the required group_vars parameters.

The playbook contains configuration files in roles directories. If you need to add or change any parameter you can edit the configuration file which can be found in roles/service/[files|templates] directory.

Besides of cluster( or single host ) setup, the playbook also generates cluster manager configuration file located at workdir/services.xml. Please visit clinit manager home page and see manual. The rpm package can be downloaded from clinit-1.0-ssv1.el6.noarch.rpm. After clinit package installed you’ll be able to stop, start and see status of services on the cluster.

Configuration

Services configuration performed using the hosts and variables files.

Hosts file:

The empty file is supplied with the playbook. Please examine hosts and supply appropriate host names. You must not remove any existing group. Leave the group empty if you don't need services the group configures. The same hostname can be placed to any hosts group. As an instance if you want setup everything on one host, just put the same hostname to each hosts group. As far, only controller and compute groups are well tested and supported.

Variables file:

Please examine group_vars/all and supply appropriate configuration for your network environment and disk storage parameters.

Usage

Prepare,verifty repositories configuration and perform a basic check:

ansible-playbook -i hosts -t prepare site.yml
ansible-playbook -i hosts -t check site.yml

Deployment:

ansible-playbook -i hosts site.yml

if you have installed clinit, after deployment you can also run:

clinit -S workdir/services.xml status
clinit -S workdir/services.xml tree

Tags used in playbook:

  • package : install rpm packages
  • config : deploy configuration files, useful if you want just change configuration on hosts.
  • test : run test actions

Also most hostgroups have the tag with similar name.

Requirements

  • Ansible >= 2.2.0.0 is required.
  • Openstack version: liberty, mitaka, ocata, pike - please use appropriate branch, pike is currently at the master branch.
  • remote_user = root must be configured for ansible.

Target host(s) requirements

  • At least 8 Gb RAM, 4 CPU cores, 10Gb HDD (5Gb for root FS + 5GB cinder partition) is required for minimal single host test installation.
  • OS version: Redhat/CentOS 7.4 with current updates.(updates are important).
  • The required for Openstack repositories have to be properly configured.
  • SSH key passwordless authentication must be configured for root account.
  • se_linux must be disabled.
  • requiretty should be switched off in /etc/sudoers file.
  • 2 interfaces must be present: one for private and one for provider(public) network.
  • at least one spare partition must be available for cinder( block storage ) service.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].