SPONSORS:






User Tag List

Page 1 of 2 12 LastLast
Results 1 to 10 of 12
  1. #1
    Junior Member
    Join Date
    Nov 1999
    Location
    Chelmsford, MA, USA
    Posts
    24
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Procedure for rebooting between uninstall & install

    Hi All,

    Well, there comes a time when your boss says "I want you to make a script that will automatically uninstall the old stuff, install the new build and kick off the smoketest so we'll have a report waiting for us when we get in each morning. That's easy, right?" My time was the other day.

    Thankfully, most of the GUI's I have to deal with are MFC or InstallShield but there were a few challenges amongst having to remove/setup DNSs, IIS virtual directories, MTS Packages and reboot in the middle of it all. The rebooting was what I wanted to discuss here.

    First of all, thanks for the reboot.inc file in the QALib.zip file. (Everyone should check it out if they haven't already).

    Second, I had to come up with a way to automate the logon and resumption of the process and here is what I did. (I guess there's a better way - and I'd like some discussion from others)

    1) At the end of the whole uninstall process,
    I made a function that writes out a batch file (Foo.bat) and places it in the C:\WINNT\Profiles\All Users\Start Menu\Programs\Startup directory.

    1a) Foo.bat has one line in it:
    partner -r D:\Apps\directory\Install.t
    (I put the SilkTest directory in my PATH env. variable)

    2) Use the reboot function.

    3) Make use of TweakUI to automate the logon process (security issue here, but it is a build machine and not a personal machine).

    4) Install.t starts out with a function that
    prints out the date and time it started and any notices about messageboxes the agent encountered before starting the script.

    4a) This first function also rewrites Foo.bat to make it just have an exit command (because Windows won't let me save an empty .bat file) so when the machine gets rebooted in other circumstances, installation won't occur. I could also use SYS_RemoveFile() I guess.

    It was uh, interesting, but I have something that does work. I wonder if there's a better way, particularly for the logon process. Also, what options are available for picking up some sort of signal that the next build is ready?

    I can provide the pertinent code if anyone wants it. Just email me or reply here.

    Cheers,


    ------------------
    <UL TYPE=SQUARE>
    <LI>Peter
    <LI> peterw@phaseforward.com
    <LI>Phase Forward, Inc. [/list]

    <UL TYPE=SQUARE]
    <LI]Peter
    <LI] pfwick@nortelnetworks.com
    <LI]Epicon, Inc.
    </UL]

  2. #2
    AJ
    AJ is offline
    Moderator AJ's Avatar
    Join Date
    Jun 1999
    Location
    San Jose, CA
    Posts
    1,691
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Procedure for rebooting between uninstall & install

    Here's an article to read...
    http://customers.segue.com/protected...Alhait_toc.htm

    You do need to have an account with Segue support to login usually your customer name and number for password.

    ------------------
    AJ Alhait
    BetaSoft Inc.
    AJ Alhait
    BetaSoft Inc.

  3. #3
    Junior Member
    Join Date
    Nov 1999
    Location
    Chelmsford, MA, USA
    Posts
    24
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Procedure for rebooting between uninstall & install

    Aww right!! I didn't even think to check there. I just went about rolling my own. You are spot on when it comes to the installation process coming last on the list of priorities.

    While I was making my script I noticed all sorts of places where I could make it a suite of tests in and of itself instead of just a utility. The dev group is gonna be annoyed much earlier everyday now. ;-&gt;



    ------------------
    <UL TYPE=SQUARE>
    <LI>Peter
    <LI> peterw@phaseforward.com
    <LI>Phase Forward, Inc. [/list]

    <UL TYPE=SQUARE]
    <LI]Peter
    <LI] pfwick@nortelnetworks.com
    <LI]Epicon, Inc.
    </UL]

  4. #4
    Junior Member
    Join Date
    Aug 1999
    Location
    Boston, MA
    Posts
    16
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Procedure for rebooting between uninstall & install

    To get around the reboot issue, We use tcl/expect ... This allows us to:

    Telnet into a machine and run the silk install script.

    Ping the machine until it goes away (shutdown has happened). Ping the machine until it is available (reboot is proceeding).

    Wait about 3 minutes (approx when the machine finishes rebooting). telnet back into the machine and run the silk install script

    I've found it quite handy to be able to invoke silk scripts from within tcl/expect scripts ...
    John McGrail

  5. #5
    Guest

    Re: Procedure for rebooting between uninstall & install

    Our approach is to separate the automated testing of the Install/Uninstall process from the automated Acceptance, Regression, Stress, and Performance testing of the software application(s). This allows us to continue with the comprehensive testing of our app(s) even if the Install/Uninstall process is broken or requires manual "tweaking". This also insures that automated app testing is not dependent on the successful automated testing of install/uninstall.

    We do thoroughly test the install/uninstall process, but we also insure that we have a clean base O/S image on our target test systems before starting any new round of testing. We do not rely on the app uninstall process. AJ is fond of LabExpert, but we use ImageCast IC3 to load clean images on our test systems, under the control of Silk.

    Imagecast allows us to keep a single base O/S image for Win95, Win98, Win98SE, etc. on our image server (which can be the Silk automation host). Under Silk control, we can use ImageCast to "blast" clean O/S images on to our multiple target test systems.

    ImageCast has a Post Configuration Utility that correctly configures each target test machine's Computer Name, IP Address, and even the Silk Agent Name (our Agents are configured for NetBIOS protocol).

    With a clean O/S image installed, we can perform automated Install/Uninstall testing, or we can load a compressed "Application Image" of our app under test on each target and begin automated testing of the app(s). ImageCast has an "Application Imaging" capability that allows us to take a "before snapshot" of the hard drive and registry image before our app is installed, and an "after snapshot" once our software is installed. The Application Image can then be propogated to our target systems, allowing us to forego lengthy installation procedures on a dozen or more systems. And, this can all be done under control from Silk.

    Using this approach, we are able to kick off an automated test run using a clean Win95 image, and then, when that run is completed, a clean Win98 image is loaded, and testing continues. Upon completion of all testing, the target test systems are shutdown. All of this happens under Silk control.

    It has taken almost a full year of development and debug time to integrate Silk and ImageCast, but it has allowed us to perform unattended automated testing around the clock.

    BTW, ImageCast IC3 is no longer a DOS based tool (as mentioned in AJ's article), and has a very automation friendly GUI.

    Tony Mrozinski
    Sr. Software Test Automation Engineer
    Home Networking Operations
    Intel Corporation

    [This message has been edited by Tony Mrozinski (edited 12-13-1999).]

  6. #6
    Guest

    Re: Procedure for rebooting between uninstall & install

    I don't know the answer to your boot partition question.

    We encountered no difficulties while setting up ImageCast. We evaluated LabExpert, but after several hours of fumbling about unsuccessfully with their convoluted and poorly documented setup process, we downloaded the ImageCast demo from the web site. We were operational on a rack of 6 target PCs and 1 automation host/image server in 40 minute. We're now deployed on a total of 5 similarly configured racks.

    We have found that when the ImageCast Control Center and the base O/S images reside on the Silk automation host, there are obviously greater demands on memory. We're about to switch to faster PIII based host PCs with 128 MB of RAM to keep Silk happy when it is interacting with ImageCast.

    Ideally, we would like to set up a single ImageCast server machine to be shared by our 5 automation racks, but i haven't figured out how to gracefully handle the potential scheduling conflicts of 5 different automation hosts trying to simultaneously interact with a single ImageCast control center.

    Now if only Silk worked as reliably as ImageCast...

    And if only it were as cheap as ImageCast...

    BTW, the views and opinions expressed above are mine, and are not the views or opinions of Intel Corporation, blah, {insert appropriate legalese} blah, blah...

    Tony Mrozinski
    Sr. Software Test Automation Engineer
    Home Networking Operations
    Intel Corporation

  7. #7
    Guest

    Re: Procedure for rebooting between uninstall & install

    AJ: In answer to your question about boot partition - Yes, ImageCast allows you to install a Client Agent on your target systems which eliminates the need for Client floppies or physical intervention at the target machine(s). You typically install this Client Agent on the “Model System” that you will be creating a base image of. That way, the Client Image is always part of your base image. From this point on, all Client Agents are capable of receiving commands from the ImageCast Control Center (ICC). The ImageCast Client Agent requires a TCP/IP stack bound to the Ethernet adapter on the target, which can then receive commands from the ICC.

    I obtained this information from the IC3 manual. We do not implement this method because of our unusual network configuration requirements. We are testing the software and hardware components of a home networking product. Our target test systems are connected to the automation host via Ethernet adapters bound to NetBIOS, NetBEUI, and IPX/SPX, but not bound to TCP/IP. The target systems also have home networking adapters which are bound to TCP/IP, but not to NetBIOS, NetBEUI, and IPX/SPX. This allows us to maintain separation between the Silk Agent network (our agents use NetBIOS protocol) and the home networking system under test.

    Because we do not have TCP/IP bound to the Ethernet adapters on our targets, we cannot use the ImageCast Client Agent. In fact, we thought we were pretty much stuck with using the Client floppy approach, which of course pretty much limits the usefulness of an automated imaging process. Then I came up with a cleverly simple (or simply clever) solution, which BTW may also work with LabExpert.

    The contents of an ImageCast Client boot floppy includes a DOS based Client, and autoexec.bat file, a configuration file (containing Client name and IP address), and the necessary network drivers and TCP/IP stack required to establish communications with the ICC on our automation host. Instead of having a test technician present to insert floppies and reboot machines, we let the automation do it. OK, I haven’t figured out how to get Silk to insert floppies, but the next best thing is to copy the files that would be on a floppy to each target machine (the config files are specific to each target as they contain the target name and IP address) from the automation host, and then force the targets to restart. When the targets reboot, the DOS based Client program is running on each target. At this point, we can blast our image(s) to selected target machines from the ICC.

    After the image is blasted, the target machines are rebooted, the ImageCast Post Configuration Utility is automatically executed, and machine specific parameters (computer name, networking properties, registry settings, even the name of the Silk Agent) are set. The target is automatically rebooted when Post Config is done, and when the targets restart, their Silk Agent are running and ready to be reacquired by the host to begin executing a new round of tests. In our case, we may be running automated Install/Uninstall testing, or we may load an “Application Image” of our app under test on all targets to begin the unmanned execution of a test suite.

    I don’t know enough about LabExpert or the contents of its Client floppies, but perhaps our approach of copying the necessary Client files from the host to each target would work.

    Tony Mrozinski
    Sr. Software Test Automation Engineer
    Home Networking Operations
    Intel Corporation

  8. #8
    AJ
    AJ is offline
    Moderator AJ's Avatar
    Join Date
    Jun 1999
    Location
    San Jose, CA
    Posts
    1,691
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Procedure for rebooting between uninstall & install

    Hey Tony,

    That's what I like about LabExpert.

    You don't need anybody to be sitting at the client to insert a boot floppy. What LabExpert does that nobody else I know does is the following:

    You can have the boot floppy (same as everything else) but you have the choice to install a 5 Meg boot partision on each client to boot and connect to the network then map the server and do the casting thing... And it does support TCP/IP.
    The only drawback is that the boot partion boots every other time, meaning that the 1st time you boot the machine it will boot in DOS, then if no job (image) is waiting, then it reboots again in "production mode" NT or 98 or 95 etc...

    That's why I prefer it over all other tools out there. I've worked with it for 9 months, and the only thing I hate about it is the long time it takes to setup and understand.
    It takes a good month to have the environment down, especially trying to get different NICs working




    ------------------
    AJ Alhait
    BetaSoft Inc.
    AJ Alhait
    BetaSoft Inc.

  9. #9
    AJ
    AJ is offline
    Moderator AJ's Avatar
    Join Date
    Jun 1999
    Location
    San Jose, CA
    Posts
    1,691
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: Procedure for rebooting between uninstall & install

    Hi Tony,

    Yes I'm fond of LabExpert... Although I did see Image Cast before, (previous makers of Ghost) I never knew they had a Windows solution. ie an application with a Windows GUI. Anyhow... My question is does ImageCast support a boot partition?

    I just added it to the Links/Downloads directory. Thanks for noting it...

    Perhaps you can shed some light on any difficulties or issues you had with setting up stations.

    Thanks

    ------------------
    AJ Alhait
    BetaSoft Inc.
    AJ Alhait
    BetaSoft Inc.

  10. #10
    Guest

    Re: Procedure for rebooting between uninstall & install

    AJ:

    The ImageCast Client Agent can be installed in a directory folder within an existing partition or within a separate boot partition.

    Once the Client Agents are installed on target systems, an agent icon will be visible in the system tray, unless you choose to hide it. The agent waits for a command from the ICC to reboot the machine into the Client, so that multicasting can occur.

    I don't know if IC has the reboot problem that you describe if you use a boot partition, but there are no reboot problems if the Client Agent is installed in a directory within an existing partition.

    TonyMro...

 

 
Page 1 of 2 12 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

vBulletin Optimisation provided by vB Optimise v2.6.0 Beta 4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.0.9 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Questions / Answers Form provided by vBAnswers (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBNominatevBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Username Changing provided by Username Change (Free) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 09:21 AM.

Copyright BetaSoft Inc.