In an environment which is disconnected from the outside network, all RPM installations during bootstrap are eventually successful — however, the RPMs' installation sequence still tries to refer to pypi repo.
In some environments, the attempt to access the external network is blocked / refused very quickly, so this is unnoticable. On other environments, a socket is being opened to the pypi repo and remains on SYN_SENT for a long time until it times out (and then installation continues and succeeds).
As there are many RPMs involved, each one has to time out before proceeding to "real" offline installation, which dramatically increases bootstrap time.
What we should do:
- Ensure that --no-index is added to all pip calls invoked in RPM installation
- Ensure that --no-download is added to all virtualenv calls invoked in RPM installation