diff --git a/playbooks/common-tasks/set-pip-upstream-url.yml b/playbooks/common-tasks/set-pip-upstream-url.yml new file mode 100644 index 0000000000..04c9b49a1a --- /dev/null +++ b/playbooks/common-tasks/set-pip-upstream-url.yml @@ -0,0 +1,33 @@ +--- +# Copyright 2016, Rackspace US, Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# This set of tasks checks whether the repo is up yet. If it is it +# will use the get-pip.py script available there. If it is not yet +# up, then it will use the standard upstream get-pip.py script URL. + +- name: Test internal repo URL for the current get-pip.py script + uri: + url: "{{ pip_upstream_url }}" + method: "HEAD" + register: _repo_data_check + failed_when: false + when: pip_upstream_url != "https://bootstrap.pypa.io/get-pip.py" + +- name: Set pip upstream URL + set_fact: + pip_upstream_url: "https://bootstrap.pypa.io/get-pip.py" + when: + - pip_upstream_url != "https://bootstrap.pypa.io/get-pip.py" + - (_repo_data_check.status | default(503)) != 200 diff --git a/playbooks/inventory/group_vars/all.yml b/playbooks/inventory/group_vars/all.yml index 47a8242f2e..06f70c7bac 100644 --- a/playbooks/inventory/group_vars/all.yml +++ b/playbooks/inventory/group_vars/all.yml @@ -49,6 +49,9 @@ pip_lock_to_internal_repo: "{{ (pip_links | length) >= 1 }}" # The upper constraints to apply to all pip installations pip_install_upper_constraints: "{{ openstack_repo_url }}/os-releases/{{ openstack_release }}/requirements_absolute_requirements.txt" +# The URL to retrieve the get-pip.py installation script +pip_upstream_url: "{{ (pip_offline_install | bool) | ternary('https://bootstrap.pypa.io/get-pip.py', openstack_repo_url ~ '/os-releases/' ~ openstack_release ~ '/get-pip.py') }}" + ## OpenStack source options # URL for the frozen internal openstack repo. repo_server_port: 8181 diff --git a/playbooks/lxc-hosts-setup.yml b/playbooks/lxc-hosts-setup.yml index 4630ff8e8a..023da9a0b7 100644 --- a/playbooks/lxc-hosts-setup.yml +++ b/playbooks/lxc-hosts-setup.yml @@ -20,6 +20,7 @@ user: root pre_tasks: - include: common-tasks/set-upper-constraints.yml + - include: common-tasks/set-pip-upstream-url.yml - name: Check the state of the default LXC service log directory stat: path: "/var/log/lxc" diff --git a/playbooks/repo-build.yml b/playbooks/repo-build.yml index fc57ae3a40..29a15e00a3 100644 --- a/playbooks/repo-build.yml +++ b/playbooks/repo-build.yml @@ -51,6 +51,7 @@ pre_tasks: - include: common-tasks/set-upper-constraints.yml + - include: common-tasks/set-pip-upstream-url.yml - name: Load local packages debug: diff --git a/playbooks/repo-server.yml b/playbooks/repo-server.yml index 267d334cd4..a34b11bdb7 100644 --- a/playbooks/repo-server.yml +++ b/playbooks/repo-server.yml @@ -20,8 +20,6 @@ user: root pre_tasks: - - include: common-tasks/set-upper-constraints.yml - - name: Check if the git cache exists on deployment host local_action: module: stat diff --git a/playbooks/unbound-install.yml b/playbooks/unbound-install.yml index dcf3398dbf..d6d8c92415 100644 --- a/playbooks/unbound-install.yml +++ b/playbooks/unbound-install.yml @@ -18,8 +18,6 @@ - unbound_all gather_facts: "{{ gather_facts | default(True) }}" user: root - pre_tasks: - - include: common-tasks/set-upper-constraints.yml roles: - role: "unbound" tags: