25 Commits

Author SHA1 Message Date
Dean Troyer
dc97cb71e8 Mostly docs cleanups
Fix documentation build errors and RST formatting

Change-Id: Id93153400c5b069dd9d772381558c7085f64c207
2015-03-28 14:35:12 -05:00
Ian Wienand
7c4ce9edba Check for new versions of get-pip.py
People can leave their devstack installs around for a long time, and
in the mean time new versions of pip can be released.

The current check does not download a new version if an old one
exists.  We want to check for new versions, but we also don't want the
gate jobs trying this sometimes unreliable fetch.

So add a flag-file that tells devstack if it downloaded get-pip.py
originally.  If so, on each run check for a new version using curl's
"-z" flag to request only files modified since the file's timestamp.

Change-Id: I91734528f02deafabf3d18d968c3abd749751199
Closes-Bug: #1429943
2015-03-11 09:40:13 +11:00
Davanum Srinivas
f5b4154251 Switch on curl retry options for fetching get-pip.py
Let's retry a few times before giving up.

Related-Bug: #1413034

Change-Id: I7c5c1a3936b5c08c5de43edc569b5a53d11b55a7
2015-01-22 07:57:42 -05:00
Adam Gandelman
130efefe6c Call sudo /w -H in install_pip.sh as well
We updated other usage of sudo to pass -H when installing pip things,
to avoid creating a .cache directory in $STACK_USER's $HOME that is
owned by root. get-pip.py also ends up creating a ~/.cache, so we
need to update sudo usage there as well.

Closes-bug: #1405626
Related-bug: #1405732

Change-Id: If791b9b25d6a4280dab19117004184e57e78d038
2014-12-27 14:09:07 -08:00
Jeremy Stanley
35b5283a8f Comment option to enable Setuptools warnings
Change-Id: I9fc247ab343c2cea0a8a5b7a3823b5525d6c311f
2014-12-18 17:41:43 +00:00
Jeremy Stanley
b7ebc4765a Revert "Pin version of setuptools"
This reverts commit 3b782d304ec2073a6406c37b9e1a76c8aecfc9a3.

The blockers for setuptools 8 compatibility should all be resolved
now.

Change-Id: I6d2d63746f98f0f885816395f36022a2706fb9c5
2014-12-18 17:09:25 +00:00
Ruslan Kamaldinov
3b782d304e Pin version of setuptools
Latest release of setuptool 8.0 made several versions used in
requirements.txt of OpenStack projects invalid. Instances:
* SQLAlchemy>=0.8.4,<=0.8.99,>=0.9.7,<=0.9.99 in oslo.db 1.2.0
* python-neutronclient 2.3.9.40.g9ed73c0 in openstackclient

Cap '<8.0' is set as a temporary fix until a better solution
comes up.

Change-Id: I4cfe2e4c86474ec9bf69a3c2007c0277288ea2b6
2014-12-13 23:19:34 +03:00
Franck Yelles
683ff42d3c Support of an alternate pypi server
Currently pip will get the package from the https://pypi.python.org server.
For CI, it's a problem as Internet connection can be down,
the pypi server down, etc...

The usecase is for a company/user that maintain a local pypi mirror
and give the option to use this server instead of the official one

Change-Id: I83aac4646cb78827a92c9636d78238f8a6118642
Implements: blueprint support-local-pypi-server
2014-06-23 15:19:46 -07:00
Jenkins
c3fd0b5298 Merge "make get-pip.py download failures more clear" 2014-06-10 15:16:04 +00:00
Mathieu Gagné
76ed427ca1 Update setuptools to latest for .dist-info support
Support for .dist-info directories was added in setuptools 0.6.28.

At this moment, Ubuntu Precise 12.04 provides setuptools 0.6.24
which is too old for our needs.

Six is installed from wheel which uses the .dist-info directory.
For six to be found, we need to install setuptools >= 0.6.28.

Updating setuptools to the latest version using pip will provide use
the needed version to make six discoverable.

Closes-bug: #1326811
Change-Id: I761d0aeb2b8b593cee38d512afc8fed6a2d1fe37
2014-06-05 18:11:16 -04:00
Sean Dague
f625ffe24f make get-pip.py download failures more clear
curl dying ends up being a really unclear failure condition, and
hard to fingerprint in the gate. We should make this much more
explicit when we die.

Also, don't trust the upstream filename, because all the rest of
our logic would break if it changes anyway.

Change-Id: Ibc2a96b33471d24c597af0d7af896fb10523156f
2014-06-05 14:01:56 +00:00
Sean Dague
7b63c5ec9e be opinionated: only use get-pip.py
get-pip.py is now on a CDN, and is the prefered way to get pip.

Remove the default path of using pip tarballs from pypi and use
get-pip.py on from here on.

Closes-Bug: #1326539

Change-Id: I0661f7c6913ba6b3e1d00b30e22740d150bfd060
2014-06-04 22:53:25 +00:00
Sean Dague
33ff33b1fb cache the pip tarball
there is no need to download the pip tarball over and over again
on rerun. Use the cached value.

Change-Id: Ibcc1807ba2aca062f69839212f05ac9394db9448
2014-03-28 15:14:56 -04:00
Ian Wienand
aee18c749b Enforce function declaration format in bash8
Check that function calls look like ^function foo {$ in bash8, and fix
all existing failures of that check.  Add a note to HACKING.rst

Change-Id: Ic19eecb39e0b20273d1bcd551a42fe400d54e938
2014-02-28 07:59:03 +11:00
KIYOHIRO ADACHI
a515a70e2b Fixed check method of $USE_GET_PIP
'[[ -n "$USE_GET_PIP" ]]' always TRUE
because $USE_GET_PIP is '0' or '1'.

Change-Id: I73c4c6befe2126882ef21991b2a3fe712b2ac388
Closes-Bug: #1259824
2013-12-11 16:14:00 +09:00
sbauza
a49422e33e Fix install_get_pip in order to work behind a proxy
Proxy envvars are not passed to pip when sudo, we need to export
them.

Change-Id: I67622f5ea8ecb948006e032bdc395ecf36914146
Closes-Bug: #1258155
2013-12-05 14:56:14 +01:00
Monty Taylor
480309eea5 Allow overriding USE_GET_PIP via env vars
devstack-gate wants to pre-cache and then use get-pip, but we can't
throw the flag currently. Make the flag default settable via env vars.

Change-Id: I661b52670b6ce494666cbdd611e4eee6b96c8321
Partial-Bug: #1254275
2013-11-25 10:20:04 -05:00
DennyZhang
3931573f2b mute useless console output, when run ./stack.sh
Run ./stack.sh will dump ~400 lines of information, because of
tar xvfz pip-*.tar.gz, and python setup.py install.

We'd better mute stdout for the two steps, to make console cleaner

Change-Id: Icf87947e020acb48d8cbe4cdcc1641f060e50f6d
2013-10-11 00:12:30 -05:00
Attila Fazekas
46ea723868 install_pip script fails if pip was not installed
'set -o errexit' recently added to the pip installer script, which causes
the script fail when it does not able to find an already installed pip.

This change handles the situation when pip is not installed.

Change-Id: I18a42d13c4be6699db21ec5b6a095a88a199912d
2013-10-07 07:32:58 +02:00
Adam Spiers
c85ade7720 set errexit and xtrace in helper scripts
stack.sh invokes some helper scripts as separate processes, rather than
by source'ing them.  As with stack.sh itself, abort immediately on the
first error, so that errors don't compound and result in confusing error
messages.  If one of these helper scripts aborts, stack.sh itself will
also abort in the usual manner.

Due to the change in behaviour, tweak some mv invocations to ensure that
they don't trigger false failures.

As with stack.sh itself, also enable xtrace so we can see exactly what's
happening.  In particular this allows us to see the cause of any
premature termination due to a command failing whilst errexit is
enabled.

Change-Id: I7a55784c31e5395e29ab9bbe2bb112b83b9be693
2013-10-01 17:54:40 +01:00
Jenkins
7ab1f22c60 Merge "Stop doing special things with setuptools" 2013-09-13 11:27:59 +00:00
Chmouel Boudjnah
5917868e75 Use 1.4.1 of pip.
- This is where the option pip install --pre is.

Change-Id: I3f836a701f17a4fea888ec51da62e7137cf0e6db
2013-09-06 16:14:17 +02:00
Monty Taylor
dace92f557 Stop doing special things with setuptools
pip 1.4 can handle the distribute/setuptools upgrade sequencing
appropriate. So it turns out all we need to upgrade is pip, and then the
rest will fall in to place. This will still not fix the packages vs. pip
interactions, but we don't to muck with the system setuptools packages
at all.

Change-Id: I99220ccc190798c3eb77bb2361abc6606bd546b4
2013-08-11 00:03:10 -03:00
Dean Troyer
9acc12a392 More Python package fixes
* Add tools/fixup_stuff.sh to fix prettytable and httplib2 install
  with pip 1.4+
* Cache downloads properly in tools/install_pip.sh

Change-Id: I482590cb91f7a10c1436bc9015afd572ac1cc73e
2013-08-10 16:44:17 -07:00
Dean Troyer
62d1d698a0 Add tools/install_pip.sh
Install a known working recent version of pip that handles installation
dependencies more correctly than before.  Extract to a separate script
so it can be used apart from stack.sh.

* Install distro setuptools if it not already present
* Install pip from source tarball as get-pip.py proved to be unreliable
* Remove python-distribute and python-pip from all prereq files,
  move python-setuptools to 'general'
* Remove the earlier unfubar_setuptppls() call that attenpted to fix this
* Only update requirements.txt when no changes in repo

Tested on Precise, F18 and CentOS6.
* Fedora and RHEL allow pip to install packages ON TOP OF RPM-installed
  packages.  THIS IS BROKEN.  And is one reason we have to be so picky
  about order and so forth.

Change-Id: Ibb4b42119dc2e51577c77bbbbffb110863e5324d
2013-08-07 20:28:56 -05:00