68 lines
2.1 KiB
Ruby
68 lines
2.1 KiB
Ruby
# encoding: UTF-8
|
|
#
|
|
# Cookbook Name:: openstack-block-storage
|
|
|
|
require_relative "spec_helper"
|
|
|
|
describe "openstack-block-storage::volume" do
|
|
before { block_storage_stubs }
|
|
describe "opensuse" do
|
|
before do
|
|
@chef_run = ::ChefSpec::Runner.new ::OPENSUSE_OPTS
|
|
@chef_run.converge "openstack-block-storage::volume"
|
|
end
|
|
|
|
it "installs cinder volume packages" do
|
|
expect(@chef_run).to upgrade_package "openstack-cinder-volume"
|
|
end
|
|
|
|
it "installs mysql python packages by default" do
|
|
expect(@chef_run).to upgrade_package "python-mysql"
|
|
end
|
|
|
|
it "installs postgresql python packages if explicitly told" do
|
|
chef_run = ::ChefSpec::Runner.new ::OPENSUSE_OPTS
|
|
node = chef_run.node
|
|
node.set["openstack"]["db"]["volume"]["db_type"] = "postgresql"
|
|
chef_run.converge "openstack-block-storage::volume"
|
|
|
|
expect(chef_run).to upgrade_package "python-psycopg2"
|
|
expect(chef_run).not_to upgrade_package "python-mysql"
|
|
end
|
|
|
|
it "installs cinder iscsi packages" do
|
|
expect(@chef_run).to upgrade_package "tgt"
|
|
end
|
|
|
|
it "starts cinder volume" do
|
|
expect(@chef_run).to start_service "openstack-cinder-volume"
|
|
end
|
|
|
|
it "starts cinder volume on boot" do
|
|
expected = "openstack-cinder-volume"
|
|
expect(@chef_run).to enable_service expected
|
|
end
|
|
|
|
it "starts iscsi target on boot" do
|
|
expect(@chef_run).to enable_service "tgtd"
|
|
end
|
|
|
|
it "installs nfs packages" do
|
|
chef_run = ::ChefSpec::Runner.new ::OPENSUSE_OPTS do |n|
|
|
n.set["openstack"]["block-storage"]["volume"]["driver"] = "cinder.volume.drivers.netapp.nfs.NetAppDirect7modeNfsDriver"
|
|
end
|
|
chef_run.converge "openstack-block-storage::volume"
|
|
|
|
expect(chef_run).to upgrade_package "nfs-utils"
|
|
expect(chef_run).not_to upgrade_package "nfs-utils-lib"
|
|
end
|
|
|
|
it "has opensuse include" do
|
|
file = "/etc/tgt/targets.conf"
|
|
|
|
expect(@chef_run).to render_file(file).with_content("include /var/lib/cinder/volumes/*")
|
|
expect(@chef_run).not_to render_file(file).with_content("include /etc/tgt/conf.d/*.conf")
|
|
end
|
|
end
|
|
end
|