| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 1 | #!/usr/bin/env bash | 
|  | 2 |  | 
|  | 3 | # Sample ``local.sh`` for user-configurable tasks to run automatically | 
| Joe Gordon | 4640026 | 2013-06-30 04:32:27 -0700 | [diff] [blame] | 4 | # at the successful conclusion of ``stack.sh``. | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 5 |  | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 6 | # NOTE: Copy this file to the root DevStack directory for it to work properly. | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 7 |  | 
|  | 8 | # This is a collection of some of the things we have found to be useful to run | 
| Dean Troyer | 5547baa | 2012-08-31 10:55:36 -0500 | [diff] [blame] | 9 | # after ``stack.sh`` to tweak the OpenStack configuration that DevStack produces. | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 10 | # These should be considered as samples and are unsupported DevStack code. | 
|  | 11 |  | 
| Dean Troyer | 5547baa | 2012-08-31 10:55:36 -0500 | [diff] [blame] | 12 |  | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 13 | # Keep track of the DevStack directory | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 14 | TOP_DIR=$(cd $(dirname "$0") && pwd) | 
|  | 15 |  | 
| Dean Troyer | 05530ca | 2012-07-06 15:09:10 -0500 | [diff] [blame] | 16 | # Import common functions | 
|  | 17 | source $TOP_DIR/functions | 
|  | 18 |  | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 19 | # Use openrc + stackrc + localrc for settings | 
|  | 20 | source $TOP_DIR/stackrc | 
|  | 21 |  | 
|  | 22 | # Destination path for installation ``DEST`` | 
|  | 23 | DEST=${DEST:-/opt/stack} | 
|  | 24 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 25 | if is_service_enabled nova; then | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 26 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 27 | # Import ssh keys | 
|  | 28 | # --------------- | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 29 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 30 | # Import keys from the current user into the default OpenStack user (usually | 
|  | 31 | # ``demo``) | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 32 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 33 | # Get OpenStack user auth | 
|  | 34 | source $TOP_DIR/openrc | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 35 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 36 | # Add first keypair found in localhost:$HOME/.ssh | 
|  | 37 | for i in $HOME/.ssh/id_rsa.pub $HOME/.ssh/id_dsa.pub; do | 
|  | 38 | if [[ -r $i ]]; then | 
| Carlos Goncalves | bac2e4d | 2016-11-11 15:02:57 +0100 | [diff] [blame] | 39 | openstack keypair create --public-key $i `hostname` | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 40 | break | 
|  | 41 | fi | 
|  | 42 | done | 
|  | 43 |  | 
|  | 44 |  | 
|  | 45 | # Create A Flavor | 
|  | 46 | # --------------- | 
|  | 47 |  | 
|  | 48 | # Get OpenStack admin auth | 
|  | 49 | source $TOP_DIR/openrc admin admin | 
|  | 50 |  | 
|  | 51 | # Name of new flavor | 
| Dean Troyer | dc97cb7 | 2015-03-28 08:20:50 -0500 | [diff] [blame] | 52 | # set in ``local.conf`` with ``DEFAULT_INSTANCE_TYPE=m1.micro`` | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 53 | MI_NAME=m1.micro | 
|  | 54 |  | 
|  | 55 | # Create micro flavor if not present | 
| Carlos Goncalves | bac2e4d | 2016-11-11 15:02:57 +0100 | [diff] [blame] | 56 | if [[ -z $(openstack flavor list | grep $MI_NAME) ]]; then | 
|  | 57 | openstack flavor create $MI_NAME --id 6 --ram 128 --disk 0 --vcpus 1 | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 58 | fi | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 59 |  | 
|  | 60 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 61 | # Other Uses | 
|  | 62 | # ---------- | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 63 |  | 
| Dean Troyer | 38e38fb | 2014-01-10 12:05:51 -0600 | [diff] [blame] | 64 | # Add tcp/22 and icmp to default security group | 
| Carlos Goncalves | bac2e4d | 2016-11-11 15:02:57 +0100 | [diff] [blame] | 65 | openstack security group rule create --project $OS_PROJECT_NAME default --protocol tcp --ingress --dst-port 22 | 
|  | 66 | openstack security group rule create --project $OS_PROJECT_NAME default --protocol icmp | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 67 |  | 
| Dean Troyer | f5633dd | 2012-03-28 11:21:40 -0500 | [diff] [blame] | 68 | fi |