PageRenderTime 84ms CodeModel.GetById 53ms RepoModel.GetById 0ms app.codeStats 1ms

/INSTALL.sh

https://github.com/hisaki/nova-scripts
Shell | 141 lines | 134 code | 6 blank | 1 comment | 3 complexity | 9eb79c65e94ddc2b0b6770e5db09d488 MD5 | raw file
  1. #!/bin/bash
  2. BASE_DIR=/home/ohara/Projects/OpenStack/nova
  3. REDIS_DIR=$BASE_DIR/Redis
  4. TEMP_DIR=$BASE_DIR/Temp
  5. TODO_FILE=$BASE_DIR/README.todo
  6. DATA_DIR=$BASE_DIR/data
  7. BZR_LOGIN=<your-user-name>
  8. echo 'Assume that you already'
  9. echo ' - Installed git-core'
  10. echo ' - Copied ~/.ssh/id_rsa.pub into launchpad'
  11. echo -n 'Are you OK to proceed? [y/n] '
  12. read ANS
  13. if [ $ANS != 'y' ]; then
  14. echo 'Exit..'
  15. exit 0
  16. fi
  17. echo '== Install common packages and python libraries for nova =='
  18. sudo apt-get install -y bzr unzip curl build-essential
  19. sudo apt-get install -y aoetools vlan ebtables iptables gawk
  20. sudo apt-get install -y mysql-server-5.1 python-mysqldb
  21. sudo apt-get install -y python-m2crypto python-ipy python-twisted-bin python-twisted-core python-twisted-web python-carrot python-boto python-daemon python-setuptools python-libxml2 python-dev python-libvirt python-routes
  22. echo "libvirt in Ubuntu 10.04 will not work. You'll need to use Ubuntu 10.10 or
  23. download the latest libvirt and build it. In that case, execute
  24. % apt-get remove python-libvirt libvirt-bin libvirt0" >> $TODO_FILE
  25. sleep 2
  26. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  27. echo '+ Several manual installation required.. Just download packages under Temp'
  28. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  29. if [ -d $TEMP_DIR ]; then
  30. rm -rf $TEMP_DIR
  31. fi
  32. mkdir $TEMP_DIR
  33. pushd $TEMP_DIR
  34. #echo 'python-redis'
  35. #git clone http://github.com/andymccurdy/redis-py.git
  36. echo 'tornado-1.1'
  37. wget http://github.com/downloads/facebook/tornado/tornado-1.1.tar.gz
  38. echo 'gflags'
  39. wget http://google-gflags.googlecode.com/files/gflags-1.3.tar.gz
  40. echo 'python-gflags'
  41. wget http://python-gflags.googlecode.com/files/python-gflags-1.3.tar.gz
  42. echo 'python-eventlet'
  43. wget http://pypi.python.org/packages/source/e/eventlet/eventlet-0.9.12.tar.gz
  44. echo 'python-sqlalchemy'
  45. wget http://downloads.sourceforge.net/project/sqlalchemy/sqlalchemy/0.6.5/SQLAlchemy-0.6.5.tar.gz
  46. popd
  47. #echo "- Manual Install for python-redis, tornado, gflags and python-gflags" >> $TODO_FILE
  48. echo "- Manual Install for tornado, gflags, python-gflags,
  49. python-eventlet and python-sqlalchemy from $TEMP_DIR
  50. If you use Ubuntu 10.10, you can install with apt-get" >> $TODO_FILE
  51. sleep 1
  52. echo 'Check out bzr repository from launchpad'
  53. pushd $BASE_DIR
  54. bzr lp-login $BZR_LOGIN
  55. bzr branch lp:nova trunk
  56. echo "- bzr whoami config" >> $TODO_FILE
  57. popd
  58. sleep 1
  59. echo 'modprobe aoe'
  60. sudo modprobe -v aoe
  61. sleep 2
  62. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  63. echo '+ Common packages installation is finished'
  64. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  65. function install_compute {
  66. echo 'Install Compute-Node'
  67. sudo apt-get install -y kpartx kvm libvirt-bin libvirt0
  68. sudo apt-get install -y bridge-utils
  69. sudo modprobe kvm
  70. }
  71. function install_controller {
  72. echo 'Install Controller-Node'
  73. sudo apt-get install rabbitmq-server euca2ools
  74. # echo 'redis-server'
  75. # mkdir -p $REDIS_DIR
  76. # pushd $REDIS_DIR
  77. # wget http://redis.googlecode.com/files/redis-2.0.1.tar.gz
  78. # echo "- Manual install for redis-server from $REDIS_DIR" >> $TODO_FILE
  79. # popd
  80. }
  81. echo
  82. echo 'You want to install ether Everything[1], Compute-Node[2], Controller-Node[3] ?'
  83. echo ' 1)Everything: Compute-Node + Controller-Node (everything-in-one system)'
  84. echo ' 2)Compute-Node: nova-compute, nova-network'
  85. echo ' 3)Controller-Node: nova-api, nova-objectstore (TBD for nova-volume)'
  86. echo -n ' Which one [1/2/3]? '
  87. read NODE
  88. if [ $NODE == 1 ]; then
  89. install_compute
  90. install_controller
  91. elif [ $NODE == 2 ]; then
  92. install_compute
  93. elif [ $NODE == 3 ]; then
  94. install_controller
  95. else
  96. echo 'Unexpected number!'
  97. exit 1
  98. fi
  99. echo '== Finished =='
  100. sleep 2
  101. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  102. echo '+ Auto-installation is finished'
  103. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  104. if [ -d $DATA_DIR ]; then
  105. rm -rf $DATA_DIR
  106. fi
  107. mkdir -p $DATA_DIR/keys
  108. mkdir -p $DATA_DIR/images
  109. mkdir -p $DATA_DIR/buckets
  110. mkdir -p $DATA_DIR/instances
  111. mkdir -p $DATA_DIR/networks
  112. sleep 2
  113. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  114. echo '+ Completed. Please see TODO file.'
  115. echo '++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++'
  116. exit 0