From 4b204984adb5158a56c8131ec1468c1dbb39bdc6 Mon Sep 17 00:00:00 2001 From: galstrom21 Date: Wed, 13 Nov 2013 16:17:33 -0600 Subject: [PATCH] Adding guard around deleting sqlite db * Don't delete if node.openstack.db.identity.db_type is set to sqlite Fixes: bug #1251044 Change-Id: I8912808f2858e75c26bab39a0e61662bc63dd495 --- CHANGELOG.md | 5 +++++ metadata.rb | 2 +- recipes/server.rb | 1 + spec/server_spec.rb | 9 +++++++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9f5a88d..0a6f63a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,11 @@ This file is used to list changes made in each version of cookbook-openstack-identity. +## 7.0.2: +### Bug +* Do not delete the sqlite database when node.openstack.db.identity.db_type is set to sqlite. +* Added `does not delete keystone.db when configured to use sqlite` test case for this scenario + ## 7.0.1: * Fixed _python_packages issue when setting node.openstack.db.identity.db_type to sqlite. * Added `converges when configured to use sqlite db backend` test case for this scenario. diff --git a/metadata.rb b/metadata.rb index b72eb15..b42ad43 100644 --- a/metadata.rb +++ b/metadata.rb @@ -4,7 +4,7 @@ maintainer_email "matt@opscode.com" license "Apache 2.0" description "The OpenStack Identity service Keystone." long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) -version "7.0.1" +version "7.0.2" recipe "openstack-identity::server", "Installs and Configures Keystone Service" recipe "openstack-identity::registration", "Adds user, tenant, role and endpoint records to Keystone" diff --git a/recipes/server.rb b/recipes/server.rb index b6f6113..6200baa 100644 --- a/recipes/server.rb +++ b/recipes/server.rb @@ -85,6 +85,7 @@ end file "/var/lib/keystone/keystone.db" do action :delete + not_if { node["openstack"]["db"]["identity"]["db_type"] == "sqlite" } end execute "keystone-manage pki_setup" do diff --git a/spec/server_spec.rb b/spec/server_spec.rb index 395007c..7ae8382 100644 --- a/spec/server_spec.rb +++ b/spec/server_spec.rb @@ -123,6 +123,15 @@ describe "openstack-identity::server" do expect(@chef_run).to delete_file "/var/lib/keystone/keystone.db" end + it "does not delete keystone.db when configured to use sqlite" do + opts = ::UBUNTU_OPTS.merge(:evaluate_guards => true) + chef_run = ::ChefSpec::ChefRunner.new opts + node = chef_run.node + node.set["openstack"]["db"]["identity"]["db_type"] = "sqlite" + chef_run.converge "openstack-identity::server" + expect(chef_run).not_to delete_file "/var/lib/keystone/keystone.db" + end + describe "pki setup" do before { @cmd = "keystone-manage pki_setup" }