summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xci/deploy.sh27
-rw-r--r--config/build/build_settings.yaml26
-rw-r--r--config/deploy/deploy_settings.yaml11
-rw-r--r--config/deploy/network/network-environment-example.yaml71
-rw-r--r--config/inventory/pod_example_settings.yaml46
5 files changed, 168 insertions, 13 deletions
diff --git a/ci/deploy.sh b/ci/deploy.sh
index a3bdf562..9e6c1e08 100755
--- a/ci/deploy.sh
+++ b/ci/deploy.sh
@@ -5,16 +5,6 @@
# author: Tim Rozet (trozet@redhat.com)
#
# Based on RDO Manager http://www.rdoproject.org
-#
-# Pre-requisties:
-# - Supports 3 or 4 network interface configuration
-# - Target system must be RPM based
-# - Provisioned nodes expected to have following order of network connections (note: not all have to exist, but order is maintained):
-# eth0- admin network
-# eth1- private network (+storage network in 3 NIC config)
-# eth2- public network
-# eth3- storage network
-# - script assumes /24 subnet mask
set -e
@@ -28,6 +18,8 @@ vm_index=4
ha_enabled="TRUE"
ping_site="8.8.8.8"
ntp_server="pool.ntp.org"
+net_isolation_enabled="TRUE"
+
declare -i CNT
declare UNDERCLOUD
@@ -189,8 +181,6 @@ function setup_instack_vm {
# extra space to overwrite the previous connectivity output
echo -e "${blue}\r ${reset}"
- ssh -T ${SSH_OPTIONS[@]} "root@$UNDERCLOUD" "if ! ip a s eth1 | grep 192.0.2.1 > /dev/null; then ip a a 192.0.2.1/24 dev eth1; fi"
-
#add the instack brbm1 interface
virsh attach-interface --domain instack --type network --source brbm1 --model rtl8139 --config --live
sleep 1
@@ -295,6 +285,11 @@ function undercloud_prep_overcloud_deploy {
DEPLOY_OPTIONS+=" --ntp-server $ntp_server"
fi
+ if [ $net_isolation_enabled == "TRUE" ]; then
+ DEPLOY_OPTIONS+=" -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml"
+ DEPLOY_OPTIONS+=" -e network-environment.yaml"
+ fi
+
ssh -T ${SSH_OPTIONS[@]} "stack@$UNDERCLOUD" <<EOI
source stackrc
set -o errexit
@@ -311,7 +306,7 @@ echo "Configuring nameserver on ctlplane network"
neutron subnet-update \$(neutron subnet-list | grep -v id | grep -v \\\\-\\\\- | awk {'print \$2'}) --dns-nameserver 8.8.8.8
echo "Executing overcloud deployment, this should run for an extended period without output."
sleep 60 #wait for Hypervisor stats to check-in to nova
-openstack overcloud deploy --templates $DEPLOY_OPTIONS -e /usr/share/openstack-tripleo-heat-templates/environments/network-isolation.yaml -e network-environment.yaml -e opendaylight.yaml
+openstack overcloud deploy --templates $DEPLOY_OPTIONS -e opendaylight.yaml
EOI
}
@@ -325,6 +320,7 @@ display_usage() {
echo -e " -r|--resources : Directory to deployment resources. Optional. Defaults to /var/opt/opnfv/stack \n"
echo -e " -v|--virtual : Virtualize overcloud nodes instead of using baremetal. \n"
echo -e " --no-ha : disable High Availablility deployment scheme, this assumes a single controller and single compute node \n"
+ echo -e " --flat : disable Network Isolation and use a single flat network for the underlay network."
}
##translates the command line paramaters into variables
@@ -375,6 +371,11 @@ parse_cmdline() {
echo "HA Deployment Disabled"
shift 1
;;
+ --flat )
+ net_isolation_enabled="FALSE"
+ echo "Underlay Network Isolation Disabled: using flat configuration"
+ shift 1
+ ;;
*)
display_usage
exit 1
diff --git a/config/build/build_settings.yaml b/config/build/build_settings.yaml
new file mode 100644
index 00000000..93ac9444
--- /dev/null
+++ b/config/build/build_settings.yaml
@@ -0,0 +1,26 @@
+build_params:
+ opendaylight: true
+ onos: false
+ ovs: true
+ odl_puppet: true
+
+opendaylight_config:
+ name: "OpenDaylight SFC"
+ method: zip
+ location: https://www.dropbox.com/s/6w76eo7loltvvb5/openstack.net-virt-sfc-karaf-1.2.1-SNAPSHOT.zip
+
+onos_config:
+ name: "ONOS Base Controller"
+ method: rpm
+ location: https://www.example.com/onos.rpm
+
+ovs_config:
+ name: "OVS NSH Build"
+ method: rpm
+ location: https://www.example.com/ovs_nsh_noarch.rpm
+
+odl_puppet_config:
+ name: "Puppet to install ODL SFC"
+ method: git
+ location: https://github.com/puppet-opendaylight.git
+ version: "stable/liberty"
diff --git a/config/deploy/deploy_settings.yaml b/config/deploy/deploy_settings.yaml
new file mode 100644
index 00000000..f024116c
--- /dev/null
+++ b/config/deploy/deploy_settings.yaml
@@ -0,0 +1,11 @@
+global_params:
+ ha_enabled: true
+ network_isolation_settings: network/network-environment-example.yaml
+
+deploy_options:
+ sdn_controller: opendaylight
+ tacker: false
+ congress: false
+
+
+
diff --git a/config/deploy/network/network-environment-example.yaml b/config/deploy/network/network-environment-example.yaml
new file mode 100644
index 00000000..f6c101fa
--- /dev/null
+++ b/config/deploy/network/network-environment-example.yaml
@@ -0,0 +1,71 @@
+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/inventory/pod_example_settings.yaml b/config/inventory/pod_example_settings.yaml
new file mode 100644
index 00000000..f24b8e1c
--- /dev/null
+++ b/config/inventory/pod_example_settings.yaml
@@ -0,0 +1,46 @@
+nodes:
+ node1:
+ mac_address: "10:23:45:67:89:AB"
+ ipmi_ip: 10.4.17.2
+ ipmi_user: root
+ ipmi_pass: root
+ cpus: 2
+ memory: 2048
+ disk: 40
+ arch: "x86_64"
+ node2:
+ mac_address: "10:23:45:67:89:AC"
+ ipmi_ip: 10.4.17.3
+ ipmi_user: root
+ ipmi_pass: root
+ cpus: 2
+ memory: 2048
+ disk: 40
+ arch: "x86_64"
+ node3:
+ mac_address: "10:23:45:67:89:AD"
+ ipmi_ip: 10.4.17.4
+ ipmi_user: root
+ ipmi_pass: root
+ cpus: 2
+ memory: 2048
+ disk: 40
+ arch: "x86_64"
+ node4:
+ mac_address: "10:23:45:67:89:AE"
+ ipmi_ip: 10.4.17.5
+ ipmi_user: root
+ ipmi_pass: root
+ cpus: 2
+ memory: 2048
+ disk: 40
+ arch: "x86_64"
+ node5:
+ mac_address: "10:23:45:67:89:AF"
+ ipmi_ip: 10.4.17.6
+ ipmi_user: root
+ ipmi_pass: root
+ cpus: 2
+ memory: 2048
+ disk: 40
+ arch: "x86_64"