Skip to content

Instantly share code, notes, and snippets.

@cloudnull
Last active January 8, 2022 17:19
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save cloudnull/e9e6d0d2bf523972eac2d27597a85c47 to your computer and use it in GitHub Desktop.
Save cloudnull/e9e6d0d2bf523972eac2d27597a85c47 to your computer and use it in GitHub Desktop.
---
################################### Anchors ###################################
# Used more than once in inventory, an anchor keeps things dry.
vms: &vms
# MNAIO VMs
infra1:
ansible_host: 172.16.27.100
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
infra2:
ansible_host: 172.16.27.101
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
infra3:
ansible_host: 172.16.27.102
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
cinder1:
ansible_host: 172.16.27.130
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
cinder2:
ansible_host: 172.16.27.131
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
compute1:
ansible_host: 172.16.27.120
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
compute2:
ansible_host: 172.16.27.121
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
loadbalancer1:
ansible_host: 172.16.27.150
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
logging1:
ansible_host: 172.16.27.110
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
swift1:
ansible_host: 172.16.27.140
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
swift2:
ansible_host: 172.16.27.141
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
swift3:
ansible_host: 172.16.27.142
server_vm_fixed_addr: "{{ ansible_host }}"
ansible_user: root
################################## ALL HOSTS ##################################
all:
hosts:
<<: *vms
# Local host
localhost:
ansible_connection: local
# MNAIO host
cloudnbox1:
ansible_host: 172.16.24.50
ansible_user: root
# Server to PXE boot from
pxe-server:
ansible_host: 172.16.24.90
ansible_user: root
vars:
tftp_ssh_key: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCvCFVPmVN37Ti2ypHal3k23rSi3/FMhSGoHruyOSRCEobnWl/y86QA8D8I2GgwWi4z1qNv62KQyYGLDW6gHoBdx+X/jktu6DbyejY3h55T3fxo0gUPkQnBVGvg6KmtHNGMLzv+GExMuYnp2hSJ5ATgvh2edlYEqMIdAnMazecQ3Ia86qPiYcuB75V7t65NsDa5Io1iIiqLOaHXH//MXXXlfKr+RGnvv9VuhTy+dErYPa1Bl/mPvlist7zw860Wb3aQyFTObomIPbJIojpw/AKXKT4lyDRmdsqj8qKcCEIXW9zgFMUqbdF+lBtmOI05FU9csVrMTDrsz+jIQSIYbcGX cloudnull@Kevins-MacBook-Pro.local'
################################# MNAIO HOSTS #################################
# The group "vm_hosts" is used to define all host machines that will be running
# traditional virtualization using KVM.
vm_hosts:
hosts:
cloudnbox1:
################################## PXE HOSTS ##################################
# The group "mnaio_hosts" is used to define all host machines that will serve
# the purpose of running an MNAIO test environment.
mnaio_hosts:
hosts:
cloudnbox1:
vars:
mnaio_host_networks:
dhcp:
iface: 'vm-br-dhcp'
inet_type: 'dhcp'
iface_port: eth0
address_aliases:
- '10.0.2.1/22'
mgmt:
iface: 'vm-br-eth1'
inet_type: 'static'
address: '10.0.236.1/22'
iface_port: none
flat:
iface: 'vm-br-eth2'
inet_type: 'static'
address: '10.0.248.1/22'
iface_port: none
vlan:
iface: 'vm-br-eth3'
inet_type: 'manual'
iface_port: none
vxlan:
iface: 'vm-br-eth4'
inet_type: 'static'
address: '10.0.240.1/22'
iface_port: none
storage:
iface: 'vm-br-eth5'
inet_type: 'static'
address: '10.0.244.1/22'
iface_port: none
# The group "pxe_hosts" is used to setup all systems that will be responsible
# for PXE boot. This will install all of the needed capabilities to TFTP serve
# system images.
pxe_hosts:
hosts:
pxe-server:
default_ubuntu_mirror_proxy: 'http://172.16.24.50:3142/'
# The group "dhcp_hosts" is used to setup all systems that will be responsible
# for DHCP. This is not required as external DHCP could be used.
#[dhcp_hosts]
#mnaio1
# The group "pxe_servers" is used to create PXE specific configurations for
# each host machines.
pxe_servers:
hosts: *vms
################################## OSA HOSTS ##################################
# The group "deploy_hosts" is used to define where an OSA deployment will
# originate from.
deploy_hosts:
hosts:
infra1:
############################### OSA MNAIO HOSTS ###############################
# The group "swift_hosts" is used in the MNAIO setup to create the basic drive
# setup needed for a swift deployment.
swift_hosts:
hosts:
swift1:
swift2:
swift3:
# The group "cinder_hosts" is used in the MNAIO setup to create the basic drive
# setup needed for a cinder LVM deployment.
cinder_hosts:
hosts:
cinder1:
cinder2:
---
cidr_networks:
container: 10.0.236.0/22
tunnel: 10.0.240.0/22
storage: 10.0.244.0/22
flat: 10.0.248.0/22
used_ips:
- "10.0.236.0,10.0.236.200"
- "10.0.240.0,10.0.240.200"
- "10.0.244.0,10.0.244.200"
- "10.0.248.0,10.0.248.200"
global_overrides:
internal_lb_vip_address: "10.0.236.150"
external_lb_vip_address: "10.0.2.150"
tunnel_bridge: "br-vxlan"
management_bridge: "br-mgmt"
provider_networks:
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth1"
ip_from_q: "container"
type: "raw"
group_binds:
- all_containers
- hosts
is_container_address: true
is_ssh_address: true
- network:
container_bridge: "br-vxlan"
container_type: "veth"
container_interface: "eth10"
ip_from_q: "tunnel"
type: "vxlan"
range: "1:1000"
net_name: "vxlan"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-flat"
container_type: "veth"
container_interface: "eth12"
type: "flat"
net_name: "flat"
group_binds:
- neutron_linuxbridge_agent
- utility_all
- network:
container_bridge: "br-vlan"
container_type: "veth"
container_interface: "eth11"
type: "vlan"
range: "1:1"
net_name: "vlan"
group_binds:
- neutron_linuxbridge_agent
- network:
container_bridge: "br-storage"
container_type: "veth"
container_interface: "eth2"
ip_from_q: "storage"
type: "raw"
group_binds:
- glance_api
- cinder_api
- cinder_volume
- nova_compute
- swift_proxy
swift:
part_power: 8
storage_network: 'br-storage'
replication_network: 'br-storage'
drives:
- name: disk1
- name: disk2
- name: disk3
mount_point: /srv
storage_policies:
- policy:
name: default
index: 0
default: True
###
### Anchors
###
cinder_block: &cinder_block
cinder1:
ip: 10.0.236.130
container_vars:
cinder_backends:
limit_container_types: cinder_volume
lvm:
volume_group: cinder-volumes
volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name: LVM_iSCSI
iscsi_ip_address: "10.0.244.130"
cinder2:
ip: 10.0.236.131
container_vars:
cinder_backends:
limit_container_types: cinder_volume
lvm:
volume_group: cinder-volumes
volume_driver: cinder.volume.drivers.lvm.LVMVolumeDriver
volume_backend_name: LVM_iSCSI
iscsi_ip_address: "10.0.244.131"
compute_block: &compute_block
compute1:
ip: 10.0.236.120
compute2:
ip: 10.0.236.121
infra_block: &infra_block
infra1:
ip: 10.0.236.100
infra2:
ip: 10.0.236.101
infra3:
ip: 10.0.236.102
loadbalancer_block: &loadbalancer_block
loadbalancer1:
ip: 10.0.236.150
log_block: &log_block
logging1:
ip: 10.0.236.110
swift_block: &swift_block
swift1:
ip: 10.0.236.140
swift2:
ip: 10.0.236.141
swift3:
ip: 10.0.236.142
###
### Infrastructure
###
# galera, memcache, rabbitmq, utility
shared-infra_hosts: *infra_block
# repository (apt cache, python packages, etc)
repo-infra_hosts: *infra_block
# rsyslog server
log_hosts: *log_block
# load balancer
haproxy_hosts: *loadbalancer_block
###
### OpenStack
###
# keystone
identity_hosts: *infra_block
# cinder api services
storage-infra_hosts: *infra_block
# glance
image_hosts: *infra_block
# nova api, conductor, etc services
compute-infra_hosts: *infra_block
# heat
orchestration_hosts: *infra_block
# horizon
dashboard_hosts: *infra_block
# neutron server, agents (L3, etc)
network_hosts: *infra_block
# ceilometer (telemetry data collection)
metering-infra_hosts: *infra_block
# aodh (telemetry alarm service)
metering-alarm_hosts: *infra_block
# gnocchi (telemetry metrics storage)
metrics_hosts: *infra_block
# ceilometer compute agent (telemetry data collection)
metering-compute_hosts: *compute_block
# nova hypervisors
compute_hosts: *compute_block
# cinder storage host (LVM-backed)
storage_hosts: *cinder_block
# swift storage hosts
swift_hosts: *swift_block
# swift infra hosts
swift-proxy_hosts: *infra_block
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment