eemk.in 4.4KB

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