Skip to content

Commit 72a3053

Browse files
Wilson McCoubreyglennsarti
Wilson McCoubrey
authored andcommitted
(maint) Prime Feature and Instance installation with .Net 3.5 source
Previously, there was known bug with installing .Net Framework 3.5 on Server 2012R2 due to the installation media not making the required features available, instead they were removed. This commit copies and mounts a Windows Server 2012 R2 installation ISO and uses the `windows_feature_source` property in the module to use the `I:\source\sxs` folder for feature installation components.
1 parent bb38c4c commit 72a3053

5 files changed

+31
-16
lines changed

spec/acceptance/sqlserver_config_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def ensure_sqlserver_instance(host,inst_name, ensure_val = 'present')
2121
sql_sysadmin_accounts => ['Administrator'],
2222
security_mode => 'SQL',
2323
sa_pwd => 'Pupp3t1@',
24+
windows_feature_source => 'I:\\sources\\sxs',
2425
}
2526
MANIFEST
2627

spec/acceptance/sqlserver_instance_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ def ensure_sqlserver_instance(host, features, inst_name, ensure_val = 'present',
2323
sql_sysadmin_accounts => #{sysadmin_accounts},
2424
agt_svc_account => 'Administrator',
2525
agt_svc_password => 'Qu@lity!',
26+
windows_feature_source => 'I:\\sources\\sxs',
2627
}
2728
MANIFEST
2829

spec/acceptance/z_last_sqlserver_features_spec.rb

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ def ensure_sql_features(host, features, ensure_val = 'present')
1818
is_svc_account => "$::hostname\\\\Administrator",
1919
is_svc_password => 'Qu@lity!',
2020
features => [ <%= mssql_features %> ],
21+
windows_feature_source => 'I:\\sources\\sxs',
2122
}
2223
MANIFEST
2324

spec/spec_helper_acceptance.rb

+10
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
require 'sql_testing_helpers'
44
require 'beaker/puppet_install_helper'
55

6+
WIN_ISO_ROOT = "http://int-resources.ops.puppetlabs.net/ISO/Windows/2012"
7+
WIN_2012R2_ISO = "en_windows_server_2012_r2_with_update_x64_dvd_6052708.iso"
68
QA_RESOURCE_ROOT = "http://int-resources.ops.puppetlabs.net/QA_resources/microsoft_sql/iso/"
79
SQL_2014_ISO = "SQLServer2014-x64-ENU.iso"
810
SQL_2012_ISO = "SQLServer2012SP1-FullSlipstream-ENU-x64.iso"
@@ -70,6 +72,14 @@
7072
# Install sqlserver dependencies.
7173
on(agent, puppet('module install puppetlabs-stdlib'))
7274

75+
# Mount windows 2012R2 ISO to allow install of .NET 3.5 Windows Feature
76+
iso_opts = {
77+
:folder => WIN_ISO_ROOT,
78+
:file => WIN_2012R2_ISO,
79+
:drive_letter => 'I'
80+
}
81+
mount_iso(agent, iso_opts)
82+
7383
# Install sqlserver module from local source.
7484
# See FM-5062 for more details.
7585
copy_module_to(agent, local)

spec/sql_testing_helpers.rb

+18-16
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
1+
12
def mount_iso(host, opts = {})
2-
# This method mounts the ISO on a given host
3-
qa_iso_resource_root = opts[:qa_iso_resource_root]
4-
sqlserver_iso = opts[:sqlserver_iso]
5-
sqlserver_version = opts[:sqlserver_version]
3+
folder = opts[:folder];
4+
file = opts[:file];
5+
drive_letter = opts[:drive_letter];
6+
67
pp = <<-MANIFEST
7-
$p_src = '#{qa_iso_resource_root}/#{sqlserver_iso}'
8-
$source = 'C:\\#{sqlserver_iso}'
9-
pget{"Download #{sqlserver_version} Iso":
8+
$p_src = '#{folder}/#{file}'
9+
$source = 'C:\\#{file}'
10+
pget{"Download #{file} Iso":
1011
source => $p_src,
1112
target => 'C:',
1213
timeout => 150000,
1314
}
1415
mount_iso{$source:
15-
require => Pget['Download #{sqlserver_version} Iso'],
16-
drive_letter => 'H',
16+
require => Pget['Download #{file} Iso'],
17+
drive_letter => '#{drive_letter}',
1718
}
1819
MANIFEST
1920
apply_manifest_on(host, pp)
@@ -37,7 +38,8 @@ def install_sqlserver(host, opts = {})
3738
'INSTANCEDIR' => 'C:\\Program Files\\Microsoft SQL Server',
3839
'INSTALLSHAREDDIR' => 'C:\\Program Files\\Microsoft SQL Server',
3940
'INSTALLSHAREDWOWDIR' => 'C:\\Program Files (x86)\\Microsoft SQL Server',
40-
}
41+
},
42+
windows_feature_source => 'I:\\sources\\sxs',
4143
}
4244
MANIFEST
4345
apply_manifest_on(host, pp)
@@ -83,15 +85,15 @@ def base_install(sql_version)
8385
case sql_version.to_i
8486
when 2012
8587
iso_opts = {
86-
:qa_iso_resource_root => QA_RESOURCE_ROOT,
87-
:sqlserver_iso => SQL_2012_ISO,
88-
:sqlserver_version => '2012',
88+
:folder => QA_RESOURCE_ROOT,
89+
:file => SQL_2012_ISO,
90+
:drive_letter => 'H'
8991
}
9092
when 2014
9193
iso_opts = {
92-
:qa_iso_resource_root => QA_RESOURCE_ROOT,
93-
:sqlserver_iso => SQL_2014_ISO,
94-
:sqlserver_version => '2014',
94+
:folder => QA_RESOURCE_ROOT,
95+
:file => SQL_2014_ISO,
96+
:drive_letter => 'H'
9597
}
9698
end
9799
host = find_only_one('sql_host')

0 commit comments

Comments
 (0)