#!/usr/bin/env bash # Sample ``local.sh`` for user-configurable tasks to run automatically # at the successful conclusion of ``stack.sh``. # NOTE: Copy this file to the root ``devstack`` directory for it to # work properly. # This is a collection of some of the things we have found to be useful to run # after ``stack.sh`` to tweak the OpenStack configuration that DevStack produces. # These should be considered as samples and are unsupported DevStack code. # Keep track of the devstack directory TOP_DIR=$(cd $(dirname "$0") && pwd) # Import common functions source $TOP_DIR/functions # Use openrc + stackrc + localrc for settings source $TOP_DIR/stackrc # Destination path for installation ``DEST`` DEST=${DEST:-/opt/stack} # Import ssh keys # --------------- # Import keys from the current user into the default OpenStack user (usually # ``demo``) # Get OpenStack auth source $TOP_DIR/openrc # Add first keypair found in localhost:$HOME/.ssh for i in $HOME/.ssh/id_rsa.pub $HOME/.ssh/id_dsa.pub; do if [[ -r $i ]]; then nova keypair-add --pub_key=$i `hostname` break fi done # Create A Flavor # --------------- # Get OpenStack admin auth source $TOP_DIR/openrc admin admin # Name of new flavor # set in ``localrc`` with ``DEFAULT_INSTANCE_TYPE=m1.micro`` MI_NAME=m1.micro # Create micro flavor if not present if [[ -z $(nova flavor-list | grep $MI_NAME) ]]; then nova flavor-create $MI_NAME 6 128 0 1 fi # Other Uses # ---------- # Add tcp/22 and icmp to default security group nova secgroup-add-rule default tcp 22 22 0.0.0.0/0 nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0