diff --git a/manifests/drivers/ssh.pp b/manifests/drivers/ssh.pp new file mode 100644 index 00000000..88fdc491 --- /dev/null +++ b/manifests/drivers/ssh.pp @@ -0,0 +1,34 @@ +# Copyright 2016 Red Hat, Inc. +# All Rights Reserved. +# +# 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 +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +# Configure the SSH driver in Ironic +# +# === Parameters +# +# [*libvirt_uri*] +# (optional) libvirt URI. +# Defaults to $::os_service_default. +# + +class ironic::drivers::ssh ( + $libvirt_uri = $::os_service_default, +) { + + # Configure ironic.conf + ironic_config { + 'ssh/libvirt_uri': value => $libvirt_uri; + } + +} diff --git a/releasenotes/notes/ssh-6b157a993886618d.yaml b/releasenotes/notes/ssh-6b157a993886618d.yaml new file mode 100644 index 00000000..89b9e837 --- /dev/null +++ b/releasenotes/notes/ssh-6b157a993886618d.yaml @@ -0,0 +1,3 @@ +--- +features: + - Allow to configure ssh section in Ironic configuration. diff --git a/spec/classes/ironic_drivers_ssh_spec.rb b/spec/classes/ironic_drivers_ssh_spec.rb new file mode 100644 index 00000000..8d726196 --- /dev/null +++ b/spec/classes/ironic_drivers_ssh_spec.rb @@ -0,0 +1,50 @@ +# Copyright 2016 Red Hat, Inc. +# All Rights Reserved. +# +# 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 +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +# Unit tests for ironic::drivers::ipmi class +# + +require 'spec_helper' + +describe 'ironic::drivers::ssh' do + + shared_examples_for 'ironic driver ssh' do + + context 'with default parameters' do + it { is_expected.to contain_ironic_config('ssh/libvirt_uri').with_value('') } + end + + context 'when overriding parameters' do + let :params do + { :libvirt_uri => 'qemu:///session' } + end + + it { is_expected.to contain_ironic_config('ssh/libvirt_uri').with_value('qemu:///session') } + end + + end + + on_supported_os({ + :supported_os => OSDefaults.get_supported_os + }).each do |os,facts| + context "on #{os}" do + let (:facts) do + facts.merge!(OSDefaults.get_facts()) + end + it_configures 'ironic driver ssh' + end + end + +end