Merge "External Ceph support - Implementation Glance"

This commit is contained in:
Jenkins 2016-07-14 17:59:05 +00:00 committed by Gerrit Code Review
commit 5e0c985dd0
7 changed files with 48 additions and 26 deletions

View File

@ -219,6 +219,9 @@ nova_keystone_user: "nova"
enable_nova_fake: "no"
num_nova_fake_per_node: 5
# Control usage of ceph per service
glance_enable_ceph: "{{ enable_ceph }}"
####################
# RabbitMQ options
####################

View File

@ -1,10 +1,16 @@
---
- include: ceph.yml
when:
- enable_ceph | bool
- (enable_ceph | bool) and (glance_enable_ceph | bool)
- inventory_hostname in groups['ceph-mon'] or
inventory_hostname in groups['glance-api'] or
inventory_hostname in groups['glance-registry']
inventory_hostname in groups['glance-api'] or
inventory_hostname in groups['glance-registry']
- include: external_ceph.yml
when:
- (enable_ceph | bool == False) and (glance_enable_ceph | bool)
- inventory_hostname in groups['glance-api'] or
inventory_hostname in groups['glance-registry']
- include: register.yml
when: inventory_hostname in groups['glance-api']

View File

@ -0,0 +1,13 @@
---
- name: Ensuring config directory exists
file:
path: "{{ node_config_directory }}/glance-api"
state: "directory"
when: inventory_hostname in groups['glance-api']
- name: Copy over ceph files
copy:
src: "{{ item }}"
dest: "{{ node_config_directory }}/glance-api/"
with_fileglob:
- "{{ node_custom_config }}/glance/ceph*"

View File

@ -39,7 +39,7 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
flavor = keystone
[glance_store]
{% if enable_ceph | bool %}
{% if enable_ceph | bool and glance_enable_ceph | bool %}
default_store = rbd
stores = rbd
rbd_store_user = glance

View File

@ -6,18 +6,13 @@
"dest": "/etc/glance/glance-api.conf",
"owner": "glance",
"perm": "0600"
}{% if enable_ceph | bool %},
}{% if glance_enable_ceph | bool %},
{
"source": "{{ container_config_directory }}/ceph.client.glance.keyring",
"dest": "/etc/ceph/ceph.client.glance.keyring",
"source": "{{ container_config_directory }}/ceph.*",
"dest": "/etc/ceph/",
"owner": "glance",
"perm": "0600"
},
{
"source": "{{ container_config_directory }}/ceph.conf",
"dest": "/etc/ceph/ceph.conf",
"owner": "glance",
"perm": "0600"
}{% endif %}
"perm": "0700"
}
{% endif %}
]
}

View File

@ -13,6 +13,7 @@
# limitations under the License.
import argparse
import glob
import json
import logging
import os
@ -45,15 +46,15 @@ def validate_config(config):
def validate_source(data):
source = data.get('source')
exists = os.path.exists(source)
if not exists:
if data.get('optional'):
LOG.info("%s does not exist, but is not required", source)
return False
else:
LOG.error("The source to copy does not exist: %s", source)
sys.exit(1)
# Only check existance if no wildcard found
if '*' not in source:
if not os.path.exists(source):
if data.get('optional'):
LOG.info("%s does not exist, but is not required", source)
return False
else:
LOG.error("The source to copy does not exist: %s", source)
sys.exit(1)
return True
@ -82,8 +83,9 @@ def copy_files(data):
if source != source_path:
# Source is file
LOG.info("Copying %s to %s", source, dest)
shutil.copy(source, dest)
for file in glob.glob(source):
LOG.info("Copying %s to %s", file, dest)
shutil.copy(file, dest)
else:
# Source is a directory
for src in os.listdir(source_path):

View File

@ -125,6 +125,9 @@ neutron_external_interface: "eth1"
#enable_neutron_qos: "no"
#enable_swift: "no"
# Control usage of ceph per service. This allows to configure external ceph
# when ceph is not deployed by Kolla.
#glance_enable_ceph: "{{ enable_ceph }}"
###################
# Ceph options