diff --git a/defaults/main.yml b/defaults/main.yml index 5171ef87..706d427d 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -13,6 +13,9 @@ # See the License for the specific language governing permissions and # limitations under the License. + +# Enable/Disable barbican configurations +nova_barbican_enabled: False # Enable/Disable designate configurations nova_designate_enabled: False # Notification topics for designate. diff --git a/tasks/nova_install_apt.yml b/tasks/nova_install_apt.yml index 667918d6..cac5bb16 100644 --- a/tasks/nova_install_apt.yml +++ b/tasks/nova_install_apt.yml @@ -49,6 +49,7 @@ state: "{{ nova_package_state }}" with_items: - "{{ nova_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}" + when: item != '' register: install_nova_role_packages async: 600 poll: 0 diff --git a/tasks/nova_install_yum.yml b/tasks/nova_install_yum.yml index 1975c679..fac78cdd 100644 --- a/tasks/nova_install_yum.yml +++ b/tasks/nova_install_yum.yml @@ -30,6 +30,7 @@ state: "{{ nova_package_state }}" with_items: - "{{ nova_packages_list | selectattr('enabled') | sum(attribute='packages', start=[]) }}" + when: item != '' register: install_nova_role_packages async: 600 poll: 0 diff --git a/templates/nova.conf.j2 b/templates/nova.conf.j2 index d676944c..dde99a32 100644 --- a/templates/nova.conf.j2 +++ b/templates/nova.conf.j2 @@ -283,6 +283,14 @@ hw_disk_discard = {{ nova_libvirt_hw_disk_discard }} disk_cachemodes = {{ nova_libvirt_disk_cachemodes }} {% endif %} +{% if nova_barbican_enabled %} +[barbican] +auth_endpoint = {{ keystone_service_internaluri }}/v3 + +[key_manager] +api_class = castellan.key_manager.barbican_key_manager.BarbicanKeyManager +{% endif %} + [wsgi] api_paste_config = /etc/nova/api-paste.ini {% if nova_external_ssl | bool %} diff --git a/vars/redhat-7.yml b/vars/redhat-7.yml index 16160e39..96f2d188 100644 --- a/vars/redhat-7.yml +++ b/vars/redhat-7.yml @@ -38,6 +38,7 @@ nova_novnc_distro_packages: nova_compute_kvm_distro_packages: - bridge-utils + - "{% if nova_barbican_enabled | bool %}cryptsetup{% endif %}" - device-mapper-multipath - dosfstools - genisoimage diff --git a/vars/ubuntu-16.04.yml b/vars/ubuntu-16.04.yml index 43301dcb..258e5cd4 100644 --- a/vars/ubuntu-16.04.yml +++ b/vars/ubuntu-16.04.yml @@ -40,6 +40,7 @@ nova_novnc_distro_packages: nova_compute_kvm_distro_packages: - bridge-utils + - "{% if nova_barbican_enabled | bool %}cryptsetup{% endif %}" - genisoimage - kpartx - libvirt-bin @@ -57,6 +58,7 @@ nova_compute_kvm_distro_packages: nova_compute_lxd_distro_packages: - bridge-utils + - "{% if nova_barbican_enabled | bool %}cryptsetup{% endif %}" - dosfstools - dosfstools-dbg - genisoimage @@ -81,6 +83,7 @@ uca_repo: "deb {{ uca_apt_repo_url }} {{ uca_repo_dist }} main" # nova powervm virt driver nova_compute_powervm_distro_packages: - bridge-utils + - "{% if nova_barbican_enabled | bool %}cryptsetup{% endif %}" - genisoimage - kpartx - open-iscsi