Support to configure VMware Datastore Store as glance backend store

Update the glance-api.conf and glance-cache.conf template files to
support configure VMware datastore attributes.

Implements: blueprint vmwareapi-support
Change-Id: If9f6dadf43a52d0a673043ea23edaf653f452a11
This commit is contained in:
gengjh 2014-04-02 14:25:32 +08:00
parent e0a620c014
commit 430d3c7beb
4 changed files with 122 additions and 1 deletions

View File

@ -106,6 +106,17 @@ default['openstack']['image']['syslog']['use'] = false
default['openstack']['image']['syslog']['facility'] = 'LOG_LOCAL2'
default['openstack']['image']['syslog']['config_facility'] = 'local2'
# vmware attributes
default['openstack']['image']['api']['vmware']['vmware_server_host'] = ''
default['openstack']['image']['api']['vmware']['vmware_server_username'] = ''
default['openstack']['image']['api']['vmware']['vmware_server_password'] = ''
default['openstack']['image']['api']['vmware']['vmware_datacenter_path'] = ''
default['openstack']['image']['api']['vmware']['vmware_datastore_name'] = ''
default['openstack']['image']['api']['vmware']['vmware_api_retry_count'] = 10
default['openstack']['image']['api']['vmware']['vmware_task_poll_interval'] = 5
default['openstack']['image']['api']['vmware']['vmware_store_image_dir'] = '/openstack_glance'
default['openstack']['image']['api']['vmware']['vmware_api_insecure'] = false
# cron output redirection
default['openstack']['image']['cron']['redirection'] = '> /dev/null 2>&1'

View File

@ -228,6 +228,27 @@ describe 'openstack-image::api' do
expect(chef_run).to render_file(file.name).with_content(line)
end
end
it 'has default_store setting' do
expect(chef_run).to render_file(file.name).with_content(
/^default_store = file$/)
end
[
/^vmware_server_host = $/,
/^vmware_server_username = $/,
/^vmware_server_password = $/,
/^vmware_datacenter_path = $/,
/^vmware_datastore_name = $/,
/^vmware_api_retry_count = 10/,
/^vmware_task_poll_interval = 5$/,
/^vmware_store_image_dir = \/openstack_glance$/,
/^vmware_api_insecure = false$/
].each do |content|
it "has a #{content.source[1...-1]} line" do
expect(chef_run).to render_file(file.name).with_content(content)
end
end
end
describe 'keystone_authtoken' do
@ -487,6 +508,22 @@ describe 'openstack-image::api' do
expect(chef_run).to render_file(file.name).with_content(
/^image_cache_invalid_entry_grace_period = 42$/)
end
[
/^vmware_server_host = $/,
/^vmware_server_username = $/,
/^vmware_server_password = $/,
/^vmware_datacenter_path = $/,
/^vmware_datastore_name = $/,
/^vmware_api_retry_count = 10/,
/^vmware_task_poll_interval = 5$/,
/^vmware_store_image_dir = \/openstack_glance$/,
/^vmware_api_insecure = false$/
].each do |content|
it "has a #{content.source[1...-1]} line" do
expect(chef_run).to render_file(file.name).with_content(content)
end
end
end
describe 'glance-cache-paste.ini' do

View File

@ -9,7 +9,8 @@ debug = <%= node["openstack"]["image"]["debug"] %>
# Which backend store should Glance use by default is not specified
# in a request to add a new image to Glance? Default: 'file'
# Available choices are 'file', 'swift', and 's3'
# Available choices are 'file', 'swift', 's3', 'cinder', 'gridfs',
# 'http', 'sheepdog' and 'vsphere'
default_store = <%= node["openstack"]["image"]["api"]["default_store"] %>
# Address to bind the API server
@ -242,6 +243,42 @@ rbd_store_pool = <%= node["openstack"]["image"]["api"]["rbd"]["rbd_store_pool"]
# For best performance, this should be a power of two
rbd_store_chunk_size = <%= node["openstack"]["image"]["api"]["rbd"]["rbd_store_chunk_size"] %>
# ============ VMware Datastore Store Options =====================
# ESX/ESXi or vCenter Server target system.
# The server value can be an IP address or a DNS name
# e.g. 127.0.0.1, 127.0.0.1:443, www.vmware-infra.com
vmware_server_host = <%= node['openstack']['image']['api']['vmware']['vmware_server_host'] %>
# Server username (string value)
vmware_server_username = <%= node['openstack']['image']['api']['vmware']['vmware_server_username'] %>
# Server password (string value)
vmware_server_password = <%= node['openstack']['image']['api']['vmware']['vmware_server_password'] %>
# Inventory path to a datacenter (string value)
# Value optional when vmware_server_ip is an ESX/ESXi host: if specified
# should be `ha-datacenter`.
vmware_datacenter_path = <%= node['openstack']['image']['api']['vmware']['vmware_datacenter_path'] %>
# Datastore associated with the datacenter (string value)
vmware_datastore_name = <%= node['openstack']['image']['api']['vmware']['vmware_datastore_name'] %>
# The number of times we retry on failures
# e.g., socket error, etc (integer value)
vmware_api_retry_count = <%= node['openstack']['image']['api']['vmware']['vmware_api_retry_count'] %>
# The interval used for polling remote tasks
# invoked on VMware ESX/VC server in seconds (integer value)
vmware_task_poll_interval = <%= node['openstack']['image']['api']['vmware']['vmware_task_poll_interval'] %>
# Absolute path of the folder containing the images in the datastore
# (string value)
vmware_store_image_dir = <%= node['openstack']['image']['api']['vmware']['vmware_store_image_dir'] %>
# Allow to perform insecure SSL requests to the target system (boolean value)
vmware_api_insecure = <%= node['openstack']['image']['api']['vmware']['vmware_api_insecure'] %>
# ============ Delayed Delete Options =============================
# Turn on/off delayed delete

View File

@ -51,6 +51,42 @@ registry_port = <%= @registry_port %>
# admin_user = %SERVICE_USER%
# admin_password = %SERVICE_PASSWORD%
# ============ VMware Datastore Store Options =====================
# ESX/ESXi or vCenter Server target system.
# The server value can be an IP address or a DNS name
# e.g. 127.0.0.1, 127.0.0.1:443, www.vmware-infra.com
vmware_server_host = <%= node['openstack']['image']['api']['vmware']['vmware_server_host'] %>
# Server username (string value)
vmware_server_username = <%= node['openstack']['image']['api']['vmware']['vmware_server_username'] %>
# Server password (string value)
vmware_server_password = <%= node['openstack']['image']['api']['vmware']['vmware_server_password'] %>
# Inventory path to a datacenter (string value)
# Value optional when vmware_server_ip is an ESX/ESXi host: if specified
# should be `ha-datacenter`.
vmware_datacenter_path = <%= node['openstack']['image']['api']['vmware']['vmware_datacenter_path'] %>
# Datastore associated with the datacenter (string value)
vmware_datastore_name = <%= node['openstack']['image']['api']['vmware']['vmware_datastore_name'] %>
# The number of times we retry on failures
# e.g., socket error, etc (integer value)
vmware_api_retry_count = <%= node['openstack']['image']['api']['vmware']['vmware_api_retry_count'] %>
# The interval used for polling remote tasks
# invoked on VMware ESX/VC server in seconds (integer value)
vmware_task_poll_interval = <%= node['openstack']['image']['api']['vmware']['vmware_task_poll_interval'] %>
# Absolute path of the folder containing the images in the datastore
# (string value)
vmware_store_image_dir = <%= node['openstack']['image']['api']['vmware']['vmware_store_image_dir'] %>
# Allow to perform insecure SSL requests to the target system (boolean value)
vmware_api_insecure = <%= node['openstack']['image']['api']['vmware']['vmware_api_insecure'] %>
# ================= Security Options ==========================
# AES key for encrypting store 'location' metadata, including