LISA is developed and maintained by Microsoft, to empower Linux validation.
Перейти к файлу
Ju-Hyoung Lee c15468ba78 indentation convert from space to tab 2018-06-11 17:32:54 -07:00
Documents Formatting 2018-06-11 16:19:33 -07:00
JenkinsPipelines Removed the commented lines 2018-06-05 13:49:56 -07:00
Libraries Fixed : Internal IP was not being collected from PrimaryNIC sometimes. 2018-06-06 13:11:08 -07:00
Sandbox folder added 2018-05-15 16:17:08 -07:00
Testscripts Merge pull request #61 from lizzha/nested 2018-06-11 00:31:29 -07:00
Tools Added jq tool to analyse json files in shell script 2018-05-31 00:12:09 -07:00
Utilities Added support to upload results to DB 2018-06-04 23:13:21 -07:00
XML indentation convert from space to tab 2018-06-11 17:32:54 -07:00
.gitignore Added new feature : support for launching test jobs without re-uploading files 2018-06-04 19:53:02 -07:00
AutomationManager.ps1 Juhlee/doc instruction update (#32) 2018-05-31 08:33:53 -07:00
AzureTestSuite.ps1 Fixed bug where OverrideVMSize was not working 2018-06-02 02:24:59 -07:00
LICENSE-2.0.txt added License file 2018-05-15 18:01:37 -07:00
README.md Update READEME.md 2018-05-31 17:13:29 -07:00
RunTests.ps1 Added support to upload results to DB 2018-06-04 23:13:21 -07:00

README.md

Linux Integration Services Automation (LISA), version 2

May 2018

Overview

LISAv2 is the one-stop automation solution implemented by PowerShell scripts, Linux BASH scripts and Python scripts for verifying Linux image/kernel on below platforms:

  • Microsoft Azure
  • Microsoft Azure Stack
  • Microsoft Hyper-V

LISAv2 includes below test suite categories:

  • BVT tests
  • Smoke tests
  • Functional tests
  • Performance tests
  • Test suites developed by Open Source communities

Prerequisite

  1. You must have a Windows Machine with PowerShell (v5.0 and above) as test driver.

  2. You must be connected to Internet.

  3. You must have a valid Windows Azure Subscription.

Download Latest Azure PowerShell

  1. Download Web Platform Installer from here
  2. Start Web Platform Installer and select Azure PowerShell (Recommend 6.0.0 or above) and proceed for Azure PowerShell Installation.

Authenticate Your Test Driver Machine with Your Azure Subscription

Azure AD method

This creates a 12 Hours temporary session in PowerShell. In that session, you are allowed to run Windows Azure Cmdlets to control / use your subscription.

After 12 hours you will be asked to enter username and password of your subscription again.

Service Principal method

Refer to this URL here

Prepare VHD for Your Test

Applicable if you are uploading your own Linux VHD to Azure for test.

A VHD with Linux OS must be made compatible to work in HyperV environment. This includes:

  • Linux Integration Services
  • Windows Azure Linux Agent (for testing in Azure environment only)

Please follow the steps mentioned at here

Launch Test Suite

  1. Clone this automation code to your test driver by:

       git clone https://github.com/LIS/LISAv2.git
    
  2. Update the GlobalConfigurations.xml file with your Azure subscription infomation:

    Go to Global > Azure and update following fields :

     a. SubscriptionID
     b. SubscriptionName (Optional)
     c. ManagementEndpoint
     d. Environment (For Azure PublicCloud, use `AzureCloud`)
     e. ARMStorageAccount
    

    Example :


  <Azure>
        <Subscription>
            <SubscriptionID>2cd20493-0000-1111-2222-0123456789ab</SubscriptionID>
            <SubscriptionName>YOUR_SUBSCRIPTION_NAME</SubscriptionName>
            <ManagementEndpoint>https://management.core.windows.net</ManagementEndpoint>
            <Environment>AzureCloud</Environment>
            <ARMStorageAccount>ExistingStorage_Standard</ARMStorageAccount>
        </Subscription>

  1. Run the test suite with below command:

     .\RunTests.ps1 -TestPlatform "Azure" -TestLocation "<Region location>" -RGIdentifier "<Identifier of the resource group>" [-ARMImageName "<publisher offer SKU version>" | -OsVHD "<VHD from storage account>" ] [[-TestCategory "<Test Catogry from Jenkins pipeline>" | -TestArea "<Test Area from Jenkins pipeline>"]* | -TestTag "<A Tag from Jenkins pipeline>" | -TestNames "<Test cases separated by comma>"]
    

More Information

For more details, please refer to the documents here.