Skip to content

Instantly share code, notes, and snippets.

@cloudnull
Last active February 8, 2021 16:44
Show Gist options
  • Save cloudnull/69bde16011d1ea94edf926252ea93933 to your computer and use it in GitHub Desktop.
Save cloudnull/69bde16011d1ea94edf926252ea93933 to your computer and use it in GitHub Desktop.
Minimal OpenStack-Ansible config using low spec gear.
---
cidr_networks:
container: "172.16.26.0/24"
tunnel: "172.29.240.0/22"
storage: "172.29.244.0/24"
used_ips:
- "172.16.26.1,172.16.26.50"
- "172.16.26.100,172.16.26.200"
- "172.29.240.1,172.29.240.50"
- "172.29.240.100,172.29.240.200"
- "172.29.244.1,172.29.244.50"
- "172.29.244.100,172.29.244.200"
global_overrides:
internal_lb_vip_address: "172.16.26.1"
external_lb_vip_address: "10.127.83.101"
tunnel_bridge: "br-mgmt"
management_bridge: "br-mgmt"
provider_networks:
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth1"
host_bind_override: "eth12"
container_netmask: "255.255.252.0"
ip_from_q: "container"
type: "flat"
net_name: "flat"
group_binds:
- all_containers
- hosts
is_container_address: true
is_ssh_address: true
- network:
container_bridge: "br-mgmt"
container_type: "veth"
container_interface: "eth10"
ip_from_q: "tunnel"
type: "vxlan"
range: "1:1000"
net_name: "vxlan"
group_binds:
- neutron_linuxbridge_agent
is_container_address: true
is_ssh_address: true
- 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
- ceph-osd
swift:
part_power: 8
drives:
- name: disk1
- name: disk2
- name: disk3
mount_point: /srv
storage_policies:
- policy:
name: default
index: 0
default: True
###
### Anchors
###
cinder_block: &cinder_block
n5:
ip: 10.127.83.104
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.104/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.104/24
- 172.29.240.104/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.104/24
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: 172.16.26.104
RBD:
volume_driver: cinder.volume.drivers.rbd.RBDDriver
rbd_pool: volumes
rbd_ceph_conf: /etc/ceph/ceph.conf
rbd_store_chunk_size: 8
volume_backend_name: rbddriver
rbd_user: "{{ cinder_ceph_client }}"
rbd_secret_uuid: "{{ cinder_ceph_client_uuid }}"
report_discard_supported: true
ceph_block: &ceph_block
n8:
ip: 10.127.83.107
host_vars:
devices:
- /dev/sdc
- /dev/sdd
- /dev/sde
- /dev/sdf
- /dev/sdg
- /dev/sdh
- /dev/sdi
- /dev/sdj
- /dev/sdk
- /dev/sdl
- /dev/sdm
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.107/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.107/24
- 172.29.240.107/24
host_storage_brige_interface: eth2
host_storage_brige_addresses:
- 172.29.244.107/24
n9:
ip: 10.127.83.108
host_vars:
devices:
- /dev/sdc
- /dev/sdd
- /dev/sde
- /dev/sdf
- /dev/sdg
- /dev/sdi
- /dev/sdj
- /dev/sdk
- /dev/sdl
- /dev/sdm
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.108/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.108/24
- 172.29.240.108/24
host_storage_brige_interface: eth2
host_storage_brige_addresses:
- 172.29.244.108/24
n10:
ip: 10.127.83.109
host_vars:
devices:
- /dev/sdc
- /dev/sdd
- /dev/sde
- /dev/sdf
- /dev/sdg
- /dev/sdh
- /dev/sdi
- /dev/sdj
- /dev/sdk
- /dev/sdl
- /dev/sdm
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.109/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.109/24
- 172.29.240.109/24
host_storage_brige_interface: eth2
host_storage_brige_addresses:
- 172.29.244.109/24
network_block: &network_block
n11:
ip: 10.127.83.110
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.110/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.110/24
- 172.29.240.110/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.110/24
n12:
ip: 10.127.83.111
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.111/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.111/24
- 172.29.240.111/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.111/24
n14:
ip: 10.127.83.113
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.113/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.113/24
- 172.29.240.113/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.113/24
compute_block: &compute_block
n1:
ip: 10.127.83.100
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.100/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.100/24
- 172.29.240.100/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.100/24
n4:
ip: 10.127.83.103
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.103/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.103/24
- 172.29.240.103/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.103/24
n6:
ip: 10.127.83.105
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.105/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.105/24
- 172.29.240.105/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.105/24
n18:
ip: 10.127.83.117
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.117/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.117/24
- 172.29.240.117/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.117/24
n19:
ip: 10.127.83.118
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.118/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.118/24
- 172.29.240.118/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.118/24
n20:
ip: 10.127.83.119
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.119/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.119/24
- 172.29.240.119/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.119/24
n21:
ip: 10.127.83.120
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.120/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.120/24
- 172.29.240.120/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.120/24
infra_block: &infra_block
n17:
ip: 10.127.83.123
host_vars:
host_vg: lab0-vg
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.123/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.123/24
- 172.29.240.123/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.123/24
n16:
ip: 10.127.83.115
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.115/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.115/24
- 172.29.240.115/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.115/24
n13:
ip: 10.127.83.112
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.112/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.112/24
- 172.29.240.112/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.112/24
loadbalancer_block: &loadbalancer_block
n2:
ip: 10.127.83.101
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.101/24
- 10.127.83.201/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.1/24
- 172.16.26.101/24
- 172.29.240.101/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.101/24
log_block: &log_block
n15:
ip: 10.127.83.114
host_vars:
host_vg: vg00
host_int_gateway: 10.127.83.1
host_int_interface: eth0
host_int_addresses:
- 10.127.83.114/24
host_mgmt_brige_interface: eth1
host_mgmt_brige_addresses:
- 172.16.26.114/24
- 172.29.240.114/24
host_storage_brige_interface: eth4
host_storage_brige_addresses:
- 172.29.244.114/24
swift_block: &swift_block
n17:
ip: 10.127.83.123
###
### Ceph
###
# The infra nodes where the Ceph mon services will run
ceph-osd_hosts: *ceph_block
# The nodes that the Ceph RadosGW object gateways will be running on
ceph-rgw_hosts: *cinder_block
###
### 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
# Legacy infra hosts
os-infra_hosts: *infra_block
# ceph-mon containers
ceph-mon_hosts: *cinder_block
###
### OpenStack
###
# keystone
identity_hosts: *infra_block
# cinder api services
storage-infra_hosts: *cinder_block
# cinder storage host (LVM-backed)
storage_hosts: *cinder_block
# glance
image_hosts: *cinder_block
# nova api, conductor, etc services
compute-infra_hosts: *infra_block
# nova hypervisors
compute_hosts: *compute_block
# heat
orchestration_hosts: *infra_block
# horizon
dashboard_hosts: *infra_block
# neutron server, agents (L3, etc)
network_hosts: *network_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
# swift storage hosts
#swift_hosts: *swift_block
# swift infra hosts
#swift-proxy_hosts: *infra_block
key-manager_hosts: *infra_block
---
- name: Create, format and mount machines lv
hosts: shared-infra_hosts
user: root
gather_facts: true
pre_tasks:
- name: Remove deleteme mount (/var/lib)
mount:
path: "/var/lib/{{ item }}"
state: absent
with_items:
- deleteme
- deleteme00
- name: Remove deleteme mount (/)
mount:
path: "/{{ item }}"
state: absent
with_items:
- deleteme
- deleteme00
- name: Remove deleteme lv
lvol:
vg: "{{ host_vg }}"
lv: "{{ item }}"
state: absent
force: true
with_items:
- deleteme
- deleteme00
- name: Create machines lv
lvol:
vg: "{{ host_vg }}"
lv: machines00
size: 25G
- name: Format the machines lv
filesystem:
fstype: btrfs
dev: "/dev/{{ host_vg }}/machines00"
roles:
- role: systemd_mount
systemd_mounts:
- what: "/dev/{{ host_vg }}/machines00"
where: "/var/lib/machines"
options: "defaults,noatime,nodiratime,compress=lzo,commit=120,{{ (ansible_kernel is version_compare('4.5', '>=')) | ternary('space_cache=v2', 'space_cache') }}"
type: "btrfs"
state: 'started'
- name: Create format and mount swift disks
hosts: swift_hosts
user: root
pre_tasks:
- name: Create machines lv
lvol:
vg: "{{ host_vg }}"
lv: "{{ item }}"
size: 20G
with_items:
- disk1
- disk2
- disk3
- name: Format the Swift files
filesystem:
fstype: xfs
opts: '-K'
dev: "/dev/lab0-vg/{{ item }}"
with_items:
- disk1
- disk2
- disk3
roles:
- role: systemd_mount
systemd_mounts:
- what: "/dev/lab0-vg/disk1"
where: "/srv/disk1"
options: "noatime,nodiratime,nobarrier,logbufs=8"
type: "xfs"
state: 'started'
enabled: true
- what: "/dev/lab0-vg/disk2"
where: "/srv/disk2"
options: "noatime,nodiratime,nobarrier,logbufs=8"
type: "xfs"
state: 'started'
enabled: true
- what: "/dev/lab0-vg/disk3"
where: "/srv/disk3"
options: "noatime,nodiratime,nobarrier,logbufs=8"
type: "xfs"
state: 'started'
enabled: true
- name: Create, format and mount nova lv
hosts: compute_hosts
user: root
pre_tasks:
- name: Create nova lv
lvol:
vg: "{{ host_vg }}"
lv: nova00
size: 100%FREE
- name: Format the machines lv
filesystem:
fstype: xfs
dev: "/dev/{{ host_vg }}/nova00"
roles:
- role: systemd_mount
systemd_mounts:
- what: "/dev/{{ host_vg }}/nova00"
where: "/var/lib/nova"
options: "defaults,noatime,nodiratime"
type: "xfs"
state: 'started'
enabled: true
---
# Setup networkd across the cloud
- name: Setup and configure networkd
hosts: hosts
roles:
- role: "systemd_networkd"
systemd_run_networkd: no
systemd_networks:
- interface: "{{ host_int_interface }}"
address: "{{ host_int_addresses }}"
gateway: "{{ host_int_gateway }}"
usedns: true
- role: "systemd_networkd"
systemd_run_networkd: no
systemd_netdevs:
- NetDev:
Name: br-mgmt
Kind: bridge
- NetDev:
Name: br-mgmt-veth
Kind: veth
Peer:
Name: eth12
systemd_networks:
- interface: "br-mgmt"
address: "{{ host_mgmt_brige_addresses }}"
usedns: true
config_overrides:
Network:
ConfigureWithoutCarrier: true
- interface: "{{ host_mgmt_brige_interface }}"
bridge: "br-mgmt"
- role: "systemd_networkd"
systemd_run_networkd: no
systemd_netdevs:
- NetDev:
Name: br-storage
Kind: bridge
systemd_networks:
- interface: "br-storage"
address: "{{ host_storage_brige_addresses }}"
usedns: true
config_overrides:
Network:
ConfigureWithoutCarrier: true
- interface: "{{ host_storage_brige_interface }}"
bridge: "br-storage"
when:
- host_storage_brige_interface is defined
- role: systemd_service
systemd_services:
- service_name: "networking-post-up"
config_overrides:
Unit:
Description: networking-post-up
After: network-online.target
Wants: network-online.target
Service:
RemainAfterExit: yes
service_type: oneshot
execstarts:
- "-/bin/ip link set eth12 up"
- "-/bin/ip link set br-mgmt-veth up"
- "-/bin/ip link set dev br-mgmt-veth master br-mgmt"
- "-/sbin/ethtool -K br-mgmt gso off sg off tso off tx off"
- "-/sbin/ethtool -K eth12 gso off sg off tso off tx off"
- "-/sbin/ethtool -K br-mgmt-veth gso off sg off tso off tx off"
post_tasks:
- name: Interface take down and networkd restart
shell: |
ip link set br-storage down
ip link del br-storage
ip link set br-mgmt down
ip link del br-mgmt
systemctl restart systemd-networkd
ip link set br-mgmt up
ip link set br-storage up
systemctl restart networking-post-up
---
################################### Anchors ###################################
# Used more than once in inventory, an anchor keeps things dry.
################################## ALL HOSTS ##################################
all:
vars:
default_server_domain_name: "LV-426.local"
server_netmask: "255.255.255.0"
server_gateway: "10.127.83.1"
server_dns: "8.8.8.8"
server_subnet: "10.127.83.0"
hosts:
# Local host
localhost: {}
# PXE Server
n2:
ansible_user: root
################################## PXE HOSTS ##################################
# 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:
n2:
default_dhcp_interface: eth0
dhcp_hosts:
hosts:
n2:
default_dhcp_list:
- netmask: "{{ server_netmask }}"
gateway: "{{ server_gateway }}"
dns: "{{ server_dns }}"
subnet: "{{ server_subnet }}"
default_lease_time: 21600
max_lease_time: 43200
tftp_boot_path: /pxelinux.0
tftp_server: "{{ default_tftp_server }}"
dhcp_default_domain_name: "{{ default_server_domain_name }}"
################################# PXE TARGETS #################################
# The group "pxe_servers" is used for all servers that will be a PXE target.
pxe_servers:
hosts:
n1:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n1'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.167
server_model: PowerEdge R710
server_mac_address: 00:26:b9:56:b7:e9
server_extra_options: ''
server_fixed_addr: "10.127.83.100"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n2:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n2'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.168
server_model: PowerEdge R710
server_mac_address: A4:BA:DB:0F:36:BC
server_extra_options: ''
server_fixed_addr: "10.127.83.101"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n3:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n3'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.169
server_model: PowerEdge R710
server_mac_address: a4:ba:db:0f:25:e7
server_extra_options: ''
server_fixed_addr: "10.127.83.102"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n4:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n4'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.171
server_model: PowerEdge R710
server_mac_address: a4:ba:db:14:dc:47
server_extra_options: ''
server_fixed_addr: "10.127.83.103"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n5:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n5'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.172
server_model: PowerEdge R710
server_mac_address: a4:ba:db:14:7e:57
server_extra_options: ''
server_fixed_addr: "10.127.83.104"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n6:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n6'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.173
server_model: PowerEdge R710
server_mac_address: 00:26:b9:54:33:5f
server_extra_options: ''
server_fixed_addr: "10.127.83.105"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n7:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n7'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.174
server_model: PowerEdge R710
server_mac_address: 00:26:b9:34:33:8f
server_extra_options: ''
server_fixed_addr: "10.127.83.106"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n8:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n8'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.196
server_model: PowerEdge R515
server_mac_address: 04:7d:7b:41:63:ec
server_extra_options: ''
server_fixed_addr: "10.127.83.107"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n9:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n9'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.197
server_model: PowerEdge R515
server_mac_address: 04:7d:7b:41:63:dd
server_extra_options: ''
server_fixed_addr: "10.127.83.108"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n10:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n10'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.199
server_model: PowerEdge R515
server_mac_address: 04:7d:7b:41:64:5e
server_extra_options: ''
server_fixed_addr: "10.127.83.109"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n11:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n11'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.244
server_model: PowerEdge R710
server_mac_address: a4:ba:db:0b:f5:ad
server_extra_options: ''
server_fixed_addr: "10.127.83.110"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n12:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n12'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.245
server_model: PowerEdge R710
server_mac_address: a4:ba:db:28:5e:ff
server_extra_options: ''
server_fixed_addr: "10.127.83.111"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n13:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n13'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.246
server_model: PowerEdge R710
server_mac_address: 00:26:b9:45:7b:1b
server_extra_options: ''
server_fixed_addr: "10.127.83.112"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n14:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n14'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.247
server_model: PowerEdge R710
server_mac_address: 00:24:e8:56:2c:a8
server_extra_options: ''
server_fixed_addr: "10.127.83.113"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n15:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n15'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.248
server_model: PowerEdge R710
server_mac_address: 00:24:e8:56:2f:40
server_extra_options: ''
server_fixed_addr: "10.127.83.114"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n16:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n16'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.249
server_model: PowerEdge R710
server_mac_address: 00:24:e8:56:1f:57
server_extra_options: ''
server_fixed_addr: "10.127.83.115"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n17:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n17'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.250
server_model: PowerEdge R710
server_mac_address: 00:24:e8:4f:d7:b6
server_extra_options: ''
server_fixed_addr: "10.127.83.123"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n18:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n18'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.251
server_model: PowerEdge R710
server_mac_address: 00:24:e8:6f:65:cb
server_extra_options: ''
server_fixed_addr: "10.127.83.117"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n19:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n19'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.252
server_model: PowerEdge R710
server_mac_address: 84:2b:2b:4f:36:e8
server_extra_options: ''
server_fixed_addr: "10.127.83.118"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n20:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n20'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.253
server_model: PowerEdge R710
server_mac_address: a4:ba:db:29:c0:7c
server_extra_options: ''
server_fixed_addr: "10.127.83.119"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n21:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n21'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.254
server_model: PowerEdge R710
server_mac_address: a4:ba:db:27:5f:69
server_extra_options: ''
server_fixed_addr: "10.127.83.120"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n22:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n22'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.170
server_model: PowerEdge R710
server_mac_address: 00:00:00:00:00:00
server_extra_options: ''
server_fixed_addr: "10.127.83.121"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
n23:
ansible_os_family: "{{ default_images[default_image_name]['image_type'] }}"
server_hostname: 'n23'
server_image: "ubuntu-16.04-amd64"
server_default_interface: 'eth0'
server_obm_ip: 10.127.83.198
server_model: PowerEdge R515
server_mac_address: 04:7D:7B:41:64:5B
server_extra_options: ''
server_fixed_addr: "10.127.83.122"
server_domain_name: "{{ default_server_domain_name }}"
ansible_host: "{{ server_fixed_addr }}"
---
# NOTE(cloudnull): Set the default lxc container storage backend to machinectl.
lxc_container_backing_store: machinectl
# NOTE(cloudnull): Allow the deployment to overcommit based on CPU.
nova_cpu_allocation_ratio: 16.0
# NOTE(cloudnull): Minimal deployment settings. These are only needed for a
# minimal install. If the deployment is using beefy hardware
# none of these are needed.
galera_innodb_buffer_pool_size: 16M
galera_innodb_log_buffer_size: 4M
galera_wsrep_provider_options:
- { option: "gcache.size", value: "4M" }
galera_monitoring_allowed_source: "172.16.26.0/24 172.29.240.0/22 172.29.244.0/24"
repo_nginx_threads: 2
keystone_httpd_mpm_start_servers: 2
keystone_httpd_mpm_min_spare_threads: 2
keystone_httpd_mpm_max_spare_threads: 2
keystone_httpd_mpm_thread_limit: 2
keystone_httpd_mpm_thread_child: 2
keystone_wsgi_threads: 2
keystone_wsgi_processes_max: 2
barbican_wsgi_processes: 2
barbican_wsgi_threads: 2
cinder_wsgi_processes_max: 2
cinder_wsgi_threads: 2
cinder_wsgi_buffer_size: 16384
cinder_osapi_volume_workers_max: 2
glance_api_threads_max: 2
glance_api_threads: 2
glance_api_workers: 2
glance_registry_workers: 2
nova_wsgi_threads: 2
nova_wsgi_processes_max: 2
nova_wsgi_processes: 2
nova_wsgi_buffer_size: 16384
nova_api_threads_max: 2
nova_api_threads: 2
nova_osapi_compute_workers: 2
nova_conductor_workers: 2
nova_metadata_workers: 2
neutron_rpc_workers: 2
neutron_metadata_workers: 2
neutron_api_workers: 2
neutron_api_threads_max: 2
neutron_api_threads: 2
neutron_num_sync_threads: 2
heat_api_workers: 2
heat_api_threads_max: 2
heat_api_threads: 2
heat_wsgi_threads: 2
heat_wsgi_processes_max: 2
heat_wsgi_processes: 2
heat_wsgi_buffer_size: 16384
horizon_wsgi_processes: 2
horizon_wsgi_threads: 2
horizon_wsgi_threads_max: 2
ceilometer_notification_workers_max: 2
ceilometer_notification_workers: 2
aodh_wsgi_threads: 2
aodh_wsgi_processes_max: 2
aodh_wsgi_processes: 2
gnocchi_wsgi_threads: 2
gnocchi_wsgi_processes_max: 2
gnocchi_wsgi_processes: 2
swift_account_server_replicator_workers: 2
swift_server_replicator_workers: 2
swift_object_replicator_workers: 2
swift_account_server_workers: 2
swift_container_server_workers: 2
swift_object_server_workers: 2
swift_proxy_server_workers_max: 2
swift_proxy_server_workers_not_capped: 2
swift_proxy_server_workers_capped: 2
swift_proxy_server_workers: 2
ironic_wsgi_threads: 2
ironic_wsgi_processes_max: 2
ironic_wsgi_processes: 2
trove_api_workers_max: 2
trove_api_workers: 2
trove_conductor_workers_max: 2
trove_conductor_workers: 2
trove_wsgi_threads: 2
trove_wsgi_processes_max: 2
trove_wsgi_processes: 2
sahara_api_workers_max: 2
sahara_api_workers: 2
apply_security_hardening: false
repo_pkg_cache_url: "http://172.16.26.123:3142"
haproxy_extra_services:
- service:
haproxy_service_name: grafana
haproxy_ssl: False
haproxy_backend_nodes: "{{ groups['grafana'] | default([]) }}"
haproxy_port: 3000 # This is set using the "grafana_port" variable
haproxy_balance_type: tcp
- service:
haproxy_service_name: kibana
haproxy_ssl: False
haproxy_backend_nodes: "{{ groups['kibana'] | default([]) }}"
haproxy_port: 81
haproxy_balance_type: tcp
- service:
haproxy_service_name: elastic-logstash
haproxy_ssl: False
haproxy_backend_nodes: "{{ groups['elastic-logstash'] | default([]) }}"
haproxy_port: 5044
haproxy_balance_type: tcp
- service:
haproxy_service_name: elastic-logstash
haproxy_ssl: False
haproxy_backend_nodes: "{{ groups['elastic-logstash'] | default([]) }}"
haproxy_port: 9201
haproxy_check_port: 9200
haproxy_backend_port: 9200
haproxy_balance_type: tcp
## Added for ceph
cidr_networks:
container: "172.16.26.0/24"
tunnel: "172.29.240.0/22"
storage: "172.29.244.0/24"
## Ceph cluster fsid (must be generated before first run)
## Generate a uuid using: python -c 'import uuid; print(str(uuid.uuid4()))'
generate_fsid: false
fsid: "654d1ad9-030d-481a-869d-1878154b55fb"
## ceph-ansible settings
## See https://github.com/ceph/ceph-ansible/tree/master/group_vars for
## additional configuration options availble.
monitor_address_block: "{{ cidr_networks.container }}"
public_network: "{{ cidr_networks.container }}"
cluster_network: "{{ cidr_networks.storage }}"
osd_scenario: collocated
journal_size: 10240 # size in MB
# ceph-ansible automatically creates pools & keys for OpenStack services
openstack_config: true
cinder_ceph_client: cinder
glance_ceph_client: glance
glance_default_store: rbd
glance_rbd_store_pool: images
nova_libvirt_images_rbd_pool: vms
ceilometer_service_port: 8777
ceilometer_service_adminuri: "{{ openstack_service_publicuri_proto|default(ceilometer_service_proto) }}://{{ external_lb_vip_address }}:{{ ceilometer_service_port }}"
profiler_overrides: &os_profiler
profiler:
trace_sqlalchemy: true
enabled: true
hmac_keys: "{{ memcached_encryption_key }}"
connection_string: "elasticsearch://{{ internal_lb_vip_address }}:9201"
es_doc_type: "notification"
es_scroll_time: "2m"
es_scroll_size: "10000"
filter_error_trace: "false"
aodh_aodh_conf_overrides: *os_profiler
barbican_config_overrides: *os_profiler
ceilometer_ceilometer_conf_overrides: *os_profiler
cinder_cinder_conf_overrides: *os_profiler
designate_designate_conf_overrides: *os_profiler
glance_glance_api_conf_overrides: *os_profiler
gnocchi_conf_overrides: *os_profiler
heat_heat_conf_overrides: *os_profiler
horizon_config_overrides: *os_profiler
ironic_ironic_conf_overrides: *os_profiler
keystone_keystone_conf_overrides: *os_profiler
magnum_config_overrides: *os_profiler
neutron_neutron_conf_overrides: *os_profiler
nova_nova_conf_overrides: *os_profiler
octavia_octavia_conf_overrides: *os_profiler
rally_config_overrides: *os_profiler
sahara_conf_overrides: *os_profiler
swift_swift_conf_overrides: *os_profiler
tacker_tacker_conf_overrides: *os_profiler
trove_config_overrides: *os_profiler
nova_api_metadata_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/nova-api-metadata-uwsgi-stats.sock"
keystone_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/keystone-uwsgi-stats.sock"
cinder_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/cinder-api-uwsgi-stats.sock"
glance_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/glance-api-uwsgi-stats.sock"
heat_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/heat-api-uwsgi-stats.sock"
heat_api_cfn_init_overrides:
uwsgi:
stats: "/tmp/heat-api-cfn-uwsgi-stats.sock"
nova_api_metadata_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/nova-api-metadata-uwsgi-stats.sock"
nova_api_os_compute_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/nova-api-os-compute-uwsgi-stats.sock"
nova_placement_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/nova-placement-uwsgi-stats.sock"
octavia_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/octavia-api-uwsgi-stats.sock"
sahara_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/sahara-api-uwsgi-stats.sock"
ironic_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/ironic-api-uwsgi-stats.sock"
magnum_api_uwsgi_ini_overrides:
uwsgi:
stats: "/tmp/magnum-api-uwsgi-stats.sock"
@satishdotpatel
Copy link

satishdotpatel commented May 18, 2018

This is really helpful...! i am going to steal couple of example form your file 👍

@cloudnull
Copy link
Author

cloudnull commented Jun 1, 2018

Excellent! Steal away @satishdotpatel :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment