Skip to content

Instantly share code, notes, and snippets.

@cloudnull
Created March 8, 2017 22:32
Show Gist options
  • Save cloudnull/c7de9b1b244ab9141a6d20d2e289170b to your computer and use it in GitHub Desktop.
Save cloudnull/c7de9b1b244ab9141a6d20d2e289170b to your computer and use it in GitHub Desktop.
making ironic work in a segmented region
# The loopback network interface
auto lo
iface lo inet loopback
auto p1p1
iface p1p1 inet manual
bond-master bond0
auto p1p2
iface p1p2 inet manual
bond-master bond1
auto p4p1
iface p4p1 inet manual
bond-master bond0
auto p4p2
iface p4p2 inet manual
bond-master bond1
# Primary Network Interface
auto bond0
iface bond0 inet manual
# mtu 9000
bond-mode 4
bond_xmit_hash_policy layer3+4
bond-lacp-rate 1
bond-miimon 100
bond-slaves none
# Secondary Network Interface
auto bond1
iface bond1 inet manual
# mtu 9000
bond-mode 4
bond_xmit_hash_policy layer3+4
bond-lacp-rate 1
bond-miimon 100
bond-slaves none
auto bond0.201
iface bond0.201 inet manual
auto bond0.210
iface bond0.210 inet manual
mtu 9000
auto bond0.220
iface bond0.220 inet manual
mtu 9000
auto bond0.900
iface bond0.900 inet manual
mtu 9000
auto bond0.901
iface bond0.900 inet manual
mtu 9000
auto bond1.240
iface bond1.240 inet manual
mtu 9000
auto br-host
iface br-host inet static
address xxx.xxx.xxx.xxx # Host address for gateway connectivity
netmask 255.255.248.0
gateway xxx.xxx.xxx.xxx
dns-nameservers xxx.xxx.xxx.xxx
mtu 9000
bridge_ports bond0
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
auto br-tftp
iface br-tftp inet static
address 172.30.240.71
netmask 255.255.240.0
mtu 9000
#bridge_ports host-eth
bridge_ports bond0.201
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
auto br-pxe
iface br-pxe inet static
address xxx.xxx.xxx.xxx # Address for ILO connectivity
netmask 255.255.252.0
mtu 9000
bridge_ports bond0.900
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
# Container Bridge
auto br-mgmt
iface br-mgmt inet static
address 172.30.224.71
netmask 255.255.248.0
mtu 9000
bridge_ports bond0.210
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
# Storage Bridge
auto br-storage
iface br-storage inet static
address 172.30.232.71
netmask 255.255.248.0
mtu 9000
bridge_ports bond0.220
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
# VLAN Bridge
auto br-vlan
iface br-vlan inet manual
mtu 9000
bridge_ports bond1
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
# Swift Replication Bridge
auto br-swift
iface br-swift inet static
address 172.30.248.71
netmask 255.255.248.0
mtu 9000
bridge_ports bond1.240
bridge_stp off
bridge_waitport 0
bridge_fd 0
offload-sg off
source /etc/network/interfaces.d/*.cfg
---
cidr_networks:
container: 172.30.224.0/21
storage: 172.30.232.0/21
tftp: 172.30.240.0/20
used_ips:
- "172.30.224.1,172.30.227.255"
- "172.30.232.1,172.30.235.255"
- "172.30.240.0,172.30.240.255" # Used by host machines controlling OpenStack
- "172.30.241.0,172.30.242.255" # Used by compute nodes in Cloud1 RegionOne
- "172.30.243.0,172.30.248.255" # Used by Neutron in Cloud1 RegionTwo for Ironic Nodes
- "172.30.249.0,172.30.254.255" # Used by Neutron in Cloud1 RegionOne for VMs
global_overrides:
internal_lb_vip_address: "172.30.224.71"
external_lb_vip_address: "172.29.224.41"
tunnel_bridge: "br-vlan"
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-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
- network:
container_bridge: "br-tftp"
container_type: "veth"
container_interface: "eth13"
type: "flat"
net_name: "tftp"
ip_from_q: "tftp"
group_binds:
- neutron_linuxbridge_agent
- ironic_all
# galera, memcache, rabbitmq, utility
shared-infra_hosts:
729100-infra01:
ip: 172.30.224.72
729122-infra02:
ip: 172.30.224.73
729144-infra03:
ip: 172.30.224.74
# load balancer
haproxy_hosts:
729116-deploy01:
ip: 172.30.224.71
os-infra_hosts:
729100-infra01:
ip: 172.30.224.72
affinity:
horizon_container: 0
729122-infra02:
ip: 172.30.224.73
affinity:
horizon_container: 0
729144-infra03:
ip: 172.30.224.74
affinity:
horizon_container: 0
ironic-infra_hosts:
729100-infra01:
ip: 172.30.224.72
729122-infra02:
ip: 172.30.224.73
729144-infra03:
ip: 172.30.224.74
# nova hypervisors
compute_hosts:
729100-infra01:
ip: 172.30.224.72
---
## Debug and Verbose options.
debug: false
## Lock this release down to the same as RegionOne
openstack_release: 13.3.5
openstack_repo_url: "http://172.29.224.10:{{ repo_server_port }}"
openstack_repo_git_url: "{{ openstack_repo_url }}/openstackgit"
# No logging servers are setup in RegionTwo to centralize the logs the user defined logging
# targets are being used.
rsyslog_client_user_defined_targets:
- name: "Cloud1-RegionOne"
proto: "tcp"
port: "{{ rsyslog_client_tcp_port }}"
hostname: "172.29.230.103"
action_options: 'RFC3164fmt'
# RegionTwo Compute
nova_virt_type: ironic
_ironic_container_networks: "{{ hostvars[inventory_hostname]['container_networks'] | default({}) }}"
_ironic_tftp_network: "{{ _ironic_container_networks['tftp_address'] | default({}) }}"
ironic_tftp_server_address: "{{ _ironic_tftp_network['address'] | default(ansible_ssh_host) }}"
# This URL is set so that a node, kicked by ironic, can have the agent talk back to the API
ironic_openstack_api_url: "http://172.30.240.71:{{ ironic_service_port }}"
# This URL is set so that a node, kicked by ironic, can access a swift temp URL
ironic_swift_endpoint: "http://172.30.240.71:8080"
# This is setup for the cleaning network. This must be configured as a post deployment step as
# it requires the UUID of the cleaning netowrk.
ironic_ironic_conf_overrides:
neutron:
cleaning_network_uuid: "6a227cf6-45de-4ca4-8b1c-e67c6cf2e815"
conductor:
automated_clean: false
deploy:
shred_random_overwrite_iterations: 0
shred_final_overwrite_with_zeros: false
continue_if_disk_secure_erase_fails: false
power_off_after_deploy_failure: true
default_boot_option: local
neutron_dhcp_config:
dhcp-option-force: "26,1500"
dhcp-ignore: "tag:!known"
log-facility: "/var/log/neutron/neutron-dnsmasq.log"
# This option is being set to allow HAP to run in HTTP only mode
haproxy_ssl: false
extra_lb_vip_addresses:
- 172.30.240.71
# RegionTwo does not run it's own keystone.
keystone_service_publicuri: "{{ keystone_service_publicuri_proto }}://cloud1.osic.org:{{ keystone_service_port }}"
keystone_service_internaluri: "{{ keystone_service_internaluri_proto }}://172.29.224.10:{{ keystone_service_port }}"
keystone_service_adminuri: "{{ keystone_service_adminuri_proto }}://172.29.224.10:{{ keystone_admin_port }}"
# Shared resources are integrated with RegionOne.
glance_swift_store_region: RegionOne
keystone_service_region: RegionOne
horizon_service_region: RegionOne
# Region Two Settings.
neutron_service_region: RegionTwo
swift_service_region: RegionTwo
ironic_service_region: RegionTwo
cinder_service_region: RegionTwo
glance_service_region: RegionTwo
nova_service_region: RegionTwo
heat_service_region: RegionTwo
ceilometer_service_region: RegionTwo
aodh_service_region: RegionTwo
openrc_clouds_yml_region_name: RegionTwo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment