Skip to content

Commit 33bd721

Browse files
Jenkinsopenstack-gerrit
authored andcommitted
Merge "Fix issues when working through an outbound proxy"
2 parents 0317583 + bbafb1b commit 33bd721

File tree

2 files changed

+44
-34
lines changed

2 files changed

+44
-34
lines changed

functions

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,23 @@ function restart_service() {
318318
}
319319

320320

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+
321338
# Service wrapper to start services
322339
# start_service service-name
323340
function start_service() {

stack.sh

Lines changed: 27 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,23 @@ fi
6464
# repositories and branches to configure. ``stackrc`` sources ``localrc`` to
6565
# allow you to safely override those settings without being overwritten
6666
# 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
6772

6873
# HTTP and HTTPS proxy servers are supported via the usual environment variables
6974
# ``http_proxy`` and ``https_proxy``. They can be set in ``localrc`` if necessary
7075
# or on the command line::
7176
#
7277
# 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
7783
fi
78-
source $TOP_DIR/stackrc
7984

8085
# Destination path for installation ``DEST``
8186
DEST=${DEST:-/opt/stack}
@@ -644,16 +649,6 @@ function get_packages() {
644649
done
645650
}
646651

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-
657652
# install package requirements
658653
if [[ "$os_PACKAGE" = "deb" ]]; then
659654
apt_get update
@@ -720,39 +715,37 @@ fi
720715

721716
# setup our checkouts so they are installed into python path
722717
# 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
718+
setup_develop $KEYSTONECLIENT_DIR
719+
setup_develop $NOVACLIENT_DIR
720+
setup_develop $OPENSTACKCLIENT_DIR
726721
if is_service_enabled key g-api n-api swift; then
727-
cd $KEYSTONE_DIR; setup_develop
722+
setup_develop $KEYSTONE_DIR
728723
fi
729724
if is_service_enabled swift; then
730-
cd $SWIFT_DIR; setup_develop
731-
cd $SWIFTCLIENT_DIR; setup_develop
732-
cd $SWIFT3_DIR; setup_develop
725+
setup_develop $SWIFT_DIR
726+
setup_develop $SWIFTCLIENT_DIR
727+
setup_develop $SWIFT3_DIR
733728
fi
734729
if is_service_enabled g-api n-api; then
735-
cd $GLANCE_DIR; setup_develop
730+
setup_develop $GLANCE_DIR
736731
fi
737-
cd $NOVA_DIR; setup_develop
732+
setup_develop $NOVA_DIR
738733
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
734+
setup_develop $HORIZON_DIR
743735
fi
744736
if is_service_enabled quantum; then
745-
cd $QUANTUM_DIR; setup_develop
737+
setup_develop $QUANTUM_CLIENT_DIR
738+
setup_develop $QUANTUM_DIR
746739
fi
747740
if is_service_enabled m-svc; then
748-
cd $MELANGE_DIR; setup_develop
741+
setup_develop $MELANGE_DIR
749742
fi
750743
if is_service_enabled melange; then
751-
cd $MELANGECLIENT_DIR; setup_develop
744+
setup_develop $MELANGECLIENT_DIR
752745
fi
753746

754747
# Do this _after_ glance is installed to override the old binary
755-
cd $GLANCECLIENT_DIR; setup_develop
748+
setup_develop $GLANCECLIENT_DIR
756749

757750

758751
# Syslog
@@ -2008,7 +2001,7 @@ if is_service_enabled g-reg; then
20082001
20092002
ADMIN_USER=admin
20102003
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'];"`
2004+
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)
20122005
20132006
# Option to upload legacy ami-tty, which works with xenserver
20142007
if [[ -n "$UPLOAD_LEGACY_TTY" ]]; then
@@ -2018,7 +2011,7 @@ if is_service_enabled g-reg; then
20182011
for image_url in ${IMAGE_URLS//,/ }; do
20192012
# Downloads the image (uec ami+aki style), then extracts it.
20202013
IMAGE_FNAME=`basename "$image_url"`
2021-
if [ ! -f $FILES/$IMAGE_FNAME ]; then
2014+
if [[ ! -f $FILES/$IMAGE_FNAME || "$(stat -c "%s" $FILES/$IMAGE_FNAME)" = "0" ]]; then
20222015
wget -c $image_url -O $FILES/$IMAGE_FNAME
20232016
fi
20242017

0 commit comments

Comments
 (0)