Getting Started With Ansible and Rackspace P2
Posted on Thu 01 October 2015 in Computing
Introduction
In this post a simple playbook is demonstrated to provision a pseudo DC in Rackspace.
Following on from the previous post, a parametrised playbook is created to:
- Install a keypair from a file - Create a management network - Create a domain name
This playbook will likely only be run once
Create Datacenter Playbook (rs_create_dc.yml)
---
# rs_create_dc.yml
- name: Create Rackspace DC
hosts: localhost
connection: local
gather_facts: false
vars:
- region: LON
- management_net_cidr: 10.45.45.0/24
- domain_contact: dns@{{ domain_name }}
tasks:
- name: Create KeyPair
rax_keypair:
name: rs_kp
region: "{{ region }}"
public_key: "{{ ssh_key }}"
- name: Create Management Network
rax_network:
label: management
cidr: "{{ management_net_cidr }}"
region: "{{ region }}"
- name: Add Domain Name
rax_dns:
name: "{{ domain_name }}"
email: "{{ domain_contact }}"
region: "{{ region }}"
The playbook might then be run like this:
ansible-playbook rs_create_dc.yml -e "ssh_key=/home/user/.ssh/publickey.pub domain_name=example.com"