diff options
author | wutianwei <wutianwei1@huawei.com> | 2017-10-24 09:28:08 +0800 |
---|---|---|
committer | wutianwei <wutianwei1@huawei.com> | 2017-10-24 09:28:08 +0800 |
commit | 660b8bfbb0546322f35f8c7f54d62e1bf5d5dd95 (patch) | |
tree | 024a72ae6ded612befd393fff94e84bf130e5905 /deploy/adapters | |
parent | f5bf127f802fcb43e3e659996feedc15961d229e (diff) |
bugfix
When not define ceph role in DHA, there are somes issue on config-osa.
This patch add the judgement to check the parameter define or not.
Change-Id: If221fd3d02c87fc60f545b44f94043f38e34d283
Signed-off-by: wutianwei <wutianwei1@huawei.com>
Diffstat (limited to 'deploy/adapters')
3 files changed, 89 insertions, 63 deletions
diff --git a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml index d2ce5c38..d96a83da 100755 --- a/deploy/adapters/ansible/roles/config-osa/tasks/main.yml +++ b/deploy/adapters/ansible/roles/config-osa/tasks/main.yml @@ -235,24 +235,30 @@ src: user_ceph.yml dest: /etc/openstack_deploy/user_ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: render ceph.yml.j2 template: src: ceph.yml.j2 dest: /etc/openstack_deploy/conf.d/ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: render user_variables_ceph.yml.j2 template: src: user_variables_ceph.yml.j2 dest: /etc/openstack_deploy/user_variables_ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" - name: adapt no ha scenario include: noha.yml diff --git a/deploy/adapters/ansible/roles/storage/tasks/main.yml b/deploy/adapters/ansible/roles/storage/tasks/main.yml index 3d9635cc..e04019ae 100755 --- a/deploy/adapters/ansible/roles/storage/tasks/main.yml +++ b/deploy/adapters/ansible/roles/storage/tasks/main.yml @@ -7,69 +7,21 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## --- -- name: check if physical device exists - stat: path={{ physical_device }} - register: status - tags: - - storage - -- name: load loop.yml - include: loop.yml - when: status.stat.exists == False or status.stat.isblk == False - tags: - - storage - -- name: load real.yml - include: real.yml - when: status.stat.exists == True and status.stat.isblk == True - tags: - - storage - -- name: make setup_storage directory - file: path=/opt/setup_storage state=directory mode=0755 - tags: - - storage - -- name: copy setup storage scripts - copy: src={{ item }} dest=/opt/setup_storage mode=0755 - with_items: - - losetup.sh - tags: - - storage - -- name: set autostart file - copy: src=storage dest=/etc/init.d/storage mode=0755 - tags: - - storage - -- name: set autostart file for centos - copy: - src: storage.service - dest: /usr/lib/systemd/system/storage.service - mode: 0755 - when: ansible_os_family == "RedHat" - tags: - - storage - -- name: add to boot scripts - shell: update-rc.d storage defaults - when: ansible_os_family == "Debian" - tags: - - storage - -- name: add to boot scripts - shell: | - chkconfig --add storage; - chkconfig --level 2345 storage on; - when: ansible_os_family == 'RedHat' +- name: load storage.yml + include: storage.yml + when: + - hostvars[inventory_hostname]['groups']['ceph_mon'] is not defined + - hostvars[inventory_hostname]['groups']['ceph_osd'] is not defined tags: - storage - name: load ceph.yml include: ceph.yml when: - - "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] |length > 0 }}" - - "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_mon'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_mon'] | length > 0 }}" + - hostvars[inventory_hostname]['groups']['ceph_osd'] is defined and + "{{ hostvars[inventory_hostname]['groups']['ceph_osd'] | length > 0 }}" tags: - storage diff --git a/deploy/adapters/ansible/roles/storage/tasks/storage.yml b/deploy/adapters/ansible/roles/storage/tasks/storage.yml new file mode 100755 index 00000000..b054be9e --- /dev/null +++ b/deploy/adapters/ansible/roles/storage/tasks/storage.yml @@ -0,0 +1,68 @@ +############################################################################## +# Copyright (c) 2016 HUAWEI TECHNOLOGIES CO.,LTD and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## +--- +- name: check if physical device exists + stat: path={{ physical_device }} + register: status + tags: + - storage + +- name: load loop.yml + include: loop.yml + when: status.stat.exists == False or status.stat.isblk == False + tags: + - storage + +- name: load real.yml + include: real.yml + when: status.stat.exists == True and status.stat.isblk == True + tags: + - storage + +- name: make setup_storage directory + file: path=/opt/setup_storage state=directory mode=0755 + tags: + - storage + +- name: copy setup storage scripts + copy: src={{ item }} dest=/opt/setup_storage mode=0755 + with_items: + - losetup.sh + tags: + - storage + +- name: set autostart file + copy: src=storage dest=/etc/init.d/storage mode=0755 + tags: + - storage + +- name: set autostart file for centos + copy: + src: storage.service + dest: /usr/lib/systemd/system/storage.service + mode: 0755 + when: ansible_os_family == "RedHat" + tags: + - storage + +- name: add to boot scripts + shell: update-rc.d storage defaults + when: ansible_os_family == "Debian" + tags: + - storage + +- name: add to boot scripts + shell: | + chkconfig --add storage; + chkconfig --level 2345 storage on; + when: ansible_os_family == 'RedHat' + tags: + - storage + +- meta: flush_handlers |