| ... | ... |
@@ -318,6 +318,23 @@ function restart_service() {
|
| 318 | 318 |
} |
| 319 | 319 |
|
| 320 | 320 |
|
| 321 |
+# pip install the dependencies of the package before we do the setup.py |
|
| 322 |
+# develop, so that pip and not distutils process the dependency chain |
|
| 323 |
+# setup_develop directory |
|
| 324 |
+function setup_develop() {
|
|
| 325 |
+ (cd $1; \ |
|
| 326 |
+ python setup.py egg_info; \ |
|
| 327 |
+ raw_links=$(awk '/^.+/ {print "-f " $1}' *.egg-info/dependency_links.txt); \
|
|
| 328 |
+ depend_links=$(echo $raw_links | xargs); \ |
|
| 329 |
+ pip_install -r *-info/requires.txt $depend_links; \ |
|
| 330 |
+ sudo \ |
|
| 331 |
+ HTTP_PROXY=$http_proxy \ |
|
| 332 |
+ HTTPS_PROXY=$https_proxy \ |
|
| 333 |
+ python setup.py develop \ |
|
| 334 |
+ ) |
|
| 335 |
+} |
|
| 336 |
+ |
|
| 337 |
+ |
|
| 321 | 338 |
# Service wrapper to start services |
| 322 | 339 |
# start_service service-name |
| 323 | 340 |
function start_service() {
|
| ... | ... |
@@ -64,18 +64,23 @@ fi |
| 64 | 64 |
# repositories and branches to configure. ``stackrc`` sources ``localrc`` to |
| 65 | 65 |
# allow you to safely override those settings without being overwritten |
| 66 | 66 |
# when updating DevStack. |
| 67 |
+if [[ ! -r $TOP_DIR/stackrc ]]; then |
|
| 68 |
+ echo "ERROR: missing $TOP_DIR/stackrc - did you grab more than just stack.sh?" |
|
| 69 |
+ exit 1 |
|
| 70 |
+fi |
|
| 71 |
+source $TOP_DIR/stackrc |
|
| 67 | 72 |
|
| 68 | 73 |
# HTTP and HTTPS proxy servers are supported via the usual environment variables |
| 69 | 74 |
# ``http_proxy`` and ``https_proxy``. They can be set in ``localrc`` if necessary |
| 70 | 75 |
# or on the command line:: |
| 71 | 76 |
# |
| 72 | 77 |
# http_proxy=http://proxy.example.com:3128/ ./stack.sh |
| 73 |
- |
|
| 74 |
-if [[ ! -r $TOP_DIR/stackrc ]]; then |
|
| 75 |
- echo "ERROR: missing $TOP_DIR/stackrc - did you grab more than just stack.sh?" |
|
| 76 |
- exit 1 |
|
| 78 |
+if [[ -n "$http_proxy" ]]; then |
|
| 79 |
+ export http_proxy=$http_proxy |
|
| 80 |
+fi |
|
| 81 |
+if [[ -n "$https_proxy" ]]; then |
|
| 82 |
+ export https_proxy=$https_proxy |
|
| 77 | 83 |
fi |
| 78 |
-source $TOP_DIR/stackrc |
|
| 79 | 84 |
|
| 80 | 85 |
# Destination path for installation ``DEST`` |
| 81 | 86 |
DEST=${DEST:-/opt/stack}
|
| ... | ... |
@@ -644,16 +649,6 @@ function get_packages() {
|
| 644 | 644 |
done |
| 645 | 645 |
} |
| 646 | 646 |
|
| 647 |
-# pip install the dependencies of the package before we do the setup.py |
|
| 648 |
-# develop, so that pip and not distutils process the dependency chain |
|
| 649 |
-function setup_develop() {
|
|
| 650 |
- python setup.py egg_info |
|
| 651 |
- raw_links=`cat *.egg-info/dependency_links.txt | awk '{print "-f " $1}'`
|
|
| 652 |
- depend_links=`echo $raw_links | xargs` |
|
| 653 |
- sudo pip install -r *-info/requires.txt $depend_links |
|
| 654 |
- sudo python setup.py develop |
|
| 655 |
-} |
|
| 656 |
- |
|
| 657 | 647 |
# install package requirements |
| 658 | 648 |
if [[ "$os_PACKAGE" = "deb" ]]; then |
| 659 | 649 |
apt_get update |
| ... | ... |
@@ -720,39 +715,37 @@ fi |
| 720 | 720 |
|
| 721 | 721 |
# setup our checkouts so they are installed into python path |
| 722 | 722 |
# allowing ``import nova`` or ``import glance.client`` |
| 723 |
-cd $KEYSTONECLIENT_DIR; setup_develop |
|
| 724 |
-cd $NOVACLIENT_DIR; setup_develop |
|
| 725 |
-cd $OPENSTACKCLIENT_DIR; setup_develop |
|
| 723 |
+setup_develop $KEYSTONECLIENT_DIR |
|
| 724 |
+setup_develop $NOVACLIENT_DIR |
|
| 725 |
+setup_develop $OPENSTACKCLIENT_DIR |
|
| 726 | 726 |
if is_service_enabled key g-api n-api swift; then |
| 727 |
- cd $KEYSTONE_DIR; setup_develop |
|
| 727 |
+ setup_develop $KEYSTONE_DIR |
|
| 728 | 728 |
fi |
| 729 | 729 |
if is_service_enabled swift; then |
| 730 |
- cd $SWIFT_DIR; setup_develop |
|
| 731 |
- cd $SWIFTCLIENT_DIR; setup_develop |
|
| 732 |
- cd $SWIFT3_DIR; setup_develop |
|
| 730 |
+ setup_develop $SWIFT_DIR |
|
| 731 |
+ setup_develop $SWIFTCLIENT_DIR |
|
| 732 |
+ setup_develop $SWIFT3_DIR |
|
| 733 | 733 |
fi |
| 734 | 734 |
if is_service_enabled g-api n-api; then |
| 735 |
- cd $GLANCE_DIR; setup_develop |
|
| 735 |
+ setup_develop $GLANCE_DIR |
|
| 736 | 736 |
fi |
| 737 |
-cd $NOVA_DIR; setup_develop |
|
| 737 |
+setup_develop $NOVA_DIR |
|
| 738 | 738 |
if is_service_enabled horizon; then |
| 739 |
- cd $HORIZON_DIR; setup_develop |
|
| 740 |
-fi |
|
| 741 |
-if is_service_enabled quantum; then |
|
| 742 |
- cd $QUANTUM_CLIENT_DIR; setup_develop |
|
| 739 |
+ setup_develop $HORIZON_DIR |
|
| 743 | 740 |
fi |
| 744 | 741 |
if is_service_enabled quantum; then |
| 745 |
- cd $QUANTUM_DIR; setup_develop |
|
| 742 |
+ setup_develop $QUANTUM_CLIENT_DIR |
|
| 743 |
+ setup_develop $QUANTUM_DIR |
|
| 746 | 744 |
fi |
| 747 | 745 |
if is_service_enabled m-svc; then |
| 748 |
- cd $MELANGE_DIR; setup_develop |
|
| 746 |
+ setup_develop $MELANGE_DIR |
|
| 749 | 747 |
fi |
| 750 | 748 |
if is_service_enabled melange; then |
| 751 |
- cd $MELANGECLIENT_DIR; setup_develop |
|
| 749 |
+ setup_develop $MELANGECLIENT_DIR |
|
| 752 | 750 |
fi |
| 753 | 751 |
|
| 754 | 752 |
# Do this _after_ glance is installed to override the old binary |
| 755 |
-cd $GLANCECLIENT_DIR; setup_develop |
|
| 753 |
+setup_develop $GLANCECLIENT_DIR |
|
| 756 | 754 |
|
| 757 | 755 |
|
| 758 | 756 |
# Syslog |
| ... | ... |
@@ -2008,7 +2001,7 @@ if is_service_enabled g-reg; then |
| 2008 | 2008 |
|
| 2009 | 2009 |
ADMIN_USER=admin |
| 2010 | 2010 |
ADMIN_TENANT=admin |
| 2011 |
- TOKEN=`curl -s -d "{\"auth\":{\"passwordCredentials\": {\"username\": \"$ADMIN_USER\", \"password\": \"$ADMIN_PASSWORD\"}, \"tenantName\": \"$ADMIN_TENANT\"}}" -H "Content-type: application/json" http://$HOST_IP:5000/v2.0/tokens | python -c "import sys; import json; tok = json.loads(sys.stdin.read()); print tok['access']['token']['id'];"`
|
|
| 2011 |
+ TOKEN=$(keystone --os_tenant_name $ADMIN_TENANT --os_username $ADMIN_USER --os_password $ADMIN_PASSWORD --os_auth_url http://$HOST_IP:5000/v2.0 token-get | grep ' id ' | get_field 2) |
|
| 2012 | 2012 |
|
| 2013 | 2013 |
# Option to upload legacy ami-tty, which works with xenserver |
| 2014 | 2014 |
if [[ -n "$UPLOAD_LEGACY_TTY" ]]; then |
| ... | ... |
@@ -2018,7 +2011,7 @@ if is_service_enabled g-reg; then |
| 2018 | 2018 |
for image_url in ${IMAGE_URLS//,/ }; do
|
| 2019 | 2019 |
# Downloads the image (uec ami+aki style), then extracts it. |
| 2020 | 2020 |
IMAGE_FNAME=`basename "$image_url"` |
| 2021 |
- if [ ! -f $FILES/$IMAGE_FNAME ]; then |
|
| 2021 |
+ if [[ ! -f $FILES/$IMAGE_FNAME || "$(stat -c "%s" $FILES/$IMAGE_FNAME)" = "0" ]]; then |
|
| 2022 | 2022 |
wget -c $image_url -O $FILES/$IMAGE_FNAME |
| 2023 | 2023 |
fi |
| 2024 | 2024 |
|