eemk.in 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. #!/bin/bash
  2. . __FFOO_INIT__
  3. FFOO_INIPATH="__FFOO_INIPATH__"
  4. ffoo import core
  5. ffoo import ini
  6. ffoo import proj_ol
  7. ffoo import testing
  8. ffoo import sw
  9. ffoo import yummy
  10. ENVIRON_SCRIPT="$FFOO_DATA_DIR-local/bash_env"
  11. FFOO_VERBOSE=true
  12. # tmp needs to be shared to children
  13. if test -d "$TMP_DIR";
  14. then # we must be child
  15. THIS_IS_CHILD=true
  16. else # we are top parent; need some setup
  17. THIS_IS_CHILD=false
  18. export TMP_DIR="$(mktemp -d)"
  19. fi
  20. [ "$(whoami)" == "root" ] || die "you need to be root"
  21. yum_install_if_needed wget
  22. case "$1" in
  23. ## ------ ##
  24. ## COMMON ##
  25. ## ------ ##
  26. abrtbz)
  27. think "Updating abrt to internal version"
  28. save_repo_for abrtbz
  29. yum_update "abrt"
  30. ;;
  31. sl0)
  32. think "Turning off SELinux"
  33. setenforce 0
  34. sed -i~ -e 's/^SELINUX=.*/SELINUX=permissive/' /etc/selinux/config
  35. ;;
  36. ## ------- ##
  37. ## OPENLMI ##
  38. ## ------- ##
  39. ## setup - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##
  40. olbrc)
  41. LMI_CIMOM_PORT=5989
  42. mkdir -p "$(dirname $ENVIRON_SCRIPT)"
  43. think "Adding ol environment script $ENVIRON_SCRIPT to .bashrc"
  44. {
  45. # warning: only echo if not login shell or rsync will freak out
  46. echo "shopt -q login_shell && echo setting up ol environment variables"
  47. echo "export LMI_ACCOUNT_USER='account_test_user'"
  48. echo "export LMI_ACCOUNT_GROUP='account_test_group'"
  49. echo "export LMI_CIMOM_URL='https://${HOSTNAME}:$LMI_CIMOM_PORT'"
  50. echo "export LMI_CIMOM_USERNAME='pegasus'"
  51. echo "export LMI_CIMOM_PASSWORD='blank'"
  52. echo "export LMI_CIMOM_BROKER='tog-pegasus'"
  53. echo "export LMI_RUN_DANGEROUS='1'"
  54. echo "export LMI_IND_LISTENER_PORT='15000'"
  55. echo "export PYTHONPATH='$PYTHONPATH:$PWD/openlmi-providers/src/python'"
  56. } > $ENVIRON_SCRIPT
  57. append_if_missing \
  58. "test -f $ENVIRON_SCRIPT && . $ENVIRON_SCRIPT" \
  59. /root/.bashrc
  60. ;;
  61. olconfig)
  62. $0 sl0
  63. think "Bypassing SSL verification"
  64. echo "127.0.0.1 $(hostname)" >> /etc/hosts
  65. service tog-pegasus start # to generate server.pem
  66. service tog-pegasus stop
  67. cp "/etc/Pegasus/server.pem" \
  68. "/etc/pki/ca-trust/source/anchors/remote-server.pem"
  69. update-ca-trust
  70. think "Setting pegasus password"
  71. echo "pegasus:blank" | chpasswd
  72. $0 olbrc
  73. ;;
  74. ## runtime - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##
  75. olenv)
  76. . $ENVIRON_SCRIPT
  77. ;;
  78. olcs)
  79. think "Starting a simple cimserver ($(comment_cimserver))"
  80. start_cimserver
  81. ;;
  82. olrun*)
  83. $0 olcs
  84. $0 olenv
  85. iniread -p mk.run.what.$2 mk-ol.ini \
  86. | while read path;
  87. do
  88. pushd "$(dirname $path)";
  89. nosetests --nocapture -v "$(basename $path)"
  90. popd
  91. done
  92. stop_cimserver
  93. ;;
  94. OL)
  95. save_repo_for openlmi-scripts
  96. think "Installing OpenLMI software"
  97. iniread -s mk.requires.sut mk-ol.ini | any_install
  98. think "Installing testing tools"
  99. iniread -s mk.requires.test mk-ol.ini | any_install
  100. $0 olconfig
  101. ;;
  102. ## --------- ##
  103. ## BEAKERLIB ##
  104. ## --------- ##
  105. bkrund)
  106. TERM=xterm reset
  107. pushd "mk-$2"
  108. make run > 1
  109. popd
  110. ;;
  111. bkrun)
  112. pushd "mk-$2"
  113. make run
  114. popd
  115. ;;
  116. ## rpmwork - - - - - - - - - - - - - - - - - - - - - - - - - - - - ##
  117. rpmso)
  118. path=rpms/old/`arch`
  119. think "Deploying old RPMs from $path"
  120. guess_pkgnames $path | yum_preerase
  121. yum_install $path/*
  122. guess_pkgnames $path | installed_versions
  123. ;;
  124. rpmsn)
  125. path=rpms/new/`arch`
  126. think "Deploying new RPMs from $path"
  127. guess_pkgnames $path | yum_preerase
  128. yum_install $path/*
  129. guess_pkgnames $path | installed_versions
  130. ;;
  131. RH)
  132. save_repo_for beakerlib
  133. save_repo_for rhpkg
  134. save_repo_for beakerlib-redhat
  135. think "Installing tested software"
  136. iniread -s mk.requires.sut mk-bk.ini | any_install
  137. think "Installing testing tools"
  138. iniread -s mk.requires.test mk-bk.ini | any_install
  139. ;;
  140. *)
  141. usage_is "TARGET"
  142. esac
  143. if ! $THIS_IS_CHILD;
  144. then
  145. collect_artifacts artifacts
  146. rm -rf $TMP_DIR
  147. fi