diff --git a/playbooks/roles/bifrost-ironic-install/tasks/install.yml b/playbooks/roles/bifrost-ironic-install/tasks/install.yml index 1a4c05c7b..5321ffac8 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/install.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/install.yml @@ -51,12 +51,14 @@ include: pip_install.yml package=proliantutils state=present + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and testing | bool != true - name: "UcsSdk - Install from pip" include: pip_install.yml package=UcsSdk version=0.8.1.9 + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and testing | bool != true - name: "Install iSCSI client if PXE driver support is enabled" @@ -79,6 +81,8 @@ package=diskimage-builder sourcedir={{ dib_git_folder }} source_install=true + # NOTE(TheJulia): DIB is in upper-constraints and can't be constrainted + # as a result. when: skip_install is not defined and install_dib | bool == true - name: "Ironic Client - Install" @@ -87,20 +91,30 @@ state=latest sourcedir={{ ironicclient_git_folder }} source_install={{ ironicclient_source_install }} + # NOTE(TheJulia): We do not explicitly define an upper constraints file + # to be utilized in order to allow newer versions to be installed. when: skip_install is not defined - name: "Install configparser in venv if using" - include: pip_install.yml package=configparser virtualenv={{ bifrost_venv_dir }} + include: pip_install.yml + package=configparser + virtualenv={{ bifrost_venv_dir }} + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and (enable_venv | bool == true) - name: "Install pymysql in venv if using" - include: pip_install.yml package=pymysql virtualenv={{ bifrost_venv_dir }} + include: pip_install.yml + package=pymysql + virtualenv={{ bifrost_venv_dir }} + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and (enable_venv | bool == true) # NOTE(hwoarang): The python-pymysql package is not available on the CentOS7 # and old Debian/Ubuntu repositories so we need to get it via pip - name: "Install pymysql on CentOS/Ubuntu if necessary" - include: pip_install.yml package=pymysql + include: pip_install.yml + package=pymysql + extra_args="-c {{ upper_constraints_file }}" when: - skip_install is not defined - enable_venv | bool == false diff --git a/playbooks/roles/bifrost-ironic-install/tasks/pip_install.yml b/playbooks/roles/bifrost-ironic-install/tasks/pip_install.yml index d0f451107..0041b0ed9 100644 --- a/playbooks/roles/bifrost-ironic-install/tasks/pip_install.yml +++ b/playbooks/roles/bifrost-ironic-install/tasks/pip_install.yml @@ -27,6 +27,7 @@ virtualenv: "{{ bifrost_venv_dir }}" virtualenv_command: "{{ venv_command | default(omit) }}" extra_args: "{{ extra_args | default(omit) }}" + requirements: "{{ requirements_file | default(omit) }}" register: pip_package_install_done until: pip_package_install_done|succeeded retries: 5 @@ -39,6 +40,7 @@ state: "{{ state | default(omit) }}" version: "{{ version | default(omit) }}" extra_args: "{{ extra_args | default(omit) }}" + requirements: "{{ requirements_file | default(omit) }}" register: pip_package_install_done until: pip_package_install_done|succeeded retries: 5 diff --git a/playbooks/roles/bifrost-keystone-install/tasks/install.yml b/playbooks/roles/bifrost-keystone-install/tasks/install.yml index eb7d31d0b..73d7534db 100644 --- a/playbooks/roles/bifrost-keystone-install/tasks/install.yml +++ b/playbooks/roles/bifrost-keystone-install/tasks/install.yml @@ -31,11 +31,17 @@ # duplicating here as we are installing a separate service with this. # We may wish to refactor this at a later point in time. - name: "Install configparser in venv if using" - include: pip_install.yml package=configparser virtualenv=bifrost_venv_dir + include: pip_install.yml + package=configparser + virtualenv=bifrost_venv_dir + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and (enable_venv | bool == true) - name: "Install pymysql in venv if using" - include: pip_install.yml package=pymysql virtualenv=bifrost_venv_dir + include: pip_install.yml + package=pymysql + virtualenv=bifrost_venv_dir + extra_args="-c {{ upper_constraints_file }}" when: skip_install is not defined and (enable_venv | bool == true) - name: "Install keystone using pip"