azure-linux-automation, 在微软Azure上,用于测试Linux映像的自动化工具

分享于 

11分钟阅读

GitHub

  繁體 雙語
Automation tools for testing Linux images on Microsoft Azure
  • 源代码名称:azure-linux-automation
  • 源代码网址:http://www.github.com/Azure/azure-linux-automation
  • azure-linux-automation源代码文档
  • azure-linux-automation源代码下载
  • Git URL:
    git://www.github.com/Azure/azure-linux-automation.git
    Git Clone代码到本地:
    git clone http://www.github.com/Azure/azure-linux-automation
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/Azure/azure-linux-automation
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    azure-linux-automation

    Microsoft中测试Linux映像的自动化工具

    概述

    Azure自动化是在 Windows Azure环境中主要运行测试套件的项目,用于测试 Windows Azure的Linux代理。 Azure自动化项目是 PowerShell,BASH和 python 脚本的集合。 测试确保了 Windows Azure Linux代理和 Windows Azure对不同Linux发行版的支持。 这个测试套件集中于构建验证测试( BVTs )。Azure VNET测试和网络测试。 测试环境由 Windows 机器( 使用 Azure PowerShell SDK ) 和Azure上执行实际测试的虚拟机组成。

    准备你的机器进行自动化循环

    先决条件

    你必须有一个 Windows 计算机,并且。 测试平台:

    
     a. Windows 7x64
    
    
     b. Windows 8x64
    
    
     c. Server 2008
    
    
     d. Server 2012
    
    
     e. Server 2012 R2
    
    
    
    

    你必须连接到互联网。

    你必须有一个有效的Windows Azure订阅。

    
     a. Subscription Name
    
    
     b. Subscription ID
    
    
    
    

    下载最新的自动化代码

    下载最新的Azure PowerShell。

    使用你的Azure订阅认证你的机器

    有两种方法可以通过订阅来验证你的计算机。

    Azure广告方法

    这将在PowerShell中创建 12小时的临时会话,在该会话中,你可以运行 Windows Azure cmdlet来控制/使用你的订阅。 在 12小时后,你将被要求输入你订阅的用户名和密码。 这可能导致长期运行自动化问题,因此我们使用证书方法。

    证书方法。

    要了解有关如何配置你的PowerShell的更多信息,请访问这里的

    下载 public-实用程序

    http://www.putty.org 下载 Putty 可执行文件并将它们保存在 .automation_root_foldertools 中。 你应该拥有以下实用程序:

    
     • plink.exe
    
    
     • pscp.exe
    
    
     • putty.exe
    
    
     • puttygen.exe
    
    
    
    

    http://sourceforge.net/projects/dos2unix/ 下载dos2unix可执行文件并将它们保存在 .automation_root_foldertools 中。 你应该拥有以下实用程序:

    
     • dos2unix.exe
    
    
    
    

    http://www.7-zip.org/ 下载 7-zip 可执行文件( 直接下载链接: http://www.7-zip.org/a/7za920.zip,并将它们保存在 .automation_root_foldertools 中。 你应该具有以下实用程序:

    
     • 7za.exe
    
    
    
    

    更新 Azure_ICA_all.xml-文件

    安装订阅详细信息。

    转到配置> Azure> 常规和更新以下字段:

    
    a. SubscriptionID
    
    
    b. SubscriptionName
    
    
    c. CertificateThumbprint (Make sure you have installed a management certificate and can access it via the Azure Management Portal (SETTINGS->MANAGEMENT CERTIFICATES). )
    
    
    d. StorageAccount
    
    
    e. Location
    
    
    f. AffinityGroup (Make sure that you either use <Location> or <AffinityGroup>. Means, if you want to use Location, then AffinityGroup should be blank and vice versa )
    
    
    
    

    例如:

    <General>
     <SubscriptionID>Your Subscription ID</SubscriptionID>
     <SubscriptionName>Your Subscription Name</SubscriptionName>
     <CertificateThumbprint>Certificate associated with your subscription</CertificateThumbprint>
     <ManagementEndpoint>https://management.core.windows.net</ManagementEndpoint>
     <StorageAccount>your current storage account</StorageAccount>
     <Location>Your preferred location</Location>
     <AffinityGroup></AffinityGroup>
    </General>

    在XML文件中添加VHD详细信息。

    转到配置> Azure> 部署> 数据。 请确保你的"测试 vhd"在以下位置出现。 条目。如果你的VHD不能在这里列出。 创建一个新的发行版元素并添加你的VHD详细信息。

    例如:

    <Distro>
     <Name>Distro_Name</Name>
     <OsImage>Distro_OS_Image_Name_As_Appearing_under_Azure_OS_Images</OsImage>
    </Distro>
    • 保存文件。

    准备VHD在Azure工作

    Applicable if you are uploading your own VHD with Linux OS to Azure.

    Linux操作系统的VHD必须兼容在Azure环境中工作。 这包括-

    
     1. Installation of Linux Integration Services to Linux VM (if already not present)
    
    
     2. Installation of Windows Azure Linux Agent to Linux VM (if already not installed.)
    
    
     3. Installation of minimum required packages. (Applicable if you want to run Tests using Automation code)
    
    
    
    

    请按以下步骤操作: http://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-create-upload-vhd/

    准备VHD以使用自动化代码。

    Applicable if you are using already uploaded VHD/Platform Image to run automation.

    要成功运行自动化代码,你需要在你的Linux VHD中安装以下。

    
     1. iperf
    
    
     2. mysql-server
    
    
     3. mysql-client
    
    
     4. gcc
    
    
     5. gcc-c++
    
    
     6. bind
    
    
     7. bind-utils
    
    
     8. bind9
    
    
     9. python
    
    
     10. python-pyasn1
    
    
     11. python-argparse
    
    
     12. python-crypto
    
    
     13. python-paramiko
    
    
     14. libstdc++6
    
    
     15. psmisc
    
    
     16. nfs-utils
    
    
     17. nfs-common
    
    
     18. tcpdump
    
    
    
    

    创建SSH密钥对

    PublicKey.cer - PrivateKey.ppk

    可以使用口令身份验证或者SSH密钥对身份验证来完成Linux虚拟机登录。 必须创建 public 键和 private 键才能成功运行自动化。 要了解更多关于如何创建SSH密钥对的信息,请访问这里的

    在创建 public 密钥(. cer ) 和 Putty 兼容 private 密钥(. ppk ) 之后,必须将它的放入 automation_root_folderssh 文件夹并在 Azure XML文件中提到它们的名称。

    VNET准备

    Required for executing Virtual Network Tests

    在Azure中创建一个虚拟网

    应该创建虚拟网络并在运行VNET测试案例之前连接到客户网络。 要了解如何在Azure上创建虚拟网络,请访问这里的

    使用RRAS创建一个客户站点

    除了Azure的虚拟网络之外,你还需要一个网络( 由子网和DNS服务器组成) 来作为客户网络。 如果你没有单独的网络运行 VNET,你可以使用RRAS创建一个虚拟客户网络。 要了解更多信息,请访问这里的

    如何启动自动化

    开始自动化之前,请确保在第章中已经完成了完成自动化循环操作的步骤。

    
     1. Start PowerShell with Administrator privileges
    
    
     2. Navigate to folder where automation code exists
    
    
     3. Issue automation command
    
    
    
    
    自动化循环可用性
    
     1. BVT
    
    
     2. NETWORK
    
    
     3. VNET
    
    
     4. E2E-1
    
    
     5. E2E-DISK
    
    
     6. E2E-TIMESYNC
    
    
     7. E2E-TIMESYNC-KERNBANCH
    
    
     8. WORDPRESS1VM
    
    
     9. WORDPRESS4VM
    
    
     10. DAYTRADER1VM
    
    
     11. DAYTRADER4VM
    
    
     12. NETPERF
    
    
     13. IOPERF-RAID
    
    
     14. IOPERF-LVM
    
    
    
    
    支持Azure模式
    
     1. AzureServiceManagement, if the value is present in the SupportedExecutionModes tag of the case definition
    
    
     2. AzureResourceManager, if the value is present in the SupportedExecutionModes tag of the case definition
    
    
    
    
    启动任何自动化循环的命令

    在ASM模式下运行测试

    
    . AzureAutomationManager.ps1 -xmlConfigFile. Azure_ICA_ALL.xml -runtests -email -Distro <DistroName> -cycleName <TestCycleToExecute> 
    
    
    
    

    在ARM模式下运行测试

    
    . AzureAutomationManager.ps1 -xmlConfigFile. Azure_ICA_ALL.xml -runtests -email -Distro <DistroName> -cycleName <TestCycleToExecute> -UseAzureResourceManager
    
    
    
    
    更多信息

    有关详细信息,请参考这里的文档


    tool  图像  AUTO  test  micr  images  
    相关文章