From 1cce89200844d70efb23685dd3e8df08c9f58165 Mon Sep 17 00:00:00 2001
From: Mohammed Naser <mnaser@vexxhost.com>
Date: Thu, 18 Jul 2019 16:42:53 -0400
Subject: [PATCH] build: use upper-constraints.txt from rally-openstack

We had all of the upper-constraints hardwired inside the role
which was not ideal.  This patch grabs the latest upper-constraints
as we are installing the latest package in this case.

Change-Id: Icfac74a031d9059d50772d8423c5ba3f6aa00407
---
 defaults/main.yml | 16 +++++++---------
 tasks/main.yml    |  1 +
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/defaults/main.yml b/defaults/main.yml
index 73dd5d1..9ed18be 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -38,16 +38,14 @@ rally_galera_database: rally
 rally_galera_user: rally
 rally_database_connection_string: mysql+pymysql://{{ rally_galera_user }}:{{ rally_galera_password }}@{{ rally_galera_address }}/{{ rally_galera_database }}?charset=utf8
 
-# These pins are sourced from the rally git repository's
-# upper-constraints file. These should be updated whenever
-# the rally pin is updated. The package pins here are only
-# those not already covered by upper constraints.
+# NOTE(mnaser): This uses the Rally upper-constraints because it
+#               is branchless and maintains it's own constraints,
+#               outside of requirements.
+rally_upper_constraints_url: "https://opendev.org/openstack/rally-openstack/raw/branch/master/upper-constraints.txt"
+rally_git_constraints:
+  - "--constraint {{ rally_upper_constraints_url }}"
 rally_pip_packages:
-  - adal==1.2.1
-  - os-faults==0.2.2
-  - pymysql # not pinned as it is in u-c
-  - rally==1.5.1
-  - rally-openstack==1.4.0
+  - rally-openstack
 
 # The inventory group where Rally will be installed.
 # This variable is used by the repo_build process to determine
diff --git a/tasks/main.yml b/tasks/main.yml
index b98a3c3..546d32b 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -46,6 +46,7 @@
   import_role:
     name: "python_venv_build"
   vars:
+    venv_build_constraints: "{{ rally_git_constraints }}"
     venv_install_destination_path: "{{ rally_bin | dirname }}"
     venv_install_distro_package_list: "{{ rally_distro_packages }}"
     venv_pip_install_args: "{{ rally_pip_install_args }}"