diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index 872489d174..007ae583ae 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -436,7 +436,7 @@ keystone_default_user_role: "_member_" ####################### glance_backend_file: "{{ not enable_ceph | bool }}" glance_backend_ceph: "{{ enable_ceph }}" - +glance_backend_vmware: "no" ####################### # Ceilometer options @@ -560,3 +560,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: diff --git a/ansible/roles/glance/defaults/main.yml b/ansible/roles/glance/defaults/main.yml index ec1021a6fb..643966a695 100644 --- a/ansible/roles/glance/defaults/main.yml +++ b/ansible/roles/glance/defaults/main.yml @@ -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: diff --git a/ansible/roles/glance/templates/glance-api.conf.j2 b/ansible/roles/glance/templates/glance-api.conf.j2 index f60eaa843a..0e5c8fb9fc 100644 --- a/ansible/roles/glance/templates/glance-api.conf.j2 +++ b/ansible/roles/glance/templates/glance-api.conf.j2 @@ -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 diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml index dcd969c83f..ca5c780073 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -239,6 +239,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 @@ -341,3 +342,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: