1+
12def 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