Skip to content

Commit

Permalink
Update glance to 9b06a7c8c25a5bd11e0257ea39c7a9680fbac9ab
Browse files Browse the repository at this point in the history
9b06a7c8c25a5bd11e0257ea39c7a9680fbac9ab Cleanup README
cf53cee9020ed7b7270d623a881d5dc0744d43b0 Correction configuration due with the new parameters
3ffaff97ae2d9b71f703c45252812e5a51f001f5 Merge "Add option id to glance_image" into stable/mitaka
356262d1db279757dc2fa85a0233623b101566eb Merge "Add options to set swift auth domains" into stable/mitaka
c919ed4b64008856caec379bd2f0be0b4692ee10 Add options to set swift auth domains
d2946a2e833284f8901a108fe054a3ab63872a0b Add option id to glance_image

Change-Id: I3a89a623a9193684dd45609c077fe5e9bf66fc3e
  • Loading branch information
jguiditta committed Jun 9, 2016
1 parent d4f8325 commit 9c3aa78
Show file tree
Hide file tree
Showing 12 changed files with 222 additions and 52 deletions.
2 changes: 1 addition & 1 deletion Puppetfile
Expand Up @@ -59,7 +59,7 @@ mod 'git',
:git => 'https://github.com/puppetlabs/puppetlabs-git.git'

mod 'glance',
:commit => 'c3721cf5102954cd4623c5425344e4572fb23d8a',
:commit => '9b06a7c8c25a5bd11e0257ea39c7a9680fbac9ab',
:git => 'https://github.com/openstack/puppet-glance.git'

mod 'gnocchi',
Expand Down
2 changes: 0 additions & 2 deletions glance/README.md
@@ -1,8 +1,6 @@
glance
=======

7.0.0 - 2015.2 - Liberty

#### Table of Contents

1. [Overview - What is the glance module?](#overview)
Expand Down
3 changes: 2 additions & 1 deletion glance/lib/puppet/provider/glance_image/openstack.rb
Expand Up @@ -42,6 +42,7 @@ def create
opts << "--disk-format=#{@resource[:disk_format]}"
opts << "--min-disk=#{@resource[:min_disk]}" if @resource[:min_disk]
opts << "--min-ram=#{@resource[:min_ram]}" if @resource[:min_ram]
opts << "--id=#{@resource[:id]}" if @resource[:id]
opts << props_to_s(@resource[:properties]) if @resource[:properties]
opts << location

Expand Down Expand Up @@ -89,7 +90,7 @@ def properties=(value)
end

def id=(id)
fail('id is read only')
fail('id for existing images can not be modified')
end

def self.instances
Expand Down
4 changes: 1 addition & 3 deletions glance/lib/puppet/type/glance_image.rb
Expand Up @@ -35,9 +35,7 @@

newproperty(:id) do
desc 'The unique id of the image'
validate do |v|
raise(Puppet::Error, 'This is a read only property')
end
newvalues(/[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}/)
end

newparam(:location) do
Expand Down
10 changes: 10 additions & 0 deletions glance/manifests/backend/swift.pp
Expand Up @@ -14,6 +14,12 @@ # == class: glance::backend::swift
# [*swift_store_auth_address*]
# Optional. Default: 'http://127.0.0.1:5000/v2.0/'
#
# [*swift_store_auth_project_domain_id*]
# Optional. Useful when keystone auth is version 3. Default: default
#
# [*swift_store_auth_user_domain_id*]
# Optional. Useful when keystone auth is version 3. Default: default
#
# [*swift_store_container*]
# Optional. Default: 'glance'
#
Expand Down Expand Up @@ -52,6 +58,8 @@ # == class: glance::backend::swift
$swift_store_auth_address = 'http://127.0.0.1:5000/v2.0/',
$swift_store_container = 'glance',
$swift_store_auth_version = '2',
$swift_store_auth_project_domain_id = 'default',
$swift_store_auth_user_domain_id = 'default',
$swift_store_large_object_size = '5120',
$swift_store_create_container_on_put = false,
$swift_store_endpoint_type = 'internalURL',
Expand Down Expand Up @@ -103,6 +111,8 @@ # == class: glance::backend::swift
"${default_swift_reference}/key": value => $swift_store_key;
"${default_swift_reference}/auth_address": value => $swift_store_auth_address;
"${default_swift_reference}/auth_version": value => $swift_store_auth_version;
"${default_swift_reference}/user_domain_id": value => $swift_store_auth_user_domain_id;
"${default_swift_reference}/project_domain_id": value => $swift_store_auth_project_domain_id;
}

}
112 changes: 81 additions & 31 deletions glance/manifests/backend/vsphere.pp
@@ -1,7 +1,7 @@
#
# Copyright (C) 2014 Mirantis
#
# Author: Steapn Rogov <srogov@mirantis.com>
# Author: Stepan Rogov <srogov@mirantis.com>
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
Expand All @@ -21,17 +21,34 @@
#
# === Parameters
#
# [*vcenter_api_insecure*]
# (optional) Allow to perform insecure SSL requests to vCenter/ESXi.
# Should be a valid string boolean value
# Defaults to 'True'
# [*vcenter_insecure*]
# (optional) If true, the ESX/vCenter server certificate is not verified.
# If false, then the default CA truststore is used for verification.
# This option is ignored if "vcenter_ca_file" is set.
# Defaults to 'True'.
#
# [*vcenter_ca_file*]
# (optional) The name of the CA bundle file which will be used in
# verifying vCenter server certificate. If parameter is not set
# then system truststore is used. If parameter is set, vcenter_api_insecure
# value is ignored.
# Defaults to undef
# then system truststore is used. If parameter is set,
# vcenter_insecure value is ignored.
# Defaults to $::os_service_default.
#
# [*vcenter_datastores*]
# (Multi-valued) A list of datastores where the image
# can be stored. This option may be specified multiple times
# for specifying multiple datastores. The datastore name should
# be specified after its datacenter path, seperated by ":".
# An optional weight may be given after the datastore name,
# seperated again by ":". Thus, the required format
# becomes <datacenter_path>:<datastore_name>:<optional_weight>.
# When adding an image, the datastore with highest weight will be selected,
# unless there is not enough free space available in cases where the image
# size is already known. If no weight is given, it is assumed to be
# zero and the directory will be considered for selection last.
# If multiple datastores have the same weight, then the one with the most
# free space available is selected.
# Defaults to $::os_service_default.
#
# [*vcenter_host*]
# (required) vCenter/ESXi Server target system.
Expand All @@ -43,75 +60,108 @@
# [*vcenter_password*]
# (required) Password for authenticating with vCenter/ESXi server.
#
# [*vcenter_datacenter*]
# (required) Inventory path to a datacenter.
# If you want to use ESXi host as datastore,it should be "ha-datacenter".
#
# [*vcenter_datastore*]
# (required) Datastore associated with the datacenter.
#
# [*vcenter_image_dir*]
# (required) The name of the directory where the glance images will be stored
# in the VMware datastore.
#
# [*vcenter_task_poll_interval*]
# (optional) The interval used for polling remote tasks invoked on
# vCenter/ESXi server.
# Defaults to '5'
# Defaults to $::os_service_default.
#
# [*vcenter_api_retry_count*]
# (optional) Number of times VMware ESX/VC server API must be retried upon
# connection related issues.
# Defaults to '10'
# Defaults to $::os_service_default.
#
# [*multi_store*]
# (optional) Boolean describing if multiple backends will be configured
# Defaults to false
# Defaults to false.
#
# [*glare_enabled*]
# (optional) Whether enabled Glance Glare API.
# Defaults to false
# Defaults to false.
#
# DEPRECATED PARAMETERS
#
# [*vcenter_api_insecure*]
# (optional) DEPRECATED. Allow to perform insecure SSL requests to ESX/VC.
# Defaults to undef.
#
# [*vcenter_datacenter*]
# (optional) DEPRECATED. Inventory path to a datacenter.
# If the vmware_server_host specified is an ESX/ESXi,
# the vcenter_datacenter is optional. If specified,
# it should be "ha-datacenter". This option is deprecated
# in favor of vcenter_datastores and will be removed.
# Defaults to undef.
#
# [*vcenter_datastore*]
# (optional) DEPRECATED. Datastore associated with the datacenter.
# This option is deprecated in favor of vcenter_datastores
# and will be removed.
# Defaults to undef.
#
class glance::backend::vsphere(
$vcenter_host,
$vcenter_user,
$vcenter_password,
$vcenter_datacenter,
$vcenter_datastore,
$vcenter_image_dir,
$vcenter_ca_file = undef,
$vcenter_api_insecure = 'True',
$vcenter_task_poll_interval = '5',
$vcenter_api_retry_count = '10',
$vcenter_ca_file = $::os_service_default,
$vcenter_datastores = $::os_service_default,
$vcenter_insecure = 'True',
$vcenter_task_poll_interval = $::os_service_default,
$vcenter_api_retry_count = $::os_service_default,
$multi_store = false,
$glare_enabled = false,
# DEPRECATED PARAMETERS
$vcenter_datacenter = undef,
$vcenter_datastore = undef,
$vcenter_api_insecure = undef,
) {

if $vcenter_api_insecure {
warning('The vcenter_api_insecure parameter is deprecated, use parameter vcenter_insecure')
$vmware_insecure_real = $vcenter_api_insecure
}
else {
$vmware_insecure_real = $vcenter_insecure
}

if $vcenter_datacenter and $vcenter_datastore {
warning('The vcenter_datacenter and vcenter_datastore parameters is deprecated, use parameter vcenter_datastores')
$vmware_datastores_real = "${vcenter_datacenter}:${vcenter_datastore}"
}
elsif !is_service_default($vcenter_datastores) {
$vmware_datastores_real = $vcenter_datastores
}
else {
fail('Parameter vcenter_datastores or vcenter_datacenter and vcenter_datastore must be provided')
}

glance_api_config {
'glance_store/vmware_api_insecure': value => $vcenter_api_insecure;
'glance_store/vmware_insecure': value => $vmware_insecure_real;
'glance_store/vmware_ca_file': value => $vcenter_ca_file;
'glance_store/vmware_server_host': value => $vcenter_host;
'glance_store/vmware_server_username': value => $vcenter_user;
'glance_store/vmware_server_password': value => $vcenter_password;
'glance_store/vmware_datastore_name': value => $vcenter_datastore;
'glance_store/vmware_store_image_dir': value => $vcenter_image_dir;
'glance_store/vmware_task_poll_interval': value => $vcenter_task_poll_interval;
'glance_store/vmware_api_retry_count': value => $vcenter_api_retry_count;
'glance_store/vmware_datacenter_path': value => $vcenter_datacenter;
'glance_store/vmware_datastores': value => $vmware_datastores_real;
}

if $glare_enabled {
glance_glare_config {
'glance_store/vmware_api_insecure': value => $vcenter_api_insecure;
'glance_store/vmware_insecure': value => $vmware_insecure_real;
'glance_store/vmware_ca_file': value => $vcenter_ca_file;
'glance_store/vmware_server_host': value => $vcenter_host;
'glance_store/vmware_server_username': value => $vcenter_user;
'glance_store/vmware_server_password': value => $vcenter_password;
'glance_store/vmware_datastore_name': value => $vcenter_datastore;
'glance_store/vmware_store_image_dir': value => $vcenter_image_dir;
'glance_store/vmware_task_poll_interval': value => $vcenter_task_poll_interval;
'glance_store/vmware_api_retry_count': value => $vcenter_api_retry_count;
'glance_store/vmware_datacenter_path': value => $vcenter_datacenter;
'glance_store/vmware_datastores': value => $vmware_datastores_real;
}
}

Expand Down
@@ -0,0 +1,5 @@
---
upgrade:
- vmware_api_insecure deprecated, use vmware_insecure
vmware_datacenter_path and vmware_datastore_name
deprecated, use vmware_datastores
@@ -0,0 +1,5 @@
---
features:
- Add the ability to create an image with a id
specified by the user. The provider now accepts
id parameter to create the image.
11 changes: 11 additions & 0 deletions glance/releasenotes/notes/glance-swift-v3-572d506977688377.yaml
@@ -0,0 +1,11 @@
---
upgrade:
- Glance users who wish to configure the Swift backend
can make use of swift_store_auth_project_domain_id and
swift_store_auth_user_domain_id to configure the required
keystone domain settings.
fixes:
- Previously glance swift authentication would work only
with keystone auth <= 2. This fix allows you to properly
configured the (required) keystone domains for keystone
v3 authentication.
6 changes: 6 additions & 0 deletions glance/spec/classes/glance_backend_swift_spec.rb
Expand Up @@ -28,6 +28,8 @@
is_expected.to contain_glance_swift_config('ref1/user').with_value('user')
is_expected.to contain_glance_swift_config('ref1/auth_version').with_value('2')
is_expected.to contain_glance_swift_config('ref1/auth_address').with_value('http://127.0.0.1:5000/v2.0/')
is_expected.to contain_glance_swift_config('ref1/user_domain_id').with_value('default')
is_expected.to contain_glance_swift_config('ref1/project_domain_id').with_value('default')
end

it 'not configures glance-glare.conf' do
Expand All @@ -48,6 +50,8 @@
:swift_store_user => 'user2',
:swift_store_key => 'key2',
:swift_store_auth_version => '1',
:swift_store_auth_project_domain_id => 'proj_domain',
:swift_store_auth_user_domain_id => 'user_domain',
:swift_store_large_object_size => '100',
:swift_store_auth_address => '127.0.0.2:8080/v1.0/',
:swift_store_container => 'swift',
Expand All @@ -70,6 +74,8 @@
is_expected.to contain_glance_swift_config('swift_creds/user').with_value('user2')
is_expected.to contain_glance_swift_config('swift_creds/auth_version').with_value('1')
is_expected.to contain_glance_swift_config('swift_creds/auth_address').with_value('127.0.0.2:8080/v1.0/')
is_expected.to contain_glance_swift_config('swift_creds/user_domain_id').with_value('user_domain')
is_expected.to contain_glance_swift_config('swift_creds/project_domain_id').with_value('proj_domain')
end

it 'configures glance-glare.conf' do
Expand Down
26 changes: 12 additions & 14 deletions glance/spec/classes/glance_backend_vsphere_spec.rb
Expand Up @@ -34,34 +34,33 @@
:vcenter_host => '10.0.0.1',
:vcenter_user => 'root',
:vcenter_password => '123456',
:vcenter_datacenter => 'Datacenter',
:vcenter_datastore => 'Datastore',
:vcenter_datastores => 'Datacenter:Datastore',
:vcenter_image_dir => '/openstack_glance',
}
end
it 'configures glance-api.conf' do
is_expected.to contain_glance_api_config('glance_store/default_store').with_value('vsphere')
is_expected.to contain_glance_api_config('glance_store/vmware_api_insecure').with_value('True')
is_expected.to contain_glance_api_config('glance_store/vmware_insecure').with_value('True')
is_expected.to contain_glance_api_config('glance_store/vmware_server_host').with_value('10.0.0.1')
is_expected.to contain_glance_api_config('glance_store/vmware_server_username').with_value('root')
is_expected.to contain_glance_api_config('glance_store/vmware_server_password').with_value('123456')
is_expected.to contain_glance_api_config('glance_store/vmware_datastore_name').with_value('Datastore')
is_expected.to contain_glance_api_config('glance_store/vmware_store_image_dir').with_value('/openstack_glance')
is_expected.to contain_glance_api_config('glance_store/vmware_task_poll_interval').with_value('5')
is_expected.to contain_glance_api_config('glance_store/vmware_api_retry_count').with_value('10')
is_expected.to contain_glance_api_config('glance_store/vmware_datacenter_path').with_value('Datacenter')
is_expected.to contain_glance_api_config('glance_store/vmware_task_poll_interval').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('glance_store/vmware_api_retry_count').with_value('<SERVICE DEFAULT>')
is_expected.to contain_glance_api_config('glance_store/vmware_datastores').with_value('Datacenter:Datastore')
is_expected.to contain_glance_api_config('glance_store/vmware_ca_file').with_value('<SERVICE DEFAULT>')
end
it 'not configures glance-glare.conf' do
is_expected.to_not contain_glance_glare_config('glance_store/default_store').with_value('vsphere')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_api_insecure').with_value('True')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_insecure').with_value('True')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_host').with_value('10.0.0.1')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_username').with_value('root')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_server_password').with_value('123456')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_datastore_name').with_value('Datastore')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_store_image_dir').with_value('/openstack_glance')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_task_poll_interval').with_value('5')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_api_retry_count').with_value('10')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_datacenter_path').with_value('Datacenter')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_task_poll_interval').with_value('<SERVICE DEFAULT>')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_api_retry_count').with_value('<SERVICE DEFAULT>')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_datastores').with_value('Datacenter:Datastore')
is_expected.to_not contain_glance_glare_config('glance_store/vmware_ca_file').with_value('<SERVICE DEFAULT>')
end
end

Expand All @@ -71,8 +70,7 @@
:vcenter_host => '10.0.0.1',
:vcenter_user => 'root',
:vcenter_password => '123456',
:vcenter_datacenter => 'Datacenter',
:vcenter_datastore => 'Datastore',
:vcenter_datastores => 'Datacenter:Datastore',
:vcenter_image_dir => '/openstack_glance',
:vcenter_ca_file => '/etc/glance/vcenter-ca.pem',
:vcenter_task_poll_interval => '6',
Expand Down

0 comments on commit 9c3aa78

Please sign in to comment.