You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@vcl.apache.org by ar...@apache.org on 2010/02/04 22:27:03 UTC

svn commit: r906655 - in /incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows: Version_6/7.pm Version_7.pm Version_7/

Author: arkurth
Date: Thu Feb  4 21:27:02 2010
New Revision: 906655

URL: http://svn.apache.org/viewvc?rev=906655&view=rev
Log:
VCL-301
Removed the Version_7 directory and Version_7.pm.  Moved 7.pm to the Version_6 directory since Windows 7 is actually 6.1.  Moved code which used to be in Version_7.pm to 7.pm.

Added:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6/7.pm
Removed:
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_7/
    incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_7.pm

Added: incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6/7.pm
URL: http://svn.apache.org/viewvc/incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6/7.pm?rev=906655&view=auto
==============================================================================
--- incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6/7.pm (added)
+++ incubator/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6/7.pm Thu Feb  4 21:27:02 2010
@@ -0,0 +1,198 @@
+#!/usr/bin/perl -w
+###############################################################################
+# $Id: $
+###############################################################################
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You 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.
+###############################################################################
+
+=head1 NAME
+
+VCL::Module::OS::Windows::Version_6::7.pm - VCL module to support Windows 7 operating system
+
+=head1 SYNOPSIS
+
+ Needs to be written
+
+=head1 DESCRIPTION
+
+ This module provides VCL support for Windows 7.
+
+=cut
+
+##############################################################################
+package VCL::Module::OS::Windows::Version_6::7;
+
+# Specify the lib path using FindBin
+use FindBin;
+use lib "$FindBin::Bin/../../../../..";
+
+# Configure inheritance
+use base qw(VCL::Module::OS::Windows::Version_6);
+
+# Specify the version of this module
+our $VERSION = '2.00';
+
+# Specify the version of Perl to use
+use 5.008000;
+
+use strict;
+use warnings;
+use diagnostics;
+
+use VCL::utils;
+
+##############################################################################
+
+=head1 CLASS VARIABLES
+
+=cut
+
+=head2 $SOURCE_CONFIGURATION_DIRECTORY
+
+ Data type   : Scalar
+ Description : Location on management node of script/utilty/configuration
+               files needed to configure the OS. This is normally the
+					directory under the 'tools' directory specific to this OS.
+
+=cut
+
+our $SOURCE_CONFIGURATION_DIRECTORY = "$TOOLS/Windows_7";
+
+##############################################################################
+
+=head1 OBJECT METHODS
+
+=cut
+
+#/////////////////////////////////////////////////////////////////////////////
+
+=head2 pre_capture
+
+ Parameters  :
+ Returns     :
+ Description :
+
+=cut
+
+sub pre_capture {
+	my $self = shift;
+	my $args = shift;
+	if (ref($self) !~ /windows/i) {
+		notify($ERRORS{'CRITICAL'}, 0, "subroutine was called as a function, it must be called as a class method");
+		return;
+	}
+	
+	# Call parent class's pre_capture() subroutine
+	notify($ERRORS{'OK'}, 0, "calling parent class pre_capture() subroutine");
+	if ($self->SUPER::pre_capture($args)) {
+		notify($ERRORS{'OK'}, 0, "successfully executed parent class pre_capture() subroutine");
+	}
+	else {
+		notify($ERRORS{'WARNING'}, 0, "failed to execute parent class pre_capture() subroutine");
+		return 0;
+	}
+	
+	notify($ERRORS{'OK'}, 0, "beginning Windows 7 image capture preparation tasks");
+
+=item 1
+
+Disable the following scheduled tasks:
+
+ * WinSAT - Measures a system's performance and capabilities
+ * RacTask - Microsoft Reliability Analysis task to process system reliability data
+ * ProgramDataUpdater - Collects program telemetry information if opted-in to the Microsoft Customer Experience Improvement Program
+ * AitAgent - Aggregates and uploads Application Telemetry information if opted-in to the Microsoft Customer Experience Improvement Program
+ * KernelCeipTask - The Kernel CEIP (Customer Experience Improvement Program) task collects additional information about the system and sends this data to Microsoft
+ * UsbCeip - The USB CEIP (Customer Experience Improvement Program) task collects Universal Serial Bus related statistics and information about your machine and sends it to the Windows Device Connectivity engineering group at Microsoft
+ * Proxy - This task collects and uploads autochk SQM data if opted-in to the Microsoft Customer Experience Improvement Program
+ * ConfigNotification - This scheduled task notifies the user that Windows Backup has not been configured
+ * Microsoft-Windows-DiskDiagnosticDataCollector - The Windows Disk Diagnostic reports general disk and system information to Microsoft for users participating in the Customer Experience Program
+ * Scheduled - The Windows Scheduled Maintenance Task performs periodic maintenance of the computer system by fixing problems automatically or reporting them through the Action Center
+ * RegIdleBackup - Registry Idle Backup Task
+ * AnalyzeSystem - This job analyzes the system looking for conditions that may cause high energy use.
+ * LPRemove - Launch language cleanup tool
+
+=cut	
+
+	my @scheduled_tasks = (
+		'\Microsoft\Windows\Maintenance\WinSAT',
+		'\Microsoft\Windows\RAC\RacTask',
+		'\Microsoft\Windows\Application Experience\ProgramDataUpdater',
+		'\Microsoft\Windows\Application Experience\AitAgent',
+		'\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask',
+		'\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip',
+		'\Microsoft\Windows\Autochk\Proxy',
+		'\Microsoft\Windows\WindowsBackup\ConfigNotification',
+		'\Microsoft\Windows\DiskDiagnostic\Microsoft-Windows-DiskDiagnosticDataCollector',
+		'\Microsoft\Windows\Diagnosis\Scheduled',
+		'\Microsoft\Windows\Registry\RegIdleBackup',
+		'\Microsoft\Windows\Power Efficiency Diagnostics\AnalyzeSystem',
+		'\Microsoft\Windows\MUI\LPRemove',
+	);
+	for my $scheduled_task (@scheduled_tasks) {
+		$self->disable_scheduled_task($scheduled_task);
+	}
+
+=item *
+
+Disable the following services:
+
+ * IP Helper (iphlpsvc) - Provides tunnel connectivity using IPv6 transition technologies (6to4, ISATAP, Port Proxy, and Teredo), and IP-HTTPS
+ * Function Discovery Resource Publication (FDResPub) - Publishes this computer and resources attached to this computer so they can be discovered over the network.  If this service is stopped, network resources will no longer be published and they will not be discovered by other computers on the network.
+
+=cut	
+
+	my @services = (
+		'iphlpsvc',
+		'FDResPub',
+	);
+	for my $service (@services) {
+		$self->set_service_startup_mode($service, 'disabled');
+	}
+	
+=item *
+
+Prepare the computer for Sysprep or prepare the non-Sysprep post_load steps
+
+=cut
+
+	if ($self->data->get_imagemeta_sysprep()) {
+		if (!$self->run_sysprep()) {
+			notify($ERRORS{'WARNING'}, 0, "capture preparation failed, failed to run Sysprep");
+			return;
+		}
+	}
+	else {
+		if (!$self->prepare_post_load()) {
+			notify($ERRORS{'WARNING'}, 0, "capture preparation failed, failed to run prepare post_load");
+			return;
+		}
+	}
+	
+	notify($ERRORS{'OK'}, 0, "returning 1");
+	return 1;
+} ## end sub pre_capture
+
+#/////////////////////////////////////////////////////////////////////////////
+
+1;
+__END__
+
+=head1 SEE ALSO
+
+L<http://cwiki.apache.org/VCL/>
+
+=cut