Add VMware DataStore support to glance

Add configure the VMware Storage Backend in glance-api.
Because of the following document was not updated:
https://docs.openstack.org/developer/glance/configuring.html#configuring-the-vmware-storage-backend

So,see code:
https://github.com/openstack/glance_store/blob/master/glance_store/_drivers/vmware_datastore.py
https://github.com/openstack/glance_store/blob/master/glance_store/backend.py

Partially-implements: blueprint kolla-ansible-support-vsphere

Change-Id: Icb73ec501aabd938eb23257518ce0650a329bef3
This commit is contained in:
shaofeng_cheng 2017-04-11 17:08:59 +08:00
parent 9a2df7e5a5
commit c6d2070511
4 changed files with 55 additions and 6 deletions

View File

@ -433,7 +433,7 @@ keystone_default_user_role: "_member_"
#######################
glance_backend_file: "{{ not enable_ceph | bool }}"
glance_backend_ceph: "{{ enable_ceph }}"
glance_backend_vmware: "no"
#######################
# Ceilometer options
@ -551,3 +551,10 @@ ceph_nova_pool_name: "vms"
ceph_erasure_profile: "k=4 m=2 ruleset-failure-domain=host"
ceph_rule: "default host {{ 'indep' if ceph_pool_type == 'erasure' else 'firstn' }}"
ceph_cache_rule: "cache host firstn"
################################################
# VMware - OpenStack WMware support
################################################
vmware_vcenter_host_ip:
vmware_vcenter_host_username:
vmware_vcenter_host_password:

View File

@ -55,6 +55,16 @@ glance_api_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ dock
glance_api_tag: "{{ openstack_release }}"
glance_api_image_full: "{{ glance_api_image }}:{{ glance_api_tag }}"
####################
# Glance
####################
glance_backends:
- name: "rbd,http"
enabled: "{{ enable_ceph | bool and glance_backend_ceph | bool }}"
- name: "vmware"
enabled: "{{ glance_backend_vmware | bool }}"
glance_store_backends: "{{ glance_backends|selectattr('enabled', 'equalto', true)|list }}"
####################
# OpenStack
@ -68,3 +78,9 @@ glance_logging_debug: "{{ openstack_logging_debug }}"
glance_keystone_user: "glance"
openstack_glance_auth: "{{ openstack_auth }}"
################################################
# VMware - OpenStack WMware support
################################################
vmware_vcenter_name:
vmware_datastore_name:

View File

@ -59,17 +59,33 @@ memcached_servers = {% for host in groups['memcached'] %}{{ hostvars[host]['ansi
flavor = keystone
[glance_store]
{% if enable_ceph | bool and glance_backend_ceph | bool %}
{% if glance_backend_vmware | bool %}
default_store = vsphere
{% elif enable_ceph | bool and glance_backend_ceph | bool %}
default_store = rbd
stores = rbd,http
rbd_store_user = glance
rbd_store_pool = {{ ceph_glance_pool_name }}
rbd_store_chunk_size = 8
{% else %}
default_store = file
filesystem_store_datadir = /var/lib/glance/images/
{% endif %}
{% if glance_store_backends %}
stores = {{ glance_store_backends|map(attribute='name')|join(',') }}
{% endif %}
{% if enable_ceph | bool and glance_backend_ceph | bool %}
rbd_store_user = glance
rbd_store_pool = {{ ceph_glance_pool_name }}
rbd_store_chunk_size = 8
{% endif %}
{% if glance_backend_vmware | bool %}
vmware_server_host = {{ vmware_vcenter_host_ip }}
vmware_server_username = {{ vmware_vcenter_host_username }}
vmware_server_password = {{ vmware_vcenter_host_password }}
vmware_datastores = {{ vmware_vcenter_name }}:{{ vmware_datastore_name }}
vmware_insecure = True
{% endif %}
[oslo_messaging_notifications]
{% if enable_ceilometer | bool or enable_searchlight | bool %}
driver = messagingv2

View File

@ -232,6 +232,7 @@ kolla_internal_vip_address: "10.10.10.254"
# Configure image backend.
#glance_backend_file: "yes"
#glance_backend_ceph: "no"
#glance_backend_vmware: "no"
#######################
# Ceilometer options
@ -334,3 +335,12 @@ tempest_floating_network_name:
# tempest_image_alt_id: "{{ tempest_image_id }}"
# tempest_flavor_ref_alt_id: "{{ tempest_flavor_ref_id }}"
################################################
# VMware - OpenStack WMware support
################################################
#vmware_vcenter_host_ip:
#vmware_vcenter_host_username:
#vmware_vcenter_host_password:
#vmware_datastore_name:
#vmware_vcenter_name: