Created
June 2, 2020 14:55
-
-
Save jfblaine/4c261ae37cc9744d4b48eea977cf7883 to your computer and use it in GitHub Desktop.
OSP13 on KVM Configurations
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| heat_template_version: queens | |
| description: > | |
| Software Config to drive os-net-config to configure VLANs for the Controller role. | |
| parameters: | |
| ControlPlaneIp: | |
| default: '' | |
| description: IP address/subnet on the ctlplane network | |
| type: string | |
| StorageIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the storage network | |
| type: string | |
| StorageMgmtIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the storage_mgmt network | |
| type: string | |
| InternalApiIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the internal_api network | |
| type: string | |
| TenantIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the tenant network | |
| type: string | |
| ExternalIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the external network | |
| type: string | |
| ManagementIpSubnet: | |
| default: '' | |
| description: IP address/subnet on the management network | |
| type: string | |
| StorageNetworkVlanID: | |
| default: 30 | |
| description: Vlan ID for the storage network traffic. | |
| type: number | |
| StorageMgmtNetworkVlanID: | |
| default: 40 | |
| description: Vlan ID for the storage_mgmt network traffic. | |
| type: number | |
| InternalApiNetworkVlanID: | |
| default: 20 | |
| description: Vlan ID for the internal_api network traffic. | |
| type: number | |
| TenantNetworkVlanID: | |
| default: 50 | |
| description: Vlan ID for the tenant network traffic. | |
| type: number | |
| ExternalNetworkVlanID: | |
| default: 10 | |
| description: Vlan ID for the external network traffic. | |
| type: number | |
| ManagementNetworkVlanID: | |
| default: 60 | |
| description: Vlan ID for the management network traffic. | |
| type: number | |
| ControlPlaneSubnetCidr: # Override this via parameter_defaults | |
| default: '24' | |
| description: The subnet CIDR of the control plane network. | |
| type: string | |
| ControlPlaneDefaultRoute: # Override this via parameter_defaults | |
| description: The default route of the control plane network. | |
| type: string | |
| ExternalInterfaceDefaultRoute: | |
| default: '192.168.53.1' | |
| description: default route for the external network | |
| type: string | |
| DnsServers: # Override this via parameter_defaults | |
| default: [] | |
| description: A list of DNS servers (2 max for some implementations) that will be added to resolv.conf. | |
| type: comma_delimited_list | |
| EC2MetadataIp: # Override this via parameter_defaults | |
| description: The IP address of the EC2 metadata server. | |
| type: string | |
| DnsSearchDomains: # Override this via parameter_defaults | |
| default: [] | |
| description: A list of DNS search domains to be added (in order) to resolv.conf. | |
| type: comma_delimited_list | |
| resources: | |
| OsNetConfigImpl: | |
| type: OS::Heat::SoftwareConfig | |
| properties: | |
| group: script | |
| config: | |
| str_replace: | |
| template: | |
| get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh | |
| params: | |
| $network_config: | |
| network_config: | |
| - type: ovs_bridge | |
| name: bridge_name | |
| use_dhcp: false | |
| dns_servers: | |
| get_param: DnsServers | |
| domain: | |
| get_param: DnsSearchDomains | |
| addresses: | |
| - ip_netmask: | |
| list_join: | |
| - / | |
| - - get_param: ControlPlaneIp | |
| - get_param: ControlPlaneSubnetCidr | |
| routes: | |
| - ip_netmask: 169.254.169.254/32 | |
| next_hop: | |
| get_param: EC2MetadataIp | |
| members: | |
| - type: interface | |
| name: nic1 | |
| # force the MAC address of the bridge to this interface | |
| primary: true | |
| - type: vlan | |
| vlan_id: | |
| get_param: StorageNetworkVlanID | |
| addresses: | |
| - ip_netmask: | |
| get_param: StorageIpSubnet | |
| - type: vlan | |
| vlan_id: | |
| get_param: StorageMgmtNetworkVlanID | |
| addresses: | |
| - ip_netmask: | |
| get_param: StorageMgmtIpSubnet | |
| - type: vlan | |
| vlan_id: | |
| get_param: InternalApiNetworkVlanID | |
| addresses: | |
| - ip_netmask: | |
| get_param: InternalApiIpSubnet | |
| - type: vlan | |
| vlan_id: | |
| get_param: TenantNetworkVlanID | |
| addresses: | |
| - ip_netmask: | |
| get_param: TenantIpSubnet | |
| - type: ovs_bridge | |
| name: br-ex | |
| dns_servers: {get_param: DnsServers} | |
| use_dhcp: true | |
| addresses: | |
| - ip_netmask: {get_param: ExternalIpSubnet} | |
| routes: | |
| - ip_netmask: 0.0.0.0/0 | |
| next_hop: {get_param: ExternalInterfaceDefaultRoute} | |
| default: true | |
| members: | |
| - type: interface | |
| name: nic2 | |
| use_dhcp: false | |
| primary: true | |
| outputs: | |
| OS::stack_id: | |
| description: The OsNetConfigImpl resource. | |
| value: | |
| get_resource: OsNetConfigImpl |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # This template configures each role to use Vlans on a single nic for | |
| # each isolated network. | |
| # This template assumes use of network-isolation.yaml. | |
| # | |
| # FIXME: if/when we add functionality to heatclient to include heat | |
| # environment files we should think about using it here to automatically | |
| # include network-isolation.yaml. | |
| resource_registry: | |
| # Port assignments for the Controller | |
| OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml | |
| # Port assignments for the Compute | |
| OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml | |
| # Port assignments for the BlockStorage | |
| OS::TripleO::BlockStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/cinder-storage.yaml | |
| # Port assignments for the ObjectStorage | |
| OS::TripleO::ObjectStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/swift-storage.yaml | |
| # Port assignments for the CephStorage | |
| OS::TripleO::CephStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/ceph-storage.yaml | |
| parameter_defaults: | |
| # May set to br-ex if using floating IPs only on native VLAN on bridge br-ex | |
| NeutronExternalNetworkBridge: "''" | |
| NeutronNetworkType: 'vxlan,vlan' | |
| NeutronTunnelTypes: 'vxlan' | |
| # Customize bonding options if required (ignored if bonds are not used) | |
| BondInterfaceOvsOptions: | |
| "lacp=active other-config:lacp-fallback-ab=true" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| resource_registry: | |
| # Network Interface templates to use (these files must exist). You can | |
| # override these by including one of the net-*.yaml environment files, | |
| # such as net-bond-with-vlans.yaml, or modifying the list here. | |
| # Port assignments for the Controller | |
| OS::TripleO::Controller::Net::SoftwareConfig: | |
| /home/stack/templates/nic-configs/controller.yaml | |
| # Port assignments for the Compute | |
| OS::TripleO::Compute::Net::SoftwareConfig: | |
| /home/stack/templates/nic-configs/compute.yaml | |
| # Port assignments for the BlockStorage | |
| OS::TripleO::BlockStorage::Net::SoftwareConfig: | |
| /home/stack/templates/nic-configs/cinder-storage.yaml | |
| # Port assignments for the ObjectStorage | |
| OS::TripleO::ObjectStorage::Net::SoftwareConfig: | |
| /home/stack/templates/nic-configs/swift-storage.yaml | |
| # Port assignments for the CephStorage | |
| OS::TripleO::CephStorage::Net::SoftwareConfig: | |
| /home/stack/templates/nic-configs/ceph-storage.yaml | |
| parameter_defaults: | |
| NeutronPublicInterface: nic2 | |
| HypervisorNeutronPublicInterface: nic2 | |
| # This section is where deployment-specific configuration is done | |
| # CIDR subnet mask length for provisioning network | |
| ControlPlaneSubnetCidr: '24' | |
| # Gateway router for the provisioning network (or Undercloud IP) | |
| ControlPlaneDefaultRoute: 172.16.0.254 | |
| EC2MetadataIp: 172.16.0.1 # Generally the IP of the Undercloud | |
| # Customize the IP subnets to match the local environment | |
| StorageNetCidr: '172.16.1.0/24' | |
| StorageMgmtNetCidr: '172.16.3.0/24' | |
| InternalApiNetCidr: '172.16.2.0/24' | |
| TenantNetCidr: '172.16.0.0/24' | |
| ExternalNetCidr: '192.168.53.0/24' | |
| ManagementNetCidr: '10.0.1.0/24' | |
| # Customize the VLAN IDs to match the local environment | |
| StorageNetworkVlanID: 30 | |
| StorageMgmtNetworkVlanID: 40 | |
| InternalApiNetworkVlanID: 20 | |
| TenantNetworkVlanID: 50 | |
| ExternalNetworkVlanID: 10 | |
| ManagementNetworkVlanID: 60 | |
| StorageAllocationPools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] | |
| StorageMgmtAllocationPools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] | |
| InternalApiAllocationPools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] | |
| TenantAllocationPools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] | |
| # Leave room if the external network is also used for floating IPs | |
| ExternalAllocationPools: [{'start': '192.168.53.182', 'end': '192.168.53.200'}] | |
| ManagementAllocationPools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] | |
| # Gateway routers for routable networks | |
| ExternalInterfaceDefaultRoute: '192.168.53.1' | |
| # Define the DNS servers (maximum 2) for the overcloud nodes | |
| DnsServers: ["192.168.53.1"] | |
| # List of Neutron network types for tenant networks (will be used in order) | |
| NeutronNetworkType: 'vxlan,vlan' | |
| # The tunnel type for the tenant network (vxlan or gre). Set to '' to disable tunneling. | |
| NeutronTunnelTypes: 'vxlan' | |
| # Neutron VLAN ranges per network, for example 'datacentre:1:499,tenant:500:1000': | |
| NeutronNetworkVLANRanges: 'datacentre:1:1000' | |
| # Customize bonding options, e.g. "mode=4 lacp_rate=1 updelay=1000 miimon=100" | |
| # for Linux bonds w/LACP, or "bond_mode=active-backup" for OVS active/backup. | |
| BondInterfaceOvsOptions: "bond_mode=active-backup" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| resource_registry: | |
| # Port assignments for the Controller | |
| OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/templates/nic-configs/controller.yaml | |
| # Port assignments for the Compute | |
| OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/templates/nic-configs/compute.yaml | |
| # Port assignments for the BlockStorage | |
| OS::TripleO::BlockStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/cinder-storage.yaml | |
| # Port assignments for the ObjectStorage | |
| OS::TripleO::ObjectStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/swift-storage.yaml | |
| # Port assignments for the CephStorage | |
| OS::TripleO::CephStorage::Net::SoftwareConfig: /home/stack/templates/nic-configs/ceph-storage.yaml |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| - name: Storage | |
| vip: true | |
| vlan: 30 | |
| name_lower: storage | |
| ip_subnet: '172.16.1.0/24' | |
| allocation_pools: [{'start': '172.16.1.4', 'end': '172.16.1.250'}] | |
| ipv6_subnet: 'fd00:fd00:fd00:3000::/64' | |
| ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] | |
| - name: StorageMgmt | |
| name_lower: storage_mgmt | |
| vip: true | |
| vlan: 40 | |
| ip_subnet: '172.16.3.0/24' | |
| allocation_pools: [{'start': '172.16.3.4', 'end': '172.16.3.250'}] | |
| ipv6_subnet: 'fd00:fd00:fd00:4000::/64' | |
| ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] | |
| - name: InternalApi | |
| name_lower: internal_api | |
| vip: true | |
| vlan: 20 | |
| ip_subnet: '172.16.2.0/24' | |
| allocation_pools: [{'start': '172.16.2.4', 'end': '172.16.2.250'}] | |
| ipv6_subnet: 'fd00:fd00:fd00:2000::/64' | |
| ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] | |
| - name: Tenant | |
| vip: false # Tenant network does not use VIPs | |
| name_lower: tenant | |
| vlan: 50 | |
| ip_subnet: '172.16.0.0/24' | |
| allocation_pools: [{'start': '172.16.0.4', 'end': '172.16.0.250'}] | |
| ipv6_subnet: 'fd00:fd00:fd00:5000::/64' | |
| ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] | |
| - name: External | |
| vip: true | |
| name_lower: external | |
| vlan: 10 | |
| ip_subnet: '192.168.53.0/24' | |
| allocation_pools: [{'start': '192.168.53.182', 'end': '192.168.53.200'}] | |
| gateway_ip: '192.168.53.1' | |
| ipv6_subnet: '2001:db8:fd00:1000::/64' | |
| ipv6_allocation_pools: [{'start': '2001:db8:fd00:1000::10', 'end': '2001:db8:fd00:1000:ffff:ffff:ffff:fffe'}] | |
| gateway_ipv6: '2001:db8:fd00:1000::1' | |
| - name: Management | |
| # Management network is enabled by default for backwards-compatibility, but | |
| # is not included in any roles by default. Add to role definitions to use. | |
| enabled: true | |
| vip: false # Management network does not use VIPs | |
| name_lower: management | |
| vlan: 60 | |
| ip_subnet: '10.0.1.0/24' | |
| allocation_pools: [{'start': '10.0.1.4', 'end': '10.0.1.250'}] | |
| ipv6_subnet: 'fd00:fd00:fd00:6000::/64' | |
| ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:6000::10', 'end': 'fd00:fd00:fd00:6000:ffff:ffff:ffff:fffe'}] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| openstack overcloud deploy --templates \ | |
| -e /home/stack/templates/node-info.yaml\ | |
| -e /home/stack/templates/overcloud_images.yaml \ | |
| -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml \ | |
| -e /home/stack/inject-trust-anchor-hiera.yaml \ | |
| -e /home/stack/templates/ceph-config.yaml \ | |
| -n /home/stack/templates/network_data.yaml \ | |
| -e /home/stack/templates/network-isolation.yaml \ | |
| -e /home/stack/templates/network-environment.yaml \ | |
| -e /home/stack/templates/network-environment-overrides.yaml \ | |
| --ntp-server 172.16.0.1 \ | |
| --libvirt-type kvm |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment