From 37dffdb77dc1424b45fa1fac8a8eebda846b107e Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Thu, 17 Dec 2015 16:59:05 -0500 Subject: Adds some network parsing for baremetal deployments and other fixes Changes include: - Fixes Intel Pod 2 inventory file - Check for DHCP server on the host and disable - Adds realistic+common network-settings file - Modifies baremetal deployments to bridge to correct interface - Adds private/storage network OVS bridges - Parses network-settings into valid network-environment variables - If certain network-settings are missing they will be auto-detected Note: The actual settings set forth for deployment only include admin/external networks at the moment. Private/storage networks will be handled in an upcoming patch. JIRA: APEX-50 Change-Id: I0a1a86f37c08702a93fe167688c3149ba5573db4 Signed-off-by: Tim Rozet --- config/deploy/deploy_settings.yaml | 21 ------- .../network/network-environment-example.yaml | 71 ---------------------- config/deploy/network/network_settings.yaml | 53 ++++++++++++++++ config/inventory/intel_pod2_settings.yaml | 14 ++--- 4 files changed, 60 insertions(+), 99 deletions(-) delete mode 100644 config/deploy/network/network-environment-example.yaml create mode 100644 config/deploy/network/network_settings.yaml (limited to 'config') diff --git a/config/deploy/deploy_settings.yaml b/config/deploy/deploy_settings.yaml index 52d39130..15157f12 100644 --- a/config/deploy/deploy_settings.yaml +++ b/config/deploy/deploy_settings.yaml @@ -1,28 +1,7 @@ global_params: ha_enabled: true - network_isolation_settings: network/network-environment-example.yaml deploy_options: - # instack_ip - # IP address given to instack on the provisioning network - instack_ip: 192.0.2.1 - # CIDR of provisioning network - provisioning_cidr: 192.0.2.0/24 - # gateway IP of provisioning network - provisioning_gateway: 192.0.2.1 - # IP pool start used for provisioning overcloud nodes - provisioning_dhcp_start: 192.0.2.5 - # IP pool end used for inspecting overcloud nodes - provisioning_dhcp_end: 192.0.2.24 - # IP pool used for inspecting overcloud nodes on the provisioning network - provisioning_inspection_iprange: 192.0.2.100,192.0.2.124 sdn_controller: opendaylight tacker: false congress: false - # CIDR used to for the external network - ext_net_cidr: 192.168.37.0/24 - # Allocation pools for floating ip addresses on the ext net - ext_allocation_pool_start: 192.168.37.50 - ext_allocation_pool_end: 192.168.37.99 - # Default Gateway for External Network - ext_gateway: 192.168.37.1 diff --git a/config/deploy/network/network-environment-example.yaml b/config/deploy/network/network-environment-example.yaml deleted file mode 100644 index f6c101fa..00000000 --- a/config/deploy/network/network-environment-example.yaml +++ /dev/null @@ -1,71 +0,0 @@ -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: /home/stack/nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: /home/stack/nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: /home/stack/nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: /home/stack/nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: /home/stack/nic-configs/ceph-storage.yaml - -parameter_defaults: - # Customize all these values to match the local environment - InternalApiNetCidr: 172.17.0.0/24 - StorageNetCidr: 172.18.0.0/24 - StorageMgmtNetCidr: 172.19.0.0/24 - TenantNetCidr: 172.16.0.0/24 - ExternalNetCidr: 10.1.2.0/24 - # CIDR subnet mask length for provisioning network - ControlPlaneSubnetCidr: 24 - InternalApiAllocationPools: [{'start': '172.17.0.10', 'end': '172.17.0.200'}] - StorageAllocationPools: [{'start': '172.18.0.10', 'end': '172.18.0.200'}] - StorageMgmtAllocationPools: [{'start': '172.19.0.10', 'end': '172.19.0.200'}] - TenantAllocationPools: [{'start': '172.16.0.10', 'end': '172.16.0.200'}] - # Use an External allocation pool which will leave room for floating IPs - ExternalAllocationPools: [{'start': '10.1.2.10', 'end': '10.1.2.50'}] - # Set to the router gateway on the external network - ExternalInterfaceDefaultRoute: 10.1.2.1 - # Gateway router for the provisioning network (or Undercloud IP) - ControlPlaneDefaultRoute: 192.0.2.254 - # Generally the IP of the Undercloud - EC2MetadataIp: 192.0.2.1 - # Define the DNS servers (maximum 2) for the overcloud nodes - DnsServers: ["8.8.8.8","8.8.4.4"] - InternalApiNetworkVlanID: 201 - StorageNetworkVlanID: 202 - StorageMgmtNetworkVlanID: 203 - TenantNetworkVlanID: 204 - ExternalNetworkVlanID: 100 - # May set to br-ex if using floating IPs only on native VLAN on bridge br-ex - NeutronExternalNetworkBridge: "''" - # Customize bonding options if required (ignored if bonds are not used) - BondInterfaceOvsOptions: - "bond_mode=balance-tcp lacp=active other-config:lacp-fallback-ab=true" - - ServiceNetMap: - NeutronTenantNetwork: tenant - CeilometerApiNetwork: internal_api - MongoDbNetwork: internal_api - CinderApiNetwork: internal_api - CinderIscsiNetwork: storage - GlanceApiNetwork: storage - GlanceRegistryNetwork: internal_api - KeystoneAdminApiNetwork: internal_api - KeystonePublicApiNetwork: internal_api - NeutronApiNetwork: internal_api - HeatApiNetwork: internal_api - NovaApiNetwork: internal_api - NovaMetadataNetwork: internal_api - NovaVncProxyNetwork: internal_api - SwiftMgmtNetwork: storage_mgmt - SwiftProxyNetwork: storage - HorizonNetwork: internal_api - MemcachedNetwork: internal_api - RabbitMqNetwork: internal_api - RedisNetwork: internal_api - MysqlNetwork: internal_api - CephClusterNetwork: storage_mgmt - CephPublicNetwork: storage - # Define which network will be used for hostname resolution - ControllerHostnameResolveNetwork: internal_api - ComputeHostnameResolveNetwork: internal_api - BlockStorageHostnameResolveNetwork: internal_api - ObjectStorageHostnameResolveNetwork: internal_api - CephStorageHostnameResolveNetwork: storage diff --git a/config/deploy/network/network_settings.yaml b/config/deploy/network/network_settings.yaml new file mode 100644 index 00000000..2560cc5d --- /dev/null +++ b/config/deploy/network/network_settings.yaml @@ -0,0 +1,53 @@ +# Defines Network Environment for a Baremetal Deployment +# Any values missing will be auto-detected on the jumphost +admin_network: + enabled: true + network_type: bridged + bridged_interface: '' + bond_interfaces: '' + vlan: native + usable_ip_range: 192.0.2.11,192.0.2.99 + gateway: 192.0.2.1 + provisioner_ip: 192.0.2.1 + cidr: 192.0.2.0/24 + dhcp_range: 192.0.2.2,192.0.2.10 + introspection_range: 192.0.2.100,192.0.2.120 +private_network: + enabled: false +public_network: + enabled: true + network_type: '' + bridged_interface: '' + cidr: 192.168.37.0/24 + gateway: 192.168.37.1 + floating_ip_range: 192.168.37.200,192.168.37.220 + usable_ip_range: 192.168.37.10,192.168.37.199 + provisioner_ip: 192.168.37.1 +storage_network: + enabled: false + +#admin_network: #Required network, other networks can collapse into this network if not enabled +# enabled: true +# network_type: bridged #Indicates if this network will be bridged to an interface, or to a bond +# bridged_interface: '' #Interface to bridge to for installer VM +# bond_interfaces: '' #Interfaces to create bond with for installer VM +# vlan: native #VLAN tag to use, native means none +# usable_ip_range: 192.0.2.11,192.0.2.99 #Usable ip range, if empty entire range is usable, ex. 192.168.1.10,192.168.1.20 +# gateway: 192.0.2.1 #Gateway (only needed when public_network is disabled), if empty it is auto-detected +# provisioner_ip: 192.0.2.1 #installer VM IP, if empty it is the next available IP in the admin subnet +# cidr: 192.0.2.0/24 #subnet in CIDR format 192.168.1.0/24, if empty it will be auto-detected +# dhcp_range: 192.0.2.2,192.0.2.10 #dhcp range for the admin network, if empty it will be automatically provisioned +# introspection_range: 192.0.2.100,192.0.2.120 #Range used for introspection phase (examining nodes) +#private_network: #Network for internal API traffic for O/S services and internal tenant traffic +# enabled: false #If disabled, internal api traffic will collapse to admin_network +#public_network: #Network for external API traffic and external tenant traffic +# enabled: true #If disabled, public_network traffic will collapse to admin network +# network_type: '' +# bridged_interface: '' +# cidr: 192.168.37.0/24 +# gateway: 192.168.37.1 +# floating_ip_range: 192.168.37.200,192.168.37.220 #Range to allocate to floating IPs for the public network with Neutron +# usable_ip_range: 192.168.37.10,192.168.37.199 #Usable IP range on the public network, usually this is a shared subnet +# provisioner_ip: 192.168.37.1 +#storage_network: #Network for Ceph storage traffic +# enabled: false #If disabled, storage_network traffic will collapse to admin network diff --git a/config/inventory/intel_pod2_settings.yaml b/config/inventory/intel_pod2_settings.yaml index 4545839f..6058209d 100644 --- a/config/inventory/intel_pod2_settings.yaml +++ b/config/inventory/intel_pod2_settings.yaml @@ -5,7 +5,7 @@ nodes: ipmi_user: root ipmi_pass: root cpus: 2 - memory: 2048 + memory: 8192 disk: 40 arch: "x86_64" capabilities: "profile:control" @@ -15,27 +15,27 @@ nodes: ipmi_user: root ipmi_pass: root cpus: 2 - memory: 2048 + memory: 8192 disk: 40 arch: "x86_64" capabilities: "profile:control" node3: - mac_address: "00:1e:67:4f:cc:f1" + mac_address: "00:1e:67:4f:cc:0b" ipmi_ip: 10.4.7.4 ipmi_user: root ipmi_pass: root cpus: 2 - memory: 2048 + memory: 8192 disk: 40 arch: "x86_64" capabilities: "profile:control" node4: - mac_address: "00:1e:67:4f:cc:0b" + mac_address: "00:1e:67:4f:cc:f1" ipmi_ip: 10.4.7.5 ipmi_user: root ipmi_pass: root cpus: 2 - memory: 2048 + memory: 8192 disk: 40 arch: "x86_64" capabilities: "profile:compute" @@ -45,7 +45,7 @@ nodes: ipmi_user: root ipmi_pass: root cpus: 2 - memory: 2048 + memory: 8192 disk: 40 arch: "x86_64" capabilities: "profile:compute" -- cgit 1.2.3-korg