diff --git a/README.rst b/README.rst
index 601af7150..95a826989 100644
--- a/README.rst
+++ b/README.rst
@@ -31,11 +31,11 @@ Features
`ironic inspector `_
* Containerised workloads on bare metal using `OpenStack magnum
`_
+* Big data on bare metal using `OpenStack sahara
+ `_
In the near future we aim to add support for the following:
-* Big data on bare metal using `OpenStack sahara
- `_
* Control plane and workload monitoring and log aggregation using `OpenStack
monasca `_
* Virtualised compute using `OpenStack nova
diff --git a/ansible/group_vars/all/kolla b/ansible/group_vars/all/kolla
index b44208c0a..66c5e8b9f 100644
--- a/ansible/group_vars/all/kolla
+++ b/ansible/group_vars/all/kolla
@@ -121,6 +121,8 @@ controller_container_image_regex_map:
enabled: True
- regex: rabbitmq
enabled: True
+ - regex: sahara
+ enabled: "{{ kolla_enable_sahara | bool }}"
- regex: swift
enabled: "{{ kolla_enable_swift | bool }}"
- regex: tgtd
@@ -169,6 +171,7 @@ kolla_enable_glance: "yes"
kolla_enable_ironic: "yes"
kolla_enable_neutron: "yes"
kolla_enable_magnum: "no"
+kolla_enable_sahara: "no"
kolla_enable_swift: "yes"
###############################################################################
diff --git a/ansible/kolla-openstack.yml b/ansible/kolla-openstack.yml
index b54c18394..81fb2cb0f 100644
--- a/ansible/kolla-openstack.yml
+++ b/ansible/kolla-openstack.yml
@@ -21,6 +21,7 @@
- { name: neutron, file: neutron.conf }
- { name: neutron_ml2, file: neutron/ml2_conf.ini }
- { name: nova, file: nova.conf }
+ - { name: sahara, file: sahara.conf }
- name: Initialise a fact containing extra configuration
set_fact:
@@ -94,3 +95,4 @@
kolla_extra_neutron: "{{ kolla_extra_config.neutron | default }}"
kolla_extra_neutron_ml2: "{{ kolla_extra_config.neutron_ml2 | default }}"
kolla_extra_nova: "{{ kolla_extra_config.nova | default }}"
+ kolla_extra_sahara: "{{ kolla_extra_config.sahara | default }}"
diff --git a/ansible/roles/kolla-openstack/defaults/main.yml b/ansible/roles/kolla-openstack/defaults/main.yml
index c981608dd..b2f783a4b 100644
--- a/ansible/roles/kolla-openstack/defaults/main.yml
+++ b/ansible/roles/kolla-openstack/defaults/main.yml
@@ -228,3 +228,12 @@ kolla_enable_nova:
# Free form extra configuration to append to nova.conf.
kolla_extra_nova:
+
+###############################################################################
+# Sahara configuration.
+
+# Whether to enable sahara.
+kolla_enable_sahara:
+
+# Free form extra configuration to append to sahara.conf.
+kolla_extra_sahara:
diff --git a/ansible/roles/kolla-openstack/tasks/config.yml b/ansible/roles/kolla-openstack/tasks/config.yml
index 9ab7506ff..97c7d3ee6 100644
--- a/ansible/roles/kolla-openstack/tasks/config.yml
+++ b/ansible/roles/kolla-openstack/tasks/config.yml
@@ -25,6 +25,7 @@
- { src: neutron.conf.j2, dest: neutron.conf, enabled: "{{ kolla_enable_neutron }}" }
- { src: nova.conf.j2, dest: nova.conf, enabled: "{{ kolla_enable_nova }}" }
- { src: pxelinux.default.j2, dest: ironic/pxelinux.default, enabled: "{{ kolla_enable_ironic }}" }
+ - { src: sahara.conf.j2, dest: sahara.conf, enabled: "{{ kolla_enable_sahara }}" }
when: "{{ item.enabled | bool }}"
- name: Ensure the ironic inspector kernel and ramdisk exist
diff --git a/ansible/roles/kolla-openstack/templates/sahara.conf.j2 b/ansible/roles/kolla-openstack/templates/sahara.conf.j2
new file mode 100644
index 000000000..995cfe9bb
--- /dev/null
+++ b/ansible/roles/kolla-openstack/templates/sahara.conf.j2
@@ -0,0 +1,9 @@
+# {{ ansible_managed }}
+
+{% if kolla_extra_sahara %}
+#######################
+# Extra configuration
+#######################
+
+{{ kolla_extra_sahara }}
+{% endif %}