Add the ceph keyring files related task condition

If used external ceph for nova,the ceph storage not enable cephx.
So ceph keyring file not does not exist.
Task throw error of check ceph keyring files.

Change-Id: I6257c107b94abf4d363e854229aaab8301d1d694
Closes-Bug: #1684522
This commit is contained in:
shaofeng_cheng 2017-04-20 17:41:39 +08:00
parent 1f4d70851a
commit 12621ef8f1
4 changed files with 18 additions and 4 deletions

View File

@ -526,6 +526,8 @@ octavia_amp_flavor_id:
# must provide separate disks than those for the OSDs
ceph_enable_cache: "no"
external_ceph_cephx_enabled: "yes"
# Ceph is not able to determine the size of a cache pool automatically,
# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
ceph_target_max_bytes: ""

View File

@ -12,12 +12,15 @@
local_action: stat path="{{ node_custom_config }}/nova/ceph.client.nova.keyring"
register: nova_cephx_keyring_file
failed_when: not nova_cephx_keyring_file.stat.exists
when: external_ceph_cephx_enabled | bool
- name: Check cinder keyring file
local_action: stat path="{{ node_custom_config }}/nova/ceph.client.cinder.keyring"
register: cinder_cephx_keyring_file
failed_when: not cinder_cephx_keyring_file.stat.exists
when: cinder_backend_ceph | bool
when:
- cinder_backend_ceph | bool
- external_ceph_cephx_enabled | bool
# NOTE: nova-compute and nova-libvirt only need ceph.client.nova.keyring.
- name: Copy over ceph nova keyring file
@ -27,7 +30,9 @@
with_items:
- nova-compute
- nova-libvirt
when: inventory_hostname in groups['compute']
when:
- inventory_hostname in groups['compute']
- external_ceph_cephx_enabled | bool
- name: Copy over ceph.conf
copy:
@ -57,11 +62,14 @@
- name: Extract nova key from file
local_action: shell cat "{{ nova_cephx_keyring_file.stat.path }}" | grep -E 'key\s*=' | awk '{ print $3 }'
register: nova_cephx_raw_key
when: external_ceph_cephx_enabled | bool
- name: Extract cinder key from file
local_action: shell cat "{{ cinder_cephx_keyring_file.stat.path }}" | grep -E 'key\s*=' | awk '{ print $3 }'
register: cinder_cephx_raw_key
when: cinder_backend_ceph | bool
when:
- cinder_backend_ceph | bool
- external_ceph_cephx_enabled | bool
- name: Pushing secrets key for libvirt
copy:
@ -71,6 +79,7 @@
when:
- inventory_hostname in groups['compute']
- item.enabled | bool
- external_ceph_cephx_enabled | bool
with_items:
- uuid: "{{ rbd_secret_uuid }}"
content: "{{ nova_cephx_raw_key.stdout }}"

View File

@ -194,7 +194,7 @@ disk_cachemodes="network=writeback"
hw_disk_discard = {{ nova_hw_disk_discard }}
{% endif %}
{% endif %}
{% if nova_backend == "rbd" %}
{% if nova_backend == "rbd" and external_ceph_cephx_enabled | bool %}
rbd_secret_uuid = {{ rbd_secret_uuid }}
{% endif %}

View File

@ -202,6 +202,9 @@ kolla_internal_vip_address: "10.10.10.254"
# must provide separate disks than those for the OSDs
#ceph_enable_cache: "no"
# Set to no if using external Ceph without cephx.
#external_ceph_cephx_enabled: "yes"
# Ceph is not able to determine the size of a cache pool automatically,
# so the configuration on the absolute size is required here, otherwise the flush/evict will not work.
#ceph_target_max_bytes: ""