aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2016-04-15 12:04:56 +0000
committerGerrit Code Review <review@openstack.org>2016-04-15 12:04:57 +0000
commit908a74d6705691a8ebbfc3cc25ddcdc713bb4abc (patch)
treec41fc4d64673fe5694fa1da3337ec59fab347988
parent9dafdd074f15edd4b4efcc17040c4532a3f50c38 (diff)
parent6c2d7c79442b0d27f15671c31c5a0c0c6e58f372 (diff)
downloadkolla-908a74d6705691a8ebbfc3cc25ddcdc713bb4abc.tar.gz
kolla-908a74d6705691a8ebbfc3cc25ddcdc713bb4abc.zip
Merge "Adds ansible code for iscsid and tgtd containers"
-rw-r--r--ansible/roles/cinder/tasks/bootstrap.yml14
-rw-r--r--ansible/roles/cinder/tasks/start.yml17
-rw-r--r--ansible/roles/iscsi/defaults/main.yml13
-rw-r--r--ansible/roles/iscsi/tasks/config.yml34
-rw-r--r--ansible/roles/iscsi/tasks/deploy.yml4
-rw-r--r--ansible/roles/iscsi/tasks/main.yml2
-rw-r--r--ansible/roles/iscsi/tasks/pull.yml7
-rw-r--r--ansible/roles/iscsi/tasks/reconfigure.yml1
-rw-r--r--ansible/roles/iscsi/tasks/start.yml40
-rw-r--r--ansible/roles/iscsi/tasks/upgrade.yml1
-rw-r--r--ansible/roles/iscsi/templates/iscsid.json.j24
-rw-r--r--ansible/roles/iscsi/templates/tgtd.json.j24
-rw-r--r--ansible/roles/nova/tasks/start_compute.yml21
13 files changed, 150 insertions, 12 deletions
diff --git a/ansible/roles/cinder/tasks/bootstrap.yml b/ansible/roles/cinder/tasks/bootstrap.yml
index c9eeb4ed2..10418c973 100644
--- a/ansible/roles/cinder/tasks/bootstrap.yml
+++ b/ansible/roles/cinder/tasks/bootstrap.yml
@@ -37,3 +37,17 @@
- include: bootstrap_service.yml
when: database_created
+
+- name: Creating cinder targets volume
+ kolla_docker:
+ action: "create_volume"
+ common_options: "{{ docker_common_options }}"
+ name: "cinder"
+ when: "{{ enable_iscsi | bool }}"
+
+- name: Creating iscsi info volume
+ kolla_docker:
+ action: "create_volume"
+ common_options: "{{ docker_common_options }}"
+ name: "iscsi_info"
+ when: "{{ enable_iscsi | bool }}"
diff --git a/ansible/roles/cinder/tasks/start.yml b/ansible/roles/cinder/tasks/start.yml
index 715695e9c..6200ebc0d 100644
--- a/ansible/roles/cinder/tasks/start.yml
+++ b/ansible/roles/cinder/tasks/start.yml
@@ -21,6 +21,16 @@
- "kolla_logs:/var/log/kolla/"
when: inventory_hostname in groups['cinder-scheduler']
+- name: Prepare volumes list
+ set_fact:
+ mounts:
+ - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
+ - "/dev/:/dev/"
+ - "/run/:/run/"
+ - "{% if enable_iscsi | bool %}cinder:/var/lib/cinder{% endif %}"
+ - "{% if enable_iscsi | bool %}iscsi_info:/etc/iscsi{% endif %}"
+ - "kolla_logs:/var/log/kolla/"
+
- name: Starting cinder-volume container
kolla_docker:
action: "start_container"
@@ -28,11 +38,8 @@
name: "cinder_volume"
image: "{{ cinder_volume_image_full }}"
privileged: True
- volumes:
- - "{{ node_config_directory }}/cinder-volume/:{{ container_config_directory }}/:ro"
- - "/dev/:/dev/"
- - "/run/:/run/"
- - "kolla_logs:/var/log/kolla/"
+ ipc_mode: "host"
+ volumes: '{{ mounts | reject("equalto", "") | list}}'
when: inventory_hostname in groups['cinder-volume']
- name: Starting cinder-backup container
diff --git a/ansible/roles/iscsi/defaults/main.yml b/ansible/roles/iscsi/defaults/main.yml
new file mode 100644
index 000000000..9af4cbbd3
--- /dev/null
+++ b/ansible/roles/iscsi/defaults/main.yml
@@ -0,0 +1,13 @@
+---
+project_name: "iscsi"
+
+####################
+# Docker
+####################
+iscsid_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-iscsid"
+iscsid_tag: "{{ openstack_release }}"
+iscsid_image_full: "{{ iscsid_image }}:{{ iscsid_tag }}"
+
+tgtd_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-tgtd"
+tgtd_tag: "{{ openstack_release }}"
+tgtd_image_full: "{{ tgtd_image }}:{{ tgtd_tag }}"
diff --git a/ansible/roles/iscsi/tasks/config.yml b/ansible/roles/iscsi/tasks/config.yml
new file mode 100644
index 000000000..897653765
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/config.yml
@@ -0,0 +1,34 @@
+---
+- name: Ensuring config directories exist
+ file:
+ path: "{{ node_config_directory }}/{{ item }}"
+ state: "directory"
+ recurse: yes
+ when: inventory_hostname in groups['compute']
+ with_items:
+ - "iscsid"
+
+- name: Copying over config.json files for services
+ template:
+ src: "{{ item }}.json.j2"
+ dest: "{{ node_config_directory }}/{{ item }}/config.json"
+ when: inventory_hostname in groups['compute']
+ with_items:
+ - "iscsid"
+
+- name: Ensuring config directories exist
+ file:
+ path: "{{ node_config_directory }}/{{ item }}"
+ state: "directory"
+ recurse: yes
+ when: inventory_hostname in groups['tgtd']
+ with_items:
+ - "tgtd"
+
+- name: Copying over config.json files for services
+ template:
+ src: "{{ item }}.json.j2"
+ dest: "{{ node_config_directory }}/{{ item }}/config.json"
+ when: inventory_hostname in groups['tgtd']
+ with_items:
+ - "tgtd"
diff --git a/ansible/roles/iscsi/tasks/deploy.yml b/ansible/roles/iscsi/tasks/deploy.yml
new file mode 100644
index 000000000..1f16915ad
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/deploy.yml
@@ -0,0 +1,4 @@
+---
+- include: config.yml
+
+- include: start.yml
diff --git a/ansible/roles/iscsi/tasks/main.yml b/ansible/roles/iscsi/tasks/main.yml
new file mode 100644
index 000000000..b017e8b4a
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include: "{{ action }}.yml"
diff --git a/ansible/roles/iscsi/tasks/pull.yml b/ansible/roles/iscsi/tasks/pull.yml
new file mode 100644
index 000000000..33b10edd9
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/pull.yml
@@ -0,0 +1,7 @@
+---
+- name: Pulling iscsi image
+ kolla_docker:
+ action: "pull_image"
+ common_options: "{{ docker_common_options }}"
+ image: "{{ iscsi_image_full }}"
+ when: inventory_hostname in groups['iscsi']
diff --git a/ansible/roles/iscsi/tasks/reconfigure.yml b/ansible/roles/iscsi/tasks/reconfigure.yml
new file mode 100644
index 000000000..ed97d539c
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/reconfigure.yml
@@ -0,0 +1 @@
+---
diff --git a/ansible/roles/iscsi/tasks/start.yml b/ansible/roles/iscsi/tasks/start.yml
new file mode 100644
index 000000000..8d8655831
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/start.yml
@@ -0,0 +1,40 @@
+---
+- name: Starting iscsid container
+ kolla_docker:
+ action: "start_container"
+ common_options: "{{ docker_common_options }}"
+ image: "{{ iscsid_image_full }}"
+ name: "iscsid"
+ ipc_mode: "host"
+ privileged: True
+ volumes:
+ - "{{ node_config_directory }}/iscsid/:{{ container_config_directory }}/:ro"
+ - "kolla_logs:/var/log/kolla/"
+ - "/dev/:/dev/"
+ - "/run/:/run/"
+ - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+ - "/lib/modules:/lib/modules:ro"
+ - "/sys/kernel/config:/configfs"
+ - "cinder:/var/lib/cinder"
+ - "iscsi_info:/etc/iscsi"
+ when: inventory_hostname in groups['compute']
+
+- name: Starting tgtd container
+ kolla_docker:
+ action: "start_container"
+ common_options: "{{ docker_common_options }}"
+ image: "{{ tgtd_image_full }}"
+ name: "tgtd"
+ ipc_mode: "host"
+ privileged: True
+ volumes:
+ - "{{ node_config_directory }}/tgtd/:{{ container_config_directory }}/:ro"
+ - "kolla_logs:/var/log/kolla/"
+ - "/dev/:/dev/"
+ - "/run/:/run/"
+ - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+ - "/lib/modules:/lib/modules:ro"
+ - "/sys/kernel/config:/configfs"
+ - "cinder:/var/lib/cinder"
+ - "iscsi_info:/etc/iscsi"
+ when: inventory_hostname in groups['tgtd']
diff --git a/ansible/roles/iscsi/tasks/upgrade.yml b/ansible/roles/iscsi/tasks/upgrade.yml
new file mode 100644
index 000000000..ed97d539c
--- /dev/null
+++ b/ansible/roles/iscsi/tasks/upgrade.yml
@@ -0,0 +1 @@
+---
diff --git a/ansible/roles/iscsi/templates/iscsid.json.j2 b/ansible/roles/iscsi/templates/iscsid.json.j2
new file mode 100644
index 000000000..f44cf16c9
--- /dev/null
+++ b/ansible/roles/iscsi/templates/iscsid.json.j2
@@ -0,0 +1,4 @@
+{
+ "command": "iscsid -d 8 -f --pid=/run/iscsid.pid",
+ "config_files": []
+}
diff --git a/ansible/roles/iscsi/templates/tgtd.json.j2 b/ansible/roles/iscsi/templates/tgtd.json.j2
new file mode 100644
index 000000000..0d74a78fd
--- /dev/null
+++ b/ansible/roles/iscsi/templates/tgtd.json.j2
@@ -0,0 +1,4 @@
+{
+ "command": "tgtd -d 1 -f --iscsi portal={{ hostvars[inventory_hostname]['ansible_' + network_interface]['ipv4']['address'] }}:{{ iscsi_port }}",
+ "config_files": []
+}
diff --git a/ansible/roles/nova/tasks/start_compute.yml b/ansible/roles/nova/tasks/start_compute.yml
index 636961fbc..0ce500d5b 100644
--- a/ansible/roles/nova/tasks/start_compute.yml
+++ b/ansible/roles/nova/tasks/start_compute.yml
@@ -11,12 +11,25 @@
- "{{ node_config_directory }}/nova-libvirt/:{{ container_config_directory }}/:ro"
- "/lib/modules:/lib/modules:ro"
- "/run/:/run/"
+ - "/dev:/dev"
- "/sys/fs/cgroup:/sys/fs/cgroup"
- "kolla_logs:/var/log/kolla/"
- "libvirtd:/var/lib/libvirt"
- "nova_compute:/var/lib/nova/"
when: inventory_hostname in groups['compute']
+- name: Prepare volumes list
+ set_fact:
+ mounts:
+ - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
+ - "/lib/modules:/lib/modules:ro"
+ - "/run:/run"
+ - "/dev:/dev"
+ - "kolla_logs:/var/log/kolla/"
+ - "{% if enable_iscsi | bool %}iscsi_info:/etc/iscsi{% endif %}"
+ - "libvirtd:/var/lib/libvirt"
+ - "nova_compute:/var/lib/nova/"
+
- name: Starting nova-compute container
kolla_docker:
action: "start_container"
@@ -24,13 +37,7 @@
image: "{{ nova_compute_image_full }}"
name: "nova_compute"
privileged: True
- volumes:
- - "{{ node_config_directory }}/nova-compute/:{{ container_config_directory }}/:ro"
- - "/lib/modules:/lib/modules:ro"
- - "/run:/run"
- - "kolla_logs:/var/log/kolla/"
- - "libvirtd:/var/lib/libvirt"
- - "nova_compute:/var/lib/nova/"
+ volumes: '{{ mounts | reject("equalto", "") | list}}'
when:
- inventory_hostname in groups['compute']
- not enable_nova_fake | bool