diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 84f0c9b..0000000 --- a/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -nodes.json -env-*.yaml -bmc_bm_pairs -*.pyc -*.pyo -.coverage -cover -.testrepository -.tox -*.egg-info -.eggs -doc/build -AUTHORS -ChangeLog -.stestr/ diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index b8fdd10..0000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "ipxe/ipxe"] - path = ipxe/ipxe - url = https://git.ipxe.org/ipxe.git diff --git a/.stestr.conf b/.stestr.conf deleted file mode 100644 index 82d00f2..0000000 --- a/.stestr.conf +++ /dev/null @@ -1,3 +0,0 @@ -[DEFAULT] -test_path=${OS_TEST_PATH:-./openstack_virtual_baremetal/tests} -top_path=./ diff --git a/.zuul.yaml b/.zuul.yaml deleted file mode 100644 index 923c799..0000000 --- a/.zuul.yaml +++ /dev/null @@ -1,6 +0,0 @@ -- project: - templates: - - openstack-python3-zed-jobs - - docs-on-readthedocs - vars: - rtd_webhook_id: '64851' diff --git a/README.rst b/README.rst index 5d3ae54..4ee2c5f 100644 --- a/README.rst +++ b/README.rst @@ -1,7 +1,10 @@ -OpenStack Virtual Baremetal -=========================== +This project is no longer maintained. -OpenStack Virtual Baremetal is a way to use OpenStack instances to do -simulated baremetal deployments. For more details, see the `full -documentation -`_. +The contents of this repository are still available in the Git +source code management system. To see the contents of this +repository before it reached its end of life, please check out the +previous commit with "git checkout HEAD^1". + +For any further questions, please email +openstack-discuss@lists.openstack.org or join #openstack-dev on +OFTC. diff --git a/bin/build-nodes-json b/bin/build-nodes-json deleted file mode 120000 index c679e77..0000000 --- a/bin/build-nodes-json +++ /dev/null @@ -1 +0,0 @@ -../openstack_virtual_baremetal/build_nodes_json.py \ No newline at end of file diff --git a/bin/check-up-to-date.sh b/bin/check-up-to-date.sh deleted file mode 100755 index 8ac7522..0000000 --- a/bin/check-up-to-date.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash -set -e - -# Report an error if the generated sample environments are not in sync with -# the current configuration and templates. - -echo 'Verifying that generated environments are in sync' - -tmpdir=$(mktemp -d) -trap "rm -rf $tmpdir" EXIT - -./bin/environment-generator.py sample-env-generator/ $tmpdir/environments - -base=$PWD -retval=0 - -cd $tmpdir - -file_list=$(find environments -type f) -for f in $file_list; do - if ! diff -q $f $base/$f; then - echo "ERROR: $base/$f is not up to date" - diff $f $base/$f - retval=1 - fi -done - -exit $retval diff --git a/bin/deploy.py b/bin/deploy.py deleted file mode 120000 index cc3b502..0000000 --- a/bin/deploy.py +++ /dev/null @@ -1 +0,0 @@ -../openstack_virtual_baremetal/deploy.py \ No newline at end of file diff --git a/bin/environment-generator.py b/bin/environment-generator.py deleted file mode 100755 index dc29fa2..0000000 --- a/bin/environment-generator.py +++ /dev/null @@ -1,260 +0,0 @@ -#!/usr/bin/env python - -# Copyright 2015 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# ************************************************************************* -# This is a copy of the environment-generator.py in tripleo-heat-templates. -# At some point that version should be generalized enough to be used by -# other projects in a less hacky way. -# ************************************************************************* - -import argparse -import errno -import json -import os -import re -import yaml - - -_PARAM_FORMAT = u""" # %(description)s - %(mandatory)s# Type: %(type)s - %(name)s:%(default)s -""" -_STATIC_MESSAGE_START = ( - ' # ******************************************************\n' - ' # Static parameters - these are values that must be\n' - ' # included in the environment but should not be changed.\n' - ' # ******************************************************\n' -) -_STATIC_MESSAGE_END = (' # *********************\n' - ' # End static parameters\n' - ' # *********************\n' - ) -_FILE_HEADER = ( - '# *******************************************************************\n' - '# This file was created automatically by the sample environment\n' - '# generator. Developers should use `tox -e genconfig` to update it.\n' - '# Users are recommended to make changes to a copy of the file instead\n' - '# of the original, if any customizations are needed.\n' - '# *******************************************************************\n' -) -# Certain parameter names can't be changed, but shouldn't be shown because -# they are never intended for direct user input. -_PRIVATE_OVERRIDES = [] -# Hidden params are not included by default when the 'all' option is used, -# but can be explicitly included by referencing them in sample_defaults or -# static. This allows us to generate sample environments using them when -# necessary, but they won't be improperly included by accident. -_HIDDEN_PARAMS = [] -# We also want to hide some patterns by default. If a parameter name matches -# one of the patterns in this list (a "match" being defined by Python's -# re.match function returning a value other than None), then the parameter -# will be omitted by default. -_HIDDEN_RE = [] - -_index_data = {} - - -def _create_output_dir(target_file): - try: - os.makedirs(os.path.dirname(target_file)) - except OSError as e: - if e.errno == errno.EEXIST: - pass - else: - raise - - -def _generate_environment(input_env, output_path, parent_env=None): - if parent_env is None: - parent_env = {} - env = dict(parent_env) - env.pop('children', None) - env.update(input_env) - parameter_defaults = {} - param_names = [] - sample_values = env.get('sample_values', {}) - static_names = env.get('static', []) - for template_file, template_data in env.get('files', {}).items(): - with open(template_file) as f: - f_data = yaml.safe_load(f) - f_params = f_data['parameters'] - parameter_defaults.update(f_params) - if template_data['parameters'] == 'all': - new_names = [k for k, v in f_params.items()] - for hidden in _HIDDEN_PARAMS: - if (hidden not in (static_names + sample_values.keys()) and - hidden in new_names): - new_names.remove(hidden) - for hidden_re in _HIDDEN_RE: - new_names = [n for n in new_names - if n in (static_names + - sample_values.keys()) or - not re.match(hidden_re, n)] - else: - new_names = template_data['parameters'] - missing_params = [name for name in new_names - if name not in f_params] - if missing_params: - raise RuntimeError('Did not find specified parameter names %s ' - 'in file %s for environment %s' % - (missing_params, template_file, - env['name'])) - param_names += new_names - - static_defaults = {k: v for k, v in parameter_defaults.items() - if k in param_names and - k in static_names - } - parameter_defaults = {k: v for k, v in parameter_defaults.items() - if k in param_names and - k not in _PRIVATE_OVERRIDES and - not k.startswith('_') and - k not in static_names - } - - for k, v in sample_values.items(): - if k in parameter_defaults: - parameter_defaults[k]['sample'] = v - if k in static_defaults: - static_defaults[k]['sample'] = v - - def write_sample_entry(f, name, value): - default = value.get('default') - mandatory = '' - if default is None: - mandatory = ('# Mandatory. This parameter must be set by the ' - 'user.\n ') - default = '' - if value.get('sample') is not None: - default = value['sample'] - if isinstance(default, dict): - # We need to explicitly sort these so the order doesn't change - # from one run to the next - default = json.dumps(default, sort_keys=True) - # We ultimately cast this to str for output anyway - default = str(default) - if default == '': - default = "''" - # If the default value is something like %index%, yaml won't - # parse the output correctly unless we wrap it in quotes. - # However, not all default values can be wrapped so we need to - # do it conditionally. - if default.startswith('%') or default.startswith('*'): - default = "'%s'" % default - if not default.startswith('\n'): - default = ' ' + default - - values = {'name': name, - 'type': value['type'], - 'description': - value.get('description', '').rstrip().replace('\n', - '\n # '), - 'default': default, - 'mandatory': mandatory, - } - f.write(_PARAM_FORMAT % values + '\n') - - target_file = os.path.join(output_path, env['name'] + '.yaml') - _create_output_dir(target_file) - with open(target_file, 'w') as env_file: - env_file.write(_FILE_HEADER) - # TODO(bnemec): Once Heat allows the title and description to live in - # the environment itself, uncomment these entries and make them - # top-level keys in the YAML. - env_title = env.get('title', '') - env_file.write(u'# title: %s\n' % env_title) - env_desc = env.get('description', '') - env_file.write(u'# description: |\n') - for line in env_desc.splitlines(): - env_file.write(u'# %s\n' % line) - _index_data[target_file] = {'title': env_title, - 'description': env_desc - } - - if parameter_defaults: - env_file.write(u'parameter_defaults:\n') - for name, value in sorted(parameter_defaults.items()): - write_sample_entry(env_file, name, value) - if static_defaults: - env_file.write(_STATIC_MESSAGE_START) - for name, value in sorted(static_defaults.items()): - write_sample_entry(env_file, name, value) - if static_defaults: - env_file.write(_STATIC_MESSAGE_END) - - if env.get('resource_registry'): - env_file.write(u'resource_registry:\n') - for res, value in sorted(env.get('resource_registry', {}).items()): - env_file.write(u' %s: %s\n' % (res, value)) - print('Wrote sample environment "%s"' % target_file) - - for e in env.get('children', []): - _generate_environment(e, output_path, env) - - -def generate_environments(config_path, output_path): - if os.path.isdir(config_path): - config_files = os.listdir(config_path) - config_files = [os.path.join(config_path, i) for i in config_files - if os.path.splitext(i)[1] == '.yaml'] - else: - config_files = [config_path] - for config_file in config_files: - print('Reading environment definitions from %s' % config_file) - with open(config_file) as f: - config = yaml.safe_load(f) - for env in config['environments']: - _generate_environment(env, output_path) - - -def generate_index(index_path): - with open(index_path, 'w') as f: - f.write('Sample Environment Index\n') - f.write('========================\n\n') - for filename, details in sorted(_index_data.items()): - f.write(details['title'] + '\n') - f.write('-' * len(details['title']) + '\n\n') - f.write('**File:** ' + filename + '\n\n') - f.write('**Description:** ' + details['description'] + '\n\n') - - -def _parse_args(): - parser = argparse.ArgumentParser(description='Generate Heat sample ' - 'environments.') - parser.add_argument('config_path', - help='Filename or directory containing the sample ' - 'environment definitions.') - parser.add_argument('output_path', - help='Location to write generated files.', - default='environments', - nargs='?') - parser.add_argument('--index', - help='Specify the output path for an index file ' - 'listing all the generated environments. ' - 'The file will be in RST format. ' - 'If not specified, no index will be generated.') - return parser.parse_args() - - -def main(): - args = _parse_args() - generate_environments(args.config_path, args.output_path) - if args.index: - generate_index(args.index) - - -if __name__ == '__main__': - main() diff --git a/bin/envup b/bin/envup deleted file mode 120000 index ee78715..0000000 --- a/bin/envup +++ /dev/null @@ -1 +0,0 @@ -start-env \ No newline at end of file diff --git a/bin/install_openstackbmc.sh b/bin/install_openstackbmc.sh deleted file mode 100644 index 261e499..0000000 --- a/bin/install_openstackbmc.sh +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/bash -set -x - -centos_ver=$(rpm --eval %{centos_ver}) - -if [ "$centos_ver" == "7" ] ; then - curl -o /etc/yum.repos.d/delorean.repo https://trunk.rdoproject.org/centos7/current/delorean.repo - yum install -y python2-tripleo-repos ca-certificates - tripleo-repos current-tripleo - yum install -y python-crypto python2-novaclient python2-neutronclient python2-pyghmi os-net-config python2-os-client-config python2-openstackclient -elif [ "$centos_ver" == "9" ] ; then - curl -o /etc/yum.repos.d/delorean.repo https://trunk.rdoproject.org/centos${centos_ver}-master/current-tripleo/delorean.repo - dnf install -y python3-tripleo-repos - tripleo-repos current-tripleo - dnf install -y openstack-network-scripts python3-cryptography python3-novaclient python3-pyghmi os-net-config python3-os-client-config python3-openstackclient -else - set +x - $signal_command --data-binary '{"status": "FAILURE"}' - echo "Unsupported CentOS version $centos_ver" - exit 1 -fi - -cat </usr/local/bin/openstackbmc -$openstackbmc_script -EOF -chmod +x /usr/local/bin/openstackbmc - -# Configure clouds.yaml so we can authenticate to the host cloud -mkdir -p ~/.config/openstack -# Passing this as an argument is problematic because it has quotes inline that -# cause syntax errors. Reading from a file should be easier. -cat <<'EOF' >/tmp/bmc-cloud-data -$cloud_data -EOF -python -c 'import json -import sys -import yaml -with open("/tmp/bmc-cloud-data") as f: - data=json.loads(f.read()) -clouds={"clouds": {"host_cloud": data}} -print(yaml.safe_dump(clouds, default_flow_style=False))' > ~/.config/openstack/clouds.yaml -rm -f /tmp/bmc-cloud-data -export OS_CLOUD=host_cloud - -# python script do query the cloud and write out the bmc services/configs -$(command -v python3 || command -v python2) </dev/null -then - systemctl status openstack-bmc-* - set +x - $signal_command --data-binary '{"status": "FAILURE"}' - echo "********** $unit failed to start **********" - exit 1 -fi -set +x -$signal_command --data-binary '{"status": "SUCCESS"}' - diff --git a/bin/load-test b/bin/load-test deleted file mode 100755 index 59ae64c..0000000 --- a/bin/load-test +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -ex - -JOBS=${1:-1} -DELAY=${2:-60} - -BIN_DIR=$(cd $(dirname $0); pwd -P) - -for i in $(seq $JOBS) -do - jobid=$(uuidgen | md5sum) - jobid=${jobid:1:8} - date - echo "Starting job $jobid, logging to /tmp/$jobid.log" - $BIN_DIR/test-job $jobid > /tmp/$jobid.log 2>&1 & - sleep $DELAY -done diff --git a/bin/openstackbmc b/bin/openstackbmc deleted file mode 120000 index d46f9a2..0000000 --- a/bin/openstackbmc +++ /dev/null @@ -1 +0,0 @@ -../openstack_virtual_baremetal/openstackbmc.py \ No newline at end of file diff --git a/bin/ovb-instack b/bin/ovb-instack deleted file mode 100755 index ff2377b..0000000 --- a/bin/ovb-instack +++ /dev/null @@ -1,130 +0,0 @@ -#!/bin/bash - -function timer -{ - name=${1:-} - seconds=$(date +%s) - if [ -n "$name" ] - then - echo "${name}: $((seconds - start_time))" >> ~/timer-results - else - start_time=$seconds - fi -} - -set -ex - -timer -# When not running my local cloud we don't want these set -if [ ${LOCAL:-1} -eq 1 ] -then - export http_proxy=http://roxy:3128 - curl -O http://openstack/CentOS-7-x86_64-GenericCloud-1901.qcow2 - - export DIB_LOCAL_IMAGE=CentOS-7-x86_64-GenericCloud-1901.qcow2 - export DIB_DISTRIBUTION_MIRROR=http://mirror.centos.org/centos - export no_proxy=192.168.24.1,192.168.24.2,192.168.24.3,127.0.0.1 -fi - -# Set up the undercloud in preparation for running the deployment -sudo yum install -y git wget -rm -rf git-tripleo-ci -git clone https://git.openstack.org/openstack-infra/tripleo-ci git-tripleo-ci -echo '#!/bin/bash' > tripleo.sh -echo 'git-tripleo-ci/scripts/tripleo.sh $@' >> tripleo.sh -chmod +x tripleo.sh -if [ ! -d overcloud-templates ] -then - git clone https://git.openstack.org/openstack/openstack-virtual-baremetal - cp -r openstack-virtual-baremetal/overcloud-templates . -fi - -export OVERCLOUD_PINGTEST_OLD_HEATCLIENT=0 -export TRIPLEOSH=/home/centos/tripleo.sh - -# Do the tripleo deployment -# Repo setup -wget -r --no-parent -nd -e robots=off -l 1 -A 'python2-tripleo-repos-*' https://trunk.rdoproject.org/centos7/current/ -sudo yum install -y python2-tripleo-repos-* -sudo tripleo-repos -b rocky current --rdo-mirror http://mirror.regionone.rdo-cloud.rdoproject.org:8080/rdo --mirror http://mirror.regionone.rdo-cloud.rdoproject.org - -timer 'system setup' -timer - -# Undercloud install -cat << EOF > undercloud.conf -[DEFAULT] -undercloud_hostname=undercloud.localdomain -enable_telemetry = false -enable_legacy_ceilometer_api = false -enable_ui = false -enable_validations = false -enable_tempest = false -local_mtu = 1450 -[ctlplane-subnet] -masquerade = true -EOF - -sudo yum install -y python-tripleoclient -openstack undercloud install -. stackrc - -# Undercloud networking -cat >> /tmp/eth2.cfg < [baremetal_base] [environment ID] -# Examples: rebuild-baremetal 2 -# rebuild-baremetal 5 my-baremetal-name -# rebuild-baremetal 5 baremetal test - -node_num=$1 -baremetal_base=${2:-'baremetal'} -env_id=${3:-} - -name_base="$baremetal_base" -if [ -n "$env_id" ] -then - name_base="$baremetal_base-$env_id" -fi - -for i in `seq 0 $((node_num - 1))` -do - echo nova rebuild "${instance_list}${name_base}_$i" ipxe-boot - nova rebuild "${instance_list}${name_base}_$i" ipxe-boot -done diff --git a/bin/start-env b/bin/start-env deleted file mode 100755 index ab8c60e..0000000 --- a/bin/start-env +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -# Usage: start-env -# Example: start-env test -# This will start the undercloud-test and bmc-test instances - -nova start bmc-$1 undercloud-$1 diff --git a/bin/stop-env b/bin/stop-env deleted file mode 100755 index 0d19c25..0000000 --- a/bin/stop-env +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -# Usage: stop-env -# Example: stop-env test -# This will stop the undercloud and bmc, as well as up to 5 baremetal instances - -# TODO: Make this smarter so it will handle an arbitrary number of baremetal instances -nova stop undercloud-$1 bmc-$1 baremetal-$1_0 baremetal-$1_1 baremetal-$1_2 baremetal-$1_3 baremetal-$1_4 diff --git a/bin/test-job b/bin/test-job deleted file mode 100755 index aef6216..0000000 --- a/bin/test-job +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash - -# Edit these to match your environment -BMC_IMAGE=bmc-base -BMC_FLAVOR=bmc -KEY_NAME=default -UNDERCLOUD_IMAGE=centos7-base -UNDERCLOUD_FLAVOR=undercloud-16 -BAREMETAL_FLAVOR=baremetal -EXTERNAL_NET=external -# Set to 0 if you're not running in bnemec's private cloud -LOCAL=1 - -set -ex - -date -start_seconds=$(date +%s) - -BIN_DIR=$(cd $(dirname $0); pwd -P) -MY_ID=$1 - -BMC_PREFIX=bmc-$MY_ID -BAREMETAL_PREFIX=baremetal-$MY_ID -UNDERCLOUD_NAME=undercloud-$MY_ID -PUBLIC_NET=public-$MY_ID -PROVISION_NET=provision-$MY_ID -PRIVATE_NET=private-$MY_ID - -# NOTE(bnemec): I'm intentionally not adding a trap to clean this up because -# if something fails it may be helpful to look at the contents of the tempdir. -TEMPDIR=$(mktemp -d) -echo "Working in $TEMPDIR" -cd $TEMPDIR - -cp -r $BIN_DIR/../templates . -cp templates/env.yaml.example ./env.yaml -sed -i "s/bmc_image: .*/bmc_image: $BMC_IMAGE/" env.yaml -sed -i "s/bmc_flavor: .*/bmc_flavor: $BMC_FLAVOR/" env.yaml -sed -i "s/key_name: .*/key_name: $KEY_NAME/" env.yaml -sed -i "s/baremetal_flavor: .*/baremetal_flavor: $BAREMETAL_FLAVOR/" env.yaml -sed -i "s/undercloud_image: .*/undercloud_image: $UNDERCLOUD_IMAGE/" env.yaml -sed -i "s/undercloud_flavor: .*/undercloud_flavor: $UNDERCLOUD_FLAVOR/" env.yaml -sed -i "s|external_net: .*|external_net: $EXTERNAL_NET|" env.yaml -sed -i "s/private_net: .*/private_net: $PRIVATE_NET/" env.yaml -if [ $LOCAL -eq 1 ] -then - echo 'parameter_defaults:' >> env.yaml - echo ' dns_nameservers: 11.1.1.1' >> env.yaml -fi -echo 'resource_registry:' >> env.yaml -echo ' OS::OVB::UndercloudFloating: templates/undercloud-floating.yaml' >> env.yaml -echo ' OS::OVB::BaremetalPorts: templates/baremetal-ports-default.yaml' >> env.yaml -echo ' OS::OVB::BMCPort: templates/bmc-port.yaml' >> env.yaml -echo ' OS::OVB::UndercloudPorts: templates/undercloud-ports.yaml' >> env.yaml -echo ' OS::OVB::PrivateNetwork: templates/private-net-create.yaml' >> env.yaml - -cp -r $BIN_DIR ./bin -cp -r $BIN_DIR/../openstack_virtual_baremetal . -STACK_NAME=$MY_ID -$BIN_DIR/deploy.py --quintupleo --id $MY_ID --name $STACK_NAME --poll -UNDERCLOUD_IP=$(heat output-show $STACK_NAME undercloud_host_floating_ip | sed -e 's/"//g') -bin/build-nodes-json --env env-$MY_ID.yaml --driver ipmi -#bin/build-nodes-json --bmc_prefix $BMC_PREFIX --baremetal_prefix $BAREMETAL_PREFIX --provision_net $PROVISION_NET -SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=Verbose -o PasswordAuthentication=no -o ConnectionAttempts=32 " -# Canary command to make sure the undercloud is ready -until ssh -t -t $SSH_OPTS centos@$UNDERCLOUD_IP ls; do sleep 1; done -scp $SSH_OPTS bin/ovb-instack centos@$UNDERCLOUD_IP:/tmp -scp $SSH_OPTS nodes.json centos@$UNDERCLOUD_IP:~/instackenv.json -ssh -t -t $SSH_OPTS centos@$UNDERCLOUD_IP LOCAL=$LOCAL /tmp/ovb-instack -heat stack-delete -y $STACK_NAME - -date -end_seconds=$(date +%s) -elapsed_seconds=$(($end_seconds - $start_seconds)) -echo "Finished in $elapsed_seconds seconds" -rm -rf $TEMPDIR diff --git a/bin/test-job-v2 b/bin/test-job-v2 deleted file mode 100755 index 0e6d3c9..0000000 --- a/bin/test-job-v2 +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -# Edit these to match your environment -BMC_IMAGE=bmc-base -BMC_FLAVOR=bmc -KEY_NAME=default -UNDERCLOUD_IMAGE=centos7-base -UNDERCLOUD_FLAVOR=undercloud-16 -BAREMETAL_FLAVOR=baremetal -EXTERNAL_NET=external -# Set to 0 if you're not running in bnemec's private cloud -LOCAL=1 - -set -ex - -date -start_seconds=$(date +%s) - -BIN_DIR=$(cd $(dirname $0); pwd -P) -MY_ID=$1 - -BMC_PREFIX=bmc-$MY_ID -BAREMETAL_PREFIX=baremetal-$MY_ID -UNDERCLOUD_NAME=undercloud-$MY_ID -PUBLIC_NET=public-$MY_ID -PROVISION_NET=provision-$MY_ID -PRIVATE_NET=private-$MY_ID - -# NOTE(bnemec): I'm intentionally not adding a trap to clean this up because -# if something fails it may be helpful to look at the contents of the tempdir. -TEMPDIR=$(mktemp -d) -echo "Working in $TEMPDIR" -cd $TEMPDIR - -cp -r $BIN_DIR/../templates . -cp -r $BIN_DIR/../environments . -cp -r $BIN_DIR/../overcloud-templates . -cp environments/base.yaml ./env.yaml -sed -i "s/bmc_image: .*/bmc_image: $BMC_IMAGE/" env.yaml -sed -i "s/bmc_flavor: .*/bmc_flavor: $BMC_FLAVOR/" env.yaml -sed -i "s/key_name: .*/key_name: $KEY_NAME/" env.yaml -sed -i "s/baremetal_flavor: .*/baremetal_flavor: $BAREMETAL_FLAVOR/" env.yaml -sed -i "s/undercloud_image: .*/undercloud_image: $UNDERCLOUD_IMAGE/" env.yaml -sed -i "s/undercloud_flavor: .*/undercloud_flavor: $UNDERCLOUD_FLAVOR/" env.yaml -sed -i "s|external_net: .*|external_net: $EXTERNAL_NET|" env.yaml -sed -i "s/private_net: .*/private_net: $PRIVATE_NET/" env.yaml -if [ $LOCAL -eq 1 ] -then - sed -i "s/dns_nameservers: .*/dns_nameservers: 11.1.1.1/" environments/create-private-network.yaml -fi - -cp -r $BIN_DIR ./bin -cp -r $BIN_DIR/../openstack_virtual_baremetal . -STACK_NAME=$MY_ID -$BIN_DIR/deploy.py --quintupleo --id $MY_ID --name $STACK_NAME --poll -e env.yaml -e environments/create-private-network.yaml -e environments/all-networks.yaml -UNDERCLOUD_IP=$(heat output-show $STACK_NAME undercloud_host_floating_ip | sed -e 's/"//g') -bin/build-nodes-json --env env-$MY_ID.yaml --driver ipmi -SSH_OPTS="-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o LogLevel=Verbose -o PasswordAuthentication=no -o ConnectionAttempts=32 " -# Canary command to make sure the undercloud is ready -until ssh -t -t $SSH_OPTS centos@$UNDERCLOUD_IP ls; do sleep 1; done -scp $SSH_OPTS bin/ovb-instack centos@$UNDERCLOUD_IP:/tmp -scp $SSH_OPTS nodes.json centos@$UNDERCLOUD_IP:~/instackenv.json -scp $SSH_OPTS -r overcloud-templates centos@$UNDERCLOUD_IP:~ -ssh -t -t $SSH_OPTS centos@$UNDERCLOUD_IP LOCAL=$LOCAL VERSION=2 /tmp/ovb-instack -heat stack-delete -y $STACK_NAME - -date -end_seconds=$(date +%s) -elapsed_seconds=$(($end_seconds - $start_seconds)) -echo "Finished in $elapsed_seconds seconds" -rm -rf $TEMPDIR diff --git a/doc/requirements.txt b/doc/requirements.txt deleted file mode 100644 index 4c87b0f..0000000 --- a/doc/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -sphinx!=1.6.6,>=1.6.2,<2.0.0;python_version=='2.7' # BSD -sphinx!=1.6.6,>=1.6.2;python_version>='3.4' # BSD -sphinx_rtd_theme -PyYAML -os_client_config -python-heatclient -python-novaclient -pyghmi diff --git a/doc/source/api.rst b/doc/source/api.rst deleted file mode 100644 index 3f8a1c1..0000000 --- a/doc/source/api.rst +++ /dev/null @@ -1,28 +0,0 @@ -Python API -========== - -build_nodes_json ----------------- - -.. automodule:: build_nodes_json - :members: - :private-members: - -deploy ------- - -.. automodule:: deploy - :members: - :private-members: - -openstackbmc ------------- -.. autoclass:: openstackbmc.OpenStackBmc - :members: - -auth ------- - -.. automodule:: auth - :members: - :private-members: diff --git a/doc/source/conf.py b/doc/source/conf.py deleted file mode 100644 index 3088f46..0000000 --- a/doc/source/conf.py +++ /dev/null @@ -1,125 +0,0 @@ -# openstack-virtual-baremetal documentation build configuration file, created by -# sphinx-quickstart on Wed Feb 25 10:56:57 2015. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import sys, os -import sphinx_rtd_theme - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. -#sys.path.insert(0, os.path.abspath('.')) -sys.path.insert(0, os.path.abspath('../../openstack_virtual_baremetal')) - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -#needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be -# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.intersphinx', - 'sphinx.ext.autosectionlabel', -] - - -# Add any paths that contain templates here, relative to this directory. -templates_path = [] - -# The suffix of source filenames. -source_suffix = '.rst' - -# The encoding of source files. -#source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = 'index' - -# General information about the project. -project = u'OpenStack Virtual Baremetal' -copyright = u'2015, Red Hat Inc.' -bug_tracker = u'Launchpad' -bug_tracker_url = u'https://bugs.launchpad.net/tripleo/' - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The short X.Y version. -version = '0.0.1' -# The full version, including alpha/beta/rc tags. -release = '0.0.1' - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -#language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -#today = '' -# Else, today_fmt is used as the format for a strftime call. -#today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = [] - -# The reST default role (used for this markup: `text`) to use for all documents. -#default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -#add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -#add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -#show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = 'sphinx' - -# A list of ignored prefixes for module index sorting. -#modindex_common_prefix = [] - - -# -- Options for HTML output --------------------------------------------------- - -html_theme = 'sphinx_rtd_theme' -html_static_path = [] -# html_style = 'custom.css' -templates_path = [] - -# Output file base name for HTML help builder. -htmlhelp_basename = '%sdoc' % project - - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { -# The paper size ('letterpaper' or 'a4paper'). -#'papersize': 'letterpaper', - -# The font size ('10pt', '11pt' or '12pt'). -#'pointsize': '10pt', - -# Additional stuff for the LaTeX preamble. -#'preamble': '', -} - -rst_prolog = """ -.. |project| replace:: %s -.. |bug_tracker| replace:: %s -.. |bug_tracker_url| replace:: %s -""" % (project, bug_tracker, bug_tracker_url) diff --git a/doc/source/deploy/baremetal.rst b/doc/source/deploy/baremetal.rst deleted file mode 100644 index 7c8f0f5..0000000 --- a/doc/source/deploy/baremetal.rst +++ /dev/null @@ -1,121 +0,0 @@ -Deploying a Standalone Baremetal Stack -====================================== - -The process described here will create a very minimal OVB environment, and the -user will be responsible for creating most of the resources manually. In most -cases it will be easier to use the :doc:`QuintupleO ` deployment -method, which creates most of the resources needed automatically. - -#. Create private network. - - If your cloud provider has already created a private network for your use - then you can skip this step and reference the existing network in your - OVB environment file. - - :: - - neutron net-create private - neutron subnet-create --name private private 10.0.1.0/24 --dns-nameserver 8.8.8.8 - - You will also need to create a router so traffic from your private network - can get to the external network. The external network should have been - created by the cloud provider:: - - neutron router-create router - neutron router-gateway-set router [external network name or id] - neutron router-interface-add router private - -#. Create provisioning network. - - .. note:: The CIDR used for the subnet does not matter. - Standard tenant and external networks are also needed to - provide floating ip access to the undercloud and bmc instances - - .. warning:: Do not enable DHCP on this network. Addresses will be - assigned by the undercloud Neutron. - - :: - - neutron net-create provision - neutron subnet-create --name provision --no-gateway --disable-dhcp provision 192.168.24.0/24 - -#. Create "public" network. - - .. note:: The CIDR used for the subnet does not matter. - This can be used as the network for the public API endpoints - on the overcloud, but it does not have to be accessible - externally. Only the undercloud VM will need to have access - to this network. - - .. warning:: Do not enable DHCP on this network. Doing so may cause - conflicts between the host cloud metadata service and the - undercloud metadata service. Overcloud nodes will be - assigned addresses on this network by the undercloud Neutron. - - :: - - neutron net-create public - neutron subnet-create --name public --no-gateway --disable-dhcp public 10.0.0.0/24 - -#. Copy the example env file and edit it to reflect the host environment: - - .. note:: Some of the parameters in the base environment file are only - used for QuintupleO deployments. Their values will be ignored - in a plain virtual-baremetal deployment. - - :: - - cp environments/base.yaml env.yaml - vi env.yaml - -#. Deploy the stack:: - - bin/deploy.py - -#. Wait for Heat stack to complete: - - .. note:: The BMC instance does post-deployment configuration that can - take a while to complete, so the Heat stack completing does - not necessarily mean the environment is entirely ready for - use. To determine whether the BMC is finished starting up, - run ``nova console-log bmc``. The BMC service outputs a - message like "Managing instance [uuid]" when it is fully - configured. There should be one of these messages for each - baremetal instance. - - :: - - heat stack-show baremetal - -#. Boot a VM to serve as the undercloud:: - - nova boot undercloud --flavor m1.xlarge --image centos7 --nic net-id=[tenant net uuid] --nic net-id=[provisioning net uuid] - neutron floatingip-create [external net uuid] - neutron port-list - neutron floatingip-associate [floatingip uuid] [undercloud instance port id] - -#. Turn off port-security on the undercloud provisioning port:: - - neutron port-update [UUID of undercloud port on the provision network] --no-security-groups --port-security-enabled=False - -#. Build a nodes.json file that can be imported into Ironic:: - - bin/build-nodes-json - scp nodes.json centos@[undercloud floating ip]:~/instackenv.json - - .. note:: ``build-nodes-json`` also outputs a file named ``bmc_bm_pairs`` - that lists which BMC address corresponds to a given baremetal - instance. - -#. The undercloud vm can now be used with something like TripleO - to do a baremetal-style deployment to the virtual baremetal instances - deployed previously. - -Deleting an OVB Environment ---------------------------- - -All of the OpenStack resources created by OVB are part of the Heat stack, so -to delete the environment just delete the Heat stack. There are a few local -files that may also have been created as part of the deployment, such as -nodes.json files and bmc_bm_pairs. Once the stack is deleted these can be -removed safely as well. diff --git a/doc/source/deploy/deploy.rst b/doc/source/deploy/deploy.rst deleted file mode 100644 index 1e8eec8..0000000 --- a/doc/source/deploy/deploy.rst +++ /dev/null @@ -1,11 +0,0 @@ -Deploying the Heat stack -======================== - -There are two options for deploying the Heat stack. - -.. toctree:: - - quintupleo - baremetal - heterogeneous - environment-index diff --git a/doc/source/deploy/environment-index.rst b/doc/source/deploy/environment-index.rst deleted file mode 100644 index 40c53f3..0000000 --- a/doc/source/deploy/environment-index.rst +++ /dev/null @@ -1,216 +0,0 @@ -Sample Environment Index -======================== - -Deploy with All Networks Enabled and Two Public Interfaces ----------------------------------------------------------- - -**File:** environments/all-networks-public-bond.yaml - -**Description:** Deploy an OVB stack that adds interfaces for all the standard TripleO -network isolation networks. This version will deploy duplicate -public network interfaces on the baremetal instances so that the -public network can be configured as a bond. - - -Deploy with All Networks Enabled --------------------------------- - -**File:** environments/all-networks.yaml - -**Description:** Deploy an OVB stack that adds interfaces for all the standard TripleO -network isolation networks. - - -Base Configuration Options for Extra Nodes with All Ports Open --------------------------------------------------------------- - -**File:** environments/base-extra-node-all.yaml - -**Description:** Configuration options that need to be set when deploying an OVB -environment with extra undercloud-like nodes. This environment -should be used like a role file, but will deploy an undercloud-like -node instead of more baremetal nodes. - - -Base Configuration Options for Extra Nodes ------------------------------------------- - -**File:** environments/base-extra-node.yaml - -**Description:** Configuration options that need to be set when deploying an OVB -environment with extra undercloud-like nodes. This environment -should be used like a role file, but will deploy an undercloud-like -node instead of more baremetal nodes. - - -Base Configuration Options for Secondary Roles ----------------------------------------------- - -**File:** environments/base-role.yaml - -**Description:** Configuration options that need to be set when deploying an OVB -environment that has multiple roles. - - -Base Configuration Options --------------------------- - -**File:** environments/base.yaml - -**Description:** Basic configuration options needed for all OVB environments - -Enable Instance Status Caching in BMC -------------------------------------- - -**File:** environments/bmc-use-cache.yaml - -**Description:** Enable caching of instance status in the BMC. This should reduce load on -the host cloud, but at the cost of potential inconsistency if the state -of a baremetal instance is changed without using the BMC. - - -Boot Baremetal Instances from Volume ------------------------------------- - -**File:** environments/boot-baremetal-from-volume.yaml - -**Description:** Boot the baremetal instances from Cinder volumes instead of -ephemeral storage. - - -Boot Undercloud and Baremetal Instances from Volume ---------------------------------------------------- - -**File:** environments/boot-from-volume.yaml - -**Description:** Boot the undercloud and baremetal instances from Cinder volumes instead of -ephemeral storage. - - -Boot Undercloud Instance from Volume ------------------------------------- - -**File:** environments/boot-undercloud-from-volume.yaml - -**Description:** Boot the undercloud instance from a Cinder volume instead of -ephemeral storage. - - -Create a Private Network ------------------------- - -**File:** environments/create-private-network.yaml - -**Description:** Create the private network as part of the OVB stack instead of using an -existing one. - - -Disable BMC ------------ - -**File:** environments/disable-bmc.yaml - -**Description:** Deploy a stack without a BMC. This will obviously make it impossible to -control the instances via IPMI. It will also prevent use of -ovb-build-nodes-json because there will be no BMC addresses. - - -Configuration for router advertisement daemon (radvd) ------------------------------------------------------ - -**File:** environments/ipv6-radvd-configuration.yaml - -**Description:** Contains the available parameters that need to be configured when using -a IPv6 network. Requires the ipv6-radvd.yaml environment. - - -Enable router advertisement daemon (radvd) ------------------------------------------- - -**File:** environments/ipv6-radvd.yaml - -**Description:** Deploy the stack with a router advertisement daemon running for the -provisioning network. - - -Public Network External Router ------------------------------- - -**File:** environments/public-router.yaml - -**Description:** Deploy a router that connects the public and external networks. This -allows the public network to be used as a gateway instead of routing all -traffic through the undercloud. - - -Disable the Undercloud in a QuintupleO Stack --------------------------------------------- - -**File:** environments/quintupleo-no-undercloud.yaml - -**Description:** Deploy a QuintupleO environment, but do not create the undercloud -instance. - - -Configuration for Routed Networks ---------------------------------- - -**File:** environments/routed-networks-configuration.yaml - -**Description:** Contains the available parameters that need to be configured when using -a routed networks environment. Requires the routed-networks.yaml or -routed-networks-ipv6.yaml environment. - - -Enable Routed Networks IPv6 ---------------------------- - -**File:** environments/routed-networks-ipv6.yaml - -**Description:** Enable use of routed IPv6 networks, where there may be multiple separate -networks connected with a router, router advertisement daemon (radvd), -and DHCP relay. Do not pass any other network configuration environments -after this one or they may override the changes made by this environment. -When this environment is in use, the routed-networks-configuration -environment should usually be included as well. - - -Base Role Configuration for Routed Networks -------------------------------------------- - -**File:** environments/routed-networks-role.yaml - -**Description:** A base role environment that contains the necessary parameters for -deploying with routed networks. - - -Enable Routed Networks ----------------------- - -**File:** environments/routed-networks.yaml - -**Description:** Enable use of routed networks, where there may be multiple separate -networks connected with a router and DHCP relay. Do not pass any other -network configuration environments after this one or they may override -the changes made by this environment. When this environment is in use, -the routed-networks-configuration environment should usually be -included as well. - - -Assign the Undercloud an Existing Floating IP ---------------------------------------------- - -**File:** environments/undercloud-floating-existing.yaml - -**Description:** When deploying the undercloud, assign it an existing floating IP instead -of creating a new one. - - -Do Not Assign a Floating IP to the Undercloud ---------------------------------------------- - -**File:** environments/undercloud-floating-none.yaml - -**Description:** When deploying the undercloud, do not assign a floating ip to it. - - diff --git a/doc/source/deploy/heterogeneous.rst b/doc/source/deploy/heterogeneous.rst deleted file mode 100644 index 78e3545..0000000 --- a/doc/source/deploy/heterogeneous.rst +++ /dev/null @@ -1,54 +0,0 @@ -Deploying Heterogeneous Environments -==================================== - -It is possible to deploy an OVB environment with multiple "baremetal" -node types. The :doc:`QuintupleO ` deployment method must be used, so it -would be best to start with a working configuration for that before -moving on to heterogeneous deployments. - -Each node type will be identified as a ``role``. A simple QuintupleO -deployment can be thought of as a single-role deployment. To deploy -multiple roles, additional environment files describing the extra roles -are required. These environments are simplified versions of the -standard environment file. See ``environments/base-role.yaml`` -for a starting point when writing these role files. - -.. note:: Each extra role consists of exactly one environment file. This - means that the standalone option environments cannot be used with - roles. To override the options specified for the primary role in - a secondary role, the parameter_defaults and resource_registry - entries from the option environment must be copied into the role - environment. - - However, note that most resource_registry entries are filtered out - of role environments anyway since they are not relevant for a - secondary stack. - -Steps for deploying the environment: - -#. Customize the environment files. Make sure all environments have a ``role`` - key in the ``parameter_defaults`` section. When building nodes.json, this - role will be automatically assigned to the node, so it is simplest to use - one of the default TripleO roles (control, compute, cephstorage, etc.). - -#. Deploy with both roles:: - - bin/deploy.py --quintupleo --env env-control.yaml --role env-compute.yaml - -#. One Heat stack will be created for each role being deployed. Wait for them - all to complete before proceeding. - - .. note:: Be aware that the extra role stacks will be connected to networks - in the primary role stack, so the extra stacks must be deleted - before the primary one or the neutron subnets will not delete cleanly. - -#. Build a nodes.json file that can be imported into Ironic:: - - bin/build-nodes-json --env env-control.yaml - - .. note:: Only the primary environment file needs to be passed here. The - resources deployed as part of the secondary roles will be named - such that they appear to be part of the primary environment. - - .. note:: If ``--id`` was used when deploying, remember to pass the generated - environment file to this command instead of the original. diff --git a/doc/source/deploy/quintupleo.rst b/doc/source/deploy/quintupleo.rst deleted file mode 100644 index 6e00d2c..0000000 --- a/doc/source/deploy/quintupleo.rst +++ /dev/null @@ -1,306 +0,0 @@ -Deploying with QuintupleO -========================= - -QuintupleO is short for OpenStack on OpenStack on OpenStack. It was the -original name for OVB, and has been repurposed to indicate that this -deployment method is able to deploy a full TripleO development environment -in one command. It should be useful for non-TripleO users of OVB as well, -however. - -#. Copy the example env file and edit it to reflect the host environment:: - - cp environments/base.yaml env.yaml - vi env.yaml - -#. Deploy a QuintupleO stack. The example command includes a number of - environment files intended to simplify the deployment process or make - it compatible with a broader set of host clouds. However, these - environments are not necessary in every situation and may not even work - with some older clouds. See below for details on customizing an OVB - deployment for your particular situation:: - - bin/deploy.py --quintupleo -e env.yaml -e environments/all-networks.yaml -e environments/create-private-network.yaml - - .. note:: There is a quintupleo-specific option ``--id`` in deploy.py. - It appends the value passed in to the name of all resources - in the stack. For example, if ``undercloud_name`` is set to - 'undercloud' and ``--id foo`` is passed to deploy.py, the - resulting undercloud VM will be named 'undercloud-foo'. It is - recommended that this be used any time multiple environments are - being deployed in the same cloud/tenant to avoid name collisions. - - Be aware that when ``--id`` is used, a new environment file will - be generated that reflects the new names. The name of the new - file will be ``env-${id}.yaml``. This new file should be passed - to build-nodes-json instead of the original. - - .. note:: See :ref:`advanced-options` for other ways to customize an OVB - deployment. - -#. Wait for Heat stack to complete. To make this easier, the ``--poll`` - option can be passed to ``deploy.py``. - - .. note:: The BMC instance does post-deployment configuration that can - take a while to complete, so the Heat stack completing does - not necessarily mean the environment is entirely ready for - use. To determine whether the BMC is finished starting up, - run ``nova console-log bmc``. The BMC service outputs a - message like "Managing instance [uuid]" when it is fully - configured. There should be one of these messages for each - baremetal instance. - - :: - - heat stack-show quintupleo - -#. Build a nodes.json file that can be imported into Ironic:: - - bin/build-nodes-json - scp nodes.json centos@[undercloud floating ip]:~/instackenv.json - - .. note:: Only the base environment file needs to be passed to this command. - Additional option environments that may have been passed to the - deploy command should *not* be included here. - - .. note:: If ``--id`` was used to deploy the stack, make sure to pass the - generated ``env-${id}.yaml`` file to build-nodes-json using the - ``--env`` parameter. Example:: - - bin/build-nodes-json --env env-foo.yaml - - .. note:: If roles were used for the deployment, separate node files named - ``nodes-.json`` will also be output that list only the - nodes for that particular profile. Nodes with no profile - specified will go in ``nodes-no-profile.json``. The base - ``nodes.json`` will still contain all of the nodes in the - deployment, regardless of profile. - - .. note:: ``build-nodes-json`` also outputs a file named ``bmc_bm_pairs`` - that lists which BMC address corresponds to a given baremetal - instance. - -Deleting a QuintupleO Environment ---------------------------------- - -All of the OpenStack resources created by OVB are part of the Heat stack, so -to delete the environment just delete the Heat stack. There are a few local -files that may also have been created as part of the deployment, such as -ID environment files, nodes.json files, and bmc_bm_pairs. Once the stack is -deleted these can be removed safely as well. - -.. _advanced-options: - -Advanced Options ----------------- - -There are also a number of advanced options that can be enabled for a -QuintupleO deployment. For each such option there is a sample environment -to be passed to the deploy command. - -For example, to deploy all networks needed for TripleO network isolation, the -following command could be used:: - - bin/deploy.py --quintupleo -e env.yaml -e environments/all-networks.yaml - -.. important:: When deploying with multiple environment files, ``env.yaml`` - *must* be explicitly passed to the deploy command. - ``deploy.py`` will only default to using ``env.yaml`` if no - environments are specified. - -Some options may have additional configuration parameters. These parameters -will be listed in the environment file. - -A full list of the environments available can be found at -:doc:`environment-index`. - -Network Isolation ------------------ - -There are a number of environments related to enabling the network isolation -functionality in OVB. These environments are named ``all-networks*.yaml`` -and cause OVB to deploy additional network interfaces on the baremetal -instances that allow the use of TripleO's network isolation. - -.. note:: There are templates suitable for doing a TripleO overcloud deployment - with network isolation in the ``overcloud-templates`` directory. See - the readme files in those directories for details on how to use them. - - The v2 versions of the templates are suitable for use with the - TripleO Ocata release and later. The others can be used in Newton - and earlier. - -Three primary networking layouts are included: - -* Basic. This is the default and will only deploy a provisioning interface to - the baremetal nodes. It is not suitable for use with network isolation. - -* All Networks. This will deploy an interface per isolated network to the - baremetal instances. It is suitable for use with any of the overcloud - network isolation templates not starting with 'bond'. - -* All Networks, Public Bond. This will also deploy an interface per isolated - network to the baremetal instances, but it will additionally deploy a second - interface for the 'public' network that can be used to test bonding in an - OVB environment. The ``bond-*`` overcloud templates must be used with this - type of environment. - -QuintupleO and routed networks ------------------------------- - -TripleO supports deploying OpenStack with nodes on multiple network segments -which is connected via L3 routing. OVB can set up a full development -environment with routers and DHCP-relay service. This environment is targeted -for TripleO development, however it should be useful for non-TripleO users of -OVB as well. - -#. When deploying QuintupleO with routed networks environment files to enable - routed networks must be included, as well as one or more role environment - files. See :ref:`Enable Routed Networks`, - :ref:`Configuration for Routed Networks`, and - :ref:`Base Role Configuration for Routed Networks` in the - :doc:`environment-index` for details. - -#. Copy the example env file and edit it to reflect the host environment:: - - cp environments/base.yaml env.yaml - vi env.yaml - -#. Copy the ``routed-networks-configuration.yaml`` sample environment file and - edit it to reflect the host environment:: - - cp environments/routed-networks-configuration.yaml env-routed-networks.yaml - vi env-routed-networks.yaml - -#. For each desired role, copy the ``routed-networks-role.yaml`` sample - environment file and edit it to reflect the host environment:: - - cp environments/routed-networks-role.yaml env-leaf1.yaml - vi env-leaf1.yaml - -#. Deploy the QuintupleO routed networks environment by running the deploy.py - command. For example:: - - ./bin/deploy.py --env env.yaml \ - --quintupleo \ - --env environments/all-networks.yaml \ - --env environments/routed-networks.yaml \ - --env env-routed-networks.yaml \ - --role env-leaf1.yaml - -#. When generating the ``nodes.json`` file for TripleO undercloud node import, - the environment ``env-routed.yaml`` should be specified. Also, to include - physical network attributes of the node ports in ``nodes.json`` specify the - ``--physical_network`` option when running ``build-nodes-json``. For - example:: - - bin/build-nodes-json --physical_network - - The following is an example node definition produced when using the - ``--physical_network`` options. Notice that ports are defined with both - ``address`` and ``physical_network`` attributes. - - :: - - { - "pm_password": "password", - "name": "baremetal-leaf1-0", - "memory": 8192, - "pm_addr": "10.0.1.13", - "ports": [ - { - "physical_network": "provision2", - "address": "fa:16:3e:2f:a1:cf" - } - ], - "capabilities": "boot_option:local,profile:leaf1", - "pm_type": "pxe_ipmitool", - "disk": 80, - "arch": "x86_64", - "cpu": 4, - "pm_user": "admin" - } - - .. NOTE:: Due to technical debet (backward compatibility) the TripleO - Undercloud uses ``ctlplane`` as the physical network name for the - subnet that is local to the Undercloud itself. Either override - the name of the provision network in the ovb environment by - setting: ``provision_net: ctlplane`` in the - ``parameters_defaults`` section or edit the generated nodes.json - file, replacing: - ``"physical_network": ""`` with - ``"physical_network": "ctlplane"``. - -#. For convenience router addresses are made available via the - ``network_environment_data`` key in the stack output of the quintupleo heat - stack. To retrieve this data run the ``openstack stack show`` command. For - example:: - - $ openstack stack show quintupleo -c outputs -f yaml - - outputs: - - description: floating ip of the undercloud instance - output_key: undercloud_host_floating_ip - output_value: 38.145.35.98 - - description: Network environment data, router addresses etc. - output_key: network_environment_data - output_value: - internal2_router: 172.17.1.204 - internal_router_address: 172.17.0.201 - provision2_router: 192.168.25.254 - provision3_router: 192.168.26.254 - provision_router: 192.168.24.254 - storage2_router_address: 172.18.1.254 - storage_mgmt2_router_address: 172.19.1.254 - storage_mgmt_router_address: 172.19.0.254 - storage_router_address: 172.18.0.254 - tenant2_router_address: 172.16.1.254 - tenant_router_address: 172.16.0.254 - - description: ip of the undercloud instance on the private network - output_key: undercloud_host_private_ip - output_value: 10.0.1.14 - -#. Below is an example TripleO Undercloud configuration (``undercloud.conf``) - with routed networks support enabled and the three provisioning networks - defined. - - :: - - [DEFAULT] - enable_routed_networks = true - enable_ui = false - overcloud_domain_name = localdomain - scheduler_max_attempts = 2 - undercloud_ntp_servers = pool.ntp.org - undercloud_hostname = undercloud.rdocloud - local_interface = eth1 - local_mtu = 1450 - local_ip = 192.168.24.1/24 - undercloud_public_host = 192.168.24.2 - undercloud_admin_host = 192.168.24.3 - undercloud_nameservers = 8.8.8.8,8.8.4.4 - local_subnet = provision - subnets = provision,provision2,provision3 - - [provision] - cidr = 192.168.24.0/24 - dhcp_start = 192.168.24.10 - dhcp_end = 192.168.24.30 - gateway = 192.168.24.254 - inspection_iprange = 192.168.24.100,192.168.24.120 - masquerade = true - - [provision2] - cidr = 192.168.25.0/24 - dhcp_start = 192.168.25.10 - dhcp_end = 192.168.25.30 - gateway = 192.168.25.254 - inspection_iprange = 192.168.25.100,192.168.25.120 - masquerade = true - - [provision3] - cidr = 192.168.26.0/24 - dhcp_start = 192.168.26.10 - dhcp_end = 192.168.26.30 - gateway = 192.168.26.254 - inspection_iprange = 192.168.26.100,192.168.26.120 - masquerade = true diff --git a/doc/source/host-cloud/configuration.rst b/doc/source/host-cloud/configuration.rst deleted file mode 100644 index d51c763..0000000 --- a/doc/source/host-cloud/configuration.rst +++ /dev/null @@ -1,24 +0,0 @@ -Configuring the Host Cloud -========================== - -Some of the configuration recommended below is optional, but applying -all of it will provide the optimal experience. - -The changes described in this document apply to compute nodes in the -host cloud. - -#. The Nova option ``force_config_drive`` must _not_ be set. If you have to - change this option, restart ``nova-compute`` to apply it. - -#. Ideally, jumbo frames should be enabled on the host cloud. This - avoids MTU problems when deploying to instances over tunneled - Neutron networks with VXLAN or GRE. - - For TripleO-based host clouds, this can be done by setting ``mtu`` - on all interfaces and vlans in the network isolation nic-configs. - A value of at least 1550 should be sufficient to avoid problems. - - If this cannot be done (perhaps because you don't have access to make - such a change on the host cloud), it will likely be necessary to - configure a smaller MTU on the deployed virtual instances. Details - on doing so can be found on the :doc:`../usage/usage` page. diff --git a/doc/source/host-cloud/patches.rst b/doc/source/host-cloud/patches.rst deleted file mode 100644 index 3c27902..0000000 --- a/doc/source/host-cloud/patches.rst +++ /dev/null @@ -1,51 +0,0 @@ -Patching the Host Cloud -======================= - -.. note:: Patching the host cloud is now optional. On clouds where the Neutron - port-security extension is enabled, it is now possible to run without - patching. However, the PXE boot patch may provide a better user - experience with OVB, so patching may still be desirable. - -The changes described in this section apply to compute nodes in the -host cloud. - -Apply the Nova pxe boot patch file in the ``patches`` directory to the host -cloud Nova. ``nova-pxe-boot.patch`` can be used with all releases prior to -Pike, ``nova-pxe-boot-pike.patch`` must be used with Pike and later. - -Examples: - -TripleO/RDO:: - - sudo patch -p1 -d /usr/lib/python2.7/site-packages < patches/nova/nova-pxe-boot.patch - -or - -:: - - sudo patch -p1 -d /usr/lib/python2.7/site-packages < patches/nova/nova-pxe-boot-pike.patch - -Devstack: - -.. note:: You probably don't want to try to run this with devstack anymore. - Devstack no longer supports rejoining an existing stack, so if you - have to reboot your host cloud you will have to rebuild from - scratch. - -.. note:: The patch may not apply cleanly against master Nova - code. If/when that happens, the patch will need to - be applied manually. - -:: - - cp patches/nova/nova-pxe-boot.patch /opt/stack/nova - cd /opt/stack/nova - patch -p1 < nova-pxe-boot.patch - -or - -:: - - cp patches/nova/nova-pxe-boot-pike.patch /opt/stack/nova - cd /opt/stack/nova - patch -p1 < nova-pxe-boot-pike.patch diff --git a/doc/source/host-cloud/prepare.rst b/doc/source/host-cloud/prepare.rst deleted file mode 100644 index 29f8192..0000000 --- a/doc/source/host-cloud/prepare.rst +++ /dev/null @@ -1,74 +0,0 @@ -Preparing the Host Cloud Environment -==================================== - -#. The ``ipxe`` directory contains tools for building an IPXE image which is used by the baremetal - instances to begin provisioning over the network. - - To install the required build dependencies on a Fedora system:: - - sudo dnf install -y gcc xorriso make qemu-img syslinux-nonlinux xz-devel - - It may be necessary to use the ``direct`` libguestfs backend:: - - export LIBGUESTFS_BACKEND=direct - - To build the image, run the following from the root of the OVB repo:: - - make -C ipxe - -#. Upload an ipxe-boot image for the baremetal instances, for both UEFI boot and - legacy BIOS boot:: - - openstack image create --progress --disk-format raw --property os_shutdown_timeout=5 --file ipxe/ipxe-boot.img ipxe-boot - openstack image create --progress --disk-format raw --property os_shutdown_timeout=5 --property hw_firmware_type=uefi --property hw_machine_type=q35 --file ipxe/ipxe-boot.img ipxe-boot-uefi - - .. note:: The path provided to ipxe-boot.qcow2 is relative to the root of - the OVB repo. If the command is run from a different working - directory, the path will need to be adjusted accordingly. - - .. note:: os_shutdown_timeout=5 is to avoid server shutdown delays since - since these servers won't respond to graceful shutdown requests. - -#. Upload a CentOS 7 image for use as the base image:: - - wget http://cloud.centos.org/centos/7/images/CentOS-7-x86_64-GenericCloud.qcow2 - - glance image-create --name CentOS-7-x86_64-GenericCloud --disk-format qcow2 --container-format bare < CentOS-7-x86_64-GenericCloud.qcow2 - -#. (Optional) Create a pre-populated base BMC image. This is a CentOS 7 image - with the required packages for the BMC pre-installed. This eliminates one - potential point of failure during the deployment of an OVB environment - because the BMC will not require any external network resources:: - - wget https://repos.fedorapeople.org/repos/openstack-m/ovb/bmc-base.qcow2 - - glance image-create --name bmc-base --disk-format qcow2 --container-format bare < bmc-base.qcow2 - - To use this image, configure ``bmc_image`` in env.yaml to be ``bmc-base`` instead - of the generic CentOS 7 image. - -#. Create recommended flavors:: - - nova flavor-create baremetal auto 8192 50 2 - nova flavor-create bmc auto 512 20 1 - - These flavors can be customized if desired. For large environments - with many baremetal instances it may be wise to give the bmc flavor - more memory. A 512 MB BMC will run out of memory around 20 baremetal - instances. - -#. Source an rc file that will provide user credentials for the host cloud. - -#. Add a Nova keypair to be injected into instances:: - - nova keypair-add --pub-key ~/.ssh/id_rsa.pub default - -#. (Optional) Configure quotas. When running in a dedicated OVB cloud, it may - be helpful to set some quotas to very large/unlimited values to avoid - running out of quota when deploying multiple or large environments:: - - neutron quota-update --security_group 1000 - neutron quota-update --port -1 - neutron quota-update --network -1 - neutron quota-update --subnet -1 - nova quota-update --instances -1 --cores -1 --ram -1 [tenant uuid] diff --git a/doc/source/host-cloud/setup.rst b/doc/source/host-cloud/setup.rst deleted file mode 100644 index df4a009..0000000 --- a/doc/source/host-cloud/setup.rst +++ /dev/null @@ -1,13 +0,0 @@ -Host Cloud Setup -================ - -Instructions for setting up the host cloud[1]. - -1: The host cloud is any OpenStack cloud providing the necessary functionality -to run OVB. The host cloud must be running on real baremetal. - -.. toctree:: - - patches - configuration - prepare diff --git a/doc/source/index.rst b/doc/source/index.rst deleted file mode 100644 index e515368..0000000 --- a/doc/source/index.rst +++ /dev/null @@ -1,23 +0,0 @@ -OpenStack Virtual Baremetal -=========================== - -OpenStack Virtual Baremetal is a tool for using OpenStack instances to test -baremetal-style deployments. - -Table of Contents ------------------ - -.. toctree:: - :maxdepth: 2 - - introduction - host-cloud/setup - deploy/deploy - usage/usage - troubleshooting - api - -Index ------ -* :ref:`genindex` -* :ref:`modindex` diff --git a/doc/source/introduction.rst b/doc/source/introduction.rst deleted file mode 100644 index b6957bf..0000000 --- a/doc/source/introduction.rst +++ /dev/null @@ -1,57 +0,0 @@ -Introduction -============ - -OpenStack Virtual Baremetal is a way to use OpenStack instances to do -simulated baremetal deployments. This project is a collection of tools -and documentation that make it much easier to do so. It primarily consists -of the following pieces: - -- Patches and documentation for setting up a host cloud. -- A deployment CLI that leverages the OpenStack Heat project to deploy the - VMs, networks, and other resources needed. -- An OpenStack BMC that can be used to control OpenStack instances via IPMI - commands. -- A tool to collect details from the "baremetal" VMs so they can be added as - nodes in the OpenStack Ironic baremetal deployment project. - -A basic OVB environment is just a BMC VM configured to control a number -of "baremetal" VMs. This allows them to be treated largely the same -way a real baremetal system with a BMC would. A number of additional -features can also be enabled to add more to the environment. - -OVB was initially conceived as an improved method to deploy environments for -OpenStack TripleO development and testing. As such, much of the terminology -is specific to TripleO. However, it should be possible to use it for any -non-TripleO scenarios where a baremetal-style deployment is desired. - -Benefits and Drawbacks ----------------------- - -As noted above, OVB started as part of the OpenStack TripleO project. -Previous methods for deploying virtual environments for TripleO focused on -setting up all the vms for a given environment on a single box. This had a -number of drawbacks: - -- Each developer needed to have their own system. Sharing was possible, but - more complex and generally not done. Multi-tenancy is a basic design - tenet of OpenStack so this is not a problem when using it to provision the - VMs. A large number of developers can make use of a much smaller number of - physical systems. -- If a deployment called for more VMs than could fit on a single system, it - was a complex manual process to scale out to multiple systems. An OVB - environment is only limited by the number of instances the host cloud can - support. -- Pre-OVB test environments were generally static because there was not an API - for dynamic provisioning. By using the OpenStack API to create all of the - resources, test environments can be easily tailored to their intended use - case. - -One drawback to OVB at this time is that it does have hard requirements on a -few OpenStack features (Heat, Neutron port-security, private image uploads, -for example) that are not all widely available in public clouds. Fortunately, -as they move to newer and newer versions of OpenStack that situation should -improve. - -It should also be noted that without the Nova PXE boot patch, OVB is not -compatible with any workflows that write to the root disk before deployment. -This includes Ironic node cleaning. diff --git a/doc/source/troubleshooting.rst b/doc/source/troubleshooting.rst deleted file mode 100644 index 0b45bc4..0000000 --- a/doc/source/troubleshooting.rst +++ /dev/null @@ -1,73 +0,0 @@ -Troubleshooting -=============== - -A list of common problems and their solutions. - -Nodes hang while downloading the deploy ramdisk or kernel ---------------------------------------------------------- - -**Cause**: Improper MTU settings on deployment interfaces. - -**Solution**: Set the MTU on the deployment interfaces to allow PXE booting to -work correctly. For TripleO-based deployments, see the readme -for details on how to do this. For others, make sure that the -deployment nic on the undercloud vm has the MTU set appropriately -and that the DHCP server responding to PXE requests advertises the -same MTU. Note that this MTU should be 50 bytes smaller than the -physical MTU of the host cloud. - -Nodes are deployed, but cannot talk to each other -------------------------------------------------- - -In OpenStack deployments, this often presents as rabbitmq connectivity issues -from compute nodes. - -**Cause**: Improper MTU settings on deployed instances. - -**Solution**: Essentially the same as the previous problem. Ensure that the MTU -being used on the deployed instances is 50 bytes smaller than the -physical MTU of the host cloud. Again, for TripleO-based -deployments the readme has details on how to do this. - -Nodes fail to PXE boot ----------------------- - -**Cause**: The nodes are not configured to PXE boot properly. - -**Solution**: This depends on the method being used to PXE boot. If the Nova -patch is being used to provide this functionality, then ensure -that it has been applied on all compute nodes and those nodes' -nova-compute service has been restarted. If the ipxe-boot image -is being used without the Nova patch, the baremetal instances must -be rebuilt to the ipxe-boot image before subsequent deployments. - -Nodes fail to PXE boot 2 ------------------------- - -DHCP requests are seen on the undercloud -VM, but responses never get to the baremetal instances. - -**Cause**: Neutron port security blocking DHCP from the undercloud. - -**Solution**: Ensure that the Neutron port-security extension is present in -the host cloud. It is required for OVB to function properly. - -The BMC does not respond to IPMI requests ------------------------------------------ - -**Cause**: Several. Neutron may not be configured to allow the BMC to listen -on arbitrary addresses. The BMC deployment may have failed for some -reason. - -**Solution**: Neutron must be configured to allow the BMC to listen on -arbitrary addresses. This requires the port-security extension as in the -previous solution. If this is already configured correctly, then the BMC may -have failed to deploy properly. This can usually be determined by looking at -the nova console-log of the BMC instance. A correctly working BMC will -display 'Managing instance [uuid]' for each baremetal node in the -environment. If those messages are not found, then the BMC has -failed to start properly. The relevant error messages should be -found in the console-log of the BMC. If that is not sufficient to -troubleshoot the problem, the BMC can be accessed using the -ssh key configured in the OVB environment yaml as the 'centos' -user. diff --git a/doc/source/usage/usage.rst b/doc/source/usage/usage.rst deleted file mode 100644 index 4ff5788..0000000 --- a/doc/source/usage/usage.rst +++ /dev/null @@ -1,68 +0,0 @@ -Using a Deployed OVB Environment -================================ - -After an OVB environment has been deployed, there are a few things to know. - -#. The undercloud vm can be used with something like TripleO - to do a baremetal-style deployment to the virtual baremetal instances - deployed previously. - -#. To reset the environment, usually it is sufficient to do a ``nova rebuild`` - on the undercloud to return it to the original image. To ensure that - no traces of the old environment remain, the baremetal vms can be rebuilt - to the ipxe-boot image as well. - - .. note:: If you are relying on the ipxe-boot image to provide PXE boot - support in your cloud because Nova does not know how to PXE boot - natively, the baremetal instances must always be rebuilt before - subsequent deployments. - - .. note:: **Do not** rebuild the bmc. It is unnecessary and not guaranteed - to work. - -#. If the host cloud's tenant network MTU is 1500 or less, it will be necessary - to configure the deployed interfaces with a smaller MTU. The tenant network - MTU minus 50 is usually a safe value. For the undercloud this can be done - by setting ``local_mtu`` in ``undercloud.conf``. - - .. note:: - In Mitaka and older versions of TripleO it will be necessary to do the - MTU configuration manually. That can be done with the following - commands (as root):: - - # Replace 'eth1' with the actual device to be used for the - # provisioning network - ip link set eth1 mtu 1350 - echo -e "\ndhcp-option-force=26,1350" >> /etc/dnsmasq-ironic.conf - systemctl restart 'neutron-*' - -#. If using the full network isolation provided by one of the - ``all-networks*.yaml`` environments then a TripleO overcloud can be deployed - in the OVB environment by using the network templates in the - ``overcloud-templates`` directory. The names are fairly descriptive, but - this is a brief explanation of each: - - - **network-templates:** IPv4 multi-nic. Usable with the network layout - deployed by the ``all-networks.yaml`` environment. - - **ipv6-network-templates:** IPv6 multi-nic. Usable with the network layout - deployed by the ``all-networks.yaml`` environment. - - **bond-network-templates:** IPv4 multi-nic, with duplicate `public` - interfaces for testing bonded nics. Usable with the network layout - deployed by the ``all-networks-public-bond.yaml`` environment. - - The undercloud's ``public`` interface should be configured with the address - of the default route from the templates in use. Firewall rules for - forwarding the traffic from that interface should also be added. The - following commands will make the necessary configuration:: - - cat >> /tmp/eth2.cfg < - - # The Nova flavor to use for the dhcrelay instance - # Type: string - dhcp_relay_flavor: m1.small - - # The base image for the dhcrelay instance. A CentOS 7 image is currently - # the only one supported. - # Type: string - dhcp_relay_image: CentOS-7-x86_64-GenericCloud - - # DHCP relay address on the provision2 network subnet - # Type: string - dhcp_relay_provision2_address: 192.168.25.253 - - # DHCP relay address on the provision3 network subnet - # Type: string - dhcp_relay_provision3_address: 192.168.26.253 - - # DHCP relay address on the provision network subnet - # Type: string - dhcp_relay_provision_address: 192.168.24.253 - - # Prefix for the name of the dhcrelay instance - # Type: string - dhcrelay_prefix: dhcrelay - diff --git a/environments/routed-networks-ipv6.yaml b/environments/routed-networks-ipv6.yaml deleted file mode 100644 index 8f44377..0000000 --- a/environments/routed-networks-ipv6.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# ******************************************************************* -# This file was created automatically by the sample environment -# generator. Developers should use `tox -e genconfig` to update it. -# Users are recommended to make changes to a copy of the file instead -# of the original, if any customizations are needed. -# ******************************************************************* -# title: Enable Routed Networks IPv6 -# description: | -# Enable use of routed IPv6 networks, where there may be multiple separate -# networks connected with a router, router advertisement daemon (radvd), -# and DHCP relay. Do not pass any other network configuration environments -# after this one or they may override the changes made by this environment. -# When this environment is in use, the routed-networks-configuration -# environment should usually be included as well. -resource_registry: - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-routed.yaml - OS::OVB::DHCPRelay: ../templates/dhcpv6-relay.yaml - OS::OVB::ProvisionNetRouter: OS::Heat::None - OS::OVB::ProvisionNetRouterInterface: OS::Heat::None - OS::OVB::UndercloudNetworks: ../templates/undercloud-networks-routed.yaml diff --git a/environments/routed-networks-role.yaml b/environments/routed-networks-role.yaml deleted file mode 100644 index 91c12bc..0000000 --- a/environments/routed-networks-role.yaml +++ /dev/null @@ -1,48 +0,0 @@ -# ******************************************************************* -# This file was created automatically by the sample environment -# generator. Developers should use `tox -e genconfig` to update it. -# Users are recommended to make changes to a copy of the file instead -# of the original, if any customizations are needed. -# ******************************************************************* -# title: Base Role Configuration for Routed Networks -# description: | -# A base role environment that contains the necessary parameters for -# deploying with routed networks. -parameter_defaults: - # Recommended to be at least 1 vcpu, 4 GB RAM, 50 GB disk - # Type: string - baremetal_flavor: baremetal - - # Nova keypair to inject into the undercloud and bmc - # Type: string - key_name: default - - # Number of baremetal nodes to deploy - # Type: number - node_count: 2 - - # Name of internal API network - # Type: string - overcloud_internal_net: overcloud_internal2 - - # Name of storage management network - # Type: string - overcloud_storage_mgmt_net: overcloud_storage_mgmt2 - - # Name of storage network - # Type: string - overcloud_storage_net: overcloud_storage2 - - # Name of tenant network - # Type: string - overcloud_tenant_net: overcloud_tenant2 - - # Name of a network that will be used for provisioning traffic - # Type: string - provision_net: provision2 - - # The default role for nodes in this environment. This parameter is - # ignored by Heat, but used by build-nodes-json. - # Type: string - role: leaf1 - diff --git a/environments/routed-networks.yaml b/environments/routed-networks.yaml deleted file mode 100644 index b88c42e..0000000 --- a/environments/routed-networks.yaml +++ /dev/null @@ -1,18 +0,0 @@ -# ******************************************************************* -# This file was created automatically by the sample environment -# generator. Developers should use `tox -e genconfig` to update it. -# Users are recommended to make changes to a copy of the file instead -# of the original, if any customizations are needed. -# ******************************************************************* -# title: Enable Routed Networks -# description: | -# Enable use of routed networks, where there may be multiple separate -# networks connected with a router and DHCP relay. Do not pass any other -# network configuration environments after this one or they may override -# the changes made by this environment. When this environment is in use, -# the routed-networks-configuration environment should usually be -# included as well. -resource_registry: - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-routed.yaml - OS::OVB::DHCPRelay: ../templates/dhcp-relay.yaml - OS::OVB::UndercloudNetworks: ../templates/undercloud-networks-routed.yaml diff --git a/environments/undercloud-floating-existing.yaml b/environments/undercloud-floating-existing.yaml deleted file mode 100644 index 5a574b0..0000000 --- a/environments/undercloud-floating-existing.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# ******************************************************************* -# This file was created automatically by the sample environment -# generator. Developers should use `tox -e genconfig` to update it. -# Users are recommended to make changes to a copy of the file instead -# of the original, if any customizations are needed. -# ******************************************************************* -# title: Assign the Undercloud an Existing Floating IP -# description: | -# When deploying the undercloud, assign it an existing floating IP instead -# of creating a new one. -parameter_defaults: - # Address of existing floating ip to use. - # Type: string - undercloud_floating_ip: '' - - # ID of existing floating ip to use. - # Mandatory. This parameter must be set by the user. - # Type: string - undercloud_floating_ip_id: - -resource_registry: - OS::OVB::UndercloudFloating: ../templates/undercloud-floating-existing.yaml diff --git a/environments/undercloud-floating-none.yaml b/environments/undercloud-floating-none.yaml deleted file mode 100644 index 355a6e0..0000000 --- a/environments/undercloud-floating-none.yaml +++ /dev/null @@ -1,11 +0,0 @@ -# ******************************************************************* -# This file was created automatically by the sample environment -# generator. Developers should use `tox -e genconfig` to update it. -# Users are recommended to make changes to a copy of the file instead -# of the original, if any customizations are needed. -# ******************************************************************* -# title: Do Not Assign a Floating IP to the Undercloud -# description: | -# When deploying the undercloud, do not assign a floating ip to it. -resource_registry: - OS::OVB::UndercloudFloating: ../templates/undercloud-floating-none.yaml diff --git a/ipxe/.gitignore b/ipxe/.gitignore deleted file mode 100644 index 4ebe9d5..0000000 --- a/ipxe/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -ipxe-boot.img -ipxe-boot.qcow2 diff --git a/ipxe/Makefile b/ipxe/Makefile deleted file mode 100644 index 30c739a..0000000 --- a/ipxe/Makefile +++ /dev/null @@ -1,86 +0,0 @@ -# The location of the directory containing the iPXE make file -# Override this to build from a different source directory -IPXE_SRCDIR=ipxe/src - -# The specific image to use as the OVB iPXE boot image -# Override this to use a different image (e.g. ipxe.hd) -IPXE_IMG=bin/ipxe.iso - -IPXE_EFI=bin-x86_64-efi/ipxe.efi - -ipxe_img_path=$(IPXE_SRCDIR)/$(IPXE_IMG) -ipxe_efi_path=$(IPXE_SRCDIR)/$(IPXE_EFI) - -all: ipxe-boot.img - -ipxe-boot.img: $(ipxe_img_path) efi.img - tmp_dir=$$(mktemp -d) && \ - cp efi.img $$tmp_dir/efi.img && \ - mkdir -p $$tmp_dir/boot/efi && \ - xorriso -osirrox on -indev $(ipxe_img_path) -extract / $$tmp_dir && \ - xorriso -as mkisofs \ - -isohybrid-mbr /usr/share/syslinux/isohdpfx.bin \ - -c boot.catalog \ - -b isolinux.bin \ - -no-emul-boot \ - -boot-load-size 4 \ - -boot-info-table \ - -eltorito-alt-boot \ - -e efi.img \ - -no-emul-boot \ - -isohybrid-gpt-basdat \ - -o ipxe-boot.img \ - $$tmp_dir - -efi.img: $(ipxe_efi_path) - tmp_dir=$$(mktemp -d) && \ - mkdir -p $$tmp_dir/EFI/BOOT && \ - cp $(ipxe_efi_path) $$tmp_dir/EFI/BOOT/BOOTX64.EFI && \ - virt-make-fs --format=raw --type=fat $$tmp_dir efi.img - -# iPXE is configured by setting config macros in the source tree. The repo -# contains a number of config headers in ipxe/src/config/*.h which contain -# defaults. These defaults can be overridden by creating a corresponding header -# in ipxe/src/config/local. -# For example, the source repo contains ipxe/src/config/general.h, which -# explicitly does not define NET_PROTO_IPV6. To enable IPv6 support in iPXE we -# need to create ipxe/src/config/local/general.h and define NET_PROTO_IPV6 in -# that header. -# The following allows OVB to keep iPXE configuration under ipxe-config in this -# repo, and copies it into place in the iPXE repo during build. - -# config_headers is a list of the filenames of all overridden headers in ipxe-config/ -config_headers = $(foreach header,$(wildcard ipxe-config/*.h),\ - $(patsubst ipxe-config/%,%,$(header))) - -# repo_config_path is the path to local override headers in the ipxe repo -repo_config_path = $(IPXE_SRCDIR)/config/local - -# repo_config_headers is a list of all overridden headers in the iPXE repo -repo_config_headers = $(foreach header,$(config_headers),$(repo_config_path)/$(header)) - -# Copy individual repo_config_headers from ipxe-config/ -$(repo_config_path): $(IPXE_SRCDIR) - mkdir -p $@ -$(repo_config_path)/%.h: ipxe-config/%.h | $(repo_config_path) - cp $< $@ - -$(IPXE_SRCDIR): - git submodule init - git submodule update - -# We disable -Werror so we can build older commits with newer gcc -# Don't use parallel make, as this races to initialise config headers in a -# clean repo. -$(ipxe_img_path): $(repo_config_headers) script.ipxe - $(MAKE) -C ipxe/src NO_WERROR=1 EMBED=../../script.ipxe $(IPXE_IMG) - -$(ipxe_efi_path): $(repo_config_headers) script.ipxe - $(MAKE) -C ipxe/src NO_WERROR=1 EMBED=../../script.ipxe $(IPXE_EFI) - -clean: - rm -rf ipxe - mkdir ipxe - rm -f ipxe-boot.img ipxe-boot.qcow2 - -.PHONY: $(ipxe_img_path) clean diff --git a/ipxe/README b/ipxe/README deleted file mode 100644 index ac795c4..0000000 --- a/ipxe/README +++ /dev/null @@ -1,7 +0,0 @@ -IPXE image-building tools -------------------------- - -This directory contains tools for for building an IPXE image. Documentation -to build the image is found at: - -https://openstack-virtual-baremetal.readthedocs.io/en/latest/host-cloud/prepare.html \ No newline at end of file diff --git a/ipxe/ipxe b/ipxe/ipxe deleted file mode 160000 index f58b510..0000000 --- a/ipxe/ipxe +++ /dev/null @@ -1 +0,0 @@ -Subproject commit f58b5109f46088bdbb5345a9d94b636c54345bdf diff --git a/ipxe/ipxe-config/README b/ipxe/ipxe-config/README deleted file mode 100644 index 66ecfee..0000000 --- a/ipxe/ipxe-config/README +++ /dev/null @@ -1,3 +0,0 @@ -Headers in this directory will be copied to src/config/local/ in the ipxe build -directory. Values defined in a local header will override the default in the -corresponding header in src/config/. diff --git a/ipxe/ipxe-config/general.h b/ipxe/ipxe-config/general.h deleted file mode 100644 index b90dcd2..0000000 --- a/ipxe/ipxe-config/general.h +++ /dev/null @@ -1 +0,0 @@ -#define NET_PROTO_IPV6 /* Enable IPv6 */ diff --git a/ipxe/script.ipxe b/ipxe/script.ipxe deleted file mode 100755 index 831f8b4..0000000 --- a/ipxe/script.ipxe +++ /dev/null @@ -1,51 +0,0 @@ -#!ipxe -# -# This is the iPXE boot script that we embed into the iPXE binary. -# -# The default behaviour is to get DHCP and assume that DHCP includes -# the filename option. It will only try eth0. If it fails, then it -# just stops. -# -# This script makes it attempt to boot from eth0. If that fails, it -# will try the next interface. This will retry 10 times before -# rebooting. -# -# Inspired by: -# https://github.com/danderson/netboot/blob/master/pixiecore/boot.ipxe -# - -prompt --key 0x02 --timeout 2000 Press Ctrl-B for the iPXE command line... && shell || - -set attempts:int32 10 -set x:int32 1 - -:loop -autoboot || goto retry -goto boot - -:retry -echo iPXE boot failed, retrying (attempt ${x}/${attempts}). -sleep 1 -iseq ${x} ${attempts} && goto fail || -inc x -goto loop - -:boot -echo Booting using ${ifname}. - -# This is a hack to workaround LP bug 1845487: -# https://bugs.launchpad.net/puppet-ironic/+bug/1845487 -# It should be removed when the fix for that bug is available and backported to -# all supported releases. -isset ${mtu} && echo -n Overriding MTU from dhcp of ${mtu}. -set mtu 1350 -echo Set MTU to ${mtu}. - -chain ${filename} - -:fail -echo Failed to iPXE boot successfully after ${attempts} attempts. -echo -echo Rebooting in 5 seconds... -sleep 5 -reboot diff --git a/openstack_virtual_baremetal/__init__.py b/openstack_virtual_baremetal/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/openstack_virtual_baremetal/auth.py b/openstack_virtual_baremetal/auth.py deleted file mode 100644 index 128c75d..0000000 --- a/openstack_virtual_baremetal/auth.py +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 2017 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import json -import os - -import os_client_config - - -# Older versions of os-client-config pop this from the environment when -# make_client is called. Cache it on import so we know what the original -# value was, regardless of any funny business that happens later. -OS_CLOUD = os.environ.get('OS_CLOUD') - - -def _create_auth_parameters(): - """Read keystone auth parameters from appropriate source - - If the environment variable OS_CLOUD is set, read the auth information - from os_client_config. Otherwise, read it from environment variables. - When reading from the environment, also validate that all of the required - values are set. - - :returns: A dict containing the following keys: os_user, os_password, - os_tenant, os_auth_url, os_project, os_user_domain, - os_project_domain. - """ - config = os_client_config.OpenStackConfig().get_one_cloud(OS_CLOUD) - auth = config.config['auth'] - username = auth['username'] - password = auth['password'] - # os_client_config seems to always call this project_name - tenant = auth['project_name'] - auth_url = auth['auth_url'] - project = auth['project_name'] - user_domain = (auth.get('user_domain_name') or - auth.get('user_domain_id', '')) - project_domain = (auth.get('project_domain_name') or - auth.get('project_domain_id', '')) - - return {'os_user': username, - 'os_password': password, - 'os_tenant': tenant, - 'os_auth_url': auth_url, - 'os_project': project, - 'os_user_domain': user_domain, - 'os_project_domain': project_domain, - } - - -def _cloud_json(): - """Return the current cloud's data in JSON - - Retrieves the cloud from os-client-config and serializes it to JSON. - """ - - c = os_client_config.OpenStackConfig().get_one_cloud(OS_CLOUD) - minimal_config = {} - for k in ('auth', 'region_name', 'interface', 'identity_api_version'): - if k in c.config: - minimal_config[k] = c.config[k] - return json.dumps(minimal_config) diff --git a/openstack_virtual_baremetal/build_nodes_json.py b/openstack_virtual_baremetal/build_nodes_json.py deleted file mode 100755 index 7b368ff..0000000 --- a/openstack_virtual_baremetal/build_nodes_json.py +++ /dev/null @@ -1,343 +0,0 @@ -#!/usr/bin/env python -# Copyright 2015 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import argparse -import json -import os -import re -import yaml - -import os_client_config - -_KNOWN_INTERFACE_NAMES = ('boot', 'console', 'deploy', - 'inspect', 'management', 'network', - 'power', 'raid', 'rescue', 'storage', - 'vendor') - - -def _parse_args(): - parser = argparse.ArgumentParser( - prog='build-nodes-json.py', - description='Tool for collecting virtual IPMI details', - ) - parser.add_argument('--env', '-e', - dest='env', - default=None, - help='YAML file containing OVB environment details') - parser.add_argument('--bmc_prefix', - dest='bmc_prefix', - default='bmc', - help='BMC name prefix') - parser.add_argument('--baremetal_prefix', - dest='baremetal_prefix', - default='baremetal', - help='Baremetal name prefix') - parser.add_argument('--private_net', - dest='private_net', - default='private', - help='DEPRECATED: This parameter is ignored.') - parser.add_argument('--provision_net', - dest='provision_net', - default='provision', - help='DEPRECATED: This parameter is ignored.') - parser.add_argument('--nodes_json', - dest='nodes_json', - default='nodes.json', - help='Destination to store the nodes json file to') - parser.add_argument('--add_undercloud', - dest='add_undercloud', - action='store_true', - help='DEPRECATED: Use --network_details instead. ' - 'Adds the undercloud details to the json file.') - parser.add_argument('--network_details', - dest='network_details', - action='store_true', - help='Include addresses for all nodes on all networks ' - 'in a network_details key') - parser.add_argument('--driver', default='ipmi', - help='Bare metal driver to use') - parser.add_argument('--interface', - dest='interfaces', - action='append', - help='Interface driver to set, can be specified ' - 'multiple times. For example boot=pxe') - parser.add_argument('--physical_network', - action='store_true', - help='Set the physical network attribute of baremetal ' - 'ports. (Requires Rocky or later Ironic)') - parser.add_argument('--use-mac', - action='store_true', - help='Use the deprecated "mac" field in nodes JSON ' - 'instead of the "ports" field.') - parser.add_argument('--id', - help='Identifier to remove from network resource ' - 'names when setting physical network attribute ' - 'of baremetal ports. (This should match the --id ' - 'used with for the ovb-deploy command.)') - args = parser.parse_args() - return args - - -def _get_names(args): - if args.env is None: - bmc_base = args.bmc_prefix - baremetal_base = args.baremetal_prefix - # FIXME: This is not necessarily true. - undercloud_name = 'undercloud' - else: - with open(args.env) as f: - e = yaml.safe_load(f) - bmc_base = e['parameter_defaults']['bmc_prefix'] - baremetal_base = e['parameter_defaults']['baremetal_prefix'] - role = e.get('parameter_defaults', {}).get('role') - if role and baremetal_base.endswith('-' + role): - baremetal_base = baremetal_base[:-len(role) - 1] - undercloud_name = e.get('parameter_defaults', {}).get('undercloud_name') # noqa: E501 - return bmc_base, baremetal_base, undercloud_name - - -def _get_clients(): - cloud = os.environ.get('OS_CLOUD') - nova = os_client_config.make_client('compute', cloud=cloud) - neutron = os_client_config.make_client('network', cloud=cloud) - glance = os_client_config.make_client('image', cloud=cloud) - return nova, neutron, glance - - -def _get_ports(neutron, bmc_base, baremetal_base): - all_ports = sorted(neutron.list_ports()['ports'], key=lambda x: x['name']) - bmc_ports = list([p for p in all_ports - if p['name'].startswith(bmc_base)]) - bm_ports = list([p for p in all_ports - if p['name'].startswith(baremetal_base)]) - - # Filter the bm_ports without a matching bmc_port, when using roles - # one role can have bmc enabled, and other roles have it disabled. - valid_suffixes = [p['name'].split(bmc_base)[-1] for p in bmc_ports] - valid_bm_ports = [p for p in bm_ports - if p['name'].split(baremetal_base)[-1] in valid_suffixes] - - if len(bmc_ports) != len(valid_bm_ports): - raise RuntimeError('Found different numbers of baremetal and ' - 'bmc ports. bmc: %s baremetal: %s' % (bmc_ports, - bm_ports)) - - bmc_bm_port_pairs = zip(bmc_ports, valid_bm_ports) - - provision_net_map = {} - for port in bm_ports: - provision_net_map.update({ - port.get('id'): - neutron.list_subnets( - id=port['fixed_ips'][0]['subnet_id'])['subnets'][0].get( - 'name')}) - - return bm_ports, bmc_bm_port_pairs, provision_net_map - - -def _build_network_details(nova, bm_ports, undercloud_name): - network_details = {} - - for baremetal_port in bm_ports: - baremetal = nova.servers.get(baremetal_port['device_id']) - network_details[baremetal.name] = {} - network_details[baremetal.name]['id'] = baremetal.id - network_details[baremetal.name]['ips'] = baremetal.addresses - - extra_nodes = [] - - if undercloud_name: - undercloud_node_template = { - 'name': undercloud_name, - 'id': '', - 'ips': [], - } - try: - undercloud_instance = nova.servers.list( - search_opts={'name': undercloud_name})[0] - except IndexError: - print('Undercloud %s specified in the environment file is not ' - 'available in nova. No undercloud details will be ' - 'included in the output.' % undercloud_name) - else: - undercloud_node_template['id'] = undercloud_instance.id - undercloud_node_template['ips'] = nova.servers.ips( - undercloud_instance) - - extra_nodes.append(undercloud_node_template) - network_details[undercloud_name] = dict( - id=undercloud_instance.id, - ips=undercloud_instance.addresses) - - return extra_nodes, network_details - - -def _parse_interfaces(interface_args): - if not interface_args: - return {} - - interfaces = {} - - for i_arg in interface_args: - try: - (i, v) = i_arg.split(('='), 1) - except ValueError: - raise RuntimeError('Malformed interface "%s". Use the key=value ' - 'format.' % i_arg) - - if i not in _KNOWN_INTERFACE_NAMES: - raise RuntimeError('Unknown interface "%s". Supported interfaces: ' - '%s' % (i, ', '.join(_KNOWN_INTERFACE_NAMES))) - - interfaces['%s_interface' % i] = v - return interfaces - - -def _build_nodes(nova, glance, bmc_bm_port_pairs, provision_net_map, - baremetal_base, args): - node_template = { - 'pm_type': args.driver, - 'cpu': '', - 'memory': '', - 'disk': '', - 'arch': 'x86_64', - 'pm_user': 'admin', - 'pm_password': 'password', - 'pm_addr': '', - 'capabilities': 'boot_option:local', - 'name': '', - } - nodes = [] - cache = {} - node_template.update(_parse_interfaces(args.interfaces)) - for bmc_port, baremetal_port in bmc_bm_port_pairs: - baremetal = nova.servers.get(baremetal_port['device_id']) - node = dict(node_template) - node['pm_addr'] = bmc_port['fixed_ips'][0]['ip_address'] - provision_net = provision_net_map.get(baremetal_port['id']) - mac = baremetal.addresses[provision_net][0]['OS-EXT-IPS-MAC:mac_addr'] - if args.use_mac: - node['mac'] = [mac] - else: - port = node.setdefault('ports', [{'address': mac}])[0] - if args.physical_network: - if args.id: - port['physical_network'] = re.sub('-' + args.id + '$', '', - provision_net) - else: - port['physical_network'] = provision_net - if not cache.get(baremetal.flavor['id']): - cache[baremetal.flavor['id']] = nova.flavors.get( - baremetal.flavor['id']) - flavor = cache.get(baremetal.flavor['id']) - node['cpu'] = flavor.vcpus - node['memory'] = flavor.ram - node['disk'] = flavor.disk - # NOTE(bnemec): Older versions of Ironic won't allow _ characters in - # node names, so translate to the allowed character - - node['name'] = baremetal.name.replace('_', '-') - - # If a node has uefi firmware ironic needs to be aware of this, in nova - # this is set using a image property called "hw_firmware_type" - # NOTE(bnemec): Boot from volume does not have an image associated with - # the instance so we can't do this. - if baremetal.image: - if not cache.get(baremetal.image['id']): - cache[baremetal.image['id']] = glance.images.get( - baremetal.image['id']) - image = cache.get(baremetal.image['id']) - if image.get('hw_firmware_type') == 'uefi': - node['capabilities'] += ",boot_mode:uefi" - else: - node['capabilities'] += ",boot_mode:bios" - else: - # With boot from volume the flavor disk size doesn't matter. We - # need to look up the volume disk size. - cloud = os.environ.get('OS_CLOUD') - cinder = os_client_config.make_client('volume', cloud=cloud) - vol_id = baremetal.to_dict()[ - 'os-extended-volumes:volumes_attached'][0]['id'] - volume = cinder.volumes.get(vol_id) - node['disk'] = volume.size - - bm_name_end = baremetal.name[len(baremetal_base):] - if '-' in bm_name_end: - profile = bm_name_end[1:].split('_')[0] - node['capabilities'] += ',profile:%s' % profile - - nodes.append(node) - - return nodes - - -def _write_nodes(nodes, extra_nodes, network_details, args): - with open(args.nodes_json, 'w') as node_file: - resulting_json = {'nodes': nodes} - if args.add_undercloud and extra_nodes: - resulting_json['extra_nodes'] = extra_nodes - if args.network_details: - resulting_json['network_details'] = network_details - contents = json.dumps(resulting_json, indent=2) - node_file.write(contents) - print(contents) - print('Wrote node definitions to %s' % args.nodes_json) - - -def _get_node_profile(node): - parts = node['capabilities'].split(',') - for p in parts: - if p.startswith('profile'): - return p.split(':')[-1] - return '' - - -def _write_role_nodes(nodes, args): - by_profile = {} - for n in nodes: - by_profile.setdefault(_get_node_profile(n), []).append(n) - # Don't write role-specific files if no roles were used. - if len(by_profile) == 1 and list(by_profile.keys())[0] == '': - return - for profile, profile_nodes in by_profile.items(): - filepart = profile - if not profile: - filepart = 'no-profile' - outfile = '%s-%s.json' % (os.path.splitext(args.nodes_json)[0], - filepart) - with open(outfile, 'w') as f: - contents = json.dumps({'nodes': profile_nodes}, indent=2) - f.write(contents) - print(contents) - print('Wrote profile "%s" node definitions to %s' % - (profile, outfile)) - - -def main(): - args = _parse_args() - bmc_base, baremetal_base, undercloud_name = _get_names(args) - nova, neutron, glance = _get_clients() - (bm_ports, - bmc_bm_port_pairs, - provision_net_map) = _get_ports(neutron, bmc_base, baremetal_base) - (extra_nodes, - network_details) = _build_network_details(nova, bm_ports, undercloud_name) - nodes = _build_nodes(nova, glance, bmc_bm_port_pairs, provision_net_map, - baremetal_base, args) - _write_nodes(nodes, extra_nodes, network_details, args) - _write_role_nodes(nodes, args) - - -if __name__ == '__main__': - main() diff --git a/openstack_virtual_baremetal/deploy.py b/openstack_virtual_baremetal/deploy.py deleted file mode 100755 index 21c8d83..0000000 --- a/openstack_virtual_baremetal/deploy.py +++ /dev/null @@ -1,406 +0,0 @@ -#!/usr/bin/env python -# Copyright 2016 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import argparse -import sys -import time -import yaml - -from heatclient.common import template_utils -import os_client_config - -# TODO(sshnaidm): To make this python3 friendly with relative imports -try: - from openstack_virtual_baremetal import auth -except ImportError: - import auth - - -def _parse_args(): - parser = argparse.ArgumentParser(description='Deploy an OVB environment') - parser.add_argument( - '--env', '-e', - help='Path to Heat environment file describing the OVB ' - 'environment to be deployed. Default: %(default)s', - action='append', - default=[]) - parser.add_argument( - '--id', - help='Identifier to add to all resource names. The ' - 'resulting names will look like undercloud-ID or ' - 'baremetal-ID. By default no changes will be made to ' - 'the resource names. If an id is specified, a new ' - 'environment file will be written to env-ID.yaml. ') - parser.add_argument( - '--name', - help='Name for the Heat stack to be created. Defaults ' - 'to "baremetal" in a standard deployment. If ' - '--quintupleo is specified then the default is ' - '"quintupleo".') - parser.add_argument( - '--quintupleo', - help='Deploy a full environment suitable for TripleO ' - 'development.', - action='store_true', - default=False) - parser.add_argument( - '--role', - help='Additional environment file describing a ' - 'secondary role to be deployed alongside the ' - 'primary one described in the main environment.', - action='append', - default=[]) - parser.add_argument( - '--poll', - help='Poll until the Heat stack(s) are complete. ' - 'Automatically enabled when multiple roles are ' - 'deployed.', - action='store_true', - default=False) - return parser.parse_args() - - -def _process_args(args): - if args.id: - if not args.quintupleo: - raise RuntimeError('--id requires --quintupleo') - id_env = 'env-%s.yaml' % args.id - if id_env in args.env: - raise ValueError('Input env file "%s" would be overwritten by ID ' - 'env file. Either rename the input file or ' - 'change the deploy ID.' % id_env) - if args.role and not args.quintupleo: - raise RuntimeError('--role requires --quintupleo') - - # NOTE(bnemec): We changed the way the --env parameter works such that the - # default is no longer 'env.yaml' but instead an empty list. However, for - # compatibility we need to maintain the ability to default to env.yaml - # if --env is not explicitly specified. - if not args.env: - args.env = ['env.yaml'] - if args.name: - stack_name = args.name - else: - stack_name = 'baremetal' - if args.quintupleo: - stack_name = 'quintupleo' - if not args.quintupleo: - stack_template = 'templates/virtual-baremetal.yaml' - else: - stack_template = 'templates/quintupleo.yaml' - return stack_name, stack_template - - -def _add_identifier(env_data, name, identifier, default=None): - """Append identifier to the end of parameter name in env_data - - Look for ``name`` in the ``parameter_defaults`` key of ``env_data`` and - append '-``identifier``' to it. - """ - value = env_data['parameter_defaults'].get(name) - if value is None: - value = default - if value is None: - raise RuntimeError('No base value found when adding id') - if identifier: - value = '%s-%s' % (value, identifier) - env_data['parameter_defaults'][name] = value - - -def _build_env_data(env_paths): - """Merge env data from the provided paths - - Given a list of files in env_paths, merge the contents of all those - environment files and return the results. - - :param env_paths: A list of env files to operate on. - :returns: A dict containing the merged contents of the provided files. - """ - _, env_data = template_utils.process_multiple_environments_and_files( - env_paths) - return env_data - - -def _generate_id_env(args): - env_data = _build_env_data(args.env) - _add_identifier(env_data, 'provision_net', args.id, default='provision') - _add_identifier(env_data, 'provision_net2', args.id, default='provision2') - _add_identifier(env_data, 'provision_net3', args.id, default='provision3') - _add_identifier(env_data, 'public_net', args.id, default='public') - _add_identifier(env_data, 'baremetal_prefix', args.id, default='baremetal') - role = env_data['parameter_defaults'].get('role') - if role: - _add_identifier(env_data, 'baremetal_prefix', role) - priv_network = env_data['parameter_defaults'].get('private_net_cidr') - if priv_network: - _add_identifier(env_data, 'private_net', args.id, default='private') - _add_identifier(env_data, 'bmc_prefix', args.id, default='bmc') - _add_identifier(env_data, 'undercloud_name', args.id, default='undercloud') - _add_identifier(env_data, 'dhcrelay_prefix', args.id, default='dhcrelay') - _add_identifier(env_data, 'radvd_prefix', args.id, default='radvd') - _add_identifier(env_data, 'overcloud_internal_net', args.id, - default='internal') - _add_identifier(env_data, 'overcloud_storage_net', args.id, - default='storage') - _add_identifier(env_data, 'overcloud_storage_mgmt_net', args.id, - default='storage_mgmt') - _add_identifier(env_data, 'overcloud_tenant_net', args.id, - default='tenant') - # TODO(bnemec): Network names should be parameterized so we don't have to - # hardcode them into deploy.py like this. - _add_identifier(env_data, 'overcloud_internal_net2', args.id, - default='overcloud_internal2') - _add_identifier(env_data, 'overcloud_storage_net2', args.id, - default='overcloud_storage2') - _add_identifier(env_data, 'overcloud_storage_mgmt_net2', args.id, - default='overcloud_storage_mgmt2') - _add_identifier(env_data, 'overcloud_tenant_net2', args.id, - default='overcloud_tenant2') - _add_identifier(env_data, 'overcloud_internal_router', args.id, - default='internal_router') - _add_identifier(env_data, 'overcloud_storage_router', args.id, - default='storage_router') - _add_identifier(env_data, 'overcloud_storage_mgmt_router', args.id, - default='storage_mgmt_router') - _add_identifier(env_data, 'overcloud_tenant_router', args.id, - default='tenant_router') - _add_identifier(env_data, 'provision_router_name', args.id, - default='provision_router') - - # We don't modify any resource_registry entries, and because we may be - # writing the new env file to a different path it can break relative paths - # in the resource_registry. - env_data.pop('resource_registry', None) - env_path = 'env-%s.yaml' % args.id - with open(env_path, 'w') as f: - yaml.safe_dump(env_data, f, default_flow_style=False) - return args.env + [env_path] - - -def _validate_env(args, env_paths): - """Check for invalid environment configurations - - :param args: Argparse args. - :param env_paths: Path(s) of the environment file(s) to validate. - """ - if not args.id: - env_data = _build_env_data(env_paths) - role = env_data.get('parameter_defaults', {}).get('role') - prefix = env_data['parameter_defaults']['baremetal_prefix'] - if role and prefix.endswith('-' + role): - raise RuntimeError('baremetal_prefix ends with role name. This ' - 'will break build-nodes-json. Please choose ' - 'a different baremetal_prefix or role name.') - for path in env_paths: - if 'port-security.yaml' in path: - print('WARNING: port-security environment file detected. ' - 'port-security is now the default. The existing ' - 'port-security environment files are deprecated and may be ' - 'removed in the future. Please use the environment files ' - 'without "port-security" in their filename instead.' - ) - - -def _get_heat_client(): - return os_client_config.make_client('orchestration', - cloud=auth.OS_CLOUD) - - -def _deploy(stack_name, stack_template, env_paths, poll): - hclient = _get_heat_client() - - template_files, template = template_utils.get_template_contents( - stack_template) - env_files, env = template_utils.process_multiple_environments_and_files( - ['templates/resource-registry.yaml'] + env_paths) - all_files = {} - all_files.update(template_files) - all_files.update(env_files) - # NOTE(bnemec): Unfortunately, we can't pass this in as parameter_default - # because the Heat API doesn't accept parameter_defaults. - parameters = {'cloud_data': auth._cloud_json()} - - hclient.stacks.create(stack_name=stack_name, - template=template, - environment=env, - files=all_files, - parameters=parameters) - - print('Deployment of stack "%s" started.' % stack_name) - if poll: - _poll_stack(stack_name, hclient) - - -def _poll_stack(stack_name, hclient): - """Poll status for stack_name until it completes or fails""" - print('Waiting for stack to complete', end="") - done = False - while not done: - print('.', end="") - # By the time we get here we know Heat was up at one point because - # we were able to start the stack create. Therefore, we can - # reasonably guess that any errors from this call are going to be - # transient. - try: - stack = hclient.stacks.get(stack_name, resolve_outputs=False) - except Exception as e: - # Print the error so the user can determine whether they need - # to cancel the deployment, but keep trying otherwise. - print('WARNING: Exception occurred while polling stack: %s' % e) - time.sleep(10) - continue - sys.stdout.flush() - if stack.status == 'COMPLETE': - print('Stack %s created successfully' % stack_name) - done = True - elif stack.status == 'FAILED': - print(stack.to_dict().get('stack_status_reason')) - raise RuntimeError('Failed to create stack %s' % stack_name) - else: - time.sleep(10) - - -# Abstract out the role file interactions for easier unit testing -def _load_role_data(base_envs, role_file, args): - base_data = _build_env_data(base_envs) - with open(role_file) as f: - role_data = yaml.safe_load(f) - orig_data = _build_env_data(args.env) - return base_data, role_data, orig_data - - -def _write_role_file(role_env, role_file): - with open(role_file, 'w') as f: - yaml.safe_dump(role_env, f, default_flow_style=False) - - -def _process_role(role_file, base_envs, stack_name, args): - """Merge a partial role env with the base env - - :param role: Filename of an environment file containing the definition - of the role. - :param base_envs: Filename(s) of the environment file(s) used to deploy the - stack containing shared resources such as the undercloud and - networks. - :param stack_name: Name of the stack deployed using base_envs. - :param args: The command-line arguments object from argparse. - """ - base_data, role_data, orig_data = _load_role_data(base_envs, role_file, - args) - inherited_keys = ['baremetal_image', 'bmc_flavor', 'bmc_image', - 'external_net', 'key_name', 'os_auth_url', - 'os_password', 'os_tenant', 'os_user', - 'private_net', 'provision_net', 'public_net', - 'overcloud_internal_net', 'overcloud_storage_mgmt_net', - 'overcloud_storage_net', 'overcloud_tenant_net', - ] - # Parameters that are inherited but can be overridden by the role - allowed_parameter_keys = ['baremetal_image', 'bmc_flavor', 'key_name', - 'provision_net', 'overcloud_internal_net', - 'overcloud_storage_net', - 'overcloud_storage_mgmt_net', - 'overcloud_tenant_net', - ] - allowed_registry_keys = ['OS::OVB::BaremetalPorts', 'OS::OVB::BMCPort', - 'OS::OVB::UndercloudNetworks', 'OS::OVB::BMC', - ] - # NOTE(bnemec): Not sure what purpose this serves. Can probably be removed. - role_env = role_data - # resource_registry is intentionally omitted as it should not be inherited - role_env.setdefault('parameter_defaults', {}).update({ - k: v for k, v in base_data.get('parameter_defaults', {}).items() - if k in inherited_keys and - (k not in role_env.get('parameter_defaults', {}) or - k not in allowed_parameter_keys) - }) - # Most of the resource_registry should not be included in role envs. - # Only allow specific entries that may be needed. - role_env.setdefault('resource_registry', {}) - role_env['resource_registry'] = { - k: v for k, v in role_env['resource_registry'].items() - if k in allowed_registry_keys} - role_reg = role_env['resource_registry'] - base_reg = base_data['resource_registry'] - for k in allowed_registry_keys: - if k not in role_reg and k in base_reg: - role_reg[k] = base_reg[k] - # We need to start with the unmodified prefix - base_prefix = orig_data['parameter_defaults']['baremetal_prefix'] - # But we do need to add the id if one is in use - if args.id: - base_prefix += '-%s' % args.id - bmc_prefix = base_data['parameter_defaults']['bmc_prefix'] - role = role_data['parameter_defaults']['role'] - if '_' in role: - raise RuntimeError('_ character not allowed in role name "%s".' % role) - role_env['parameter_defaults']['baremetal_prefix'] = ('%s-%s' % - (base_prefix, role)) - role_env['parameter_defaults']['bmc_prefix'] = '%s-%s' % (bmc_prefix, role) - # At this time roles are only attached to a single set of networks, so - # we use just the primary network parameters. - - def maybe_add_id(role_env, name, args): - """Add id only if one is not already present - - When we inherit network names, they will already have the id present. - However, if the user overrides the network name (for example, when - using multiple routed networks) then it should not have the id. - We can detect which is the case by looking at whether the name already - ends with -id. - """ - if (args.id and - not role_env['parameter_defaults'].get(name, '') - .endswith('-' + args.id)): - _add_identifier(role_env, name, args.id) - - maybe_add_id(role_env, 'provision_net', args) - maybe_add_id(role_env, 'overcloud_internal_net', args) - maybe_add_id(role_env, 'overcloud_storage_net', args) - maybe_add_id(role_env, 'overcloud_storage_mgmt_net', args) - maybe_add_id(role_env, 'overcloud_tenant_net', args) - role_env['parameter_defaults']['networks'] = { - 'private': role_env['parameter_defaults']['private_net'], - 'provision': role_env['parameter_defaults']['provision_net'], - 'public': role_env['parameter_defaults']['public_net'], - } - role_file = 'env-%s-%s.yaml' % (stack_name, role) - _write_role_file(role_env, role_file) - return role_file, role - - -def _deploy_roles(stack_name, args, env_paths): - for r in args.role: - role_env, role_name = _process_role(r, env_paths, stack_name, args) - _deploy(stack_name + '-%s' % role_name, - 'templates/virtual-baremetal.yaml', - [role_env], poll=True) - - -def main(): - args = _parse_args() - stack_name, stack_template = _process_args(args) - env_paths = args.env - if args.id: - env_paths = _generate_id_env(args) - _validate_env(args, env_paths) - poll = args.poll - if args.role: - poll = True - _deploy(stack_name, stack_template, env_paths, poll=poll) - _deploy_roles(stack_name, args, env_paths) - - -if __name__ == '__main__': - main() diff --git a/openstack_virtual_baremetal/openstackbmc.py b/openstack_virtual_baremetal/openstackbmc.py deleted file mode 100755 index 3b9e2fd..0000000 --- a/openstack_virtual_baremetal/openstackbmc.py +++ /dev/null @@ -1,244 +0,0 @@ -#!/usr/bin/env python -# Copyright 2015 Red Hat, Inc. -# Copyright 2015 Lenovo -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# Virtual BMC for controlling OpenStack instances, based on fakebmc from -# python-pyghmi - -# Sample ipmitool commands: -# ipmitool -I lanplus -U admin -P password -H 127.0.0.1 power on -# ipmitool -I lanplus -U admin -P password -H 127.0.0.1 power status -# ipmitool -I lanplus -U admin -P password -H 127.0.0.1 chassis bootdev pxe|disk # noqa: E501 -# ipmitool -I lanplus -U admin -P password -H 127.0.0.1 mc reset cold - -import argparse -import os -import sys -import time - -from novaclient import exceptions -import os_client_config -import pyghmi.ipmi.bmc as bmc - - -class OpenStackBmc(bmc.Bmc): - def __init__(self, authdata, port, address, instance, cache_status, - os_cloud): - super(OpenStackBmc, self).__init__(authdata, - port=port, - address=address) - self.novaclient = os_client_config.make_client('compute', - cloud=os_cloud) - self.instance = None - self.cache_status = cache_status - self.cached_status = None - self.cached_task = None - self.target_status = None - # At times the bmc service is started before important things like - # networking have fully initialized. Keep trying to find the - # instance indefinitely, since there's no point in continuing if - # we don't have an instance. - while True: - try: - self.instance = self._find_instance(instance) - if self.instance is not None: - name = self.novaclient.servers.get(self.instance).name - self.log('Managing instance: %s UUID: %s' % - (name, self.instance)) - break - except Exception as e: - self.log('Exception finding instance "%s": %s' % (instance, e)) - time.sleep(1) - - def _find_instance(self, instance): - try: - self.novaclient.servers.get(instance) - return instance - except exceptions.NotFound: - name_regex = '^%s$' % instance - i = self.novaclient.servers.list(search_opts={'name': name_regex}) - if len(i) > 1: - self.log('Ambiguous instance name %s' % instance) - sys.exit(1) - try: - return i[0].id - except IndexError: - self.log('Could not find specified instance %s' % instance) - sys.exit(1) - - def get_boot_device(self): - """Return the currently configured boot device""" - server = self.novaclient.servers.get(self.instance) - if server.metadata.get('libvirt:pxe-first'): - retval = 'network' - else: - retval = 'hd' - self.log('Reporting boot device', retval) - return retval - - def set_boot_device(self, bootdevice): - """Set the boot device for the managed instance - - :param bootdevice: One of ['network', 'hd] to set the boot device to - network or hard disk respectively. - """ - server = self.novaclient.servers.get(self.instance) - if bootdevice == 'network': - self.novaclient.servers.set_meta_item( - server, 'libvirt:pxe-first', '1' - ) - else: - self.novaclient.servers.set_meta_item( - server, 'libvirt:pxe-first', '' - ) - self.log('Set boot device to', bootdevice) - - def cold_reset(self): - # Reset of the BMC, not managed system, here we will exit the demo - self.log('Shutting down in response to BMC cold reset request') - sys.exit(0) - - def _instance_active(self): - no_cached_data = (self.cached_status is None) - instance_changing_state = (self.cached_status != self.target_status) - cache_disabled = (not self.cache_status) - - if (no_cached_data or instance_changing_state or cache_disabled): - instance = self.novaclient.servers.get(self.instance) - self.cached_status = instance.status - self.cached_task = getattr(instance, 'OS-EXT-STS:task_state') - - instance_is_active = (self.cached_status == 'ACTIVE') - instance_is_shutoff = (self.cached_status == 'SHUTOFF') - instance_is_powering_on = (self.cached_task == 'powering-on') - - return ( - instance_is_active or - (instance_is_shutoff and instance_is_powering_on) - ) - - def get_power_state(self): - """Returns the current power state of the managed instance""" - state = self._instance_active() - self.log('Reporting power state "%s" for instance %s' % - (state, self.instance)) - return state - - def power_off(self): - """Stop the managed instance""" - # this should be power down without waiting for clean shutdown - self.target_status = 'SHUTOFF' - if self._instance_active(): - try: - self.novaclient.servers.stop(self.instance) - self.log('Powered off %s' % self.instance) - except exceptions.Conflict as e: - # This can happen if we get two requests to start a server in - # short succession. The instance may then be in a powering-on - # state, which means it is invalid to start it again. - self.log('Ignoring exception: "%s"' % e) - else: - self.log('%s is already off.' % self.instance) - - def power_on(self): - """Start the managed instance""" - self.target_status = 'ACTIVE' - if not self._instance_active(): - try: - self.novaclient.servers.start(self.instance) - self.log('Powered on %s' % self.instance) - except exceptions.Conflict as e: - # This can happen if we get two requests to start a server in - # short succession. The instance may then be in a powering-on - # state, which means it is invalid to start it again. - self.log('Ignoring exception: "%s"' % e) - else: - self.log('%s is already on.' % self.instance) - - def power_reset(self): - """Not implemented""" - print('WARNING: Received request for unimplemented action power_reset') - - def power_shutdown(self): - """Stop the managed instance""" - # should attempt a clean shutdown - self.target_status = 'SHUTOFF' - self.novaclient.servers.stop(self.instance) - self.log('Politely shut down %s' % self.instance) - - def log(self, *msg): - """Helper function that prints msg and flushes stdout""" - print(' '.join(msg)) - sys.stdout.flush() - - -def main(): - parser = argparse.ArgumentParser( - prog='openstackbmc', - description='Virtual BMC for controlling OpenStack instance', - ) - parser.add_argument('--bmcuser', - dest='bmcuser', - default=os.environ.get('BMC_USER', 'admin'), - help='Username to use for virtual BMC, defaults to ' - 'admin') - parser.add_argument('--bmcpass', - dest='bmcpass', - default=os.environ.get('BMC_PASSWORD', 'password'), - help='Password to use for virtual BMC, defaults to ' - 'password') - parser.add_argument('--port', - dest='port', - type=int, - default=os.environ.get('BMC_PORT', 623), - help='Port to listen on; defaults to 623') - parser.add_argument('--address', - dest='address', - default=os.environ.get('BMC_ADDRESS', '::'), - help='Address to bind to; defaults to ::') - parser.add_argument('--instance', - dest='instance', - default=os.environ.get('INSTANCE_ID'), - help='The uuid or name of the OpenStack instance ' - 'to manage') - parser.add_argument('--cache-status', - dest='cache_status', - default=False, - action='store_true', - help='Cache the status of the managed instance. This ' - 'can reduce load on the host cloud, but if the ' - 'instance status is changed outside the BMC then ' - 'it may become out of sync.') - parser.add_argument('--os-cloud', - dest='os_cloud', - default=os.environ.get('OS_CLOUD'), - help='Use the specified cloud from clouds.yaml. ' - 'Defaults to the OS_CLOUD environment variable.') - args = parser.parse_args() - # Default to ipv6 format, but if we get an ipv4 address passed in use the - # appropriate format for pyghmi to listen on it. - addr_format = '%s' - if ':' not in args.address: - addr_format = '::ffff:%s' - mybmc = OpenStackBmc({args.bmcuser: args.bmcpass}, port=args.port, - address=addr_format % args.address, - instance=args.instance, - cache_status=args.cache_status, - os_cloud=args.os_cloud) - mybmc.listen() - - -if __name__ == '__main__': - main() diff --git a/openstack_virtual_baremetal/tests/__init__.py b/openstack_virtual_baremetal/tests/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/openstack_virtual_baremetal/tests/test_auth.py b/openstack_virtual_baremetal/tests/test_auth.py deleted file mode 100644 index 4cb2a6d..0000000 --- a/openstack_virtual_baremetal/tests/test_auth.py +++ /dev/null @@ -1,162 +0,0 @@ -# Copyright 2017 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from unittest import mock - -import fixtures -import json -import testtools - -from openstack_virtual_baremetal import auth - - -class TestCreateAuthParameters(testtools.TestCase): - @mock.patch('openstack_virtual_baremetal.auth.OS_CLOUD', 'foo') - @mock.patch('os_client_config.OpenStackConfig') - def test_create_auth_parameters_os_cloud(self, mock_osc): - mock_data = mock.Mock() - mock_data.config = {'auth': {'username': 'admin', - 'password': 'password', - 'project_name': 'admin', - 'auth_url': 'http://host:5000', - }} - mock_instance = mock.Mock() - mock_instance.get_one_cloud.return_value = mock_data - mock_osc.return_value = mock_instance - result = auth._create_auth_parameters() - expected = {'os_user': 'admin', - 'os_password': 'password', - 'os_tenant': 'admin', - 'os_auth_url': 'http://host:5000', - 'os_project': 'admin', - 'os_user_domain': '', - 'os_project_domain': '', - } - self.assertEqual(expected, result) - - @mock.patch('openstack_virtual_baremetal.auth.OS_CLOUD', 'foo') - @mock.patch('os_client_config.OpenStackConfig') - def test_create_auth_parameters_os_cloud_v3_id(self, mock_osc): - mock_data = mock.Mock() - mock_data.config = {'auth': {'username': 'admin', - 'password': 'password', - 'project_name': 'admin', - 'auth_url': 'http://host:5000', - 'user_domain_id': 'default', - 'project_domain_id': 'default', - }} - mock_instance = mock.Mock() - mock_instance.get_one_cloud.return_value = mock_data - mock_osc.return_value = mock_instance - result = auth._create_auth_parameters() - expected = {'os_user': 'admin', - 'os_password': 'password', - 'os_tenant': 'admin', - 'os_auth_url': 'http://host:5000', - 'os_project': 'admin', - 'os_user_domain': 'default', - 'os_project_domain': 'default', - } - self.assertEqual(expected, result) - - @mock.patch('openstack_virtual_baremetal.auth.OS_CLOUD', 'foo') - @mock.patch('os_client_config.OpenStackConfig') - def test_create_auth_parameters_os_cloud_v3_name(self, mock_osc): - mock_data = mock.Mock() - mock_data.config = {'auth': {'username': 'admin', - 'password': 'password', - 'project_name': 'admin', - 'auth_url': 'http://host:5000', - 'user_domain_name': 'default', - 'project_domain_name': 'default', - }} - mock_instance = mock.Mock() - mock_instance.get_one_cloud.return_value = mock_data - mock_osc.return_value = mock_instance - result = auth._create_auth_parameters() - expected = {'os_user': 'admin', - 'os_password': 'password', - 'os_tenant': 'admin', - 'os_auth_url': 'http://host:5000', - 'os_project': 'admin', - 'os_user_domain': 'default', - 'os_project_domain': 'default', - } - self.assertEqual(expected, result) - - def test_create_auth_parameters_env_v3(self): - self.useFixture(fixtures.EnvironmentVariable('OS_USERNAME', 'admin')) - self.useFixture(fixtures.EnvironmentVariable('OS_PASSWORD', 'pw')) - self.useFixture(fixtures.EnvironmentVariable('OS_TENANT_NAME', - 'admin')) - self.useFixture(fixtures.EnvironmentVariable('OS_AUTH_URL', 'auth/v3')) - self.useFixture(fixtures.EnvironmentVariable('OS_PROJECT_NAME', - 'admin')) - self.useFixture(fixtures.EnvironmentVariable('OS_USER_DOMAIN_ID', - 'default')) - self.useFixture(fixtures.EnvironmentVariable('OS_PROJECT_DOMAIN_ID', - 'default')) - result = auth._create_auth_parameters() - expected = {'os_user': 'admin', - 'os_password': 'pw', - 'os_tenant': 'admin', - 'os_auth_url': 'auth/v3', - 'os_project': 'admin', - 'os_user_domain': 'default', - 'os_project_domain': 'default', - } - self.assertEqual(expected, result) - - def test_create_auth_parameters_env_name(self): - self.useFixture(fixtures.EnvironmentVariable('OS_USERNAME', 'admin')) - self.useFixture(fixtures.EnvironmentVariable('OS_PASSWORD', 'pw')) - self.useFixture(fixtures.EnvironmentVariable('OS_TENANT_NAME', - None)) - self.useFixture(fixtures.EnvironmentVariable('OS_AUTH_URL', 'auth/v3')) - self.useFixture(fixtures.EnvironmentVariable('OS_PROJECT_NAME', - 'admin')) - self.useFixture(fixtures.EnvironmentVariable('OS_USER_DOMAIN_NAME', - 'default')) - self.useFixture(fixtures.EnvironmentVariable('OS_PROJECT_DOMAIN_NAME', - 'default')) - result = auth._create_auth_parameters() - expected = {'os_user': 'admin', - 'os_password': 'pw', - 'os_tenant': 'admin', - 'os_auth_url': 'auth/v3', - 'os_project': 'admin', - 'os_user_domain': 'default', - 'os_project_domain': 'default', - } - self.assertEqual(expected, result) - - -class TestCloudJSON(testtools.TestCase): - @mock.patch('openstack_virtual_baremetal.auth.OS_CLOUD', 'foo') - @mock.patch('os_client_config.OpenStackConfig') - def test_cloud_json(self, mock_osc): - mock_data = mock.Mock() - mock_data.config = {'auth': {'username': 'admin', - 'password': 'password', - 'project_name': 'admin', - 'auth_url': 'http://host:5000', - 'user_domain_name': 'default', - 'project_domain_name': 'default', - }} - mock_instance = mock.Mock() - mock_instance.get_one_cloud.return_value = mock_data - mock_osc.return_value = mock_instance - result = auth._cloud_json() - expected = json.dumps(mock_data.config) - self.assertEqual(expected, result) diff --git a/openstack_virtual_baremetal/tests/test_build_nodes_json.py b/openstack_virtual_baremetal/tests/test_build_nodes_json.py deleted file mode 100644 index 3ac4d49..0000000 --- a/openstack_virtual_baremetal/tests/test_build_nodes_json.py +++ /dev/null @@ -1,721 +0,0 @@ -# Copyright 2016 Red Hat Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -import copy -import json -import sys -from unittest import mock - -import fixtures -import testtools - -from openstack_virtual_baremetal import build_nodes_json - - -TEST_NODES = [{'arch': 'x86_64', - 'capabilities': 'boot_option:local,boot_mode:bios', - 'cpu': 128, - 'disk': 1024, - 'ports': [{'address': 'aa:aa:aa:aa:aa:aa'}], - 'memory': 145055, - 'name': 'bm-0', - 'pm_addr': '1.1.1.1', - 'pm_password': 'password', - 'pm_type': 'pxe_ipmitool', - 'pm_user': 'admin'}, - {'arch': 'x86_64', - 'capabilities': 'boot_option:local', - 'cpu': 128, - 'disk': 1024, - 'ports': [{'address': 'aa:aa:aa:aa:aa:ab'}], - 'memory': 145055, - 'name': 'bm-1', - 'pm_addr': '1.1.1.2', - 'pm_password': 'password', - 'pm_type': 'pxe_ipmitool', - 'pm_user': 'admin'}] - - -class TestBuildNodesJson(testtools.TestCase): - def test_parse_args(self): - mock_argv = ['build-nodes-json', '--env', 'foo.yaml', '--bmc_prefix', - 'bmc-foo', '--baremetal_prefix', 'baremetal-foo', - '--provision_net', 'provision-foo', '--nodes_json', - 'nodes-foo.json', '--driver', 'ipmi', - '--physical_network', '--use-mac' - ] - with mock.patch.object(sys, 'argv', mock_argv): - args = build_nodes_json._parse_args() - self.assertEqual('foo.yaml', args.env) - self.assertEqual('bmc-foo', args.bmc_prefix) - self.assertEqual('baremetal-foo', args.baremetal_prefix) - self.assertEqual('provision-foo', args.provision_net) - self.assertEqual('nodes-foo.json', args.nodes_json) - self.assertEqual('ipmi', args.driver) - self.assertTrue(args.physical_network) - self.assertTrue(args.use_mac) - - def test_get_names_no_env(self): - args = mock.Mock() - args.env = None - args.bmc_prefix = 'bmc-foo' - args.baremetal_prefix = 'baremetal-foo' - args.add_undercloud = False - bmc_base, baremetal_base, undercloud_name = ( - build_nodes_json._get_names(args)) - self.assertEqual('bmc-foo', bmc_base) - self.assertEqual('baremetal-foo', baremetal_base) - self.assertEqual('undercloud', undercloud_name) - - def test_get_names_no_env_w_undercloud(self): - args = mock.Mock() - args.env = None - args.bmc_prefix = 'bmc-foo' - args.baremetal_prefix = 'baremetal-foo' - args.add_undercloud = True - bmc_base, baremetal_base, undercloud_name = ( - build_nodes_json._get_names(args)) - self.assertEqual('bmc-foo', bmc_base) - self.assertEqual('baremetal-foo', baremetal_base) - self.assertEqual('undercloud', undercloud_name) - - @mock.patch('openstack_virtual_baremetal.build_nodes_json.open', - create=True) - @mock.patch('yaml.safe_load') - def test_get_names_env(self, mock_load, mock_open): - args = mock.Mock() - args.env = 'foo.yaml' - args.add_undercloud = False - mock_env = { - 'parameter_defaults': { - 'bmc_prefix': 'bmc-foo', - 'baremetal_prefix': 'baremetal-foo', - }, - } - mock_load.return_value = mock_env - bmc_base, baremetal_base, undercloud_name = ( - build_nodes_json._get_names(args)) - self.assertEqual('bmc-foo', bmc_base) - self.assertEqual('baremetal-foo', baremetal_base) - self.assertIsNone(undercloud_name) - - @mock.patch('openstack_virtual_baremetal.build_nodes_json.open', - create=True) - @mock.patch('yaml.safe_load') - def test_get_names_env_no_role(self, mock_load, mock_open): - args = mock.Mock() - args.env = 'foo.yaml' - args.add_undercloud = False - mock_env = { - 'parameter_defaults': { - 'bmc_prefix': 'bmc', - 'baremetal_prefix': 'baremetal', - 'role': 'foo', - }, - } - mock_load.return_value = mock_env - bmc_base, baremetal_base, undercloud_name = ( - build_nodes_json._get_names(args)) - self.assertEqual('bmc', bmc_base) - self.assertEqual('baremetal', baremetal_base) - self.assertIsNone(undercloud_name) - - @mock.patch('openstack_virtual_baremetal.build_nodes_json.open', - create=True) - @mock.patch('yaml.safe_load') - def test_get_names_env_strip_role(self, mock_load, mock_open): - args = mock.Mock() - args.env = 'foo.yaml' - args.add_undercloud = False - mock_env = { - 'parameter_defaults': { - 'bmc_prefix': 'bmc-foo', - 'baremetal_prefix': 'baremetal-foo-bar', - 'role': 'bar', - }, - } - mock_load.return_value = mock_env - bmc_base, baremetal_base, undercloud_name = ( - build_nodes_json._get_names(args)) - self.assertEqual('bmc-foo', bmc_base) - self.assertEqual('baremetal-foo', baremetal_base) - self.assertIsNone(undercloud_name) - - @mock.patch('os_client_config.make_client') - def test_get_clients_os_cloud(self, mock_make_client): - self.useFixture(fixtures.EnvironmentVariable('OS_CLOUD', 'foo')) - build_nodes_json._get_clients() - calls = [mock.call('compute', cloud='foo'), - mock.call('network', cloud='foo'), - mock.call('image', cloud='foo')] - self.assertEqual(calls, mock_make_client.mock_calls) - - @mock.patch('os_client_config.make_client') - def test_get_clients_os_cloud_unset(self, mock_make_client): - self.useFixture(fixtures.EnvironmentVariable('OS_CLOUD', None)) - build_nodes_json._get_clients() - calls = [mock.call('compute', cloud=None), - mock.call('network', cloud=None), - mock.call('image', cloud=None)] - self.assertEqual(calls, mock_make_client.mock_calls) - - def test_get_ports(self): - neutron = mock.Mock() - fake_fixed_ips = [{'subnet_id': 'provision_id'}] - fake_ports = { - 'ports': [ - {'name': 'random', - 'id': 'random_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'bmc_1', - 'id': 'bmc_1_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'bmc_0', - 'id': 'bmc_0_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'baremetal_1', - 'id': 'baremetal_1_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'baremetal_0', - 'id': 'baremetal_0_id', - 'fixed_ips': fake_fixed_ips}, - ] - } - fake_subnets = { - 'subnets': [ - {'name': 'provision', - 'id': 'provision_id'} - ] - } - neutron.list_ports.return_value = fake_ports - neutron.list_subnets.return_value = fake_subnets - - (bm_ports, - bmc_bm_port_pairs, - provision_net_map) = build_nodes_json._get_ports( - neutron, 'bmc', 'baremetal') - self.assertEqual([fake_ports['ports'][4], fake_ports['ports'][3]], - bm_ports) - self.assertEqual([fake_ports['ports'][2], fake_ports['ports'][1]], - [bmc_port for bmc_port, bm_port in bmc_bm_port_pairs]) - self.assertEqual({'baremetal_0_id': 'provision', - 'baremetal_1_id': 'provision'}, provision_net_map) - - def test_get_ports_mismatch(self): - neutron = mock.Mock() - fake_ports = {'ports': [{'name': 'bmc_0'}]} - neutron.list_ports.return_value = fake_ports - self.assertRaises(RuntimeError, build_nodes_json._get_ports, neutron, - 'bmc', 'baremetal') - - def test_get_ports_multiple(self): - neutron = mock.Mock() - fake_fixed_ips = [{'subnet_id': 'provision_id'}] - fake_ports = { - 'ports': [ - {'name': 'random', - 'id': 'random_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'bmc-foo_0', - 'id': 'bmc_foo_0_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'bmc-bar_0', - 'id': 'bmc_bar_0_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'baremetal-foo_0', - 'id': 'baremetal_foo_0_id', - 'fixed_ips': fake_fixed_ips}, - {'name': 'baremetal-bar_0', - 'id': 'baremetal_bar_0_id', - 'fixed_ips': fake_fixed_ips}, - ] - } - fake_subnets = { - 'subnets': [ - {'name': 'provision', - 'id': 'provision_id'} - ] - } - neutron.list_ports.return_value = fake_ports - neutron.list_subnets.return_value = fake_subnets - (bm_ports, - bmc_bm_port_pairs, - provision_net_map) = build_nodes_json._get_ports( - neutron, ' - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic6 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates-v2/nic-configs/cinder-storage.yaml b/overcloud-templates/bond-network-templates-v2/nic-configs/cinder-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/bond-network-templates-v2/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates-v2/nic-configs/compute.yaml b/overcloud-templates/bond-network-templates-v2/nic-configs/compute.yaml deleted file mode 100644 index db4c1a2..0000000 --- a/overcloud-templates/bond-network-templates-v2/nic-configs/compute.yaml +++ /dev/null @@ -1,232 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic7 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates-v2/nic-configs/controller.yaml b/overcloud-templates/bond-network-templates-v2/nic-configs/controller.yaml deleted file mode 100644 index 51ee41a..0000000 --- a/overcloud-templates/bond-network-templates-v2/nic-configs/controller.yaml +++ /dev/null @@ -1,258 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: ovs_bond - name: bond1 - ovs_options: {get_param: BondInterfaceOvsOptions} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - primary: false - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic6 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic7 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates-v2/nic-configs/swift-storage.yaml b/overcloud-templates/bond-network-templates-v2/nic-configs/swift-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/bond-network-templates-v2/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates-v2/ui-settings.pickle b/overcloud-templates/bond-network-templates-v2/ui-settings.pickle deleted file mode 100644 index 0927ffe..0000000 --- a/overcloud-templates/bond-network-templates-v2/ui-settings.pickle +++ /dev/null @@ -1,699 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -V172.18.0.10 -p26 -sg15 -V172.18.0.0/24 -p27 -sg17 -I3 -sg18 -V172.18.0.250 -p28 -ssS'auto_routes' -p29 -I01 -sS'bond_options' -p30 -Vbond_mode=balance-slb -p31 -sS'version' -p32 -I2 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V10.0.0.50 -p37 -sg17 -I1 -sg13 -V10.0.0.10 -p38 -sg15 -V10.0.0.0/24 -p39 -sS'gateway' -p40 -V10.0.0.1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -V172.17.0.10 -p44 -sg15 -V172.17.0.0/24 -p45 -sg17 -I2 -sg18 -V172.17.0.250 -p46 -ssS'ipv6' -p47 -I00 -sS'storage_mgmt' -p48 -(dp49 -g13 -V172.19.0.10 -p50 -sg15 -V172.19.0.0/24 -p51 -sg17 -I4 -sg18 -V172.19.0.250 -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -sVroutes -p74 -(lp75 -sVuse_dhcp -p76 -I00 -sVtype -p77 -Vinterface -p78 -sVname -p79 -Vnic1 -p80 -sa(dp81 -Vaddresses -p82 -(lp83 -sVnetwork -p84 -VStorage -p85 -sVprimary -p86 -I01 -sVmtu -p87 -I1350 -sg72 -(lp88 -sVroutes -p89 -(lp90 -sVuse_dhcp -p91 -I00 -sVtype -p92 -Vinterface -p93 -sVname -p94 -Vnic5 -p95 -sa(dp96 -Vaddresses -p97 -(lp98 -sVnetwork -p99 -VStorageMgmt -p100 -sVprimary -p101 -I01 -sVmtu -p102 -I1350 -sg72 -(lp103 -sVroutes -p104 -(lp105 -sVuse_dhcp -p106 -I00 -sVtype -p107 -Vinterface -p108 -sVname -p109 -Vnic6 -p110 -sasS'controller.yaml' -p111 -(lp112 -(dp113 -Vaddresses -p114 -(lp115 -sVnetwork -p116 -VControlPlane -p117 -sVprimary -p118 -I01 -sVmtu -p119 -I1350 -sg72 -(lp120 -sVroutes -p121 -(lp122 -sVuse_dhcp -p123 -I00 -sVtype -p124 -Vinterface -p125 -sVname -p126 -Vnic1 -p127 -sa(dp128 -Vdns_servers -p129 -V{get_param: DnsServers} -p130 -sVaddresses -p131 -(lp132 -sVnetwork -p133 -VExternal -p134 -sVmtu -p135 -I-1 -sg72 -(lp136 -(dp137 -Vnetwork -p138 -VNone -p139 -sVbond_type -p140 -Vovs -p141 -sVovs_options -p142 -V{get_param: BondInterfaceOvsOptions} -p143 -sVmtu -p144 -I-1 -sg72 -(lp145 -(dp146 -Vaddresses -p147 -(lp148 -sVnetwork -p149 -VNone -p150 -sVprimary -p151 -I01 -sVmtu -p152 -I1350 -sVroutes -p153 -(lp154 -sVuse_dhcp -p155 -I00 -sVtype -p156 -Vinterface -p157 -sVname -p158 -Vnic2 -p159 -sa(dp160 -Vaddresses -p161 -(lp162 -sVnetwork -p163 -VNone -p164 -sVprimary -p165 -I00 -sVmtu -p166 -I1350 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic3 -p173 -sasVroutes -p174 -(lp175 -sVtype -p176 -Vovs_bond -p177 -sVname -p178 -Vbond1 -p179 -sasVroutes -p180 -(lp181 -sVuse_dhcp -p182 -I00 -sVtype -p183 -Vovs_bridge -p184 -sVname -p185 -Vbr-ex -p186 -sa(dp187 -Vaddresses -p188 -(lp189 -sVnetwork -p190 -VInternalApi -p191 -sVprimary -p192 -I01 -sVmtu -p193 -I1350 -sg72 -(lp194 -sVroutes -p195 -(lp196 -sVuse_dhcp -p197 -I00 -sVtype -p198 -Vinterface -p199 -sVname -p200 -Vnic4 -p201 -sa(dp202 -Vaddresses -p203 -(lp204 -sVnetwork -p205 -VStorage -p206 -sVprimary -p207 -I01 -sVmtu -p208 -I1350 -sg72 -(lp209 -sVroutes -p210 -(lp211 -sVuse_dhcp -p212 -I00 -sVtype -p213 -Vinterface -p214 -sVname -p215 -Vnic5 -p216 -sa(dp217 -Vaddresses -p218 -(lp219 -sVnetwork -p220 -VStorageMgmt -p221 -sVprimary -p222 -I01 -sVmtu -p223 -I1350 -sg72 -(lp224 -sVroutes -p225 -(lp226 -sVuse_dhcp -p227 -I00 -sVtype -p228 -Vinterface -p229 -sVname -p230 -Vnic6 -p231 -sa(dp232 -Vdns_servers -p233 -V{get_param: DnsServers} -p234 -sVaddresses -p235 -(lp236 -sVnetwork -p237 -VTenant -p238 -sVmtu -p239 -I-1 -sg72 -(lp240 -(dp241 -Vaddresses -p242 -(lp243 -sVnetwork -p244 -VNone -p245 -sVprimary -p246 -I01 -sVmtu -p247 -I1350 -sg72 -(lp248 -sVroutes -p249 -(lp250 -sVuse_dhcp -p251 -I00 -sVtype -p252 -Vinterface -p253 -sVname -p254 -Vnic7 -p255 -sasVroutes -p256 -(lp257 -sVuse_dhcp -p258 -I00 -sVtype -p259 -Vovs_bridge -p260 -sVname -p261 -Vbr-tenant -p262 -sasS'swift-storage.yaml' -p263 -(lp264 -sS'compute.yaml' -p265 -(lp266 -(dp267 -Vaddresses -p268 -(lp269 -sVnetwork -p270 -VControlPlane -p271 -sVprimary -p272 -I01 -sVmtu -p273 -I1350 -sg72 -(lp274 -sVroutes -p275 -(lp276 -sVuse_dhcp -p277 -I00 -sVtype -p278 -Vinterface -p279 -sVname -p280 -Vnic1 -p281 -sa(dp282 -Vaddresses -p283 -(lp284 -sVnetwork -p285 -VInternalApi -p286 -sVprimary -p287 -I01 -sVmtu -p288 -I1350 -sg72 -(lp289 -sVroutes -p290 -(lp291 -sVuse_dhcp -p292 -I00 -sVtype -p293 -Vinterface -p294 -sVname -p295 -Vnic4 -p296 -sa(dp297 -Vaddresses -p298 -(lp299 -sVnetwork -p300 -VStorage -p301 -sVprimary -p302 -I01 -sVmtu -p303 -I1350 -sg72 -(lp304 -sVroutes -p305 -(lp306 -sVuse_dhcp -p307 -I00 -sVtype -p308 -Vinterface -p309 -sVname -p310 -Vnic5 -p311 -sa(dp312 -Vdns_servers -p313 -V{get_param: DnsServers} -p314 -sVaddresses -p315 -(lp316 -sVnetwork -p317 -VTenant -p318 -sVmtu -p319 -I-1 -sg72 -(lp320 -(dp321 -Vaddresses -p322 -(lp323 -sVnetwork -p324 -VNone -p325 -sVprimary -p326 -I01 -sVmtu -p327 -I1350 -sg72 -(lp328 -sVroutes -p329 -(lp330 -sVuse_dhcp -p331 -I00 -sVtype -p332 -Vinterface -p333 -sVname -p334 -Vnic7 -p335 -sasVroutes -p336 -(lp337 -sVuse_dhcp -p338 -I00 -sVtype -p339 -Vovs_bridge -p340 -sVname -p341 -Vbr-tenant -p342 -sass. \ No newline at end of file diff --git a/overcloud-templates/bond-network-templates/README b/overcloud-templates/bond-network-templates/README deleted file mode 100644 index 189bfb5..0000000 --- a/overcloud-templates/bond-network-templates/README +++ /dev/null @@ -1,23 +0,0 @@ -Generated Network Isolation Templates -------------------------------------- -These templates were generated by the UI tool at -https://github.com/cybertron/tripleo-scripts#net-iso-genpy - -ui-settings.pickle is specific to the tool. TripleO will not use it when -doing deployments with these templates, but it is needed to be able to -load the templates into the UI again. Note that the UI only reads this file, -so any changes made by hand to the templates will not be reflected in the UI. - -The network-isolation.yaml file needs to reference the port files shipped with -tripleo-heat-templates, so by default the tool generates the paths assuming -network-isolation.yaml will be copied into the environments/ directory of -tripleo-heat-templates. - -If the standard tripleo-heat-templates are in use, then the -network-isolation-absolute.yaml file can be used instead. It has hard-coded -references to the port files in /usr/share/openstack-tripleo-heat-templates. - -If the generated network isolation templates are at ~/generated-templates, an -example deployment command would look like: - -openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/bond-network-templates/network-environment.yaml b/overcloud-templates/bond-network-templates/network-environment.yaml deleted file mode 100644 index a4f4a1f..0000000 --- a/overcloud-templates/bond-network-templates/network-environment.yaml +++ /dev/null @@ -1,26 +0,0 @@ - -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml - -parameter_defaults: - ControlPlaneSubnetCidr: '24' - ControlPlaneDefaultRoute: 192.168.24.1 - EC2MetadataIp: 192.168.24.1 - ExternalNetCidr: 10.0.0.0/24 - ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] - ExternalInterfaceDefaultRoute: 10.0.0.1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: 172.17.0.0/24 - InternalApiAllocationPools: [{"start": "172.17.0.10", "end": "172.17.0.250"}] - StorageNetCidr: 172.18.0.0/24 - StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}] - StorageMgmtNetCidr: 172.19.0.0/24 - StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ["8.8.8.8", "8.8.4.4"] - BondInterfaceOvsOptions: bond_mode=balance-slb diff --git a/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml b/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml deleted file mode 100644 index 7fede9d..0000000 --- a/overcloud-templates/bond-network-templates/network-isolation-absolute.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml - # External - OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml diff --git a/overcloud-templates/bond-network-templates/network-isolation.yaml b/overcloud-templates/bond-network-templates/network-isolation.yaml deleted file mode 100644 index 2c18f2f..0000000 --- a/overcloud-templates/bond-network-templates/network-isolation.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml - # External - OS::TripleO::Network::External: ../network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: ../network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: ../network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: ../network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml diff --git a/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml deleted file mode 100644 index 1a2fb55..0000000 --- a/overcloud-templates/bond-network-templates/nic-configs/ceph-storage.yaml +++ /dev/null @@ -1,119 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic6 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/bond-network-templates/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/compute.yaml b/overcloud-templates/bond-network-templates/nic-configs/compute.yaml deleted file mode 100644 index 34a0ce3..0000000 --- a/overcloud-templates/bond-network-templates/nic-configs/compute.yaml +++ /dev/null @@ -1,130 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic7 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/controller.yaml b/overcloud-templates/bond-network-templates/nic-configs/controller.yaml deleted file mode 100644 index 195fb6f..0000000 --- a/overcloud-templates/bond-network-templates/nic-configs/controller.yaml +++ /dev/null @@ -1,156 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: ovs_bond - name: bond1 - ovs_options: {get_param: BondInterfaceOvsOptions} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - primary: false - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic6 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic7 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/bond-network-templates/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/bond-network-templates/ui-settings.pickle b/overcloud-templates/bond-network-templates/ui-settings.pickle deleted file mode 100644 index 22bfce2..0000000 --- a/overcloud-templates/bond-network-templates/ui-settings.pickle +++ /dev/null @@ -1,699 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -V172.18.0.10 -p26 -sg15 -V172.18.0.0/24 -p27 -sg17 -I3 -sg18 -V172.18.0.250 -p28 -ssS'auto_routes' -p29 -I01 -sS'bond_options' -p30 -Vbond_mode=balance-slb -p31 -sS'version' -p32 -I1 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V10.0.0.50 -p37 -sg17 -I1 -sg13 -V10.0.0.10 -p38 -sg15 -V10.0.0.0/24 -p39 -sS'gateway' -p40 -V10.0.0.1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -V172.17.0.10 -p44 -sg15 -V172.17.0.0/24 -p45 -sg17 -I2 -sg18 -V172.17.0.250 -p46 -ssS'ipv6' -p47 -I00 -sS'storage_mgmt' -p48 -(dp49 -g13 -V172.19.0.10 -p50 -sg15 -V172.19.0.0/24 -p51 -sg17 -I4 -sg18 -V172.19.0.250 -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -sVroutes -p74 -(lp75 -sVuse_dhcp -p76 -I00 -sVtype -p77 -Vinterface -p78 -sVname -p79 -Vnic1 -p80 -sa(dp81 -Vaddresses -p82 -(lp83 -sVnetwork -p84 -VStorage -p85 -sVprimary -p86 -I01 -sVmtu -p87 -I1350 -sg72 -(lp88 -sVroutes -p89 -(lp90 -sVuse_dhcp -p91 -I00 -sVtype -p92 -Vinterface -p93 -sVname -p94 -Vnic5 -p95 -sa(dp96 -Vaddresses -p97 -(lp98 -sVnetwork -p99 -VStorageMgmt -p100 -sVprimary -p101 -I01 -sVmtu -p102 -I1350 -sg72 -(lp103 -sVroutes -p104 -(lp105 -sVuse_dhcp -p106 -I00 -sVtype -p107 -Vinterface -p108 -sVname -p109 -Vnic6 -p110 -sasS'controller.yaml' -p111 -(lp112 -(dp113 -Vaddresses -p114 -(lp115 -sVnetwork -p116 -VControlPlane -p117 -sVprimary -p118 -I01 -sVmtu -p119 -I1350 -sg72 -(lp120 -sVroutes -p121 -(lp122 -sVuse_dhcp -p123 -I00 -sVtype -p124 -Vinterface -p125 -sVname -p126 -Vnic1 -p127 -sa(dp128 -Vdns_servers -p129 -V{get_param: DnsServers} -p130 -sVaddresses -p131 -(lp132 -sVnetwork -p133 -VExternal -p134 -sVmtu -p135 -I-1 -sg72 -(lp136 -(dp137 -Vnetwork -p138 -VNone -p139 -sVbond_type -p140 -Vovs -p141 -sVovs_options -p142 -V{get_param: BondInterfaceOvsOptions} -p143 -sVmtu -p144 -I-1 -sg72 -(lp145 -(dp146 -Vaddresses -p147 -(lp148 -sVnetwork -p149 -VNone -p150 -sVprimary -p151 -I01 -sVmtu -p152 -I1350 -sVroutes -p153 -(lp154 -sVuse_dhcp -p155 -I00 -sVtype -p156 -Vinterface -p157 -sVname -p158 -Vnic2 -p159 -sa(dp160 -Vaddresses -p161 -(lp162 -sVnetwork -p163 -VNone -p164 -sVprimary -p165 -I00 -sVmtu -p166 -I1350 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic3 -p173 -sasVroutes -p174 -(lp175 -sVtype -p176 -Vovs_bond -p177 -sVname -p178 -Vbond1 -p179 -sasVroutes -p180 -(lp181 -sVuse_dhcp -p182 -I00 -sVtype -p183 -Vovs_bridge -p184 -sVname -p185 -Vbr-ex -p186 -sa(dp187 -Vaddresses -p188 -(lp189 -sVnetwork -p190 -VInternalApi -p191 -sVprimary -p192 -I01 -sVmtu -p193 -I1350 -sg72 -(lp194 -sVroutes -p195 -(lp196 -sVuse_dhcp -p197 -I00 -sVtype -p198 -Vinterface -p199 -sVname -p200 -Vnic4 -p201 -sa(dp202 -Vaddresses -p203 -(lp204 -sVnetwork -p205 -VStorage -p206 -sVprimary -p207 -I01 -sVmtu -p208 -I1350 -sg72 -(lp209 -sVroutes -p210 -(lp211 -sVuse_dhcp -p212 -I00 -sVtype -p213 -Vinterface -p214 -sVname -p215 -Vnic5 -p216 -sa(dp217 -Vaddresses -p218 -(lp219 -sVnetwork -p220 -VStorageMgmt -p221 -sVprimary -p222 -I01 -sVmtu -p223 -I1350 -sg72 -(lp224 -sVroutes -p225 -(lp226 -sVuse_dhcp -p227 -I00 -sVtype -p228 -Vinterface -p229 -sVname -p230 -Vnic6 -p231 -sa(dp232 -Vdns_servers -p233 -V{get_param: DnsServers} -p234 -sVaddresses -p235 -(lp236 -sVnetwork -p237 -VTenant -p238 -sVmtu -p239 -I-1 -sg72 -(lp240 -(dp241 -Vaddresses -p242 -(lp243 -sVnetwork -p244 -VNone -p245 -sVprimary -p246 -I01 -sVmtu -p247 -I1350 -sg72 -(lp248 -sVroutes -p249 -(lp250 -sVuse_dhcp -p251 -I00 -sVtype -p252 -Vinterface -p253 -sVname -p254 -Vnic7 -p255 -sasVroutes -p256 -(lp257 -sVuse_dhcp -p258 -I00 -sVtype -p259 -Vovs_bridge -p260 -sVname -p261 -Vbr-tenant -p262 -sasS'swift-storage.yaml' -p263 -(lp264 -sS'compute.yaml' -p265 -(lp266 -(dp267 -Vaddresses -p268 -(lp269 -sVnetwork -p270 -VControlPlane -p271 -sVprimary -p272 -I01 -sVmtu -p273 -I1350 -sg72 -(lp274 -sVroutes -p275 -(lp276 -sVuse_dhcp -p277 -I00 -sVtype -p278 -Vinterface -p279 -sVname -p280 -Vnic1 -p281 -sa(dp282 -Vaddresses -p283 -(lp284 -sVnetwork -p285 -VInternalApi -p286 -sVprimary -p287 -I01 -sVmtu -p288 -I1350 -sg72 -(lp289 -sVroutes -p290 -(lp291 -sVuse_dhcp -p292 -I00 -sVtype -p293 -Vinterface -p294 -sVname -p295 -Vnic4 -p296 -sa(dp297 -Vaddresses -p298 -(lp299 -sVnetwork -p300 -VStorage -p301 -sVprimary -p302 -I01 -sVmtu -p303 -I1350 -sg72 -(lp304 -sVroutes -p305 -(lp306 -sVuse_dhcp -p307 -I00 -sVtype -p308 -Vinterface -p309 -sVname -p310 -Vnic5 -p311 -sa(dp312 -Vdns_servers -p313 -V{get_param: DnsServers} -p314 -sVaddresses -p315 -(lp316 -sVnetwork -p317 -VTenant -p318 -sVmtu -p319 -I-1 -sg72 -(lp320 -(dp321 -Vaddresses -p322 -(lp323 -sVnetwork -p324 -VNone -p325 -sVprimary -p326 -I01 -sVmtu -p327 -I1350 -sg72 -(lp328 -sVroutes -p329 -(lp330 -sVuse_dhcp -p331 -I00 -sVtype -p332 -Vinterface -p333 -sVname -p334 -Vnic7 -p335 -sasVroutes -p336 -(lp337 -sVuse_dhcp -p338 -I00 -sVtype -p339 -Vovs_bridge -p340 -sVname -p341 -Vbr-tenant -p342 -sass. \ No newline at end of file diff --git a/overcloud-templates/ipv6-network-templates-v2/README b/overcloud-templates/ipv6-network-templates-v2/README deleted file mode 100644 index 189bfb5..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/README +++ /dev/null @@ -1,23 +0,0 @@ -Generated Network Isolation Templates -------------------------------------- -These templates were generated by the UI tool at -https://github.com/cybertron/tripleo-scripts#net-iso-genpy - -ui-settings.pickle is specific to the tool. TripleO will not use it when -doing deployments with these templates, but it is needed to be able to -load the templates into the UI again. Note that the UI only reads this file, -so any changes made by hand to the templates will not be reflected in the UI. - -The network-isolation.yaml file needs to reference the port files shipped with -tripleo-heat-templates, so by default the tool generates the paths assuming -network-isolation.yaml will be copied into the environments/ directory of -tripleo-heat-templates. - -If the standard tripleo-heat-templates are in use, then the -network-isolation-absolute.yaml file can be used instead. It has hard-coded -references to the port files in /usr/share/openstack-tripleo-heat-templates. - -If the generated network isolation templates are at ~/generated-templates, an -example deployment command would look like: - -openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/ipv6-network-templates-v2/network-environment.yaml b/overcloud-templates/ipv6-network-templates-v2/network-environment.yaml deleted file mode 100644 index d845650..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/network-environment.yaml +++ /dev/null @@ -1,25 +0,0 @@ - -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml - -parameter_defaults: - ControlPlaneSubnetCidr: '24' - ControlPlaneDefaultRoute: 192.168.24.1 - EC2MetadataIp: 192.168.24.1 - ExternalNetCidr: 2001:db8:fd00:1000::/64 - ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}] - ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: fd00:fd00:fd00:2000::/64 - InternalApiAllocationPools: [{"start": "fd00:fd00:fd00:2000::10", "end": "fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe"}] - StorageNetCidr: fd00:fd00:fd00:3000::/64 - StorageAllocationPools: [{"start": "fd00:fd00:fd00:3000::10", "end": "fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe"}] - StorageMgmtNetCidr: fd00:fd00:fd00:4000::/64 - StorageMgmtAllocationPools: [{"start": "fd00:fd00:fd00:4000::10", "end": "fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/ipv6-network-templates-v2/network-isolation-absolute.yaml b/overcloud-templates/ipv6-network-templates-v2/network-isolation-absolute.yaml deleted file mode 100644 index e5c8ccf..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/network-isolation-absolute.yaml +++ /dev/null @@ -1,35 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip_v6.yaml - # External - OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external_v6.yaml - OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml - OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml - # InternalApi - OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api_v6.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - # Storage - OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage_v6.yaml - OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt_v6.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - # Tenant - OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml -parameter_defaults: - CephIPv6: True - CorosyncIPv6: True - MongoDbIPv6: True - NovaIPv6: True - RabbitIPv6: True - MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates-v2/network-isolation.yaml b/overcloud-templates/ipv6-network-templates-v2/network-isolation.yaml deleted file mode 100644 index 08c7685..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/network-isolation.yaml +++ /dev/null @@ -1,35 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml - # External - OS::TripleO::Network::External: ../network/external_v6.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml - # InternalApi - OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml - # Storage - OS::TripleO::Network::Storage: ../network/storage_v6.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_v6.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_v6.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt_v6.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml - # Tenant - OS::TripleO::Network::Tenant: ../network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml -parameter_defaults: - CephIPv6: True - CorosyncIPv6: True - MongoDbIPv6: True - NovaIPv6: True - RabbitIPv6: True - MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates-v2/nic-configs/ceph-storage.yaml b/overcloud-templates/ipv6-network-templates-v2/nic-configs/ceph-storage.yaml deleted file mode 100644 index 801a970..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/nic-configs/ceph-storage.yaml +++ /dev/null @@ -1,222 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates-v2/nic-configs/cinder-storage.yaml b/overcloud-templates/ipv6-network-templates-v2/nic-configs/cinder-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates-v2/nic-configs/compute.yaml b/overcloud-templates/ipv6-network-templates-v2/nic-configs/compute.yaml deleted file mode 100644 index cf76ee8..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/nic-configs/compute.yaml +++ /dev/null @@ -1,233 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates-v2/nic-configs/controller.yaml b/overcloud-templates/ipv6-network-templates-v2/nic-configs/controller.yaml deleted file mode 100644 index 848969d..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/nic-configs/controller.yaml +++ /dev/null @@ -1,254 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates-v2/nic-configs/swift-storage.yaml b/overcloud-templates/ipv6-network-templates-v2/nic-configs/swift-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates-v2/ui-settings.pickle b/overcloud-templates/ipv6-network-templates-v2/ui-settings.pickle deleted file mode 100644 index 02161a4..0000000 --- a/overcloud-templates/ipv6-network-templates-v2/ui-settings.pickle +++ /dev/null @@ -1,732 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -Vfd00:fd00:fd00:3000::10 -p26 -sg15 -Vfd00:fd00:fd00:3000::/64 -p27 -sg17 -I3 -sg18 -Vfd00:fd00:fd00:3000:ffff:ffff:ffff:fffe -p28 -ssS'auto_routes' -p29 -I00 -sS'bond_options' -p30 -V -p31 -sS'version' -p32 -I2 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V2001:db8:fd00:1000:ffff:ffff:ffff:fffe -p37 -sg17 -I1 -sg13 -V2001:db8:fd00:1000::10 -p38 -sg15 -V2001:db8:fd00:1000::/64 -p39 -sS'gateway' -p40 -V2001:db8:fd00:1000::1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -Vfd00:fd00:fd00:2000::10 -p44 -sg15 -Vfd00:fd00:fd00:2000::/64 -p45 -sg17 -I2 -sg18 -Vfd00:fd00:fd00:2000:ffff:ffff:ffff:fffe -p46 -ssS'ipv6' -p47 -I01 -sS'storage_mgmt' -p48 -(dp49 -g13 -Vfd00:fd00:fd00:4000::10 -p50 -sg15 -Vfd00:fd00:fd00:4000::/64 -p51 -sg17 -I4 -sg18 -Vfd00:fd00:fd00:4000:ffff:ffff:ffff:fffe -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -(dp74 -Vip_netmask -p75 -V0.0.0.0/0 -p76 -sVname -p77 -VRoute -p78 -sVdefault -p79 -I01 -sVnext_hop -p80 -V{get_param: ControlPlaneDefaultRoute} -p81 -sg72 -(lp82 -sVtype -p83 -Vroute -p84 -sasVroutes -p85 -(lp86 -sVuse_dhcp -p87 -I00 -sVtype -p88 -Vinterface -p89 -sVname -p90 -Vnic1 -p91 -sa(dp92 -Vaddresses -p93 -(lp94 -sVnetwork -p95 -VStorage -p96 -sVprimary -p97 -I01 -sVmtu -p98 -I1350 -sg72 -(lp99 -sVroutes -p100 -(lp101 -sVuse_dhcp -p102 -I00 -sVtype -p103 -Vinterface -p104 -sVname -p105 -Vnic4 -p106 -sa(dp107 -Vaddresses -p108 -(lp109 -sVnetwork -p110 -VStorageMgmt -p111 -sVprimary -p112 -I01 -sVmtu -p113 -I1350 -sg72 -(lp114 -sVroutes -p115 -(lp116 -sVuse_dhcp -p117 -I00 -sVtype -p118 -Vinterface -p119 -sVname -p120 -Vnic5 -p121 -sasS'controller.yaml' -p122 -(lp123 -(dp124 -Vaddresses -p125 -(lp126 -sVnetwork -p127 -VControlPlane -p128 -sVprimary -p129 -I01 -sVmtu -p130 -I1350 -sg72 -(lp131 -(dp132 -Vip_netmask -p133 -V0.0.0.0/0 -p134 -sVname -p135 -VRoute -p136 -sVdefault -p137 -I01 -sVnext_hop -p138 -V{get_param: ControlPlaneDefaultRoute} -p139 -sg72 -(lp140 -sVtype -p141 -Vroute -p142 -sasVroutes -p143 -(lp144 -sVuse_dhcp -p145 -I00 -sVtype -p146 -Vinterface -p147 -sVname -p148 -Vnic1 -p149 -sa(dp150 -Vdns_servers -p151 -V{get_param: DnsServers} -p152 -sVaddresses -p153 -(lp154 -sVnetwork -p155 -VExternal -p156 -sVmtu -p157 -I-1 -sg72 -(lp158 -(dp159 -Vaddresses -p160 -(lp161 -sVnetwork -p162 -VNone -p163 -sVprimary -p164 -I01 -sVmtu -p165 -I1350 -sg72 -(lp166 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic2 -p173 -sa(dp174 -Vip_netmask -p175 -V0.0.0.0/0 -p176 -sVname -p177 -VRoute -p178 -sVdefault -p179 -I01 -sVnext_hop -p180 -V{get_param: ExternalInterfaceDefaultRoute} -p181 -sg72 -(lp182 -sVtype -p183 -Vroute -p184 -sasVroutes -p185 -(lp186 -sVuse_dhcp -p187 -I00 -sVtype -p188 -Vovs_bridge -p189 -sVname -p190 -Vbr-ex -p191 -sa(dp192 -Vaddresses -p193 -(lp194 -sVnetwork -p195 -VInternalApi -p196 -sVprimary -p197 -I01 -sVmtu -p198 -I1350 -sg72 -(lp199 -sVroutes -p200 -(lp201 -sVuse_dhcp -p202 -I00 -sVtype -p203 -Vinterface -p204 -sVname -p205 -Vnic3 -p206 -sa(dp207 -Vaddresses -p208 -(lp209 -sVnetwork -p210 -VStorage -p211 -sVprimary -p212 -I01 -sVmtu -p213 -I1350 -sg72 -(lp214 -sVroutes -p215 -(lp216 -sVuse_dhcp -p217 -I00 -sVtype -p218 -Vinterface -p219 -sVname -p220 -Vnic4 -p221 -sa(dp222 -Vaddresses -p223 -(lp224 -sVnetwork -p225 -VStorageMgmt -p226 -sVprimary -p227 -I01 -sVmtu -p228 -I1350 -sg72 -(lp229 -sVroutes -p230 -(lp231 -sVuse_dhcp -p232 -I00 -sVtype -p233 -Vinterface -p234 -sVname -p235 -Vnic5 -p236 -sa(dp237 -Vdns_servers -p238 -V{get_param: DnsServers} -p239 -sVaddresses -p240 -(lp241 -sVnetwork -p242 -VTenant -p243 -sVmtu -p244 -I-1 -sg72 -(lp245 -(dp246 -Vaddresses -p247 -(lp248 -sVnetwork -p249 -VNone -p250 -sVprimary -p251 -I01 -sVmtu -p252 -I1350 -sg72 -(lp253 -sVroutes -p254 -(lp255 -sVuse_dhcp -p256 -I00 -sVtype -p257 -Vinterface -p258 -sVname -p259 -Vnic6 -p260 -sasVroutes -p261 -(lp262 -sVuse_dhcp -p263 -I00 -sVtype -p264 -Vovs_bridge -p265 -sVname -p266 -Vbr-tenant -p267 -sasS'swift-storage.yaml' -p268 -(lp269 -sS'compute.yaml' -p270 -(lp271 -(dp272 -Vaddresses -p273 -(lp274 -sVnetwork -p275 -VControlPlane -p276 -sVprimary -p277 -I01 -sVmtu -p278 -I1350 -sg72 -(lp279 -(dp280 -Vip_netmask -p281 -V0.0.0.0/0 -p282 -sVname -p283 -VRoute -p284 -sVdefault -p285 -I01 -sVnext_hop -p286 -V{get_param: ControlPlaneDefaultRoute} -p287 -sg72 -(lp288 -sVtype -p289 -Vroute -p290 -sasVroutes -p291 -(lp292 -sVuse_dhcp -p293 -I00 -sVtype -p294 -Vinterface -p295 -sVname -p296 -Vnic1 -p297 -sa(dp298 -Vaddresses -p299 -(lp300 -sVnetwork -p301 -VInternalApi -p302 -sVprimary -p303 -I01 -sVmtu -p304 -I1350 -sg72 -(lp305 -sVroutes -p306 -(lp307 -sVuse_dhcp -p308 -I00 -sVtype -p309 -Vinterface -p310 -sVname -p311 -Vnic3 -p312 -sa(dp313 -Vaddresses -p314 -(lp315 -sVnetwork -p316 -VStorage -p317 -sVprimary -p318 -I01 -sVmtu -p319 -I1350 -sg72 -(lp320 -sVroutes -p321 -(lp322 -sVuse_dhcp -p323 -I00 -sVtype -p324 -Vinterface -p325 -sVname -p326 -Vnic4 -p327 -sa(dp328 -Vdns_servers -p329 -V{get_param: DnsServers} -p330 -sVaddresses -p331 -(lp332 -sVnetwork -p333 -VTenant -p334 -sVmtu -p335 -I-1 -sg72 -(lp336 -(dp337 -Vaddresses -p338 -(lp339 -sVnetwork -p340 -VNone -p341 -sVprimary -p342 -I01 -sVmtu -p343 -I1350 -sg72 -(lp344 -sVroutes -p345 -(lp346 -sVuse_dhcp -p347 -I00 -sVtype -p348 -Vinterface -p349 -sVname -p350 -Vnic6 -p351 -sasVroutes -p352 -(lp353 -sVuse_dhcp -p354 -I00 -sVtype -p355 -Vovs_bridge -p356 -sVname -p357 -Vbr-tenant -p358 -sass. \ No newline at end of file diff --git a/overcloud-templates/ipv6-network-templates/README b/overcloud-templates/ipv6-network-templates/README deleted file mode 100644 index 189bfb5..0000000 --- a/overcloud-templates/ipv6-network-templates/README +++ /dev/null @@ -1,23 +0,0 @@ -Generated Network Isolation Templates -------------------------------------- -These templates were generated by the UI tool at -https://github.com/cybertron/tripleo-scripts#net-iso-genpy - -ui-settings.pickle is specific to the tool. TripleO will not use it when -doing deployments with these templates, but it is needed to be able to -load the templates into the UI again. Note that the UI only reads this file, -so any changes made by hand to the templates will not be reflected in the UI. - -The network-isolation.yaml file needs to reference the port files shipped with -tripleo-heat-templates, so by default the tool generates the paths assuming -network-isolation.yaml will be copied into the environments/ directory of -tripleo-heat-templates. - -If the standard tripleo-heat-templates are in use, then the -network-isolation-absolute.yaml file can be used instead. It has hard-coded -references to the port files in /usr/share/openstack-tripleo-heat-templates. - -If the generated network isolation templates are at ~/generated-templates, an -example deployment command would look like: - -openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/ipv6-network-templates/network-environment.yaml b/overcloud-templates/ipv6-network-templates/network-environment.yaml deleted file mode 100644 index d845650..0000000 --- a/overcloud-templates/ipv6-network-templates/network-environment.yaml +++ /dev/null @@ -1,25 +0,0 @@ - -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml - -parameter_defaults: - ControlPlaneSubnetCidr: '24' - ControlPlaneDefaultRoute: 192.168.24.1 - EC2MetadataIp: 192.168.24.1 - ExternalNetCidr: 2001:db8:fd00:1000::/64 - ExternalAllocationPools: [{"start": "2001:db8:fd00:1000::10", "end": "2001:db8:fd00:1000:ffff:ffff:ffff:fffe"}] - ExternalInterfaceDefaultRoute: 2001:db8:fd00:1000::1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: fd00:fd00:fd00:2000::/64 - InternalApiAllocationPools: [{"start": "fd00:fd00:fd00:2000::10", "end": "fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe"}] - StorageNetCidr: fd00:fd00:fd00:3000::/64 - StorageAllocationPools: [{"start": "fd00:fd00:fd00:3000::10", "end": "fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe"}] - StorageMgmtNetCidr: fd00:fd00:fd00:4000::/64 - StorageMgmtAllocationPools: [{"start": "fd00:fd00:fd00:4000::10", "end": "fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml b/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml deleted file mode 100644 index e5c8ccf..0000000 --- a/overcloud-templates/ipv6-network-templates/network-isolation-absolute.yaml +++ /dev/null @@ -1,35 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip_v6.yaml - # External - OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external_v6.yaml - OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml - OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external_v6.yaml - # InternalApi - OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api_v6.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api_v6.yaml - # Storage - OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage_v6.yaml - OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_v6.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt_v6.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt_v6.yaml - # Tenant - OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml -parameter_defaults: - CephIPv6: True - CorosyncIPv6: True - MongoDbIPv6: True - NovaIPv6: True - RabbitIPv6: True - MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates/network-isolation.yaml b/overcloud-templates/ipv6-network-templates/network-isolation.yaml deleted file mode 100644 index 08c7685..0000000 --- a/overcloud-templates/ipv6-network-templates/network-isolation.yaml +++ /dev/null @@ -1,35 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip_v6.yaml - # External - OS::TripleO::Network::External: ../network/external_v6.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external_v6.yaml - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_v6.yaml - # InternalApi - OS::TripleO::Network::InternalApi: ../network/internal_api_v6.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api_v6.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_v6.yaml - # Storage - OS::TripleO::Network::Storage: ../network/storage_v6.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage_v6.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_v6.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_v6.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_v6.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt_v6.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt_v6.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_v6.yaml - # Tenant - OS::TripleO::Network::Tenant: ../network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml -parameter_defaults: - CephIPv6: True - CorosyncIPv6: True - MongoDbIPv6: True - NovaIPv6: True - RabbitIPv6: True - MemcachedIPv6: True diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml deleted file mode 100644 index 21fd59c..0000000 --- a/overcloud-templates/ipv6-network-templates/nic-configs/ceph-storage.yaml +++ /dev/null @@ -1,120 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/ipv6-network-templates/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml deleted file mode 100644 index 794b913..0000000 --- a/overcloud-templates/ipv6-network-templates/nic-configs/compute.yaml +++ /dev/null @@ -1,131 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml deleted file mode 100644 index 313e807..0000000 --- a/overcloud-templates/ipv6-network-templates/nic-configs/controller.yaml +++ /dev/null @@ -1,152 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ControlPlaneDefaultRoute} - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - default: true - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/ipv6-network-templates/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/ipv6-network-templates/ui-settings.pickle b/overcloud-templates/ipv6-network-templates/ui-settings.pickle deleted file mode 100644 index ff60aee..0000000 --- a/overcloud-templates/ipv6-network-templates/ui-settings.pickle +++ /dev/null @@ -1,732 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -Vfd00:fd00:fd00:3000::10 -p26 -sg15 -Vfd00:fd00:fd00:3000::/64 -p27 -sg17 -I3 -sg18 -Vfd00:fd00:fd00:3000:ffff:ffff:ffff:fffe -p28 -ssS'auto_routes' -p29 -I00 -sS'bond_options' -p30 -V -p31 -sS'version' -p32 -I1 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V2001:db8:fd00:1000:ffff:ffff:ffff:fffe -p37 -sg17 -I1 -sg13 -V2001:db8:fd00:1000::10 -p38 -sg15 -V2001:db8:fd00:1000::/64 -p39 -sS'gateway' -p40 -V2001:db8:fd00:1000::1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -Vfd00:fd00:fd00:2000::10 -p44 -sg15 -Vfd00:fd00:fd00:2000::/64 -p45 -sg17 -I2 -sg18 -Vfd00:fd00:fd00:2000:ffff:ffff:ffff:fffe -p46 -ssS'ipv6' -p47 -I01 -sS'storage_mgmt' -p48 -(dp49 -g13 -Vfd00:fd00:fd00:4000::10 -p50 -sg15 -Vfd00:fd00:fd00:4000::/64 -p51 -sg17 -I4 -sg18 -Vfd00:fd00:fd00:4000:ffff:ffff:ffff:fffe -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -(dp74 -Vip_netmask -p75 -V0.0.0.0/0 -p76 -sVname -p77 -VRoute -p78 -sVdefault -p79 -I01 -sVnext_hop -p80 -V{get_param: ControlPlaneDefaultRoute} -p81 -sg72 -(lp82 -sVtype -p83 -Vroute -p84 -sasVroutes -p85 -(lp86 -sVuse_dhcp -p87 -I00 -sVtype -p88 -Vinterface -p89 -sVname -p90 -Vnic1 -p91 -sa(dp92 -Vaddresses -p93 -(lp94 -sVnetwork -p95 -VStorage -p96 -sVprimary -p97 -I01 -sVmtu -p98 -I1350 -sg72 -(lp99 -sVroutes -p100 -(lp101 -sVuse_dhcp -p102 -I00 -sVtype -p103 -Vinterface -p104 -sVname -p105 -Vnic4 -p106 -sa(dp107 -Vaddresses -p108 -(lp109 -sVnetwork -p110 -VStorageMgmt -p111 -sVprimary -p112 -I01 -sVmtu -p113 -I1350 -sg72 -(lp114 -sVroutes -p115 -(lp116 -sVuse_dhcp -p117 -I00 -sVtype -p118 -Vinterface -p119 -sVname -p120 -Vnic5 -p121 -sasS'controller.yaml' -p122 -(lp123 -(dp124 -Vaddresses -p125 -(lp126 -sVnetwork -p127 -VControlPlane -p128 -sVprimary -p129 -I01 -sVmtu -p130 -I1350 -sg72 -(lp131 -(dp132 -Vip_netmask -p133 -V0.0.0.0/0 -p134 -sVname -p135 -VRoute -p136 -sVdefault -p137 -I01 -sVnext_hop -p138 -V{get_param: ControlPlaneDefaultRoute} -p139 -sg72 -(lp140 -sVtype -p141 -Vroute -p142 -sasVroutes -p143 -(lp144 -sVuse_dhcp -p145 -I00 -sVtype -p146 -Vinterface -p147 -sVname -p148 -Vnic1 -p149 -sa(dp150 -Vdns_servers -p151 -V{get_param: DnsServers} -p152 -sVaddresses -p153 -(lp154 -sVnetwork -p155 -VExternal -p156 -sVmtu -p157 -I-1 -sg72 -(lp158 -(dp159 -Vaddresses -p160 -(lp161 -sVnetwork -p162 -VNone -p163 -sVprimary -p164 -I01 -sVmtu -p165 -I1350 -sg72 -(lp166 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic2 -p173 -sa(dp174 -Vip_netmask -p175 -V0.0.0.0/0 -p176 -sVname -p177 -VRoute -p178 -sVdefault -p179 -I01 -sVnext_hop -p180 -V{get_param: ExternalInterfaceDefaultRoute} -p181 -sg72 -(lp182 -sVtype -p183 -Vroute -p184 -sasVroutes -p185 -(lp186 -sVuse_dhcp -p187 -I00 -sVtype -p188 -Vovs_bridge -p189 -sVname -p190 -Vbr-ex -p191 -sa(dp192 -Vaddresses -p193 -(lp194 -sVnetwork -p195 -VInternalApi -p196 -sVprimary -p197 -I01 -sVmtu -p198 -I1350 -sg72 -(lp199 -sVroutes -p200 -(lp201 -sVuse_dhcp -p202 -I00 -sVtype -p203 -Vinterface -p204 -sVname -p205 -Vnic3 -p206 -sa(dp207 -Vaddresses -p208 -(lp209 -sVnetwork -p210 -VStorage -p211 -sVprimary -p212 -I01 -sVmtu -p213 -I1350 -sg72 -(lp214 -sVroutes -p215 -(lp216 -sVuse_dhcp -p217 -I00 -sVtype -p218 -Vinterface -p219 -sVname -p220 -Vnic4 -p221 -sa(dp222 -Vaddresses -p223 -(lp224 -sVnetwork -p225 -VStorageMgmt -p226 -sVprimary -p227 -I01 -sVmtu -p228 -I1350 -sg72 -(lp229 -sVroutes -p230 -(lp231 -sVuse_dhcp -p232 -I00 -sVtype -p233 -Vinterface -p234 -sVname -p235 -Vnic5 -p236 -sa(dp237 -Vdns_servers -p238 -V{get_param: DnsServers} -p239 -sVaddresses -p240 -(lp241 -sVnetwork -p242 -VTenant -p243 -sVmtu -p244 -I-1 -sg72 -(lp245 -(dp246 -Vaddresses -p247 -(lp248 -sVnetwork -p249 -VNone -p250 -sVprimary -p251 -I01 -sVmtu -p252 -I1350 -sg72 -(lp253 -sVroutes -p254 -(lp255 -sVuse_dhcp -p256 -I00 -sVtype -p257 -Vinterface -p258 -sVname -p259 -Vnic6 -p260 -sasVroutes -p261 -(lp262 -sVuse_dhcp -p263 -I00 -sVtype -p264 -Vovs_bridge -p265 -sVname -p266 -Vbr-tenant -p267 -sasS'swift-storage.yaml' -p268 -(lp269 -sS'compute.yaml' -p270 -(lp271 -(dp272 -Vaddresses -p273 -(lp274 -sVnetwork -p275 -VControlPlane -p276 -sVprimary -p277 -I01 -sVmtu -p278 -I1350 -sg72 -(lp279 -(dp280 -Vip_netmask -p281 -V0.0.0.0/0 -p282 -sVname -p283 -VRoute -p284 -sVdefault -p285 -I01 -sVnext_hop -p286 -V{get_param: ControlPlaneDefaultRoute} -p287 -sg72 -(lp288 -sVtype -p289 -Vroute -p290 -sasVroutes -p291 -(lp292 -sVuse_dhcp -p293 -I00 -sVtype -p294 -Vinterface -p295 -sVname -p296 -Vnic1 -p297 -sa(dp298 -Vaddresses -p299 -(lp300 -sVnetwork -p301 -VInternalApi -p302 -sVprimary -p303 -I01 -sVmtu -p304 -I1350 -sg72 -(lp305 -sVroutes -p306 -(lp307 -sVuse_dhcp -p308 -I00 -sVtype -p309 -Vinterface -p310 -sVname -p311 -Vnic3 -p312 -sa(dp313 -Vaddresses -p314 -(lp315 -sVnetwork -p316 -VStorage -p317 -sVprimary -p318 -I01 -sVmtu -p319 -I1350 -sg72 -(lp320 -sVroutes -p321 -(lp322 -sVuse_dhcp -p323 -I00 -sVtype -p324 -Vinterface -p325 -sVname -p326 -Vnic4 -p327 -sa(dp328 -Vdns_servers -p329 -V{get_param: DnsServers} -p330 -sVaddresses -p331 -(lp332 -sVnetwork -p333 -VTenant -p334 -sVmtu -p335 -I-1 -sg72 -(lp336 -(dp337 -Vaddresses -p338 -(lp339 -sVnetwork -p340 -VNone -p341 -sVprimary -p342 -I01 -sVmtu -p343 -I1350 -sg72 -(lp344 -sVroutes -p345 -(lp346 -sVuse_dhcp -p347 -I00 -sVtype -p348 -Vinterface -p349 -sVname -p350 -Vnic6 -p351 -sasVroutes -p352 -(lp353 -sVuse_dhcp -p354 -I00 -sVtype -p355 -Vovs_bridge -p356 -sVname -p357 -Vbr-tenant -p358 -sass. \ No newline at end of file diff --git a/overcloud-templates/network-templates-v2/README b/overcloud-templates/network-templates-v2/README deleted file mode 100644 index 189bfb5..0000000 --- a/overcloud-templates/network-templates-v2/README +++ /dev/null @@ -1,23 +0,0 @@ -Generated Network Isolation Templates -------------------------------------- -These templates were generated by the UI tool at -https://github.com/cybertron/tripleo-scripts#net-iso-genpy - -ui-settings.pickle is specific to the tool. TripleO will not use it when -doing deployments with these templates, but it is needed to be able to -load the templates into the UI again. Note that the UI only reads this file, -so any changes made by hand to the templates will not be reflected in the UI. - -The network-isolation.yaml file needs to reference the port files shipped with -tripleo-heat-templates, so by default the tool generates the paths assuming -network-isolation.yaml will be copied into the environments/ directory of -tripleo-heat-templates. - -If the standard tripleo-heat-templates are in use, then the -network-isolation-absolute.yaml file can be used instead. It has hard-coded -references to the port files in /usr/share/openstack-tripleo-heat-templates. - -If the generated network isolation templates are at ~/generated-templates, an -example deployment command would look like: - -openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/network-templates-v2/network-environment.yaml b/overcloud-templates/network-templates-v2/network-environment.yaml deleted file mode 100644 index 466aa80..0000000 --- a/overcloud-templates/network-templates-v2/network-environment.yaml +++ /dev/null @@ -1,25 +0,0 @@ - -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml - -parameter_defaults: - ControlPlaneSubnetCidr: '24' - ControlPlaneDefaultRoute: 192.168.24.1 - EC2MetadataIp: 192.168.24.1 - ExternalNetCidr: 10.0.0.0/24 - ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] - ExternalInterfaceDefaultRoute: 10.0.0.1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: 172.17.0.0/24 - InternalApiAllocationPools: [{"start": "172.17.0.10", "end": "172.17.0.250"}] - StorageNetCidr: 172.18.0.0/24 - StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}] - StorageMgmtNetCidr: 172.19.0.0/24 - StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/network-templates-v2/network-isolation-absolute.yaml b/overcloud-templates/network-templates-v2/network-isolation-absolute.yaml deleted file mode 100644 index 7fede9d..0000000 --- a/overcloud-templates/network-templates-v2/network-isolation-absolute.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml - # External - OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates-v2/network-isolation.yaml b/overcloud-templates/network-templates-v2/network-isolation.yaml deleted file mode 100644 index 2c18f2f..0000000 --- a/overcloud-templates/network-templates-v2/network-isolation.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml - # External - OS::TripleO::Network::External: ../network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: ../network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: ../network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: ../network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates-v2/nic-configs/ceph-storage.yaml b/overcloud-templates/network-templates-v2/nic-configs/ceph-storage.yaml deleted file mode 100644 index 3d610ee..0000000 --- a/overcloud-templates/network-templates-v2/nic-configs/ceph-storage.yaml +++ /dev/null @@ -1,221 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates-v2/nic-configs/cinder-storage.yaml b/overcloud-templates/network-templates-v2/nic-configs/cinder-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/network-templates-v2/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates-v2/nic-configs/compute.yaml b/overcloud-templates/network-templates-v2/nic-configs/compute.yaml deleted file mode 100644 index 04442d4..0000000 --- a/overcloud-templates/network-templates-v2/nic-configs/compute.yaml +++ /dev/null @@ -1,232 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates-v2/nic-configs/controller.yaml b/overcloud-templates/network-templates-v2/nic-configs/controller.yaml deleted file mode 100644 index 9891735..0000000 --- a/overcloud-templates/network-templates-v2/nic-configs/controller.yaml +++ /dev/null @@ -1,250 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates-v2/nic-configs/swift-storage.yaml b/overcloud-templates/network-templates-v2/nic-configs/swift-storage.yaml deleted file mode 100644 index f0af3c4..0000000 --- a/overcloud-templates/network-templates-v2/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,194 +0,0 @@ -heat_template_version: ocata - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - ExternalInterfaceRoutes: - default: [] - description: > - Routes for the external network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ExternalMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - external network. - type: number - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api network - type: string - InternalApiInterfaceRoutes: - default: [] - description: > - Routes for the internal_api network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - InternalApiMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - internal_api network. - type: number - StorageIpSubnet: - default: '' - description: IP address/subnet on the storage network - type: string - StorageInterfaceRoutes: - default: [] - description: > - Routes for the storage network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage network. - type: number - StorageMgmtIpSubnet: - default: '' - description: IP address/subnet on the storage_mgmt network - type: string - StorageMgmtInterfaceRoutes: - default: [] - description: > - Routes for the storage_mgmt network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - StorageMgmtMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - storage_mgmt network. - type: number - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - TenantInterfaceRoutes: - default: [] - description: > - Routes for the tenant network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - TenantMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - tenant network. - type: number - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - ManagementInterfaceRoutes: - default: [] - description: > - Routes for the management network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ManagementMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the - management network. - type: number - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - ControlPlaneStaticRoutes: - default: [] - description: > - Routes for the ctlplane network traffic. - JSON route e.g. [{'destination':'10.0.0.0/16', 'nexthop':'10.0.0.1'}] - Unless the default is changed, the parameter is automatically resolved - from the subnet host_routes attribute. - type: json - ControlPlaneMtu: - default: 1500 - description: The maximum transmission unit (MTU) size(in bytes) that is - guaranteed to pass through the data path of the segments in the network. - (The parameter is automatically resolved from the ctlplane network's mtu attribute.) - type: number - 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 - -resources: - OsNetConfigImpl: - properties: - config: - str_replace: - params: - $network_config: - network_config: [] - template: - get_file: /usr/share/openstack-tripleo-heat-templates/network/scripts/run-os-net-config.sh - group: script - type: OS::Heat::SoftwareConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates-v2/ui-settings.pickle b/overcloud-templates/network-templates-v2/ui-settings.pickle deleted file mode 100644 index ac2f0c1..0000000 --- a/overcloud-templates/network-templates-v2/ui-settings.pickle +++ /dev/null @@ -1,644 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -V172.18.0.10 -p26 -sg15 -V172.18.0.0/24 -p27 -sg17 -I3 -sg18 -V172.18.0.250 -p28 -ssS'auto_routes' -p29 -I01 -sS'bond_options' -p30 -V -p31 -sS'version' -p32 -I2 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V10.0.0.50 -p37 -sg17 -I1 -sg13 -V10.0.0.10 -p38 -sg15 -V10.0.0.0/24 -p39 -sS'gateway' -p40 -V10.0.0.1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -V172.17.0.10 -p44 -sg15 -V172.17.0.0/24 -p45 -sg17 -I2 -sg18 -V172.17.0.250 -p46 -ssS'ipv6' -p47 -I00 -sS'storage_mgmt' -p48 -(dp49 -g13 -V172.19.0.10 -p50 -sg15 -V172.19.0.0/24 -p51 -sg17 -I4 -sg18 -V172.19.0.250 -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -sVroutes -p74 -(lp75 -sVuse_dhcp -p76 -I00 -sVtype -p77 -Vinterface -p78 -sVname -p79 -Vnic1 -p80 -sa(dp81 -Vaddresses -p82 -(lp83 -sVnetwork -p84 -VStorage -p85 -sVprimary -p86 -I01 -sVmtu -p87 -I1350 -sg72 -(lp88 -sVroutes -p89 -(lp90 -sVuse_dhcp -p91 -I00 -sVtype -p92 -Vinterface -p93 -sVname -p94 -Vnic4 -p95 -sa(dp96 -Vaddresses -p97 -(lp98 -sVnetwork -p99 -VStorageMgmt -p100 -sVprimary -p101 -I01 -sVmtu -p102 -I1350 -sg72 -(lp103 -sVroutes -p104 -(lp105 -sVuse_dhcp -p106 -I00 -sVtype -p107 -Vinterface -p108 -sVname -p109 -Vnic5 -p110 -sasS'controller.yaml' -p111 -(lp112 -(dp113 -Vaddresses -p114 -(lp115 -sVnetwork -p116 -VControlPlane -p117 -sVprimary -p118 -I01 -sVmtu -p119 -I1350 -sg72 -(lp120 -sVroutes -p121 -(lp122 -sVuse_dhcp -p123 -I00 -sVtype -p124 -Vinterface -p125 -sVname -p126 -Vnic1 -p127 -sa(dp128 -Vdns_servers -p129 -V{get_param: DnsServers} -p130 -sVaddresses -p131 -(lp132 -sVnetwork -p133 -VExternal -p134 -sVmtu -p135 -I-1 -sg72 -(lp136 -(dp137 -Vaddresses -p138 -(lp139 -sVnetwork -p140 -VNone -p141 -sVprimary -p142 -I01 -sVmtu -p143 -I1350 -sg72 -(lp144 -sVroutes -p145 -(lp146 -sVuse_dhcp -p147 -I00 -sVtype -p148 -Vinterface -p149 -sVname -p150 -Vnic2 -p151 -sasVroutes -p152 -(lp153 -sVuse_dhcp -p154 -I00 -sVtype -p155 -Vovs_bridge -p156 -sVname -p157 -Vbr-ex -p158 -sa(dp159 -Vaddresses -p160 -(lp161 -sVnetwork -p162 -VInternalApi -p163 -sVprimary -p164 -I01 -sVmtu -p165 -I1350 -sg72 -(lp166 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic3 -p173 -sa(dp174 -Vaddresses -p175 -(lp176 -sVnetwork -p177 -VStorage -p178 -sVprimary -p179 -I01 -sVmtu -p180 -I1350 -sg72 -(lp181 -sVroutes -p182 -(lp183 -sVuse_dhcp -p184 -I00 -sVtype -p185 -Vinterface -p186 -sVname -p187 -Vnic4 -p188 -sa(dp189 -Vaddresses -p190 -(lp191 -sVnetwork -p192 -VStorageMgmt -p193 -sVprimary -p194 -I01 -sVmtu -p195 -I1350 -sg72 -(lp196 -sVroutes -p197 -(lp198 -sVuse_dhcp -p199 -I00 -sVtype -p200 -Vinterface -p201 -sVname -p202 -Vnic5 -p203 -sa(dp204 -Vdns_servers -p205 -V{get_param: DnsServers} -p206 -sVaddresses -p207 -(lp208 -sVnetwork -p209 -VTenant -p210 -sVmtu -p211 -I-1 -sg72 -(lp212 -(dp213 -Vaddresses -p214 -(lp215 -sVnetwork -p216 -VNone -p217 -sVprimary -p218 -I01 -sVmtu -p219 -I1350 -sg72 -(lp220 -sVroutes -p221 -(lp222 -sVuse_dhcp -p223 -I00 -sVtype -p224 -Vinterface -p225 -sVname -p226 -Vnic6 -p227 -sasVroutes -p228 -(lp229 -sVuse_dhcp -p230 -I00 -sVtype -p231 -Vovs_bridge -p232 -sVname -p233 -Vbr-tenant -p234 -sasS'swift-storage.yaml' -p235 -(lp236 -sS'compute.yaml' -p237 -(lp238 -(dp239 -Vaddresses -p240 -(lp241 -sVnetwork -p242 -VControlPlane -p243 -sVprimary -p244 -I01 -sVmtu -p245 -I1350 -sg72 -(lp246 -sVroutes -p247 -(lp248 -sVuse_dhcp -p249 -I00 -sVtype -p250 -Vinterface -p251 -sVname -p252 -Vnic1 -p253 -sa(dp254 -Vaddresses -p255 -(lp256 -sVnetwork -p257 -VInternalApi -p258 -sVprimary -p259 -I01 -sVmtu -p260 -I1350 -sg72 -(lp261 -sVroutes -p262 -(lp263 -sVuse_dhcp -p264 -I00 -sVtype -p265 -Vinterface -p266 -sVname -p267 -Vnic3 -p268 -sa(dp269 -Vaddresses -p270 -(lp271 -sVnetwork -p272 -VStorage -p273 -sVprimary -p274 -I01 -sVmtu -p275 -I1350 -sg72 -(lp276 -sVroutes -p277 -(lp278 -sVuse_dhcp -p279 -I00 -sVtype -p280 -Vinterface -p281 -sVname -p282 -Vnic4 -p283 -sa(dp284 -Vdns_servers -p285 -V{get_param: DnsServers} -p286 -sVaddresses -p287 -(lp288 -sVnetwork -p289 -VTenant -p290 -sVmtu -p291 -I-1 -sg72 -(lp292 -(dp293 -Vaddresses -p294 -(lp295 -sVnetwork -p296 -VNone -p297 -sVprimary -p298 -I01 -sVmtu -p299 -I1350 -sg72 -(lp300 -sVroutes -p301 -(lp302 -sVuse_dhcp -p303 -I00 -sVtype -p304 -Vinterface -p305 -sVname -p306 -Vnic6 -p307 -sasVroutes -p308 -(lp309 -sVuse_dhcp -p310 -I00 -sVtype -p311 -Vovs_bridge -p312 -sVname -p313 -Vbr-tenant -p314 -sass. \ No newline at end of file diff --git a/overcloud-templates/network-templates/README b/overcloud-templates/network-templates/README deleted file mode 100644 index 189bfb5..0000000 --- a/overcloud-templates/network-templates/README +++ /dev/null @@ -1,23 +0,0 @@ -Generated Network Isolation Templates -------------------------------------- -These templates were generated by the UI tool at -https://github.com/cybertron/tripleo-scripts#net-iso-genpy - -ui-settings.pickle is specific to the tool. TripleO will not use it when -doing deployments with these templates, but it is needed to be able to -load the templates into the UI again. Note that the UI only reads this file, -so any changes made by hand to the templates will not be reflected in the UI. - -The network-isolation.yaml file needs to reference the port files shipped with -tripleo-heat-templates, so by default the tool generates the paths assuming -network-isolation.yaml will be copied into the environments/ directory of -tripleo-heat-templates. - -If the standard tripleo-heat-templates are in use, then the -network-isolation-absolute.yaml file can be used instead. It has hard-coded -references to the port files in /usr/share/openstack-tripleo-heat-templates. - -If the generated network isolation templates are at ~/generated-templates, an -example deployment command would look like: - -openstack overcloud deploy --templates -e ~/generated-templates/network-isolation-absolute.yaml -e ~/generated-templates/network-environment.yaml diff --git a/overcloud-templates/network-templates/ips-from-pool-all.yaml b/overcloud-templates/network-templates/ips-from-pool-all.yaml deleted file mode 100644 index e71e4a4..0000000 --- a/overcloud-templates/network-templates/ips-from-pool-all.yaml +++ /dev/null @@ -1,82 +0,0 @@ -resource_registry: - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external_from_pool.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage_from_pool.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant_from_pool.yaml - - OS::TripleO::Compute::Ports::ExternalPort: ../network/ports/noop.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage_from_pool.yaml - OS::TripleO::Compute::Ports::StorageMgmtPort: ../network/ports/noop.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant_from_pool.yaml - - OS::TripleO::CephStorage::Ports::ExternalPort: ../network/ports/noop.yaml - OS::TripleO::CephStorage::Ports::InternalApiPort: ../network/ports/noop.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml - OS::TripleO::CephStorage::Ports::TenantPort: ../network/ports/noop.yaml - - OS::TripleO::SwiftStorage::Ports::ExternalPort: ../network/ports/noop.yaml - OS::TripleO::SwiftStorage::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml - OS::TripleO::SwiftStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml - OS::TripleO::SwiftStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml - OS::TripleO::SwiftStorage::Ports::TenantPort: ../network/ports/noop.yaml - - OS::TripleO::BlockStorage::Ports::ExternalPort: ../network/ports/noop.yaml - OS::TripleO::BlockStorage::Ports::InternalApiPort: ../network/ports/internal_api_from_pool.yaml - OS::TripleO::BlockStorage::Ports::StoragePort: ../network/ports/storage_from_pool.yaml - OS::TripleO::BlockStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt_from_pool.yaml - OS::TripleO::BlockStorage::Ports::TenantPort: ../network/ports/noop.yaml - - OS::TripleO::Network::Ports::NetVipMap: ../network/ports/net_vip_map_external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/noop.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/noop.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/noop.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/noop.yaml - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/from_service.yaml - -parameter_defaults: - ControlPlaneIP: 192.168.24.200 - ExternalNetworkVip: 10.0.0.9 - InternalApiNetworkVip: 172.17.0.9 - StorageNetworkVip: 172.18.0.9 - StorageMgmtNetworkVip: 172.19.0.9 - ServiceVips: - redis: 172.17.0.8 - ControllerIPs: - # Each controller will get an IP from the lists below, first controller, first IP - external: - - 10.0.0.251 - - 10.0.0.252 - - 10.0.0.253 - internal_api: - - 172.17.0.251 - - 172.17.0.252 - - 172.17.0.253 - storage: - - 172.18.0.251 - - 172.18.0.252 - - 172.18.0.253 - storage_mgmt: - - 172.19.0.251 - - 172.19.0.252 - - 172.19.0.253 - tenant: - - 172.16.0.251 - - 172.16.0.252 - - 172.16.0.253 - NovaComputeIPs: - # Each compute will get an IP from the lists below, first compute, first IP - internal_api: - - 172.17.0.249 - storage: - - 172.18.0.249 - tenant: - - 172.16.0.249 - CephStorageIPs: - # Each ceph node will get an IP from the lists below, first node, first IP - storage: - - 172.18.0.248 - storage_mgmt: - - 172.19.0.248 diff --git a/overcloud-templates/network-templates/network-environment.yaml b/overcloud-templates/network-templates/network-environment.yaml deleted file mode 100644 index 466aa80..0000000 --- a/overcloud-templates/network-templates/network-environment.yaml +++ /dev/null @@ -1,25 +0,0 @@ - -resource_registry: - OS::TripleO::BlockStorage::Net::SoftwareConfig: nic-configs/cinder-storage.yaml - OS::TripleO::Compute::Net::SoftwareConfig: nic-configs/compute.yaml - OS::TripleO::Controller::Net::SoftwareConfig: nic-configs/controller.yaml - OS::TripleO::ObjectStorage::Net::SoftwareConfig: nic-configs/swift-storage.yaml - OS::TripleO::CephStorage::Net::SoftwareConfig: nic-configs/ceph-storage.yaml - -parameter_defaults: - ControlPlaneSubnetCidr: '24' - ControlPlaneDefaultRoute: 192.168.24.1 - EC2MetadataIp: 192.168.24.1 - ExternalNetCidr: 10.0.0.0/24 - ExternalAllocationPools: [{"start": "10.0.0.10", "end": "10.0.0.50"}] - ExternalInterfaceDefaultRoute: 10.0.0.1 - NeutronExternalNetworkBridge: "''" - InternalApiNetCidr: 172.17.0.0/24 - InternalApiAllocationPools: [{"start": "172.17.0.10", "end": "172.17.0.250"}] - StorageNetCidr: 172.18.0.0/24 - StorageAllocationPools: [{"start": "172.18.0.10", "end": "172.18.0.250"}] - StorageMgmtNetCidr: 172.19.0.0/24 - StorageMgmtAllocationPools: [{"start": "172.19.0.10", "end": "172.19.0.250"}] - TenantNetCidr: 172.16.0.0/24 - TenantAllocationPools: [{"start": "172.16.0.10", "end": "172.16.0.250"}] - DnsServers: ["8.8.8.8", "8.8.4.4"] diff --git a/overcloud-templates/network-templates/network-isolation-absolute.yaml b/overcloud-templates/network-templates/network-isolation-absolute.yaml deleted file mode 100644 index 7fede9d..0000000 --- a/overcloud-templates/network-templates/network-isolation-absolute.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/vip.yaml - # External - OS::TripleO::Network::External: /usr/share/openstack-tripleo-heat-templates/network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: /usr/share/openstack-tripleo-heat-templates/network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: /usr/share/openstack-tripleo-heat-templates/network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: /usr/share/openstack-tripleo-heat-templates/network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: /usr/share/openstack-tripleo-heat-templates/network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: /usr/share/openstack-tripleo-heat-templates/network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: /usr/share/openstack-tripleo-heat-templates/network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: /usr/share/openstack-tripleo-heat-templates/network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: /usr/share/openstack-tripleo-heat-templates/network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates/network-isolation.yaml b/overcloud-templates/network-templates/network-isolation.yaml deleted file mode 100644 index 2c18f2f..0000000 --- a/overcloud-templates/network-templates/network-isolation.yaml +++ /dev/null @@ -1,28 +0,0 @@ -resource_registry: - # Redis - OS::TripleO::Network::Ports::RedisVipPort: ../network/ports/vip.yaml - # External - OS::TripleO::Network::External: ../network/external.yaml - OS::TripleO::Network::Ports::ExternalVipPort: ../network/ports/external.yaml - OS::TripleO::Controller::Ports::ExternalPort: ../network/ports/external.yaml - # InternalApi - OS::TripleO::Network::InternalApi: ../network/internal_api.yaml - OS::TripleO::Network::Ports::InternalApiVipPort: ../network/ports/internal_api.yaml - OS::TripleO::Controller::Ports::InternalApiPort: ../network/ports/internal_api.yaml - OS::TripleO::Compute::Ports::InternalApiPort: ../network/ports/internal_api.yaml - # Storage - OS::TripleO::Network::Storage: ../network/storage.yaml - OS::TripleO::Network::Ports::StorageVipPort: ../network/ports/storage.yaml - OS::TripleO::Controller::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::Compute::Ports::StoragePort: ../network/ports/storage.yaml - OS::TripleO::CephStorage::Ports::StoragePort: ../network/ports/storage.yaml - # StorageMgmt - OS::TripleO::Network::StorageMgmt: ../network/storage_mgmt.yaml - OS::TripleO::Network::Ports::StorageMgmtVipPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::Controller::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - OS::TripleO::CephStorage::Ports::StorageMgmtPort: ../network/ports/storage_mgmt.yaml - # Tenant - OS::TripleO::Network::Tenant: ../network/tenant.yaml - OS::TripleO::Network::Ports::TenantVipPort: ../network/ports/tenant.yaml - OS::TripleO::Controller::Ports::TenantPort: ../network/ports/tenant.yaml - OS::TripleO::Compute::Ports::TenantPort: ../network/ports/tenant.yaml diff --git a/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml b/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml deleted file mode 100644 index 574342a..0000000 --- a/overcloud-templates/network-templates/nic-configs/ceph-storage.yaml +++ /dev/null @@ -1,119 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml b/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/network-templates/nic-configs/cinder-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/compute.yaml b/overcloud-templates/network-templates/nic-configs/compute.yaml deleted file mode 100644 index 129fe74..0000000 --- a/overcloud-templates/network-templates/nic-configs/compute.yaml +++ /dev/null @@ -1,130 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - default: true - next_hop: {get_param: ControlPlaneDefaultRoute} - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/controller.yaml b/overcloud-templates/network-templates/nic-configs/controller.yaml deleted file mode 100644 index 8a33fea..0000000 --- a/overcloud-templates/network-templates/nic-configs/controller.yaml +++ /dev/null @@ -1,148 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: - - type: interface - name: nic1 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: - list_join: - - / - - - {get_param: ControlPlaneIp} - - {get_param: ControlPlaneSubnetCidr} - routes: - - ip_netmask: 169.254.169.254/32 - next_hop: {get_param: EC2MetadataIp} - - type: ovs_bridge - name: br-ex - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: ExternalIpSubnet} - routes: - - ip_netmask: 0.0.0.0/0 - next_hop: {get_param: ExternalInterfaceDefaultRoute} - members: - - type: interface - name: nic2 - mtu: 1350 - primary: true - - type: interface - name: nic3 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: InternalApiIpSubnet} - - type: interface - name: nic4 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageIpSubnet} - - type: interface - name: nic5 - mtu: 1350 - use_dhcp: false - addresses: - - ip_netmask: {get_param: StorageMgmtIpSubnet} - - type: ovs_bridge - name: br-tenant - dns_servers: {get_param: DnsServers} - use_dhcp: false - addresses: - - ip_netmask: {get_param: TenantIpSubnet} - members: - - type: interface - name: nic6 - mtu: 1350 - primary: true - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/nic-configs/swift-storage.yaml b/overcloud-templates/network-templates/nic-configs/swift-storage.yaml deleted file mode 100644 index 9e9ae5b..0000000 --- a/overcloud-templates/network-templates/nic-configs/swift-storage.yaml +++ /dev/null @@ -1,92 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - ControlPlaneIp: - default: '' - description: IP address/subnet on the ctlplane network - type: string - ExternalIpSubnet: - default: '' - description: IP address/subnet on the external network - type: string - InternalApiIpSubnet: - default: '' - description: IP address/subnet on the internal_api 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 - TenantIpSubnet: - default: '' - description: IP address/subnet on the tenant network - type: string - ManagementIpSubnet: # Only populated when including environments/network-management.yaml - default: '' - description: IP address/subnet on the management network - type: string - BondInterfaceOvsOptions: - default: 'bond_mode=active-backup' - description: The ovs_options string for the bond interface. Set things like - lacp=active and/or bond_mode=balance-slb using this option. - type: string - ExternalNetworkVlanID: - default: 10 - description: Vlan ID for the external network traffic. - type: number - InternalApiNetworkVlanID: - default: 20 - description: Vlan ID for the internal_api network traffic. - type: number - 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 - TenantNetworkVlanID: - default: 50 - description: Vlan ID for the tenant network traffic. - type: number - ManagementNetworkVlanID: - default: 60 - description: Vlan ID for the management network traffic. - type: number - ExternalInterfaceDefaultRoute: - default: '10.0.0.1' - description: default route for the external network - type: string - 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 - 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 - -resources: - OsNetConfigImpl: - properties: - config: - os_net_config: - network_config: [] - group: os-apply-config - type: OS::Heat::StructuredConfig - -outputs: - OS::stack_id: - description: The OsNetConfigImpl resource. - value: {get_resource: OsNetConfigImpl} diff --git a/overcloud-templates/network-templates/ui-settings.pickle b/overcloud-templates/network-templates/ui-settings.pickle deleted file mode 100644 index 9ff60a0..0000000 --- a/overcloud-templates/network-templates/ui-settings.pickle +++ /dev/null @@ -1,644 +0,0 @@ -(dp0 -S'global_data' -p1 -(dp2 -S'control' -p3 -(dp4 -S'route' -p5 -V192.168.24.1 -p6 -sS'mask' -p7 -I24 -sS'ec2' -p8 -V192.168.24.1 -p9 -ssS'major' -p10 -I1 -sS'management' -p11 -(dp12 -S'start' -p13 -V172.20.0.10 -p14 -sS'cidr' -p15 -V172.20.0.0/24 -p16 -sS'vlan' -p17 -I6 -sS'end' -p18 -V172.20.0.250 -p19 -ssS'dns2' -p20 -V8.8.4.4 -p21 -sS'dns1' -p22 -V8.8.8.8 -p23 -sS'storage' -p24 -(dp25 -g13 -V172.18.0.10 -p26 -sg15 -V172.18.0.0/24 -p27 -sg17 -I3 -sg18 -V172.18.0.250 -p28 -ssS'auto_routes' -p29 -I01 -sS'bond_options' -p30 -V -p31 -sS'version' -p32 -I1 -sS'external' -p33 -(dp34 -S'bridge' -p35 -V'' -p36 -sg18 -V10.0.0.50 -p37 -sg17 -I1 -sg13 -V10.0.0.10 -p38 -sg15 -V10.0.0.0/24 -p39 -sS'gateway' -p40 -V10.0.0.1 -p41 -ssS'internal_api' -p42 -(dp43 -g13 -V172.17.0.10 -p44 -sg15 -V172.17.0.0/24 -p45 -sg17 -I2 -sg18 -V172.17.0.250 -p46 -ssS'ipv6' -p47 -I00 -sS'storage_mgmt' -p48 -(dp49 -g13 -V172.19.0.10 -p50 -sg15 -V172.19.0.0/24 -p51 -sg17 -I4 -sg18 -V172.19.0.250 -p52 -ssS'minor' -p53 -I2 -sS'tenant' -p54 -(dp55 -g13 -V172.16.0.10 -p56 -sg15 -V172.16.0.0/24 -p57 -sg17 -I5 -sg18 -V172.16.0.250 -p58 -sssS'data' -p59 -(dp60 -S'cinder-storage.yaml' -p61 -(lp62 -sS'ceph-storage.yaml' -p63 -(lp64 -(dp65 -Vaddresses -p66 -(lp67 -sVnetwork -p68 -VControlPlane -p69 -sVprimary -p70 -I01 -sVmtu -p71 -I1350 -sS'members' -p72 -(lp73 -sVroutes -p74 -(lp75 -sVuse_dhcp -p76 -I00 -sVtype -p77 -Vinterface -p78 -sVname -p79 -Vnic1 -p80 -sa(dp81 -Vaddresses -p82 -(lp83 -sVnetwork -p84 -VStorage -p85 -sVprimary -p86 -I01 -sVmtu -p87 -I1350 -sg72 -(lp88 -sVroutes -p89 -(lp90 -sVuse_dhcp -p91 -I00 -sVtype -p92 -Vinterface -p93 -sVname -p94 -Vnic4 -p95 -sa(dp96 -Vaddresses -p97 -(lp98 -sVnetwork -p99 -VStorageMgmt -p100 -sVprimary -p101 -I01 -sVmtu -p102 -I1350 -sg72 -(lp103 -sVroutes -p104 -(lp105 -sVuse_dhcp -p106 -I00 -sVtype -p107 -Vinterface -p108 -sVname -p109 -Vnic5 -p110 -sasS'controller.yaml' -p111 -(lp112 -(dp113 -Vaddresses -p114 -(lp115 -sVnetwork -p116 -VControlPlane -p117 -sVprimary -p118 -I01 -sVmtu -p119 -I1350 -sg72 -(lp120 -sVroutes -p121 -(lp122 -sVuse_dhcp -p123 -I00 -sVtype -p124 -Vinterface -p125 -sVname -p126 -Vnic1 -p127 -sa(dp128 -Vdns_servers -p129 -V{get_param: DnsServers} -p130 -sVaddresses -p131 -(lp132 -sVnetwork -p133 -VExternal -p134 -sVmtu -p135 -I-1 -sg72 -(lp136 -(dp137 -Vaddresses -p138 -(lp139 -sVnetwork -p140 -VNone -p141 -sVprimary -p142 -I01 -sVmtu -p143 -I1350 -sg72 -(lp144 -sVroutes -p145 -(lp146 -sVuse_dhcp -p147 -I00 -sVtype -p148 -Vinterface -p149 -sVname -p150 -Vnic2 -p151 -sasVroutes -p152 -(lp153 -sVuse_dhcp -p154 -I00 -sVtype -p155 -Vovs_bridge -p156 -sVname -p157 -Vbr-ex -p158 -sa(dp159 -Vaddresses -p160 -(lp161 -sVnetwork -p162 -VInternalApi -p163 -sVprimary -p164 -I01 -sVmtu -p165 -I1350 -sg72 -(lp166 -sVroutes -p167 -(lp168 -sVuse_dhcp -p169 -I00 -sVtype -p170 -Vinterface -p171 -sVname -p172 -Vnic3 -p173 -sa(dp174 -Vaddresses -p175 -(lp176 -sVnetwork -p177 -VStorage -p178 -sVprimary -p179 -I01 -sVmtu -p180 -I1350 -sg72 -(lp181 -sVroutes -p182 -(lp183 -sVuse_dhcp -p184 -I00 -sVtype -p185 -Vinterface -p186 -sVname -p187 -Vnic4 -p188 -sa(dp189 -Vaddresses -p190 -(lp191 -sVnetwork -p192 -VStorageMgmt -p193 -sVprimary -p194 -I01 -sVmtu -p195 -I1350 -sg72 -(lp196 -sVroutes -p197 -(lp198 -sVuse_dhcp -p199 -I00 -sVtype -p200 -Vinterface -p201 -sVname -p202 -Vnic5 -p203 -sa(dp204 -Vdns_servers -p205 -V{get_param: DnsServers} -p206 -sVaddresses -p207 -(lp208 -sVnetwork -p209 -VTenant -p210 -sVmtu -p211 -I-1 -sg72 -(lp212 -(dp213 -Vaddresses -p214 -(lp215 -sVnetwork -p216 -VNone -p217 -sVprimary -p218 -I01 -sVmtu -p219 -I1350 -sg72 -(lp220 -sVroutes -p221 -(lp222 -sVuse_dhcp -p223 -I00 -sVtype -p224 -Vinterface -p225 -sVname -p226 -Vnic6 -p227 -sasVroutes -p228 -(lp229 -sVuse_dhcp -p230 -I00 -sVtype -p231 -Vovs_bridge -p232 -sVname -p233 -Vbr-tenant -p234 -sasS'swift-storage.yaml' -p235 -(lp236 -sS'compute.yaml' -p237 -(lp238 -(dp239 -Vaddresses -p240 -(lp241 -sVnetwork -p242 -VControlPlane -p243 -sVprimary -p244 -I01 -sVmtu -p245 -I1350 -sg72 -(lp246 -sVroutes -p247 -(lp248 -sVuse_dhcp -p249 -I00 -sVtype -p250 -Vinterface -p251 -sVname -p252 -Vnic1 -p253 -sa(dp254 -Vaddresses -p255 -(lp256 -sVnetwork -p257 -VInternalApi -p258 -sVprimary -p259 -I01 -sVmtu -p260 -I1350 -sg72 -(lp261 -sVroutes -p262 -(lp263 -sVuse_dhcp -p264 -I00 -sVtype -p265 -Vinterface -p266 -sVname -p267 -Vnic3 -p268 -sa(dp269 -Vaddresses -p270 -(lp271 -sVnetwork -p272 -VStorage -p273 -sVprimary -p274 -I01 -sVmtu -p275 -I1350 -sg72 -(lp276 -sVroutes -p277 -(lp278 -sVuse_dhcp -p279 -I00 -sVtype -p280 -Vinterface -p281 -sVname -p282 -Vnic4 -p283 -sa(dp284 -Vdns_servers -p285 -V{get_param: DnsServers} -p286 -sVaddresses -p287 -(lp288 -sVnetwork -p289 -VTenant -p290 -sVmtu -p291 -I-1 -sg72 -(lp292 -(dp293 -Vaddresses -p294 -(lp295 -sVnetwork -p296 -VNone -p297 -sVprimary -p298 -I01 -sVmtu -p299 -I1350 -sg72 -(lp300 -sVroutes -p301 -(lp302 -sVuse_dhcp -p303 -I00 -sVtype -p304 -Vinterface -p305 -sVname -p306 -Vnic6 -p307 -sasVroutes -p308 -(lp309 -sVuse_dhcp -p310 -I00 -sVtype -p311 -Vovs_bridge -p312 -sVname -p313 -Vbr-tenant -p314 -sass. \ No newline at end of file diff --git a/patches/nova/nova-pxe-boot-pike.patch b/patches/nova/nova-pxe-boot-pike.patch deleted file mode 100644 index 6584cc2..0000000 --- a/patches/nova/nova-pxe-boot-pike.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py -index 0139f80..0db3661 100644 ---- a/nova/virt/libvirt/driver.py -+++ b/nova/virt/libvirt/driver.py -@@ -4777,6 +4777,10 @@ class LibvirtDriver(driver.ComputeDriver): - self._conf_non_lxc_uml(virt_type, guest, root_device_name, rescue, - instance, inst_path, image_meta, disk_info) - -+ if (CONF.libvirt.virt_type in ['qemu', 'kvm'] and -+ instance.metadata.get('libvirt:pxe-first')): -+ guest.os_boot_dev = ['network'] + guest.os_boot_dev -+ - self._set_features(guest, instance.os_type, caps, virt_type, - image_meta) - self._set_clock(guest, instance.os_type, image_meta, virt_type) diff --git a/patches/nova/nova-pxe-boot.patch b/patches/nova/nova-pxe-boot.patch deleted file mode 100644 index bd65550..0000000 --- a/patches/nova/nova-pxe-boot.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py -index 6097fbf..e419df6 100644 ---- a/nova/virt/libvirt/driver.py -+++ b/nova/virt/libvirt/driver.py -@@ -4012,6 +4012,10 @@ class LibvirtDriver(driver.ComputeDriver): - self._conf_non_lxc_uml(virt_type, guest, root_device_name, rescue, - instance, inst_path, image_meta, disk_info) - -+ if (CONF.libvirt.virt_type in ['qemu', 'kvm'] and -+ instance.metadata.get('libvirt:pxe-first')): -+ guest.os_boot_dev = ['network'] + guest.os_boot_dev -+ - self._set_features(guest, instance.os_type, caps, virt_type) - self._set_clock(guest, instance.os_type, image_meta, virt_type) diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 835e99d..0000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -os-client-config -pyghmi -PyYAML -python-glanceclient -python-heatclient -python-keystoneclient -python-neutronclient -python-novaclient diff --git a/sample-env-generator/environments.yaml b/sample-env-generator/environments.yaml deleted file mode 100644 index 9c5f1ee..0000000 --- a/sample-env-generator/environments.yaml +++ /dev/null @@ -1,322 +0,0 @@ -environments: - - name: base - title: Base Configuration Options - description: Basic configuration options needed for all OVB environments - files: - templates/bmc.yaml: - parameters: - - config_drive - templates/quintupleo.yaml: - parameters: - - bmc_flavor - - bmc_image - - baremetal_flavor - - baremetal_image - - key_name - - private_net - - bmc_prefix - - baremetal_prefix - - node_count - - undercloud_name - - undercloud_image - - undercloud_flavor - - external_net - - role - templates/undercloud-networks.yaml: - parameters: - - public_net - - public_net_cidr - - public_net_allocation_pools - - public_net_ip_version - - public_net_shared - - provision_net - - provision_net_shared - sample_values: - baremetal_image: ipxe-boot - - - name: base-role - title: Base Configuration Options for Secondary Roles - description: | - Configuration options that need to be set when deploying an OVB - environment that has multiple roles. - files: - templates/quintupleo.yaml: - parameters: - - baremetal_flavor - - key_name - - node_count - - role - sample_values: - role: compute - - - name: base-extra-node - title: Base Configuration Options for Extra Nodes - description: | - Configuration options that need to be set when deploying an OVB - environment with extra undercloud-like nodes. This environment - should be used like a role file, but will deploy an undercloud-like - node instead of more baremetal nodes. - files: - templates/bmc.yaml: - parameters: - - config_drive - templates/virtual-baremetal-servers.yaml: - parameters: - - baremetal_config_drive - templates/quintupleo.yaml: - parameters: - - baremetal_flavor - - baremetal_image - - key_name - - node_count - - role - sample_values: - role: extra - baremetal_image: CentOS-7-x86_64-GenericCloud - node_count: 1 - resource_registry: - OS::OVB::BaremetalPorts: ../templates/baremetal-ports-extra-node.yaml - OS::OVB::BMC: OS::Heat::None - children: - - - name: base-extra-node-all - title: Base Configuration Options for Extra Nodes with All Ports Open - resource_registry: - OS::OVB::BaremetalPorts: ../templates/baremetal-ports-extra-node-all.yaml - OS::OVB::BMC: OS::Heat::None - - - name: all-networks - title: Deploy with All Networks Enabled - description: | - Deploy an OVB stack that adds interfaces for all the standard TripleO - network isolation networks. - files: - templates/baremetal-networks-all.yaml: - parameters: all - resource_registry: - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-all.yaml - OS::OVB::BaremetalPorts: ../templates/baremetal-ports-all.yaml - children: - - - name: all-networks-public-bond - title: Deploy with All Networks Enabled and Two Public Interfaces - description: | - Deploy an OVB stack that adds interfaces for all the standard TripleO - network isolation networks. This version will deploy duplicate - public network interfaces on the baremetal instances so that the - public network can be configured as a bond. - resource_registry: - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-all.yaml - OS::OVB::BaremetalPorts: ../templates/baremetal-ports-public-bond.yaml - - - name: create-private-network - title: Create a Private Network - description: | - Create the private network as part of the OVB stack instead of using an - existing one. - files: - templates/private-net-create.yaml: - parameters: - - dns_nameservers - - private_net_cidr - resource_registry: - OS::OVB::PrivateNetwork: ../templates/private-net-create.yaml - - - name: quintupleo-no-undercloud - title: Disable the Undercloud in a QuintupleO Stack - description: | - Deploy a QuintupleO environment, but do not create the undercloud - instance. - files: {} - resource_registry: - OS::OVB::UndercloudEnvironment: OS::Heat::None - - - name: undercloud-floating-none - title: Do Not Assign a Floating IP to the Undercloud - description: | - When deploying the undercloud, do not assign a floating ip to it. - files: {} - resource_registry: - OS::OVB::UndercloudFloating: ../templates/undercloud-floating-none.yaml - - - name: undercloud-floating-existing - title: Assign the Undercloud an Existing Floating IP - description: | - When deploying the undercloud, assign it an existing floating IP instead - of creating a new one. - files: - templates/undercloud-floating-existing.yaml: - parameters: - - undercloud_floating_ip - - undercloud_floating_ip_id - resource_registry: - OS::OVB::UndercloudFloating: ../templates/undercloud-floating-existing.yaml - - - name: boot-from-volume - title: Boot Undercloud and Baremetal Instances from Volume - description: | - Boot the undercloud and baremetal instances from Cinder volumes instead of - ephemeral storage. - files: - templates/undercloud-volume.yaml: - parameters: - - undercloud_volume_size - templates/virtual-baremetal-servers-volume.yaml: - parameters: - - baremetal_volume_size - resource_registry: - OS::OVB::UndercloudEnvironment: ../templates/undercloud-volume.yaml - OS::OVB::ServerPair: ../templates/virtual-baremetal-servers-volume.yaml - - - name: boot-baremetal-from-volume - title: Boot Baremetal Instances from Volume - description: | - Boot the baremetal instances from Cinder volumes instead of - ephemeral storage. - files: - templates/virtual-baremetal-servers-volume.yaml: - parameters: - - baremetal_volume_size - resource_registry: - OS::OVB::ServerPair: ../templates/virtual-baremetal-servers-volume.yaml - - - name: boot-undercloud-from-volume - title: Boot Undercloud Instance from Volume - description: | - Boot the undercloud instance from a Cinder volume instead of - ephemeral storage. - files: - templates/undercloud-volume.yaml: - parameters: - - undercloud_volume_size - resource_registry: - OS::OVB::UndercloudEnvironment: ../templates/undercloud-volume.yaml - - - name: bmc-use-cache - title: Enable Instance Status Caching in BMC - description: | - Enable caching of instance status in the BMC. This should reduce load on - the host cloud, but at the cost of potential inconsistency if the state - of a baremetal instance is changed without using the BMC. - files: - templates/bmc.yaml: - parameters: - - bmc_use_cache - sample_values: - bmc_use_cache: True - - - name: routed-networks-configuration - title: Configuration for Routed Networks - description: | - Contains the available parameters that need to be configured when using - a routed networks environment. Requires the routed-networks.yaml or - routed-networks-ipv6.yaml environment. - files: - templates/dhcp-relay.yaml: - parameters: - - dhcp_relay_flavor - - dhcp_relay_image - - dhcrelay_prefix - - dhcp_relay_provision_address - - dhcp_relay_provision2_address - - dhcp_relay_provision3_address - - dhcp_ips - - - name: routed-networks - title: Enable Routed Networks - description: | - Enable use of routed networks, where there may be multiple separate - networks connected with a router and DHCP relay. Do not pass any other - network configuration environments after this one or they may override - the changes made by this environment. When this environment is in use, - the routed-networks-configuration environment should usually be - included as well. - resource_registry: - OS::OVB::UndercloudNetworks: ../templates/undercloud-networks-routed.yaml - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-routed.yaml - OS::OVB::DHCPRelay: ../templates/dhcp-relay.yaml - - - name: routed-networks-ipv6 - title: Enable Routed Networks IPv6 - description: | - Enable use of routed IPv6 networks, where there may be multiple separate - networks connected with a router, router advertisement daemon (radvd), - and DHCP relay. Do not pass any other network configuration environments - after this one or they may override the changes made by this environment. - When this environment is in use, the routed-networks-configuration - environment should usually be included as well. - resource_registry: - OS::OVB::UndercloudNetworks: ../templates/undercloud-networks-routed.yaml - OS::OVB::BaremetalNetworks: ../templates/baremetal-networks-routed.yaml - OS::OVB::DHCPRelay: ../templates/dhcpv6-relay.yaml - OS::OVB::ProvisionNetRouter: OS::Heat::None - OS::OVB::ProvisionNetRouterInterface: OS::Heat::None - - - name: routed-networks-role - title: Base Role Configuration for Routed Networks - description: | - A base role environment that contains the necessary parameters for - deploying with routed networks. - files: - templates/quintupleo.yaml: - parameters: - - baremetal_flavor - - key_name - - node_count - - role - templates/undercloud-networks.yaml: - parameters: - - provision_net - templates/baremetal-networks-all.yaml: - parameters: - - overcloud_internal_net - - overcloud_storage_net - - overcloud_storage_mgmt_net - - overcloud_tenant_net - sample_values: - role: leaf1 - provision_net: provision2 - overcloud_internal_net: overcloud_internal2 - overcloud_storage_net: overcloud_storage2 - overcloud_storage_mgmt_net: overcloud_storage_mgmt2 - overcloud_tenant_net: overcloud_tenant2 - - - name: public-router - title: Public Network External Router - description: | - Deploy a router that connects the public and external networks. This - allows the public network to be used as a gateway instead of routing all - traffic through the undercloud. - resource_registry: - OS::OVB::UndercloudNetworks: ../templates/undercloud-networks-public-router.yaml - - - name: disable-bmc - title: Disable BMC - description: | - Deploy a stack without a BMC. This will obviously make it impossible to - control the instances via IPMI. It will also prevent use of - ovb-build-nodes-json because there will be no BMC addresses. - resource_registry: - OS::OVB::BMC: ../templates/bmc-none.yaml - - - name: ipv6-radvd-configuration - title: Configuration for router advertisement daemon (radvd) - description: | - Contains the available parameters that need to be configured when using - a IPv6 network. Requires the ipv6-radvd.yaml environment. - files: - templates/ipv6-radvd.yaml: - parameters: - - radvd_flavor - - radvd_image - - radvd_prefix - - radvd_provision_address - - IPv6_dhcpv6-statefull - - - name: ipv6-radvd - title: Enable router advertisement daemon (radvd) - description: | - Deploy the stack with a router advertisement daemon running for the - provisioning network. - resource_registry: - OS::OVB::RouterAdvertisementDaemon: ../templates/ipv6-radvd.yaml diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index d7159f4..0000000 --- a/setup.cfg +++ /dev/null @@ -1,27 +0,0 @@ -[metadata] -name = openstack-virtual-baremetal -summary = A collection of tools for using OpenStack instances to test baremetal deployment -description-file = - README.rst -author = Ben Nemec -author-email = bnemec@redhat.com -home-page = http://www.redhat.com/ -classifier = - Environment :: OpenStack - Intended Audience :: Information Technology - Intended Audience :: System Administrators - License :: OSI Approved :: Apache Software License - Operating System :: POSIX :: Linux - Programming Language :: Python - Programming Language :: Python :: 3 - Programming Language :: Python :: 3 :: Only - -[files] -packages = - openstack_virtual_baremetal - -[entry_points] -console_scripts = - ovb-deploy = openstack_virtual_baremetal.deploy:main - ovb-build-nodes-json = openstack_virtual_baremetal.build_nodes_json:main - openstackbmc = openstack_virtual_baremetal.openstackbmc:main diff --git a/setup.py b/setup.py deleted file mode 100644 index 0cdc8c2..0000000 --- a/setup.py +++ /dev/null @@ -1,20 +0,0 @@ -# Copyright (c) 2013 Hewlett-Packard Development Company, L.P. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or -# implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -import setuptools - -setuptools.setup( - setup_requires=['pbr>=1.8'], - pbr=True) diff --git a/templates/baremetal-networks-all.yaml b/templates/baremetal-networks-all.yaml deleted file mode 100644 index efa9d2b..0000000 --- a/templates/baremetal-networks-all.yaml +++ /dev/null @@ -1,145 +0,0 @@ -heat_template_version: 2014-10-16 - -# Template which creates all networks required for full network isloation. - -parameters: - - overcloud_internal_net: - type: string - description: Name of internal API network - default: overcloud_internal - - overcloud_internal_net_cidr: - type: string - description: | - CIDR for internal API network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.17.0.0/24 - - overcloud_internal_net_ip_version: - type: number - description: IP version for the overcloud_internal_net subnet - default: 4 - - overcloud_storage_net: - type: string - description: Name of storage network - default: overcloud_storage - - overcloud_storage_net_cidr: - type: string - description: | - CIDR for storage network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.18.0.0/24 - - overcloud_storage_net_ip_version: - type: number - description: IP version for the overcloud_storage_net subnet - default: 4 - - overcloud_storage_mgmt_net: - type: string - description: Name of storage management network - default: overcloud_storage_mgmt - - overcloud_storage_mgmt_net_cidr: - type: string - description: | - CIDR for storage management network subnet. This is typically irrelevant - and does not need to be changed. - default: 172.19.0.0/24 - - overcloud_storage_mgmt_net_ip_version: - type: number - description: IP version for the overcloud_storage_mgmt_net subnet - default: 4 - - overcloud_tenant_net: - type: string - description: Name of tenant network - default: overcloud_tenant - - overcloud_tenant_net_cidr: - type: string - description: | - CIDR for tenant network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.16.0.0/24 - - overcloud_tenant_net_ip_version: - type: number - description: IP version for the overcloud_tenant_net subnet - default: 4 - -resources: - - internal_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_internal_net} - - internal_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: internal_network} - name: {get_param: overcloud_internal_net} - cidr: {get_param: overcloud_internal_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_internal_net_ip_version} - - storage_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_net} - - storage_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_network} - name: {get_param: overcloud_storage_net} - cidr: {get_param: overcloud_storage_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_net_ip_version} - - storage_mgmt_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_mgmt_net} - - storage_mgmt_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_mgmt_network} - name: {get_param: overcloud_storage_mgmt_net} - cidr: {get_param: overcloud_storage_mgmt_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_mgmt_net_ip_version} - - tenant_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_tenant_net} - - tenant_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: tenant_network} - name: {get_param: overcloud_tenant_net} - cidr: {get_param: overcloud_tenant_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_tenant_net_ip_version} - -outputs: - networks: - value: - internal_net: {get_resource: internal_network} - storage_net: {get_resource: storage_network} - storage_mgmt_net: {get_resource: storage_mgmt_network} - tenant_net: {get_resource: tenant_network} - routers_addresses: - value: {} diff --git a/templates/baremetal-networks-none.yaml b/templates/baremetal-networks-none.yaml deleted file mode 100644 index f1033fe..0000000 --- a/templates/baremetal-networks-none.yaml +++ /dev/null @@ -1,7 +0,0 @@ -heat_template_version: 2014-10-16 - -outputs: - networks: - value: {} - routers_addresses: - value: {} diff --git a/templates/baremetal-networks-routed.yaml b/templates/baremetal-networks-routed.yaml deleted file mode 100644 index c6ead30..0000000 --- a/templates/baremetal-networks-routed.yaml +++ /dev/null @@ -1,476 +0,0 @@ -heat_template_version: 2014-10-16 - -# Template which creates all networks required for full network isloation. - -parameters: - - overcloud_internal_router: - type: string - description: Name of storage router - default: internal_router - - overcloud_internal_net: - type: string - description: Name of internal API network - default: overcloud_internal - - overcloud_internal_net_cidr: - type: string - description: | - CIDR for internal API network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.17.0.0/24 - - overcloud_internal_net_router_address: - type: string - description: Router address for the overcloud_internal_net - default: 172.17.0.254 - - overcloud_internal_net_ip_version: - type: number - description: IP version for the overcloud_internal_net subnet - default: 4 - - overcloud_internal_net2: - type: string - description: Name of internal API network - default: overcloud_internal2 - - overcloud_internal_net2_cidr: - type: string - description: | - CIDR for internal API network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.17.1.0/24 - - overcloud_internal_net2_router_address: - type: string - description: Router address for the overcloud_internal_net2 subnet - default: 172.17.1.254 - - overcloud_internal_net2_ip_version: - type: number - description: IP version for the overcloud_internal_net2 subnet - default: 4 - - overcloud_storage_router: - type: string - description: Name of storage router - default: storage_router - - overcloud_storage_net: - type: string - description: Name of storage network - default: overcloud_storage - - overcloud_storage_net_cidr: - type: string - description: | - CIDR for storage network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.18.0.0/24 - - overcloud_storage_net_router_address: - type: string - description: Router address for the overcloud_storage_net subnet - default: 172.18.0.254 - - overcloud_storage_net_ip_version: - type: number - description: IP version for the overcloud_storage_net subnet - default: 4 - - overcloud_storage_net2: - type: string - description: Name of storage network - default: overcloud_storage2 - - overcloud_storage_net2_cidr: - type: string - description: | - CIDR for storage network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.18.1.0/24 - - overcloud_storage_net2_router_address: - type: string - description: Router address for the overcloud_storage_net2 subnet - default: 172.18.1.254 - - overcloud_storage_net2_ip_version: - type: number - description: IP version for the overcloud_storage_net2 subnet - default: 4 - - overcloud_storage_mgmt_router: - type: string - description: Name of storage_mgmt router - default: storage_mgmt_router - - overcloud_storage_mgmt_net: - type: string - description: Name of storage management network - default: overcloud_storage_mgmt - - overcloud_storage_mgmt_net_cidr: - type: string - description: | - CIDR for storage management network subnet. This is typically irrelevant - and does not need to be changed. - default: 172.19.0.0/24 - - overcloud_storage_mgmt_net_router_address: - type: string - description: Router address for the overcloud_storage_mgmt_net subnet - default: 172.19.0.254 - - overcloud_storage_mgmt_net_ip_version: - type: number - description: IP version for the overcloud_storage_mgmt_net subnet - default: 4 - - overcloud_storage_mgmt_net2: - type: string - description: Name of storage management network - default: overcloud_storage_mgmt2 - - overcloud_storage_mgmt_net2_cidr: - type: string - description: | - CIDR for storage management network subnet. This is typically irrelevant - and does not need to be changed. - default: 172.19.1.0/24 - - overcloud_storage_mgmt_net2_router_address: - type: string - description: Router address for the overcloud_storage_mgmt_net2 subnet - default: 172.19.1.254 - - overcloud_storage_mgmt_net2_ip_version: - type: number - description: IP version for the overcloud_storage_mgmt_net2 subnet - default: 4 - - overcloud_tenant_router: - type: string - description: Name of tenant router - default: tenant_router - - overcloud_tenant_net: - type: string - description: Name of tenant network - default: overcloud_tenant - - overcloud_tenant_net_cidr: - type: string - description: | - CIDR for tenant network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.16.0.0/24 - - overcloud_tenant_net_router_address: - type: string - description: Router address for the overcloud_tenant_net subnet - default: 172.16.0.254 - - overcloud_tenant_net_ip_version: - type: number - description: IP version for the overcloud_tenant_net subnet - default: 4 - - overcloud_tenant_net2: - type: string - description: Name of tenant network - default: overcloud_tenant2 - - overcloud_tenant_net2_cidr: - type: string - description: | - CIDR for tenant network subnet. This is typically irrelevant and - does not need to be changed. - default: 172.16.1.0/24 - - overcloud_tenant_net2_router_address: - type: string - description: Router address for the overcloud_tenant_net2 subnet - default: 172.16.1.254 - - overcloud_tenant_net2_ip_version: - type: number - description: IP version for the overcloud_tenant_net2 subnet - default: 4 - -resources: - internal_router: - type: OS::Neutron::Router - properties: - name: {get_param: overcloud_internal_router} - - internal_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_internal_net} - - internal_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: internal_network} - name: {get_param: overcloud_internal_net} - cidr: {get_param: overcloud_internal_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_internal_net_ip_version} - - internal_subnet_port: - type: OS::Neutron::Port - properties: - network: {get_resource: internal_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_internal_net_router_address} - - internal_subnet_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: internal_router} - port: {get_resource: internal_subnet_port} - - internal_network2: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_internal_net2} - - internal_subnet2: - type: OS::Neutron::Subnet - properties: - network: {get_resource: internal_network2} - name: {get_param: overcloud_internal_net2} - cidr: {get_param: overcloud_internal_net2_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_internal_net2_ip_version} - - internal_subnet2_port: - type: OS::Neutron::Port - properties: - network: {get_resource: internal_network2} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_internal_net2_router_address} - - internal_subnet2_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: internal_router} - port: {get_resource: internal_subnet2_port} - - storage_router: - type: OS::Neutron::Router - properties: - name: {get_param: overcloud_storage_router} - - storage_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_net} - - storage_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_network} - name: {get_param: overcloud_storage_net} - cidr: {get_param: overcloud_storage_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_net_ip_version} - - storage_subnet_port: - type: OS::Neutron::Port - properties: - network: {get_resource: storage_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_storage_net_router_address} - - storage_subnet_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: storage_router} - port: {get_resource: storage_subnet_port} - - storage_network2: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_net2} - - storage_subnet2: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_network2} - name: {get_param: overcloud_storage_net2} - cidr: {get_param: overcloud_storage_net2_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_net2_ip_version} - - storage_subnet2_port: - type: OS::Neutron::Port - properties: - network: {get_resource: storage_network2} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_storage_net2_router_address} - - storage_subnet2_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: storage_router} - port: {get_resource: storage_subnet2_port} - - storage_mgmt_router: - type: OS::Neutron::Router - properties: - name: {get_param: overcloud_storage_mgmt_router} - - storage_mgmt_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_mgmt_net} - - storage_mgmt_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_mgmt_network} - name: {get_param: overcloud_storage_mgmt_net} - cidr: {get_param: overcloud_storage_mgmt_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_mgmt_net_ip_version} - - storage_mgmt_subnet_port: - type: OS::Neutron::Port - properties: - network: {get_resource: storage_mgmt_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_storage_mgmt_net_router_address} - - storage_mgmt_subnet_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: storage_mgmt_router} - port: {get_resource: storage_mgmt_subnet_port} - - storage_mgmt_network2: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_storage_mgmt_net2} - - storage_mgmt_subnet2: - type: OS::Neutron::Subnet - properties: - network: {get_resource: storage_mgmt_network2} - name: {get_param: overcloud_storage_mgmt_net2} - cidr: {get_param: overcloud_storage_mgmt_net2_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_storage_mgmt_net2_ip_version} - - storage_mgmt_subnet2_port: - type: OS::Neutron::Port - properties: - network: {get_resource: storage_mgmt_network2} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_storage_mgmt_net2_router_address} - - storage_mgmt_subnet2_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: storage_mgmt_router} - port: {get_resource: storage_mgmt_subnet2_port} - - tenant_router: - type: OS::Neutron::Router - properties: - name: {get_param: overcloud_tenant_router} - - tenant_network: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_tenant_net} - - tenant_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: tenant_network} - name: {get_param: overcloud_tenant_net} - cidr: {get_param: overcloud_tenant_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_tenant_net_ip_version} - - tenant_subnet_port: - type: OS::Neutron::Port - properties: - network: {get_resource: tenant_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_tenant_net_router_address} - - tenant_subnet_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: tenant_router} - port: {get_resource: tenant_subnet_port} - - tenant_network2: - type: OS::Neutron::Net - properties: - name: {get_param: overcloud_tenant_net2} - - tenant_subnet2: - type: OS::Neutron::Subnet - properties: - network: {get_resource: tenant_network2} - name: {get_param: overcloud_tenant_net2} - cidr: {get_param: overcloud_tenant_net2_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: overcloud_tenant_net2_ip_version} - - tenant_subnet2_port: - type: OS::Neutron::Port - properties: - network: {get_resource: tenant_network2} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: overcloud_tenant_net2_router_address} - - tenant_subnet2_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: tenant_router} - port: {get_resource: tenant_subnet2_port} - -outputs: - networks: - value: - internal_net: {get_resource: internal_network} - internal_net2: {get_resource: internal_network2} - storage_net: {get_resource: storage_network} - storage_net2: {get_resource: storage_network2} - storage_mgmt_net: {get_resource: storage_mgmt_network} - storage_mgmt_net2: {get_resource: storage_mgmt_network2} - tenant_net: {get_resource: tenant_network} - tenant_net2: {get_resource: tenant_network2} - routers_addresses: - value: - internal_router_address: {get_attr: [internal_subnet_port, fixed_ips, 0, ip_address]} - internal2_router: {get_attr: [internal_subnet2_port, fixed_ips, 0, ip_address]} - storage_router_address: {get_attr: [storage_subnet_port, fixed_ips, 0, ip_address]} - storage2_router_address: {get_attr: [storage_subnet2_port, fixed_ips, 0, ip_address]} - storage_mgmt_router_address: {get_attr: [storage_mgmt_subnet_port, fixed_ips, 0, ip_address]} - storage_mgmt2_router_address: {get_attr: [storage_mgmt_subnet2_port, fixed_ips, 0, ip_address]} - tenant_router_address: {get_attr: [tenant_subnet_port, fixed_ips, 0, ip_address]} - tenant2_router_address: {get_attr: [tenant_subnet2_port, fixed_ips, 0, ip_address]} diff --git a/templates/baremetal-ports-all.yaml b/templates/baremetal-ports-all.yaml deleted file mode 100644 index 3ea7cef..0000000 --- a/templates/baremetal-ports-all.yaml +++ /dev/null @@ -1,115 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - suffix: - type: string - - overcloud_internal_net: - type: string - description: Name of internal API network - default: overcloud_internal - - overcloud_storage_net: - type: string - description: Name of storage network - default: overcloud_storage - - overcloud_storage_mgmt_net: - type: string - description: Name of storage management network - default: overcloud_storage_mgmt - - overcloud_tenant_net: - type: string - description: Name of tenant network - default: overcloud_tenant - -resources: - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - - internal_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - internal_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_internal_net} - port_security_enabled: False - - storage_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - storage_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_storage_net} - port_security_enabled: False - - storage_mgmt_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - storage_mgmt_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_storage_mgmt_net} - port_security_enabled: False - - tenant_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - tenant_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_tenant_net} - port_security_enabled: False - - public_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: provision_port}} - - {port: {get_resource: public_port}} - - {port: {get_resource: internal_port}} - - {port: {get_resource: storage_port}} - - {port: {get_resource: storage_mgmt_port}} - - {port: {get_resource: tenant_port}} diff --git a/templates/baremetal-ports-default.yaml b/templates/baremetal-ports-default.yaml deleted file mode 100644 index c9d19a0..0000000 --- a/templates/baremetal-ports-default.yaml +++ /dev/null @@ -1,30 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - suffix: - type: string - -resources: - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: provision_port}} diff --git a/templates/baremetal-ports-extra-node-all.yaml b/templates/baremetal-ports-extra-node-all.yaml deleted file mode 100644 index d45240b..0000000 --- a/templates/baremetal-ports-extra-node-all.yaml +++ /dev/null @@ -1,59 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - private_net: - type: string - - suffix: - type: string - -resources: - - private_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - private_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: private_net} - port_security_enabled: False - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - - public_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: private_port}} - - {port: {get_resource: provision_port}} - - {port: {get_resource: public_port}} diff --git a/templates/baremetal-ports-extra-node-fip.yaml b/templates/baremetal-ports-extra-node-fip.yaml deleted file mode 100644 index 41672f4..0000000 --- a/templates/baremetal-ports-extra-node-fip.yaml +++ /dev/null @@ -1,91 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - private_net: - type: string - - external_net: - type: string - - suffix: - type: string - -resources: - - extra_node_sg: - type: OS::Neutron::SecurityGroup - properties: - name: - list_join: - - '_' - - - 'extranode' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - - 'sg' - description: Ping, SSH - rules: - - protocol: icmp - - protocol: tcp - port_range_min: 22 - port_range_max: 22 - - private_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - private_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: private_net} - security_groups: - - {get_resource: extra_node_sg} - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - - public_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - - extra_node_fip: - type: OS::Neutron::FloatingIP - properties: - floating_network: {get_param: external_net} - - extra_node_fip_association: - type: OS::Neutron::FloatingIPAssociation - properties: - floatingip_id: {get_resource: extra_node_fip} - port_id: {get_resource: private_port} - -outputs: - ports: - value: - - {port: {get_resource: private_port}} - - {port: {get_resource: provision_port}} - - {port: {get_resource: public_port}} diff --git a/templates/baremetal-ports-extra-node.yaml b/templates/baremetal-ports-extra-node.yaml deleted file mode 100644 index 151fdfc..0000000 --- a/templates/baremetal-ports-extra-node.yaml +++ /dev/null @@ -1,77 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - private_net: - type: string - - suffix: - type: string - -resources: - - extra_node_sg: - type: OS::Neutron::SecurityGroup - properties: - name: - list_join: - - '_' - - - 'extranode' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - - 'sg' - description: Ping, SSH - rules: - - protocol: icmp - - protocol: tcp - port_range_min: 22 - port_range_max: 22 - - private_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - private_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: private_net} - security_groups: - - {get_resource: extra_node_sg} - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - - public_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: private_port}} - - {port: {get_resource: provision_port}} - - {port: {get_resource: public_port}} diff --git a/templates/baremetal-ports-public-bond.yaml b/templates/baremetal-ports-public-bond.yaml deleted file mode 100644 index 8e59a45..0000000 --- a/templates/baremetal-ports-public-bond.yaml +++ /dev/null @@ -1,128 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - baremetal_prefix: - type: string - - networks: - type: json - - suffix: - type: string - - overcloud_internal_net: - type: string - description: Name of internal API network - default: overcloud_internal - - overcloud_storage_net: - type: string - description: Name of storage network - default: overcloud_storage - - overcloud_storage_mgmt_net: - type: string - description: Name of storage management network - default: overcloud_storage_mgmt - - overcloud_tenant_net: - type: string - description: Name of tenant network - default: overcloud_tenant - -resources: - - provision_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, provision]} - port_security_enabled: False - - internal_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - internal_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_internal_net} - port_security_enabled: False - - storage_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - storage_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_storage_net} - port_security_enabled: False - - storage_mgmt_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - storage_mgmt_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_storage_mgmt_net} - port_security_enabled: False - - tenant_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - tenant_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: overcloud_tenant_net} - port_security_enabled: False - - public_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - - public_bond_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - public_ - - {get_param: baremetal_prefix} - - {get_param: suffix} - network: {get_param: [networks, public]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: provision_port}} - - {port: {get_resource: public_port}} - - {port: {get_resource: public_bond_port}} - - {port: {get_resource: internal_port}} - - {port: {get_resource: storage_port}} - - {port: {get_resource: storage_mgmt_port}} - - {port: {get_resource: tenant_port}} diff --git a/templates/bmc-none.yaml b/templates/bmc-none.yaml deleted file mode 100644 index ff25ca2..0000000 --- a/templates/bmc-none.yaml +++ /dev/null @@ -1,10 +0,0 @@ -heat_template_version: newton - -parameters: - cloud_data: - type: string - hidden: true - -resources: - bmc: - type: OS::Heat::None diff --git a/templates/bmc-port.yaml b/templates/bmc-port.yaml deleted file mode 100644 index dc9361e..0000000 --- a/templates/bmc-port.yaml +++ /dev/null @@ -1,29 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - bmc_prefix: - type: string - - private_net: - type: string - -resources: - - private_bmc_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '_' - - - 'utility' - - {get_param: bmc_prefix} - network: {get_param: private_net} - port_security_enabled: False - -outputs: - port: - value: - - {port: {get_resource: private_bmc_port}} - ip_address: - value: {get_attr: [private_bmc_port, fixed_ips, 0, ip_address]} diff --git a/templates/bmc.yaml b/templates/bmc.yaml deleted file mode 100644 index 9582ff2..0000000 --- a/templates/bmc.yaml +++ /dev/null @@ -1,162 +0,0 @@ -heat_template_version: newton - -parameters: - bmc_flavor: - type: string - default: m1.small - description: The Nova flavor to use for the bmc instance - - bmc_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: | - The base image for the bmc instance. A CentOS 7 image is currently the - only one supported. - - bmc_use_cache: - type: boolean - default: false - description: | - Enable instance status caching on the BMC. This can reduce load on the - host cloud, but if an instance's status is changed outside the BMC it may - become out of sync. - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - private_net: - type: string - default: private - description: Name of a private network which can have floating ips associated with it - - bmc_prefix: - type: string - default: bmc - description: Prefix for the name of the bmc instance - - os_user: - type: string - default: admin - description: | - The user on the host cloud that will be used to provision the - environment - - os_password: - type: string - default: password - hidden: true - description: The password for os_user - - os_tenant: - type: string - default: admin - description: The tenant for os_user - - os_auth_url: - type: string - default: http://127.0.0.1:5000/v2.0 - description: The Keystone auth_url of the host cloud - - os_project: - type: string - default: '' - description: | - The project for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - os_user_domain: - type: string - default: '' - description: | - The user domain for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - os_project_domain: - type: string - default: '' - description: | - The project domain for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - cloud_data: - type: string - hidden: true - - baremetal_prefix: - type: string - default: baremetal - description: Prefix for the name of the baremetal instances - - node_count: - type: number - description: Number of baremetal nodes to deploy - - config_drive: - type: boolean - default: false - description: If True, enable config drive on the server. - -resources: - bmc_port: - type: OS::OVB::BMCPort - properties: - bmc_prefix: {get_param: bmc_prefix} - private_net: {get_param: private_net} - - bmc_other_ports: - type: OS::Heat::ResourceGroup - properties: - count: {get_param: node_count} - resource_def: - type: OS::Neutron::Port - properties: - name: - list_join: - - '' - - - {get_param: bmc_prefix} - - _%index% - network: {get_param: private_net} - port_security_enabled: false - - bmc_handle: - type: OS::Heat::WaitConditionHandle - - bmc_wait_condition: - type: OS::Heat::WaitCondition - properties: - handle: {get_resource: bmc_handle} - timeout: 600 - - bmc_server: - type: OS::Nova::Server - depends_on: [bmc_other_ports, bmc_port] - properties: - flavor: {get_param: bmc_flavor} - image: {get_param: bmc_image} - key_name: {get_param: key_name} - networks: {get_attr: [bmc_port, port]} - name: {get_param: bmc_prefix} - config_drive: {get_param: config_drive} - user_data_format: RAW - user_data: - str_replace: - params: - $os_user: {get_param: os_user} - $os_password: {get_param: os_password} - $os_tenant: {get_param: os_tenant} - $os_auth_url: {get_param: os_auth_url} - $os_project: {get_param: os_project} - $os__user_domain: {get_param: os_user_domain} - $os__project_domain: {get_param: os_project_domain} - $bm_node_count: {get_param: node_count} - $bmc_prefix: {get_param: bmc_prefix} - $bmc_utility: {get_attr: [bmc_port, ip_address]} - $bmc_use_cache: {get_param: bmc_use_cache} - $bm_prefix: {get_param: baremetal_prefix} - $private_net: {get_param: private_net} - $openstackbmc_script: {get_file: ../bin/openstackbmc} - $cloud_data: {get_param: cloud_data} - $signal_command: {get_attr: [bmc_handle, curl_cli]} - template: {get_file: ../bin/install_openstackbmc.sh} diff --git a/templates/dhcp-relay.yaml b/templates/dhcp-relay.yaml deleted file mode 100644 index 0979ed1..0000000 --- a/templates/dhcp-relay.yaml +++ /dev/null @@ -1,197 +0,0 @@ -heat_template_version: 2016-10-14 - -parameters: - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - dhcp_relay_flavor: - type: string - default: m1.small - description: The Nova flavor to use for the dhcrelay instance - - dhcp_relay_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: | - The base image for the dhcrelay instance. A CentOS 7 image is currently - the only one supported. - - dhcrelay_prefix: - type: string - default: dhcrelay - description: Prefix for the name of the dhcrelay instance - - dhcp_relay_provision_address: - type: string - description: DHCP relay address on the provision network subnet - default: 192.168.24.253 - - dhcp_relay_provision2_address: - type: string - description: DHCP relay address on the provision2 network subnet - default: 192.168.25.253 - - dhcp_relay_provision3_address: - type: string - description: DHCP relay address on the provision3 network subnet - default: 192.168.26.253 - - dhcp_ips: - type: json - description: | - The IP addresses of DHCP servers to relay DHCP requests to. - - networks: - type: json - - private_net: - type: string - - provision_network_routers_data: - type: json - description: A map with provision network router data - -resources: - dhcp_relay_port_private: - type: OS::Neutron::Port - properties: - name: dhcp_relay_port_private - network: {get_param: private_net} - - dhcp_relay_port_provision: - type: OS::Neutron::Port - properties: - name: dhcp_relay_port_provision - network: {get_param: [networks, provision]} - port_security_enabled: False - fixed_ips: - - ip_address: {get_param: dhcp_relay_provision_address} - - dhcp_relay_port_provision2: - type: OS::Neutron::Port - properties: - name: dhcp_relay_port_provision2 - network: {get_param: [networks, provision2]} - port_security_enabled: False - fixed_ips: - - ip_address: {get_param: dhcp_relay_provision2_address} - - dhcp_relay_port_provision3: - type: OS::Neutron::Port - properties: - name: dhcp_relay_port_provision3 - network: {get_param: [networks, provision3]} - port_security_enabled: False - fixed_ips: - - ip_address: {get_param: dhcp_relay_provision3_address} - - init_networks: - type: OS::Heat::CloudConfig - properties: - cloud_config: - network: - version: 2 - ethernets: - eth0: - dhcp4: false - addresses: - - list_join: - - / - - - {get_attr: [dhcp_relay_port_provision, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [dhcp_relay_port_provision, subnets, 0, cidr]}, 1]} - eth1: - dhcp4: false - addresses: - - list_join: - - / - - - {get_attr: [dhcp_relay_port_provision2, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [dhcp_relay_port_provision2, subnets, 0, cidr]}, 1]} - eth2: - dhcp4: false - addresses: - - list_join: - - / - - - {get_attr: [dhcp_relay_port_provision3, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [dhcp_relay_port_provision3, subnets, 0, cidr]}, 1]} - eth3: - dhcp4: true - - init_packages: - type: OS::Heat::CloudConfig - properties: - cloud_config: - package_upgrade: true - packages: - - dhcp - - init_files: - type: OS::Heat::CloudConfig - properties: - cloud_config: - write_files: - - path: /etc/systemd/system/dhcrelay.service - content: - str_replace: - template: | - [Unit] - Description=DHCP Relay Agent Daemon - Documentation=man:dhcrelay(8) - Wants=network-online.target - After=network-online.target - - [Service] - Type=simple - ExecStart=/usr/sbin/dhcrelay -d --no-pid $dhcp_ips -i eth1 -i eth2 -i eth3 - StandardError=null - - [Install] - WantedBy=multi-user.target - params: - $dhcp_ips: - list_join: - - ' ' - - {get_param: dhcp_ips} - - path: /etc/sysctl.d/98-rp-filter.conf - content: | - net.ipv4.conf.eth1.rp_filter = 0 - net.ipv4.conf.eth2.rp_filter = 0 - net.ipv4.conf.eth3.rp_filter = 0 - - init_runcmd: - type: OS::Heat::CloudConfig - properties: - cloud_config: - runcmd: - - ['sysctl','--system'] - - ['systemctl', 'daemon-reload'] - - ['systemctl', 'enable', 'dhcrelay.service'] - - ['systemctl', 'start', 'dhcrelay.service'] - - ['systemctl', 'status', 'dhcrelay.service'] - - dhcrelay_init: - type: OS::Heat::MultipartMime - properties: - parts: - - config: {get_resource: init_networks} - - config: {get_resource: init_packages} - - config: {get_resource: init_files} - - config: {get_resource: init_runcmd} - - dhcp_relay_server: - type: OS::Nova::Server - properties: - name: {get_param: dhcrelay_prefix} - flavor: {get_param: dhcp_relay_flavor} - image: {get_param: dhcp_relay_image} - key_name: {get_param: key_name} - networks: - - {port: {get_resource: dhcp_relay_port_private}} - - {port: {get_resource: dhcp_relay_port_provision}} - - {port: {get_resource: dhcp_relay_port_provision2}} - - {port: {get_resource: dhcp_relay_port_provision3}} - config_drive: true - user_data_format: RAW - user_data: {get_resource: dhcrelay_init} diff --git a/templates/dhcpv6-relay.yaml b/templates/dhcpv6-relay.yaml deleted file mode 100644 index 60bb64b..0000000 --- a/templates/dhcpv6-relay.yaml +++ /dev/null @@ -1,290 +0,0 @@ -heat_template_version: 2016-10-14 - -parameters: - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - dhcp_relay_flavor: - type: string - default: m1.small - description: The Nova flavor to use for the dhcrelay instance - - dhcp_relay_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: | - The base image for the dhcrelay instance. A CentOS 7 image is currently - the only one supported. - - dhcrelay_prefix: - type: string - description: Prefix for the name of the dhcrelay instance - default: dhcrelay - - provision_net_cidr: - type: string - description: CIDR for provision network subnet - default: fd12:3456:789a:1::/64 - - provision_net2_cidr: - type: string - description: CIDR for second provision network subnet - default: fd12:3456:789a:2::/64 - - provision_net3_cidr: - type: string - description: CIDR for third provision network subnet - default: fd12:3456:789a:3::/64 - - IPv6_dhcpv6-statefull: - type: boolean - description: | - Controls radvd parameters AdvManagedFlag and AdvAutonomous. For stateful - addressing these should be AdvManagedFlag: on, AdvAutonomous: off, for - statelss (SLAAC) these should be AdvManagedFlag: off, AdvAutonomous: on. - default: false - - dhcp_ips: - # Ignored parameter for compatibility with dhcp-relay.yaml - type: json - description: | - The IP addresses of DHCP servers to relay DHCP requests to. - - networks: - # Ignored parameter for compatibility with dhcp-relay.yaml - type: json - - private_net: - type: string - - provision_network_routers_data: - type: json - description: A map with provision network router data - - NtpPool: - default: pool.ntp.org - description: | - NTP pool, the pool name is expected to resolve to multiple addresses which - might change over time. For IPv6 overclouds the radvd-and-dhcrelay - instance can act as the NTP server. - type: string - -conditions: - dhcpv6-statefull: - get_param: IPv6_dhcpv6-statefull - -resources: - dhcp_relay_port_private: - type: OS::Neutron::Port - properties: - name: dhcp_relay_port_private - network: {get_param: private_net} - - init_packages: - type: OS::Heat::CloudConfig - properties: - cloud_config: - package_upgrade: true - packages: - - centos-release-openstack-stein - - dnsmasq - - radvd - - chrony - - init_files: - type: OS::Heat::CloudConfig - properties: - cloud_config: - write_files: - - path: /etc/os-net-config/config.yaml - content: - str_replace: - template: | - network_config: - - type: interface - name: eth0 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $private_ip_netmask - routes: - - default: true - next_hop: $private_gateway - - type: interface - name: eth1 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $provision_ip_netmask - - type: interface - name: eth2 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $provision2_ip_netmask - - type: interface - name: eth3 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $provision3_ip_netmask - params: - $private_gateway: {get_attr: [dhcp_relay_port_private, subnets, 0, gateway_ip]} - $private_ip_netmask: - list_join: - - / - - - {get_attr: [dhcp_relay_port_private, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [dhcp_relay_port_private, subnets, 0, cidr]}, 1]} - $provision_ip_netmask: {get_param: [provision_network_routers_data, provision_router_cidr]} - $provision2_ip_netmask: {get_param: [provision_network_routers_data, provision2_router_cidr]} - $provision3_ip_netmask: {get_param: [provision_network_routers_data, provision3_router_cidr]} - - path: /etc/systemd/system/dhcrelay6.service - content: - str_replace: - template: | - [Unit] - Description=DHCPv6 dnsmasq Relay Agent Daemon - Documentation=man:dnsmasq(8) - Wants=network-online.target - After=network-online.target - - [Service] - Type=simple - ExecStart=/usr/sbin/dnsmasq --keep-in-foreground --port 0 --dhcp-relay=$provision2_ip,ff05::1:3,eth1 --dhcp-relay=$provision3_ip,ff05::1:3,eth1 - StandardError=null - - [Install] - WantedBy=multi-user.target - params: - $provision2_ip: {str_split: ['/', {get_param: [provision_network_routers_data, provision2_router_cidr]}, 0]} - $provision3_ip: {str_split: ['/', {get_param: [provision_network_routers_data, provision3_router_cidr]}, 0]} - - path: /etc/radvd.conf - content: - str_replace: - template: | - interface eth1 { - AdvSendAdvert on; - AdvManagedFlag $AdvManagedFlag; - AdvOtherConfigFlag on; - AdvRASolicitedUnicast on; - AdvLinkMTU $provision_mtu; - prefix $provision_cidr { - AdvAutonomous $AdvAutonomous; - AdvOnLink on; - }; - }; - interface eth2 { - AdvSendAdvert on; - AdvManagedFlag $AdvManagedFlag; - AdvOtherConfigFlag on; - AdvRASolicitedUnicast on; - AdvLinkMTU $provision2_mtu; - prefix $provision2_cidr { - AdvAutonomous $AdvAutonomous; - AdvOnLink on; - }; - }; - interface eth3 { - AdvSendAdvert on; - AdvManagedFlag $AdvManagedFlag; - AdvOtherConfigFlag on; - AdvRASolicitedUnicast on; - AdvLinkMTU $provision3_mtu; - prefix $provision3_cidr { - AdvAutonomous $AdvAutonomous; - AdvOnLink on; - }; - }; - params: - $provision_cidr: {get_param: provision_net_cidr} - $provision2_cidr: {get_param: provision_net2_cidr} - $provision3_cidr: {get_param: provision_net3_cidr} - $provision_mtu: {get_param: [provision_network_routers_data, provision_mtu]} - $provision2_mtu: {get_param: [provision_network_routers_data, provision2_mtu]} - $provision3_mtu: {get_param: [provision_network_routers_data, provision3_mtu]} - $AdvManagedFlag: - if: - - dhcpv6-statefull - - 'on' - - 'off' - $AdvAutonomous: - if: - - dhcpv6-statefull - - 'off' - - 'on' - - path: /etc/sysctl.d/98-ipv6-routing.conf - content: | - net.ipv6.conf.eth1.forwarding = 1 - net.ipv6.conf.eth2.forwarding = 1 - net.ipv6.conf.eth3.forwarding = 1 - net.ipv6.conf.all.forwarding = 1 - - path: /etc/chrony.conf - content: - str_replace: - template: | - pool $ntp_pool iburst - # Record the rate at which the system clock gains/losses time. - driftfile /var/lib/chrony/drift - # Allow the system clock to be stepped in the first three updates - # if its offset is larger than 1 second. - makestep 1.0 3 - # Allow NTP client access from provision network. - allow $provision_cidr - allow $provision2_cidr - allow $provision3_cidr - # Serve time even if not synchronized to a time source. - local stratum 10 - # Specify file containing keys for NTP authentication. - keyfile /etc/chrony.keys - # Get TAI-UTC offset and leap seconds from the system tz database. - leapsectz right/UTC - # Specify directory for log files. - logdir /var/log/chrony - params: - $ntp_pool: {get_param: NtpPool} - $provision_cidr: {get_param: provision_net_cidr} - $provision2_cidr: {get_param: provision_net2_cidr} - $provision3_cidr: {get_param: provision_net3_cidr} - - init_runcmd: - type: OS::Heat::CloudConfig - properties: - cloud_config: - runcmd: - - ['sysctl','--system'] - - ['systemctl', 'daemon-reload'] - - ['yum', '-y', 'install', 'os-net-config'] - - ['os-net-config', '--config', '/etc/os-net-config/config.yaml'] - - ['systemctl', 'enable', 'dhcrelay6.service'] - - ['systemctl', 'start', 'dhcrelay6.service'] - - ['systemctl', 'status', 'dhcrelay6.service'] - - ['systemctl', 'enable', 'radvd.service'] - - ['systemctl', 'start', 'radvd.service'] - - ['systemctl', 'status', 'radvd.service'] - - dhcrelay_init: - type: OS::Heat::MultipartMime - properties: - parts: - - config: {get_resource: init_packages} - - config: {get_resource: init_files} - - config: {get_resource: init_runcmd} - - dhcp_relay_server: - type: OS::Nova::Server - properties: - name: {get_param: dhcrelay_prefix} - flavor: {get_param: dhcp_relay_flavor} - image: {get_param: dhcp_relay_image} - key_name: {get_param: key_name} - networks: - - {port: {get_resource: dhcp_relay_port_private}} - - {port: {get_param: [provision_network_routers_data, provision_router_resource]}} - - {port: {get_param: [provision_network_routers_data, provision2_router_resource]}} - - {port: {get_param: [provision_network_routers_data, provision3_router_resource]}} - config_drive: true - user_data_format: RAW - user_data: {get_resource: dhcrelay_init} diff --git a/templates/env-role.yaml.example b/templates/env-role.yaml.example deleted file mode 100644 index b48325b..0000000 --- a/templates/env-role.yaml.example +++ /dev/null @@ -1,20 +0,0 @@ -# DEPRECATED: This sample environment file has been replaced by the one in -# environments/base-role.yaml. -# This file should not be used for new OVB deployments. - -parameters: - baremetal_flavor: baremetal - key_name: default - node_count: 2 - -parameter_defaults: - # Set a default role for the nodes in this environment. This parameter is - # ignored by Heat, but used by build-nodes-json. - role: compute - -#resource_registry: -## Uncomment to create all networks required for network-isolation. -## parameter_defaults should be used to override default parameter values -## in baremetal-networks-all.yaml -# OS::OVB::BaremetalNetworks: templates/baremetal-networks-all.yaml -# OS::OVB::BaremetalPorts: templates/baremetal-ports-all.yaml diff --git a/templates/ipv6-radvd.yaml b/templates/ipv6-radvd.yaml deleted file mode 100644 index 5851ac9..0000000 --- a/templates/ipv6-radvd.yaml +++ /dev/null @@ -1,215 +0,0 @@ -heat_template_version: 2016-10-14 - -parameters: - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - radvd_flavor: - type: string - default: m1.small - description: The Nova flavor to use for the radvd instance - - radvd_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: | - The base image for the radvd instance. A CentOS 7 image is currently - the only one supported. - - radvd_prefix: - type: string - default: radvd - description: Prefix for the name of the radvd instance - - radvd_provision_address: - type: string - description: radvd address on the provision network subnet - default: fd12:3456:789a:1::fffe - - IPv6_dhcpv6-statefull: - type: boolean - description: | - Controls radvd parameters AdvManagedFlag and AdvAutonomous. For stateful - addressing these should be AdvManagedFlag: on, AdvAutonomous: off, for - statelss (SLAAC) these should be AdvManagedFlag: off, AdvAutonomous: on. - default: false - - networks: - type: json - - private_net: - type: string - - NtpPool: - default: pool.ntp.org - description: | - NTP pool, the pool name is expected to resolve to multiple addresses which - might change over time. For IPv6 overclouds the radvd instance can act - as the NTP server. - type: string - - -conditions: - dhcpv6-statefull: - get_param: IPv6_dhcpv6-statefull - -resources: - radvd_port_private: - type: OS::Neutron::Port - properties: - name: radvd_port_private - network: {get_param: private_net} - - radvd_port_provision: - type: OS::Neutron::Port - properties: - name: radvd_port_provision - network: {get_param: [networks, provision]} - port_security_enabled: False - fixed_ips: - - ip_address: {get_param: radvd_provision_address} - - init_packages: - type: OS::Heat::CloudConfig - properties: - cloud_config: - package_upgrade: true - packages: - - centos-release-openstack-stein - - radvd - - chrony - - init_files: - type: OS::Heat::CloudConfig - properties: - cloud_config: - write_files: - - path: /etc/os-net-config/config.yaml - content: - str_replace: - template: | - network_config: - - type: interface - name: eth0 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $private_ip_netmask - routes: - - default: true - next_hop: $private_gateway - - type: interface - name: eth1 - use_dhcp: false - use_dhcpv6: false - addresses: - - ip_netmask: $provision_ip_netmask - params: - $private_gateway: {get_attr: [radvd_port_private, subnets, 0, gateway_ip]} - $private_ip_netmask: - list_join: - - / - - - {get_attr: [radvd_port_private, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [radvd_port_private, subnets, 0, cidr]}, 1]} - $provision_ip_netmask: - list_join: - - / - - - {get_attr: [radvd_port_provision, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [radvd_port_provision, subnets, 0, cidr]}, 1]} - - path: /etc/radvd.conf - content: - str_replace: - template: | - interface eth1 { - AdvSendAdvert on; - AdvManagedFlag $AdvManagedFlag; - AdvOtherConfigFlag on; - AdvRASolicitedUnicast on; - AdvLinkMTU $MTU; - prefix $provision_cidr { - AdvAutonomous $AdvAutonomous; - AdvOnLink on; - }; - }; - params: - $provision_cidr: {get_attr: [radvd_port_provision, subnets, 0, cidr]} - $MTU: {get_attr: [radvd_port_provision, network, mtu]} - $AdvManagedFlag: - if: - - dhcpv6-statefull - - 'on' - - 'off' - $AdvAutonomous: - if: - - dhcpv6-statefull - - 'off' - - 'on' - - path: /etc/sysctl.d/98-ipv6-routing.conf - content: | - net.ipv6.conf.all.forwarding = 1 - net.ipv6.conf.eth1.forwarding = 1 - net.ipv6.conf.eth1.mc_forwarding = 1 - - path: /etc/chrony.conf - content: - str_replace: - template: | - pool $ntp_pool iburst - # Record the rate at which the system clock gains/losses time. - driftfile /var/lib/chrony/drift - # Allow the system clock to be stepped in the first three updates - # if its offset is larger than 1 second. - makestep 1.0 3 - # Allow NTP client access from provision network. - allow $provision_cidr - # Serve time even if not synchronized to a time source. - local stratum 10 - # Specify file containing keys for NTP authentication. - keyfile /etc/chrony.keys - # Get TAI-UTC offset and leap seconds from the system tz database. - leapsectz right/UTC - # Specify directory for log files. - logdir /var/log/chrony - params: - $ntp_pool: {get_param: NtpPool} - $provision_cidr: {get_attr: [radvd_port_provision, subnets, 0, cidr]} - - - init_runcmd: - type: OS::Heat::CloudConfig - properties: - cloud_config: - runcmd: - - ['sysctl','--system'] - - ['yum', '-y', 'install', 'os-net-config'] - - ['os-net-config', '--config', '/etc/os-net-config/config.yaml'] - - ['systemctl', 'enable', 'radvd.service'] - - ['systemctl', 'start', 'radvd.service'] - - ['systemctl', 'status', 'radvd.service'] - - ['systemctl', 'enable', 'chronyd.service'] - - ['systemctl', 'start', 'chronyd.service'] - - ['systemctl', 'status', 'chronyd.service'] - - radvd_init: - type: OS::Heat::MultipartMime - properties: - parts: - - config: {get_resource: init_packages} - - config: {get_resource: init_files} - - config: {get_resource: init_runcmd} - - radvb_server: - type: OS::Nova::Server - properties: - name: {get_param: radvd_prefix} - flavor: {get_param: radvd_flavor} - image: {get_param: radvd_image} - key_name: {get_param: key_name} - networks: - - {port: {get_resource: radvd_port_private}} - - {port: {get_resource: radvd_port_provision}} - config_drive: true - user_data_format: RAW - user_data: {get_resource: radvd_init} diff --git a/templates/overcloud-env/README.rst b/templates/overcloud-env/README.rst deleted file mode 100644 index 4fe909b..0000000 --- a/templates/overcloud-env/README.rst +++ /dev/null @@ -1,37 +0,0 @@ -Deploying an Overcloud for Virtual Baremetal -============================================ - -The files in this directory can be used to deploy an overcloud -using TripleO that is suitable for use as a virtual -baremetal host. The following are instructions on how to do so. - -Custom Environment ------------------- - -.. note:: - - This template applies a patch to Nova that may not be suitable - for production deployments. Use at your own risk. - -Copy the yaml files to the undercloud so they can be referenced by -the overcloud deploy call. The ``ovb.yaml`` file must be passed -as an additional ``-e`` parameter. See `Overcloud Deployment`_ for -an example deploy call. - -Hieradata Changes ------------------ - -Make a copy of the tripleo-heat-templates directory:: - - cp -r /usr/share/openstack-tripleo-heat-templates/ custom - -Add the necessary hieradata configuration:: - - echo "neutron::agents::ml2::ovs::firewall_driver: neutron.agent.firewall.NoopFirewallDriver" >> custom/puppet/hieradata/common.yaml - -Overcloud Deployment --------------------- - -Pass both the custom environment and templates to the deploy call:: - - openstack overcloud deploy --libvirt-type kvm --templates custom -e ovb.yaml diff --git a/templates/overcloud-env/ovb.yaml b/templates/overcloud-env/ovb.yaml deleted file mode 100644 index dcad29a..0000000 --- a/templates/overcloud-env/ovb.yaml +++ /dev/null @@ -1,2 +0,0 @@ -resource_registry: - OS::TripleO::NodeUserData: ovb_patch_nova.yaml diff --git a/templates/overcloud-env/ovb_patch_nova.yaml b/templates/overcloud-env/ovb_patch_nova.yaml deleted file mode 100644 index 67df5f8..0000000 --- a/templates/overcloud-env/ovb_patch_nova.yaml +++ /dev/null @@ -1,47 +0,0 @@ -heat_template_version: 2014-10-16 - -description: > - Firstboot patching of Nova to allow PXE booting instances - -resources: - userdata: - type: OS::Heat::MultipartMime - properties: - parts: - - config: {get_resource: patch_nova} - - patch_nova: - type: OS::Heat::SoftwareConfig - properties: - config: | - #!/bin/bash - - set -eux - set -o pipefail - - pushd /usr/lib/python2.7/site-packages/nova/virt/libvirt - cat > pxeboot.patch << EOF - *** driver.py 2015-07-02 11:17:25.241844536 -0500 - --- driver.py 2015-07-02 11:17:55.029472139 -0500 - *************** - *** 4126,4131 **** - --- 4126,4135 ---- - self._conf_non_lxc_uml(virt_type, guest, root_device_name, rescue, - instance, inst_path, image_meta, disk_info) - - + if (CONF.libvirt.virt_type in ['qemu', 'kvm'] and - + instance.metadata.get('libvirt:pxe-first')): - + guest.os_boot_dev = ['network'] + guest.os_boot_dev - + - self._set_features(guest, instance.os_type, caps, virt_type) - self._set_clock(guest, instance.os_type, image_meta, virt_type) - EOF - - # I'm not sure why -l is needed, but something with the whitespace - # in the patch is getting messed up when run as userdata - patch -p0 -l < pxeboot.patch - popd - -outputs: - OS::stack_id: - value: {get_resource: userdata} diff --git a/templates/private-net-create.yaml b/templates/private-net-create.yaml deleted file mode 100644 index 4a50430..0000000 --- a/templates/private-net-create.yaml +++ /dev/null @@ -1,54 +0,0 @@ -heat_template_version: 2015-04-30 - -# Template which creates a private network which is routed to an external -# network. - -parameters: - external_net: - type: string - description: An external network for the private network to route to - - private_net: - type: string - description: Name of private network - - private_net_cidr: - type: string - description: CIDR for private network subnet - default: 10.0.1.0/24 - - dns_nameservers: - default: ["8.8.8.8", ] - description: List of DNS servers for the private network - type: comma_delimited_list - -resources: - - network: - type: OS::Neutron::Net - properties: - name: {get_param: private_net} - - subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: network} - name: {get_param: private_net} - cidr: {get_param: private_net_cidr} - dns_nameservers: {get_param: dns_nameservers} - - router: - type: OS::Neutron::Router - properties: - external_gateway_info: - network: {get_param: external_net} - - router_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: router} - subnet: {get_resource: subnet} - -outputs: - private_net: - value: {get_param: private_net} diff --git a/templates/private-net-existing.yaml b/templates/private-net-existing.yaml deleted file mode 100644 index f854109..0000000 --- a/templates/private-net-existing.yaml +++ /dev/null @@ -1,18 +0,0 @@ -heat_template_version: 2015-04-30 - -# Template which provides a private network which is routed to an external -# network. This template just passes through the name of an already created -# private network. - -parameters: - external_net: - type: string - description: An external network from which floating ips can be provisioned - - private_net: - type: string - description: Name of private network - -outputs: - private_net: - value: {get_param: private_net} diff --git a/templates/quintupleo.yaml b/templates/quintupleo.yaml deleted file mode 100644 index fd61432..0000000 --- a/templates/quintupleo.yaml +++ /dev/null @@ -1,210 +0,0 @@ -heat_template_version: 2016-04-08 - -# Template that wraps virtual-baremetal.yaml and does some additional environment -# setup automatically: -# - provisions the needed networks -# - boots an instance to serve as the undercloud -# - creates a floating ip and associates it with the undercloud instance - -parameters: - bmc_flavor: - type: string - default: m1.small - description: The Nova flavor to use for the bmc instance - - bmc_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: | - The base image for the bmc instance. A CentOS 7 image is currently the - only one supported. - - baremetal_flavor: - type: string - default: baremetal - description: Recommended to be at least 1 vcpu, 4 GB RAM, 50 GB disk - - baremetal_image: - type: string - default: empty - description: The base image to use for baremetal instances - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - node_count: - type: number - default: 2 - description: Number of baremetal nodes to deploy - - private_net: - type: string - default: private - description: Name of a private network which can have floating ips associated with it - - external_net: - type: string - default: external - description: An external network from which floating ips can be provisioned - - bmc_prefix: - type: string - default: bmc - description: Prefix for the name of the bmc instance - - baremetal_prefix: - type: string - default: baremetal - description: Prefix for the name of the baremetal instances - - undercloud_name: - type: string - default: undercloud - description: Name of the undercloud instance - - undercloud_flavor: - type: string - default: m1.xlarge - description: Nova flavor to use for the undercloud instance - - undercloud_image: - type: string - default: CentOS-7-x86_64-GenericCloud - description: Image to boot as the undercloud instance - - undercloud_user_data: - type: string - default: "" - description: Userdata to inject into the undercloud instance - - undercloud_user_data_format: - type: string - default: RAW - description: Format of undercloud userdata - - os_user: - type: string - default: admin - description: | - The user on the host cloud that will be used to provision the - environment - - os_password: - type: string - default: password - hidden: true - description: The password for os_user - - os_tenant: - type: string - default: admin - description: The tenant for os_user - - os_auth_url: - type: string - default: http://127.0.0.1:5000/v2.0 - description: The Keystone auth_url of the host cloud - - os_project: - type: string - default: '' - description: | - The project for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - os_user_domain: - type: string - default: '' - description: | - The user domain for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - os_project_domain: - type: string - default: '' - description: | - The project domain for os_user. Required for Keystone v3, should be left - blank for Keystone v2. - - cloud_data: - type: string - default: '{}' - hidden: true - - # Unused parameter for compatibility with the environment generator - role: - type: string - description: | - The default role for nodes in this environment. This parameter is - ignored by Heat, but used by build-nodes-json. - default: '' - - dhcp_ips: - type: json - default: - - 192.168.24.1 - - 192.168.24.10 - description: | - The IP addresses of DHCP servers to relay DHCP requests to. - -resources: - undercloud_networks: - type: OS::OVB::UndercloudNetworks - - private_network: - type: OS::OVB::PrivateNetwork - properties: - external_net: {get_param: external_net} - private_net: {get_param: private_net} - - undercloud_env: - type: OS::OVB::UndercloudEnvironment - depends_on: [undercloud_networks, private_network] - properties: - undercloud_flavor: {get_param: undercloud_flavor} - undercloud_image: {get_param: undercloud_image} - key_name: {get_param: key_name} - undercloud_name: {get_param: undercloud_name} - undercloud_user_data_format: {get_param: undercloud_user_data_format} - undercloud_user_data: {get_param: undercloud_user_data} - private_net: {get_attr: [private_network, private_net]} - networks: {get_attr: [undercloud_networks, networks]} - external_net: {get_param: external_net} - - baremetal_env: - type: OS::OVB::BaremetalEnvironment - depends_on: undercloud_networks - properties: - baremetal_flavor: {get_param: baremetal_flavor} - baremetal_image: {get_param: baremetal_image} - key_name: {get_param: key_name} - node_count: {get_param: node_count} - private_net: {get_attr: [private_network, private_net]} - networks: {get_attr: [undercloud_networks, networks]} - baremetal_prefix: {get_param: baremetal_prefix} - cloud_data: {get_param: cloud_data} - dhcp_ips: {get_param: dhcp_ips} - provision_network_routers_data: {get_attr: [undercloud_networks, provision_network_routers_data]} - -outputs: - undercloud_host_floating_ip: - description: "floating ip of the undercloud instance" - value: - get_attr: [undercloud_env, undercloud_host_floating_ip] - undercloud_host_private_ip: - description: "ip of the undercloud instance on the private network" - value: - get_attr: [undercloud_env, undercloud_host_private_ip] - undercloud_host_public_ip: - description: "ip of the undercloud instance on the public network" - value: - get_attr: [undercloud_env, undercloud_host_public_ip] - network_environment_data: - description: "Network environment data, router addresses etc." - value: - map_merge: - - get_attr: [undercloud_networks, provision_network_routers] - - get_attr: [baremetal_env, baremetal_networks_routers_addresses] - - get_attr: [undercloud_networks, public_network_router] diff --git a/templates/resource-registry.yaml b/templates/resource-registry.yaml deleted file mode 100644 index 92db11a..0000000 --- a/templates/resource-registry.yaml +++ /dev/null @@ -1,16 +0,0 @@ -resource_registry: - OS::OVB::ServerPair: virtual-baremetal-servers.yaml - OS::OVB::BaremetalEnvironment: virtual-baremetal.yaml - OS::OVB::UndercloudEnvironment: undercloud.yaml - OS::OVB::UndercloudFloating: undercloud-floating.yaml - OS::OVB::PrivateNetwork: private-net-existing.yaml - OS::OVB::BaremetalNetworks: baremetal-networks-none.yaml - OS::OVB::BaremetalPorts: baremetal-ports-default.yaml - OS::OVB::BMC: bmc.yaml - OS::OVB::BMCPort: bmc-port.yaml - OS::OVB::UndercloudPorts: undercloud-ports.yaml - OS::OVB::UndercloudNetworks: undercloud-networks.yaml - OS::OVB::DHCPRelay: OS::Heat::None - OS::OVB::RouterAdvertisementDaemon: OS::Heat::None - OS::OVB::ProvisionNetRouter: OS::Neutron::Router - OS::OVB::ProvisionNetRouterInterface: OS::Neutron::RouterInterface diff --git a/templates/undercloud-floating-existing.yaml b/templates/undercloud-floating-existing.yaml deleted file mode 100644 index cac2480..0000000 --- a/templates/undercloud-floating-existing.yaml +++ /dev/null @@ -1,35 +0,0 @@ -heat_template_version: 2015-04-30 - -# Template that creates a new floating IP to access the undercloud - -parameters: - external_net: - type: string - default: external - description: An external network from which floating ips can be provisioned - - undercloud_port: - type: string - description: Port id of undercloud server for floating ip - - undercloud_floating_ip_id: - type: string - description: ID of existing floating ip to use. - - undercloud_floating_ip: - type: string - description: Address of existing floating ip to use. - default: '' - -resources: - - undercloud_floating_ip_assoc: - type: OS::Neutron::FloatingIPAssociation - properties: - floatingip_id: {get_param: undercloud_floating_ip_id} - port_id: {get_param: undercloud_port} - -outputs: - undercloud_host: - value: - get_param: undercloud_floating_ip diff --git a/templates/undercloud-floating-none.yaml b/templates/undercloud-floating-none.yaml deleted file mode 100644 index 9cc2f9a..0000000 --- a/templates/undercloud-floating-none.yaml +++ /dev/null @@ -1,17 +0,0 @@ -heat_template_version: 2015-04-30 - -# Template that creates a new floating IP to access the undercloud - -parameters: - external_net: - type: string - default: external - description: An external network from which floating ips can be provisioned - - undercloud_port: - type: string - description: Port id of undercloud server for floating ip - -outputs: - undercloud_host: - value: 'none' diff --git a/templates/undercloud-floating.yaml b/templates/undercloud-floating.yaml deleted file mode 100644 index 4d9d2d5..0000000 --- a/templates/undercloud-floating.yaml +++ /dev/null @@ -1,31 +0,0 @@ -heat_template_version: 2015-04-30 - -# Template that creates a new floating IP to access the undercloud - -parameters: - external_net: - type: string - default: external - description: An external network from which floating ips can be provisioned - - undercloud_port: - type: string - description: Port id of undercloud server for floating ip - -resources: - - undercloud_floating_ip: - type: OS::Neutron::FloatingIP - properties: - floating_network: {get_param: external_net} - - undercloud_floating_ip_assoc: - type: OS::Neutron::FloatingIPAssociation - properties: - floatingip_id: {get_resource: undercloud_floating_ip} - port_id: {get_param: undercloud_port} - -outputs: - undercloud_host: - value: - get_attr: [undercloud_floating_ip, floating_ip_address] diff --git a/templates/undercloud-networks-existing.yaml b/templates/undercloud-networks-existing.yaml deleted file mode 100644 index f55140a..0000000 --- a/templates/undercloud-networks-existing.yaml +++ /dev/null @@ -1,61 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - provision_net: - type: string - default: provision - description: Name of a network that will be used for provisioning traffic - - provision_net_cidr: - type: string - description: CIDR for provision network subnet - default: 192.0.2.0/24 - - provision_net_ip_version: - type: number - description: IP version for the provision_net subnet - default: 4 - - provision_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - public_net: - type: string - description: Name of the overcloud external network - default: public - - public_net_cidr: - type: string - description: CIDR for external network subnet - default: 10.0.0.0/24 - - public_net_allocation_pools: - type: json - description: Allocation Pools for the public network - default: [] - - public_subnet_ip_version: - type: number - description: IP version for the public subnet - default: 4 - - public_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - -outputs: - networks: - value: - provision: {get_param: provision_net} - public: {get_param: public_net} - # The provision and public network routers is here for compatibility only - provision_network_routers: - value: null - provision_network_routers_data: - value: null - public_network_router: - value: null diff --git a/templates/undercloud-networks-public-router.yaml b/templates/undercloud-networks-public-router.yaml deleted file mode 100644 index 1668473..0000000 --- a/templates/undercloud-networks-public-router.yaml +++ /dev/null @@ -1,124 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - provision_net: - type: string - default: provision - description: Name of a network that will be used for provisioning traffic - - provision_net_cidr: - type: string - description: CIDR for provision network subnet - default: 192.168.24.0/24 - - provision_net_ip_version: - type: number - description: IP version for the provision_net subnet - default: 4 - - provision_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - public_net: - type: string - description: Name of the overcloud external network - default: public - - public_net_cidr: - type: string - description: CIDR for external network subnet - default: 10.0.0.0/24 - - public_net_allocation_pools: - type: json - description: Allocation Pools for the public network - default: [] - - public_net_router_address: - type: string - description: Router address for the public network subnet - default: 10.0.0.254 - - public_net_ip_version: - type: number - description: IP version for the public subnet - default: 4 - - public_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - external_net: - type: string - description: An external network for the networks to route to - -resources: - provision_network: - type: OS::Neutron::Net - properties: - name: {get_param: provision_net} - shared: {get_param: provision_net_shared} - - provision_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: provision_network} - name: {get_param: provision_net} - cidr: {get_param: provision_net_cidr} - gateway_ip: null - enable_dhcp: false - - public_network: - type: OS::Neutron::Net - properties: - name: {get_param: public_net} - shared: {get_param: public_net_shared} - - public_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: public_network} - name: {get_param: public_net} - cidr: {get_param: public_net_cidr} - allocation_pools: {get_param: public_net_allocation_pools} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: public_net_ip_version} - - public_router: - type: OS::Neutron::Router - properties: - name: public-router - external_gateway_info: - network: {get_param: external_net} - - public_router_port: - type: OS::Neutron::Port - properties: - network: {get_resource: public_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: public_net_router_address} - - public_router_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: public_router} - port: {get_resource: public_router_port} - -outputs: - networks: - value: - provision: {get_resource: provision_network} - public: {get_resource: public_network} - # The provision_network_routers is here for compatibility only - provision_network_routers: - value: {} - provision_network_routers_data: - value: {} - public_network_router: - value: - public_router: {get_attr: [public_router_port, fixed_ips, 0, ip_address]} diff --git a/templates/undercloud-networks-routed.yaml b/templates/undercloud-networks-routed.yaml deleted file mode 100644 index 7fa7cbf..0000000 --- a/templates/undercloud-networks-routed.yaml +++ /dev/null @@ -1,294 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - provision_net: - type: string - default: provision - description: Name of a network that will be used for provisioning traffic - - provision_router_name: - type: string - description: Name of provisioning network router - default: provision_router - - provision_net_cidr: - type: string - description: CIDR for provision network subnet - default: 192.168.24.0/24 - - provision_net_router_address: - type: string - description: Router address for the provision network subnet - default: 192.168.24.254 - - provision_net_ip_version: - type: number - description: IP version for the provision_net subnet - default: 4 - - provision_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - provision_net2: - type: string - default: provision2 - description: Name of a second network that will be used for provisioning traffic - - provision_net2_cidr: - type: string - description: CIDR for second provision network subnet - default: 192.168.25.0/24 - - provision_net2_router_address: - type: string - description: Router address for the provision network subnet - default: 192.168.25.254 - - provision_net2_ip_version: - type: number - description: IP version for the provision_net2 subnet - default: 4 - - provision_net2_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - provision_net3: - type: string - default: provision3 - description: Name of a third network that will be used for provisioning traffic - - provision_net3_cidr: - type: string - description: CIDR for third provision network subnet - default: 192.168.26.0/24 - - provision_net3_router_address: - type: string - description: Router address for the provision network subnet - default: 192.168.26.254 - - provision_net3_ip_version: - type: number - description: IP version for the provision_net3 subnet - default: 4 - - provision_net3_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - public_net: - type: string - description: Name of the overcloud external network - default: public - - public_net_cidr: - type: string - description: CIDR for external network subnet - default: 10.0.0.0/24 - - public_net_allocation_pools: - type: json - description: Allocation Pools for the public network - default: [] - - public_net_router_address: - type: string - description: Router address for the public network subnet - default: 10.0.0.254 - - public_net_ip_version: - type: number - description: IP version for the public subnet - default: 4 - - public_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - external_net: - type: string - description: An external network for the networks to route to - -resources: - provision_router: - type: OS::OVB::ProvisionNetRouter - properties: - name: {get_param: provision_router_name} - external_gateway_info: - network: {get_param: external_net} - - provision_network: - type: OS::Neutron::Net - properties: - name: {get_param: provision_net} - shared: {get_param: provision_net_shared} - - provision_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: provision_network} - name: {get_param: provision_net} - cidr: {get_param: provision_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: provision_net_ip_version} - - provision_router_port: - type: OS::Neutron::Port - properties: - name: provision_router_port - network: {get_resource: provision_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: provision_net_router_address} - - provision_router_interface: - type: OS::OVB::ProvisionNetRouterInterface - properties: - router: {get_resource: provision_router} - port: {get_resource: provision_router_port} - - provision_network2: - type: OS::Neutron::Net - properties: - name: {get_param: provision_net2} - shared: {get_param: provision_net2_shared} - - provision_subnet2: - type: OS::Neutron::Subnet - properties: - network: {get_resource: provision_network2} - name: {get_param: provision_net2} - cidr: {get_param: provision_net2_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: provision_net2_ip_version} - - provision_router_port2: - type: OS::Neutron::Port - properties: - name: provision_router_port2 - network: {get_resource: provision_network2} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: provision_net2_router_address} - - provision_router_interface2: - type: OS::OVB::ProvisionNetRouterInterface - properties: - router: {get_resource: provision_router} - port: {get_resource: provision_router_port2} - - provision_network3: - type: OS::Neutron::Net - properties: - name: {get_param: provision_net3} - shared: {get_param: provision_net3_shared} - - provision_subnet3: - type: OS::Neutron::Subnet - properties: - network: {get_resource: provision_network3} - name: {get_param: provision_net3} - cidr: {get_param: provision_net3_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: provision_net3_ip_version} - - provision_router_port3: - type: OS::Neutron::Port - properties: - name: provision_router_port3 - network: {get_resource: provision_network3} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: provision_net3_router_address} - - provision_router_interface3: - type: OS::OVB::ProvisionNetRouterInterface - properties: - router: {get_resource: provision_router} - port: {get_resource: provision_router_port3} - - public_network: - type: OS::Neutron::Net - properties: - name: {get_param: public_net} - shared: {get_param: public_net_shared} - - public_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: public_network} - name: {get_param: public_net} - cidr: {get_param: public_net_cidr} - allocation_pools: {get_param: public_net_allocation_pools} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: public_net_ip_version} - - public_router: - type: OS::Neutron::Router - properties: - name: public-router - external_gateway_info: - network: {get_param: external_net} - - public_router_port: - type: OS::Neutron::Port - properties: - network: {get_resource: public_network} - port_security_enabled: false - fixed_ips: - - ip_address: {get_param: public_net_router_address} - - public_router_interface: - type: OS::Neutron::RouterInterface - properties: - router: {get_resource: public_router} - port: {get_resource: public_router_port} - -outputs: - networks: - value: - provision: {get_resource: provision_network} - provision2: {get_resource: provision_network2} - provision3: {get_resource: provision_network3} - public: {get_resource: public_network} - provision_network_routers: - value: - provision_router: {get_attr: [provision_router_port, fixed_ips, 0, ip_address]} - provision2_router: {get_attr: [provision_router_port2, fixed_ips, 0, ip_address]} - provision3_router: {get_attr: [provision_router_port3, fixed_ips, 0, ip_address]} - provision_network_routers_data: - value: - provision_router_cidr: - list_join: - - / - - - {get_attr: [provision_router_port, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [provision_router_port, subnets, 0, cidr]}, 1]} - provision2_router_cidr: - list_join: - - / - - - {get_attr: [provision_router_port2, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [provision_router_port2, subnets, 0, cidr]}, 1]} - provision3_router_cidr: - list_join: - - / - - - {get_attr: [provision_router_port3, fixed_ips, 0, ip_address]} - - {str_split: ['/', {get_attr: [provision_router_port3, subnets, 0, cidr]}, 1]} - provision_router_resource: {get_resource: provision_router_port} - provision2_router_resource: {get_resource: provision_router_port2} - provision3_router_resource: {get_resource: provision_router_port3} - provision_mtu: {get_attr: [provision_router_port, network, mtu]} - provision2_mtu: {get_attr: [provision_router_port2, network, mtu]} - provision3_mtu: {get_attr: [provision_router_port3, network, mtu]} - public_network_router: - value: - public_router: {get_attr: [public_router_port, fixed_ips, 0, ip_address]} diff --git a/templates/undercloud-networks.yaml b/templates/undercloud-networks.yaml deleted file mode 100644 index 01ae6ee..0000000 --- a/templates/undercloud-networks.yaml +++ /dev/null @@ -1,94 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - provision_net: - type: string - default: provision - description: Name of a network that will be used for provisioning traffic - - provision_net_cidr: - type: string - description: CIDR for provision network subnet - default: 192.168.24.0/24 - - provision_net_ip_version: - type: number - description: IP version for the provision_net subnet - default: 4 - - provision_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - - public_net: - type: string - description: Name of the overcloud external network - default: public - - public_net_cidr: - type: string - description: CIDR for external network subnet - default: 10.0.0.0/24 - - public_net_allocation_pools: - type: json - description: Allocation Pools for the public network - default: [] - - public_net_ip_version: - type: number - description: IP version for the public subnet - default: 4 - - public_net_shared: - type: boolean - description: Whether this network should be shared across all tenants - default: false - -resources: - provision_network: - type: OS::Neutron::Net - properties: - name: {get_param: provision_net} - shared: {get_param: provision_net_shared} - - provision_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: provision_network} - name: {get_param: provision_net} - cidr: {get_param: provision_net_cidr} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: provision_net_ip_version} - - public_network: - type: OS::Neutron::Net - properties: - name: {get_param: public_net} - shared: {get_param: public_net_shared} - - public_subnet: - type: OS::Neutron::Subnet - properties: - network: {get_resource: public_network} - name: {get_param: public_net} - cidr: {get_param: public_net_cidr} - allocation_pools: {get_param: public_net_allocation_pools} - gateway_ip: null - enable_dhcp: false - ip_version: {get_param: public_net_ip_version} - -outputs: - networks: - value: - provision: {get_resource: provision_network} - public: {get_resource: public_network} - # The provision and public network routers is here for compatibility only - provision_network_routers: - value: null - provision_network_routers_data: - value: null - public_network_router: - value: null diff --git a/templates/undercloud-ports.yaml b/templates/undercloud-ports.yaml deleted file mode 100644 index 3207d0e..0000000 --- a/templates/undercloud-ports.yaml +++ /dev/null @@ -1,77 +0,0 @@ -heat_template_version: 2015-10-15 - -parameters: - - undercloud_name: - type: string - - private_net: - type: string - - networks: - type: json - -resources: - undercloud_sg: - type: OS::Neutron::SecurityGroup - properties: - name: - list_join: - - '_' - - - {get_param: undercloud_name} - - 'sg' - description: Ping, SSH, and TripleO UI - rules: - - protocol: icmp - - protocol: tcp - port_range_min: 22 - port_range_max: 22 - - protocol: tcp - port_range_min: 3000 - port_range_max: 3000 - - private_undercloud_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '_' - - - {get_param: undercloud_name} - - 'private' - network: {get_param: private_net} - security_groups: - - {get_resource: undercloud_sg} - - provision_undercloud_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '_' - - - {get_param: undercloud_name} - - 'provision' - network: {get_param: [networks, provision]} - port_security_enabled: False - - public_undercloud_port: - type: OS::Neutron::Port - properties: - name: - list_join: - - '_' - - - {get_param: undercloud_name} - - 'public' - network: {get_param: [networks, public]} - port_security_enabled: False - -outputs: - ports: - value: - - {port: {get_resource: private_undercloud_port}} - - {port: {get_resource: provision_undercloud_port}} - - {port: {get_resource: public_undercloud_port}} - addresses: - value: - private_undercloud: {get_attr: [private_undercloud_port, fixed_ips, 0, ip_address]} - provision_undercloud: {get_attr: [provision_undercloud_port, fixed_ips, 0, ip_address]} - public_undercloud: {get_attr: [public_undercloud_port, fixed_ips, 0, ip_address]} diff --git a/templates/undercloud-volume.yaml b/templates/undercloud-volume.yaml deleted file mode 100644 index 62c39f8..0000000 --- a/templates/undercloud-volume.yaml +++ /dev/null @@ -1,81 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - undercloud_flavor: - type: string - undercloud_image: - type: string - key_name: - type: string - undercloud_name: - type: string - undercloud_user_data_format: - type: string - undercloud_user_data: - type: string - undercloud_volume_size: - type: number - default: 50 - description: The size of the volume for the undercloud instance - private_net: - type: string - networks: - type: json - external_net: - type: string - -resources: - undercloud_ports: - type: OS::OVB::UndercloudPorts - properties: - undercloud_name: {get_param: undercloud_name} - private_net: {get_param: private_net} - networks: {get_param: networks} - - undercloud_volume: - type: OS::Cinder::Volume - properties: - name: {get_param: undercloud_name} - image: {get_param: undercloud_image} - size: {get_param: undercloud_volume_size} - - undercloud_server: - type: OS::Nova::Server - depends_on: undercloud_volume - properties: - flavor: {get_param: undercloud_flavor} - key_name: {get_param: key_name} - networks: {get_attr: [undercloud_ports, ports]} - name: {get_param: undercloud_name} - user_data_format: {get_param: undercloud_user_data_format} - user_data: {get_param: undercloud_user_data} - block_device_mapping: - - device_name: vda - volume_id: {get_resource: undercloud_volume} - - undercloud_floating_ip: - type: OS::OVB::UndercloudFloating - properties: - external_net: {get_param: external_net} - undercloud_port: - get_attr: - - undercloud_server - - addresses - - {get_param: private_net} - - 0 - - port - -outputs: - undercloud_host_floating_ip: - description: "floating ip of the undercloud instance" - value: - get_attr: [undercloud_floating_ip, undercloud_host] - undercloud_host_private_ip: - description: "ip of the undercloud instance on the private network" - value: - get_attr: - - undercloud_server - - addresses - - {get_param: private_net} - - 0 - - addr diff --git a/templates/undercloud.yaml b/templates/undercloud.yaml deleted file mode 100644 index 04ad243..0000000 --- a/templates/undercloud.yaml +++ /dev/null @@ -1,75 +0,0 @@ -heat_template_version: 2015-04-30 - -parameters: - undercloud_flavor: - type: string - undercloud_image: - type: string - key_name: - type: string - undercloud_name: - type: string - undercloud_user_data_format: - type: string - undercloud_user_data: - type: string - private_net: - type: string - networks: - type: json - external_net: - type: string - config_drive: - type: boolean - default: false - description: If True, enable config drive on the server. - -resources: - undercloud_ports: - type: OS::OVB::UndercloudPorts - properties: - undercloud_name: {get_param: undercloud_name} - private_net: {get_param: private_net} - networks: {get_param: networks} - - undercloud_server: - type: OS::Nova::Server - properties: - flavor: {get_param: undercloud_flavor} - image: {get_param: undercloud_image} - key_name: {get_param: key_name} - networks: {get_attr: [undercloud_ports, ports]} - name: {get_param: undercloud_name} - user_data_format: {get_param: undercloud_user_data_format} - user_data: {get_param: undercloud_user_data} - config_drive: {get_param: config_drive} - - undercloud_floating_ip: - type: OS::OVB::UndercloudFloating - properties: - external_net: {get_param: external_net} - undercloud_port: - get_attr: - - undercloud_server - - addresses - - {get_param: private_net} - - 0 - - port - -outputs: - undercloud_host_floating_ip: - description: "floating ip of the undercloud instance" - value: - get_attr: [undercloud_floating_ip, undercloud_host] - undercloud_host_private_ip: - description: "ip of the undercloud instance on the private network" - value: - get_attr: - - undercloud_server - - addresses - - {get_param: private_net} - - 0 - - addr - undercloud_host_public_ip: - description: "ip of the undercloud instance on the public network" - value: {get_attr: [undercloud_ports, addresses, public_undercloud]} diff --git a/templates/virtual-baremetal-servers-volume.yaml b/templates/virtual-baremetal-servers-volume.yaml deleted file mode 100644 index d4e04c8..0000000 --- a/templates/virtual-baremetal-servers-volume.yaml +++ /dev/null @@ -1,74 +0,0 @@ -heat_template_version: 2014-10-16 - -parameters: - - baremetal_flavor: - type: string - - baremetal_image: - type: string - - baremetal_volume_size: - type: number - default: 41 - description: The size of the baremetal instance volumes - - baremetal_name: - type: string - - key_name: - type: string - - baremetal_prefix: - type: string - - provision_net: - type: string - - public_net: - type: string - - suffix: - type: string - - baremetal_config_drive: - type: boolean - default: false - description: If True, enable config drive on baremetal instances. - -resources: - - baremetal_ports: - type: OS::OVB::BaremetalPorts - properties: - suffix: {get_param: suffix} - baremetal_prefix: {get_param: baremetal_prefix} - provision_net: {get_param: provision_net} - public_net: {get_param: public_net} - - baremetal_volume: - type: OS::Cinder::Volume - properties: - name: - list_join: - - '' - - - {get_param: baremetal_prefix} - - {get_param: suffix} - image: {get_param: baremetal_image} - size: {get_param: baremetal_volume_size} - - baremetal_server: - type: OS::Nova::Server - properties: - flavor: {get_param: baremetal_flavor} - config_drive: {get_param: baremetal_config_drive} - key_name: {get_param: key_name} - networks: {get_attr: [baremetal_ports, ports]} - block_device_mapping: - - device_name: vda - volume_id: {get_resource: baremetal_volume} - name: {get_param: baremetal_name} - -outputs: - bmc_nic: - value: {port: {get_resource: bmc_port}} diff --git a/templates/virtual-baremetal-servers.yaml b/templates/virtual-baremetal-servers.yaml deleted file mode 100644 index 79c7f60..0000000 --- a/templates/virtual-baremetal-servers.yaml +++ /dev/null @@ -1,52 +0,0 @@ -heat_template_version: 2014-10-16 - -parameters: - - baremetal_flavor: - type: string - - baremetal_image: - type: string - - baremetal_name: - type: string - - key_name: - type: string - - baremetal_prefix: - type: string - - networks: - type: json - - suffix: - type: string - - baremetal_config_drive: - type: boolean - default: false - description: If True, enable config drive on baremetal instances. - -resources: - - baremetal_ports: - type: OS::OVB::BaremetalPorts - properties: - suffix: {get_param: suffix} - baremetal_prefix: {get_param: baremetal_prefix} - networks: {get_param: networks} - - baremetal_server: - type: OS::Nova::Server - properties: - flavor: {get_param: baremetal_flavor} - image: {get_param: baremetal_image} - config_drive: {get_param: baremetal_config_drive} - key_name: {get_param: key_name} - networks: {get_attr: [baremetal_ports, ports]} - name: {get_param: baremetal_name} - -outputs: - bmc_nic: - value: {port: {get_resource: bmc_port}} diff --git a/templates/virtual-baremetal.yaml b/templates/virtual-baremetal.yaml deleted file mode 100644 index ce720f5..0000000 --- a/templates/virtual-baremetal.yaml +++ /dev/null @@ -1,143 +0,0 @@ -heat_template_version: newton - -description: Template for deploying OpenStack BMC nodes. Can be wrapped in a ResourceGroup for scaling. - -# Ensure force_config_drive is _not_ set in nova.conf - -parameters: - baremetal_flavor: - type: string - default: baremetal - description: Recommended to be at least 1 vcpu, 4 GB RAM, 50 GB disk - - baremetal_image: - type: string - default: empty - description: The base image to use for baremetal instances - - key_name: - type: string - default: default - description: Nova keypair to inject into the undercloud and bmc - - node_count: - type: number - default: 1 - description: Number of baremetal nodes to deploy - - private_net: - type: string - default: private - description: Name of a private network which can have floating ips associated with it - - networks: - type: json - default: {"private": "private", "provision": "provision"} - description: A map of networks to their names. - - baremetal_prefix: - type: string - default: baremetal - description: Prefix for the name of the baremetal instances - - baremetal_name_template: - type: string - default: '' - description: | - Override the default naming scheme for baremetal instances. - The value should usually include '%index%' to differentiate multiple - instances. For example: 'my-custom-name-%index%' - - cloud_data: - type: string - hidden: true - - dhcp_ips: - type: json - default: - - 192.168.24.1 - - 192.168.24.10 - description: | - The IP addresses of DHCP servers to relay DHCP requests to. - - provision_network_routers_data: - type: json - default: {} - description: A map with provision network router data - - # Ignored parameters for compatibility with QuintupleO env files - undercloud_image: - type: string - default: '' - undercloud_flavor: - type: string - default: '' - undercloud_name: - type: string - default: '' - external_net: - type: string - default: '' - public_net_shared: - type: string - default: '' - provision_net_shared: - type: string - default: '' - - -conditions: - baremetal_name_override: - not: - equals: - - {get_param: baremetal_name_template} - - '' - -resources: - bmc: - type: OS::OVB::BMC - depends_on: openstack_baremetal_servers - properties: - cloud_data: {get_param: cloud_data} - - baremetal_networks: - type: OS::OVB::BaremetalNetworks - - openstack_baremetal_servers: - type: OS::Heat::ResourceGroup - depends_on: baremetal_networks - properties: - count: {get_param: node_count} - resource_def: - type: OS::OVB::ServerPair - properties: - baremetal_flavor: {get_param: baremetal_flavor} - baremetal_image: {get_param: baremetal_image} - baremetal_name: - if: - - baremetal_name_override - - {get_param: baremetal_name_template} - - list_join: - - '' - - - {get_param: baremetal_prefix} - - '_%index%' - key_name: {get_param: key_name} - networks: {get_param: networks} - suffix: _%index% - baremetal_prefix: {get_param: baremetal_prefix} - - dhcp_relay: - type: OS::OVB::DHCPRelay - properties: - networks: {get_param: networks} - dhcp_ips: {get_param: dhcp_ips} - provision_network_routers_data: {get_param: provision_network_routers_data} - - ipv6_radvd: - type: OS::OVB::RouterAdvertisementDaemon - properties: - networks: {get_param: networks} - -outputs: - baremetal_networks_routers_addresses: - value: {get_attr: [baremetal_networks, routers_addresses]} diff --git a/test-requirements.txt b/test-requirements.txt deleted file mode 100644 index 18d2ecb..0000000 --- a/test-requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -coverage>=3.6 -discover -fixtures>=0.3.14 -python-subunit>=0.0.18 -stestr -testtools>=0.9.36,!=1.2.0 diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 7e68f19..0000000 --- a/tox.ini +++ /dev/null @@ -1,53 +0,0 @@ -[tox] -minversion = 3.2.0 -skipsdist = True -envlist = py37,py38,pep8 -ignore_basepython_conflict = True - -[testenv] -usedevelop = True -setenv = - VIRTUAL_ENV={envdir} - OS_STDOUT_CAPTURE=1 - OS_STDERR_CAPTURE=1 - OS_TEST_TIMEOUT=60 - OS_LOG_CAPTURE=1 -deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} - -r{toxinidir}/test-requirements.txt - -r{toxinidir}/requirements.txt -commands = stestr run {posargs} -basepython = python3 - -[testenv:venv] -commands = {posargs} - -[testenv:docs] -deps = -c{env:TOX_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} - -r{toxinidir}/doc/requirements.txt -commands = sphinx-build -W -b html doc/source doc/build/html - -[testenv:pep8] -deps = - flake8 - PyYAML -allowlist_externals = bash -commands = - flake8 - bash -c bin/check-up-to-date.sh - -[testenv:cover] -setenv = - PYTHON=coverage run --source openstack_virtual_baremetal --parallel-mode -commands = - stestr run '{posargs}' - coverage combine - coverage html -d cover - coverage xml -o cover/coverage.xml - -[testenv:genconfig] -commands = python3 bin/environment-generator.py sample-env-generator --index doc/source/deploy/environment-index.rst - -[flake8] -ignore = H803,W504 -show-source = True -exclude = .tox,dist,doc,*.egg,build