Added ARM support for Wordpress test and fixed minor issues (#35)
* Updated the detect_linux_distribution_version lib function to get proper distro version * Minor fix to support package installation for CentOS * Minor fix to support package installation for CentOS and RHEL distros in FIO perf test * Minor fix for FIO test * Minor fix for detect distro version * Updated the perf_iperf3.sh script to install the required packages for CentOS & RHEL * Added new test scripts for LIS build scenario tests 1. Added new test scripts for LIS build 8 scenario tests 2. Updated ARM test execution mode * Minor Fix to display upgrade & uninstall LIS console messages * Minor fix to support ARM mode * Added ARM support for Wordpress test and fixed minor issues * Minor fix for ARM instance size support
This commit is contained in:
Родитель
7057308db6
Коммит
74d2c33cbb
|
@ -505,26 +505,13 @@
|
||||||
<VirtualMachine>
|
<VirtualMachine>
|
||||||
<state></state>
|
<state></state>
|
||||||
<InstanceSize>Small</InstanceSize>
|
<InstanceSize>Small</InstanceSize>
|
||||||
|
<ARMInstanceSize>Standard_A1</ARMInstanceSize>
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>SSH</Name>
|
<Name>SSH</Name>
|
||||||
<Protocol>tcp</Protocol>
|
<Protocol>tcp</Protocol>
|
||||||
<LocalPort>22</LocalPort>
|
<LocalPort>22</LocalPort>
|
||||||
<PublicPort>22</PublicPort>
|
<PublicPort>22</PublicPort>
|
||||||
</EndPoints>
|
</EndPoints>
|
||||||
<EndPoints>
|
|
||||||
<Name>https-1</Name>
|
|
||||||
<Protocol>tcp</Protocol>
|
|
||||||
<LocalPort>8443</LocalPort>
|
|
||||||
<PublicPort>8443</PublicPort>
|
|
||||||
<LoadBalanced>False</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
|
||||||
<Name>https-2</Name>
|
|
||||||
<Protocol>udp</Protocol>
|
|
||||||
<LocalPort>443</LocalPort>
|
|
||||||
<PublicPort>443</PublicPort>
|
|
||||||
<LoadBalanced>False</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>http-1</Name>
|
<Name>http-1</Name>
|
||||||
<Protocol>tcp</Protocol>
|
<Protocol>tcp</Protocol>
|
||||||
|
@ -666,6 +653,7 @@
|
||||||
<VirtualMachine>
|
<VirtualMachine>
|
||||||
<state></state>
|
<state></state>
|
||||||
<InstanceSize>Medium</InstanceSize>
|
<InstanceSize>Medium</InstanceSize>
|
||||||
|
<ARMInstanceSize>Standard_A2</ARMInstanceSize>
|
||||||
<RoleName>Backend</RoleName>
|
<RoleName>Backend</RoleName>
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>SSH</Name>
|
<Name>SSH</Name>
|
||||||
|
@ -678,6 +666,7 @@
|
||||||
<VirtualMachine>
|
<VirtualMachine>
|
||||||
<state></state>
|
<state></state>
|
||||||
<InstanceSize>Small</InstanceSize>
|
<InstanceSize>Small</InstanceSize>
|
||||||
|
<ARMInstanceSize>Standard_A1</ARMInstanceSize>
|
||||||
<RoleName>Frontend1</RoleName>
|
<RoleName>Frontend1</RoleName>
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>SSH</Name>
|
<Name>SSH</Name>
|
||||||
|
@ -685,22 +674,6 @@
|
||||||
<LocalPort>22</LocalPort>
|
<LocalPort>22</LocalPort>
|
||||||
<PublicPort>222</PublicPort>
|
<PublicPort>222</PublicPort>
|
||||||
</EndPoints>
|
</EndPoints>
|
||||||
<EndPoints>
|
|
||||||
<Name>https-1</Name>
|
|
||||||
<Protocol>tcp</Protocol>
|
|
||||||
<LocalPort>8443</LocalPort>
|
|
||||||
<PublicPort>8443</PublicPort>
|
|
||||||
<ProbePort>8443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
|
||||||
<Name>https-2</Name>
|
|
||||||
<Protocol>udp</Protocol>
|
|
||||||
<LocalPort>443</LocalPort>
|
|
||||||
<PublicPort>443</PublicPort>
|
|
||||||
<ProbePort>443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>http-1</Name>
|
<Name>http-1</Name>
|
||||||
<Protocol>tcp</Protocol>
|
<Protocol>tcp</Protocol>
|
||||||
|
@ -722,6 +695,7 @@
|
||||||
<VirtualMachine>
|
<VirtualMachine>
|
||||||
<state></state>
|
<state></state>
|
||||||
<InstanceSize>Small</InstanceSize>
|
<InstanceSize>Small</InstanceSize>
|
||||||
|
<ARMInstanceSize>Standard_A1</ARMInstanceSize>
|
||||||
<RoleName>Frontend2</RoleName>
|
<RoleName>Frontend2</RoleName>
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>SSH</Name>
|
<Name>SSH</Name>
|
||||||
|
@ -729,22 +703,6 @@
|
||||||
<LocalPort>22</LocalPort>
|
<LocalPort>22</LocalPort>
|
||||||
<PublicPort>322</PublicPort>
|
<PublicPort>322</PublicPort>
|
||||||
</EndPoints>
|
</EndPoints>
|
||||||
<EndPoints>
|
|
||||||
<Name>https-1</Name>
|
|
||||||
<Protocol>tcp</Protocol>
|
|
||||||
<LocalPort>8443</LocalPort>
|
|
||||||
<PublicPort>8443</PublicPort>
|
|
||||||
<ProbePort>8443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
|
||||||
<Name>https-2</Name>
|
|
||||||
<Protocol>udp</Protocol>
|
|
||||||
<LocalPort>443</LocalPort>
|
|
||||||
<PublicPort>443</PublicPort>
|
|
||||||
<ProbePort>443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>http-1</Name>
|
<Name>http-1</Name>
|
||||||
<Protocol>tcp</Protocol>
|
<Protocol>tcp</Protocol>
|
||||||
|
@ -766,6 +724,7 @@
|
||||||
<VirtualMachine>
|
<VirtualMachine>
|
||||||
<state></state>
|
<state></state>
|
||||||
<InstanceSize>Small</InstanceSize>
|
<InstanceSize>Small</InstanceSize>
|
||||||
|
<ARMInstanceSize>Standard_A1</ARMInstanceSize>
|
||||||
<RoleName>Frontend3</RoleName>
|
<RoleName>Frontend3</RoleName>
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>SSH</Name>
|
<Name>SSH</Name>
|
||||||
|
@ -773,22 +732,6 @@
|
||||||
<LocalPort>22</LocalPort>
|
<LocalPort>22</LocalPort>
|
||||||
<PublicPort>422</PublicPort>
|
<PublicPort>422</PublicPort>
|
||||||
</EndPoints>
|
</EndPoints>
|
||||||
<EndPoints>
|
|
||||||
<Name>https-1</Name>
|
|
||||||
<Protocol>tcp</Protocol>
|
|
||||||
<LocalPort>8443</LocalPort>
|
|
||||||
<PublicPort>8443</PublicPort>
|
|
||||||
<ProbePort>8443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
|
||||||
<Name>https-2</Name>
|
|
||||||
<Protocol>udp</Protocol>
|
|
||||||
<LocalPort>443</LocalPort>
|
|
||||||
<PublicPort>443</PublicPort>
|
|
||||||
<ProbePort>443</ProbePort>
|
|
||||||
<LoadBalanced>True</LoadBalanced>
|
|
||||||
</EndPoints>
|
|
||||||
<EndPoints>
|
<EndPoints>
|
||||||
<Name>http-1</Name>
|
<Name>http-1</Name>
|
||||||
<Protocol>tcp</Protocol>
|
<Protocol>tcp</Protocol>
|
||||||
|
@ -5968,12 +5911,12 @@
|
||||||
<testName>E2E-WORDPRESS-SINGLE-VM-SETUP</testName>
|
<testName>E2E-WORDPRESS-SINGLE-VM-SETUP</testName>
|
||||||
<testScript>E2E-WORDPRESS-SETUP.py</testScript>
|
<testScript>E2E-WORDPRESS-SETUP.py</testScript>
|
||||||
<testScriptps1>E2E-WORDPRESS-SETUP.ps1</testScriptps1>
|
<testScriptps1>E2E-WORDPRESS-SETUP.ps1</testScriptps1>
|
||||||
<files>.\remote-scripts\Packages\wordpress.zip,.\remote-scripts\Packages\Wordpress.DDL,.\remote-scripts\E2E-WORDPRESS-SETUP.py,.\remote-scripts\azuremodules.py</files>
|
<files>.\remote-scripts\E2E-WORDPRESS-SETUP.py,.\remote-scripts\azuremodules.py,.\tools\packages\python-pexpect-3.1-1.1.noarch.rpm</files>
|
||||||
<setupType>E2ESingleVM</setupType>
|
<setupType>E2ESingleVM</setupType>
|
||||||
<TestType></TestType>
|
<TestType></TestType>
|
||||||
<E2ESetupCmdLineArgument>singleVM_setup</E2ESetupCmdLineArgument>
|
<E2ESetupCmdLineArgument>singleVM_setup</E2ESetupCmdLineArgument>
|
||||||
<TestFeature></TestFeature>
|
<TestFeature></TestFeature>
|
||||||
<SupportedExecutionModes>AzureServiceManagement</SupportedExecutionModes>
|
<SupportedExecutionModes>AzureServiceManagement,AzureResourceManager</SupportedExecutionModes>
|
||||||
<TestID></TestID>
|
<TestID></TestID>
|
||||||
<Priority>P0</Priority>
|
<Priority>P0</Priority>
|
||||||
</test>
|
</test>
|
||||||
|
@ -5999,12 +5942,12 @@
|
||||||
<testName>E2E-WORDPRESS-FOUR-VM-SETUP</testName>
|
<testName>E2E-WORDPRESS-FOUR-VM-SETUP</testName>
|
||||||
<testScript>E2E-WORDPRESS-SETUP.py</testScript>
|
<testScript>E2E-WORDPRESS-SETUP.py</testScript>
|
||||||
<testScriptps1>E2E-WORDPRESS-SETUP.ps1</testScriptps1>
|
<testScriptps1>E2E-WORDPRESS-SETUP.ps1</testScriptps1>
|
||||||
<files>.\remote-scripts\Packages\wordpress.zip,.\remote-scripts\Packages\Wordpress.DDL,.\remote-scripts\E2E-WORDPRESS-SETUP.py,.\remote-scripts\azuremodules.py</files>
|
<files>.\remote-scripts\E2E-WORDPRESS-SETUP.py,.\remote-scripts\azuremodules.py,.\tools\packages\python-pexpect-3.1-1.1.noarch.rpm</files>
|
||||||
<setupType>E2EFourVM</setupType>
|
<setupType>E2EFourVM</setupType>
|
||||||
<TestType></TestType>
|
<TestType></TestType>
|
||||||
<E2ESetupCmdLineArgument>loadbalancer_setup</E2ESetupCmdLineArgument>
|
<E2ESetupCmdLineArgument>loadbalancer_setup</E2ESetupCmdLineArgument>
|
||||||
<TestFeature></TestFeature>
|
<TestFeature></TestFeature>
|
||||||
<SupportedExecutionModes>AzureServiceManagement</SupportedExecutionModes>
|
<SupportedExecutionModes>AzureServiceManagement,AzureResourceManager</SupportedExecutionModes>
|
||||||
<TestID></TestID>
|
<TestID></TestID>
|
||||||
<Priority>P0</Priority>
|
<Priority>P0</Priority>
|
||||||
</test>
|
</test>
|
||||||
|
|
|
@ -11,35 +11,37 @@ if ($isDeployed)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$testServiceData = Get-AzureService -ServiceName $isDeployed
|
LogMsg "TEST VM : $($allVMData.ServiceName)"
|
||||||
|
|
||||||
#Get VMs deployed in the service..
|
|
||||||
$testVMsinService = $testServiceData | Get-AzureVM
|
|
||||||
try{
|
try{
|
||||||
if($currentTestData.E2ESetupCmdLineArgument -imatch "singleVM_setup")
|
if($currentTestData.E2ESetupCmdLineArgument -imatch "singleVM_setup")
|
||||||
{
|
{
|
||||||
|
#region FOR WORDPRESS 1 VM TEST
|
||||||
write-host "Preparing WordPress SingleVM Setup"
|
write-host "Preparing WordPress SingleVM Setup"
|
||||||
$hs1vm1 = $testVMsinService
|
[string] $ServiceName = $allVMData.ServiceName
|
||||||
$hs1vm1Endpoints = $hs1vm1 | Get-AzureEndpoint
|
$hs1vm1sshport = $allVMData.SSHPort
|
||||||
$hs1vm1sshport = GetPort -Endpoints $hs1vm1Endpoints -usage ssh
|
$hs1bkvmurl = $allVMData.URL
|
||||||
$hs1VIP = $hs1vm1Endpoints[0].Vip
|
$wordpressUrl = "http://"+$hs1bkvmurl+"/wordpress/wp-admin/install.php"
|
||||||
$wordpressUrl = $hs1vm1.DNSName+"wordpress/wp-admin/install.php"
|
$hs1vm1Hostname = $allVMData.RoleName
|
||||||
$hs1ServiceUrl = $hs1vm1.DNSName
|
$hs1VIP = $allVMData.PublicIP
|
||||||
$hs1ServiceUrl = $hs1ServiceUrl.Replace("http://","")
|
$hs1IP = $allVMData.InternalIP
|
||||||
$hs1ServiceUrl = $hs1ServiceUrl.Replace("/","")
|
|
||||||
$hs1vm1Hostname = $hs1vm1.Name
|
|
||||||
|
|
||||||
"#all the IPs should be Internal ips `n<username>$user</username>`n<password>$passwd</password>" > 'wordpress_install.XML'
|
LogMsg "TEST VM details :"
|
||||||
# Uploading files into VM
|
LogMsg " RoleName : $hs1vm1Hostname"
|
||||||
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1vm1sshport -files "wordpress_install.XML" -username $user -password $password -upload 2>&1 | Out-Null
|
LogMsg " Public IP : $hs1VIP"
|
||||||
|
LogMsg " SSH Port : $hs1vm1sshport"
|
||||||
|
LogMsg " WORDPRESS URL : $wordpressUrl"
|
||||||
|
|
||||||
|
Set-Content -Value "#all the IPs should be Internal ips `n<username>$user</username>`n<password>$passwd</password>" -Path "$LogDir\wordpress_install.XML"
|
||||||
# Uploading files into VM
|
# Uploading files into VM
|
||||||
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1vm1sshport -files ".\$LogDir\wordpress_install.XML" -username $user -password $password -upload 2>&1 | Out-Null
|
||||||
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1vm1sshport -files $currentTestData.files -username $user -password $password -upload 2>&1 | Out-Null
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1vm1sshport -files $currentTestData.files -username $user -password $password -upload 2>&1 | Out-Null
|
||||||
# Assiging Permissions to uploaded files into VM
|
# Assiging Permissions to uploaded files into VM
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command "chmod +x *" -runAsSudo 2>&1 | Out-Null
|
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command "chmod +x *" -runAsSudo 2>&1 | Out-Null
|
||||||
# Converting the file from UTF-16 to ASCII
|
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command "iconv -f UTF-16 -t ASCII wordpress_install.XML > wordpress_install.XML.tmp ; mv -f wordpress_install.XML.tmp wordpress_install.XML" -runAsSudo 2>&1 | Out-Null
|
|
||||||
|
|
||||||
LogMsg "Executing : $($currentTestData.testScript)"
|
LogMsg "Executing : $($currentTestData.testScript)"
|
||||||
|
#region EXECUTE TEST
|
||||||
|
Set-Content -Value "python $($currentTestData.testScript) singleVM_setup 2>&1> /home/$user/wordpressConsole.txt" -Path "$LogDir\StartWordpressTest.sh"
|
||||||
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1vm1sshport -files ".\$LogDir\StartWordpressTest.sh" -username $user -password $password -upload
|
||||||
# Wordpress installation on E2ESingleVM"
|
# Wordpress installation on E2ESingleVM"
|
||||||
Write-host "#################################################################################################"
|
Write-host "#################################################################################################"
|
||||||
Write-host ""
|
Write-host ""
|
||||||
|
@ -48,45 +50,106 @@ if ($isDeployed)
|
||||||
Write-host ""
|
Write-host ""
|
||||||
Write-host "#################################################################################################"
|
Write-host "#################################################################################################"
|
||||||
# Wordpress Setup file is executing on E2ESingleVM"
|
# Wordpress Setup file is executing on E2ESingleVM"
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command " python $($currentTestData.testScript) singleVM_setup 2>&1 > print.log" -runAssudo -ignoreLinuxExitCode -runmaxallowedtime 3600 2>&1 | Out-Null
|
$testJob = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command "bash /home/$user/StartWordpressTest.sh" -runAsSudo -RunInBackground
|
||||||
|
#region MONITOR TEST
|
||||||
|
while ( (Get-Job -Id $testJob).State -eq "Running" )
|
||||||
|
{
|
||||||
|
$wordpressTestInfo = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1vm1sshport -command "cat /home/$user/Runtime.log | grep 'INFO :' | tail -2 " -runAsSudo
|
||||||
|
LogMsg "** Current TEST Staus : $wordpressTestInfo"
|
||||||
|
WaitFor -seconds 2
|
||||||
|
}
|
||||||
# Downloading the files VM
|
# Downloading the files VM
|
||||||
RemoteCopy -download -downloadFrom $hs1VIP -files "/home/$user/wdp_test.txt , /home/$user/logs.tar.gz" -downloadTo $LogDir -port $hs1vm1sshport -username $user -password $password 2>&1 | Out-Null
|
RemoteCopy -download -downloadFrom $hs1VIP -files "/home/$user/wdp_test.txt , /home/$user/logs.tar.gz" -downloadTo $LogDir -port $hs1vm1sshport -username $user -password $password 2>&1 | Out-Null
|
||||||
}
|
}
|
||||||
elseif($currentTestData.E2ESetupCmdLineArgument -imatch "loadbalancer_setup")
|
elseif($currentTestData.E2ESetupCmdLineArgument -imatch "loadbalancer_setup")
|
||||||
{
|
{
|
||||||
|
#region FOR WORDPRESS 4 VM TEST
|
||||||
write-host "Preparing WordPress FourVM Setup"
|
write-host "Preparing WordPress FourVM Setup"
|
||||||
$hs1bkvm = $testVMsinService[0]
|
$noFrontend = $true
|
||||||
$hs1fe1vm1 = $testVMsinService[1]
|
$noBackend = $true
|
||||||
$hs1fe2vm2 = $testVMsinService[2]
|
foreach ( $vmData in $allVMData )
|
||||||
$hs1fe3vm3 = $testVMsinService[3]
|
{
|
||||||
|
if ( $vmData.RoleName -imatch "Frontend1" )
|
||||||
|
{
|
||||||
|
$fronend1VMData = $vmData
|
||||||
|
$noFrontend = $false
|
||||||
|
}
|
||||||
|
elseif ( $vmData.RoleName -imatch "Frontend2" )
|
||||||
|
{
|
||||||
|
$fronend2VMData = $vmData
|
||||||
|
$noFrontend = $false
|
||||||
|
}
|
||||||
|
elseif ( $vmData.RoleName -imatch "Frontend3" )
|
||||||
|
{
|
||||||
|
$fronend3VMData = $vmData
|
||||||
|
$noFrontend = $false
|
||||||
|
}
|
||||||
|
elseif ( $vmData.RoleName -imatch "Backend" )
|
||||||
|
{
|
||||||
|
$noBackend = $fase
|
||||||
|
$backendVMData = $vmData
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( $noFrontend )
|
||||||
|
{
|
||||||
|
Throw "No any slave VM defined. Be sure that, Server machine role names matches with pattern `"*slave*`" Aborting Test."
|
||||||
|
}
|
||||||
|
if ( $noBackend )
|
||||||
|
{
|
||||||
|
Throw "No any master VM defined. Be sure that, Client VM role name matches with the pattern `"*master*`". Aborting Test."
|
||||||
|
}
|
||||||
|
|
||||||
$hs1bkvmEndpoints = $hs1bkvm | Get-AzureEndpoint
|
$hs1bkvmurl = $allVMData.url[0]
|
||||||
$hs1bkvmsshport = GetPort -Endpoints $hs1bkvmEndpoints -usage ssh
|
$wordpressUrl = "http://"+$hs1bkvmurl+"/wordpress/wp-admin/install.php"
|
||||||
|
|
||||||
$hs1VIP = $hs1bkvmEndpoints.Vip
|
LogMsg "FRONTEND VM details :"
|
||||||
|
LogMsg " RoleName : $($fronend1VMData.RoleName)"
|
||||||
|
LogMsg " Public IP : $($fronend1VMData.PublicIP)"
|
||||||
|
LogMsg " SSH Port : $($fronend1VMData.SSHPort)"
|
||||||
|
|
||||||
$wordpressUrl = $hs1bkvm.DNSName+"wordpress/wp-admin/install.php"
|
LogMsg " RoleName : $($fronend2VMData.RoleName)"
|
||||||
$hs1ServiceUrl = $hs1bkvm.DNSName
|
LogMsg " Public IP : $($fronend2VMData.PublicIP)"
|
||||||
$hs1ServiceUrl = $hs1ServiceUrl.Replace("http://","")
|
LogMsg " SSH Port : $($fronend2VMData.SSHPort)"
|
||||||
$hs1ServiceUrl = $hs1ServiceUrl.Replace("/","")
|
|
||||||
|
|
||||||
$bkendip = $hs1bkvm.Ipaddress.ToString()
|
LogMsg " RoleName : $($fronend3VMData.RoleName)"
|
||||||
$fe1ip = $hs1fe1vm1.Ipaddress.ToString()
|
LogMsg " Public IP : $($fronend3VMData.PublicIP)"
|
||||||
$fe2ip = $hs1fe2vm2.Ipaddress.ToString()
|
LogMsg " SSH Port : $($fronend3VMData.SSHPort)"
|
||||||
$fe3ip = $hs1fe3vm3.Ipaddress.ToString()
|
|
||||||
|
LogMsg "BACKEND VM details :"
|
||||||
|
LogMsg " RoleName : $($backendVMData.RoleName)"
|
||||||
|
LogMsg " Public IP : $($backendVMData.PublicIP)"
|
||||||
|
LogMsg " SSH Port : $($backendVMData.SSHPort)"
|
||||||
|
LogMsg " WORDPRESS URL : $wordpressUrl"
|
||||||
|
|
||||||
|
$hs1VIP = $backendVMData.PublicIP
|
||||||
|
[string] $ServiceName = $allVMData.ServiceName
|
||||||
|
|
||||||
|
$bkendip = $backendVMData.InternalIP.ToString()
|
||||||
|
$fe1ip = $fronend1VMData.InternalIP.ToString()
|
||||||
|
$fe2ip = $fronend2VMData.InternalIP.ToString()
|
||||||
|
$fe3ip = $fronend3VMData.InternalIP.ToString()
|
||||||
|
|
||||||
|
$hs1bkvmsshport = $backendVMData.SSHPort
|
||||||
|
$fe1sshport = $fronend1VMData.SSHPort
|
||||||
|
$fe2sshport = $fronend2VMData.SSHPort
|
||||||
|
$fe3sshport = $fronend3VMData.SSHPort
|
||||||
|
|
||||||
#Preparation of wordpress install xml file
|
#Preparation of wordpress install xml file
|
||||||
"#all the IPs should be Internal ips `n<back_endVM_ip>$bkendip</back_endVM_ip>`n<front_endVM_ips>$fe1ip $fe2ip $fe3ip</front_endVM_ips>`n<username>$user</username>`n<password>$passwd</password>" > 'wordpress_install.XML'
|
Set-Content -Value "#all the IPs should be Internal ips `n<back_endVM_ip>$bkendip</back_endVM_ip>`n<front_endVM_ips>$fe1ip $fe2ip $fe3ip</front_endVM_ips>`n<username>$user</username>`n<password>$passwd</password>" -Path "$LogDir\wordpress_install.XML"
|
||||||
# Uploading xml file into VM
|
|
||||||
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1bkvmsshport -files "wordpress_install.XML" -username $user -password $password -upload 2>&1 | Out-Null
|
|
||||||
# Uploading files into VM
|
# Uploading files into VM
|
||||||
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1bkvmsshport -files ".\$LogDir\wordpress_install.XML" -username $user -password $password -upload 2>&1 | Out-Null
|
||||||
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1bkvmsshport -files $currentTestData.files -username $user -password $password -upload 2>&1 | Out-Null
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1bkvmsshport -files $currentTestData.files -username $user -password $password -upload 2>&1 | Out-Null
|
||||||
# Assiging Permissions to uploaded files into VM
|
# Assiging Permissions to uploaded files into VM
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "chmod 777 *.XML" -runAsSudo 2>&1 | Out-Null
|
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "chmod +x *" -runAsSudo 2>&1 | Out-Null
|
||||||
# Converting the file from UTF-16 to ASCII
|
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "iconv -f UTF-16 -t ASCII wordpress_install.XML > wordpress_install.XML.tmp ; mv -f wordpress_install.XML.tmp wordpress_install.XML" -runAsSudo 2>&1 | Out-Null
|
|
||||||
|
|
||||||
|
#region EXECUTE TEST
|
||||||
|
Set-Content -Value "python $($currentTestData.testScript) loadbalancer_setup 2>&1 > /home/$user/wordpressConsole.txt" -Path "$LogDir\StartWordpressTest.sh"
|
||||||
|
$out = RemoteCopy -uploadTo $hs1VIP -port $hs1bkvmsshport -files ".\$LogDir\StartWordpressTest.sh" -username $user -password $password -upload
|
||||||
LogMsg "Executing : $($currentTestData.testScript)"
|
LogMsg "Executing : $($currentTestData.testScript)"
|
||||||
|
$cmdStr = '`date` INFO : Setup Not Started..'
|
||||||
|
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe1sshport -command "echo $cmdStr > /home/$user/Runtime.log" #-runAsSudo
|
||||||
|
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe2sshport -command "echo $cmdStr > /home/$user/Runtime.log" #-runAsSudo
|
||||||
|
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe3sshport -command "echo $cmdStr > /home/$user/Runtime.log" #-runAsSudo
|
||||||
# Wordpress installation on E2EFOURVM
|
# Wordpress installation on E2EFOURVM
|
||||||
Write-host "#################################################################################################"
|
Write-host "#################################################################################################"
|
||||||
Write-host ""
|
Write-host ""
|
||||||
|
@ -94,9 +157,21 @@ if ($isDeployed)
|
||||||
Write-host "It will take more than 30 minutes and may take more time depending on internet speed." -foregroundcolor "magenta"
|
Write-host "It will take more than 30 minutes and may take more time depending on internet speed." -foregroundcolor "magenta"
|
||||||
Write-host ""
|
Write-host ""
|
||||||
Write-host "#################################################################################################"
|
Write-host "#################################################################################################"
|
||||||
# Wordpress Setup file is executing on E2EFOURVM
|
# Read-host "Verify 4VM detais...."
|
||||||
$out = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "python $($currentTestData.testScript) loadbalancer_setup 2>&1 > print.log" -runAsSudo -ignoreLinuxExitCode -runmaxallowedtime 3600 2>&1 | Out-Null
|
$testJob = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "bash /home/$user/StartWordpressTest.sh" -runAsSudo -RunInBackground
|
||||||
# Downloading the files VM
|
#region MONITOR TEST
|
||||||
|
while ( (Get-Job -Id $testJob).State -eq "Running" )
|
||||||
|
{
|
||||||
|
$wordpressTestInfo = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $hs1bkvmsshport -command "cat /home/$user/Runtime.log | grep 'INFO :' | tail -2 " -runAsSudo
|
||||||
|
LogMsg "** Current TEST Staus BACKEND : $wordpressTestInfo"
|
||||||
|
$fe1TestInfo = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe1sshport -command "cat /home/$user/Runtime.log | grep 'INFO :' | tail -2 " -runAsSudo -ignoreLinuxExitCode
|
||||||
|
LogMsg "** Current TEST Staus of FRONTEND1 : $fe1TestInfo"
|
||||||
|
$fe2TestInfo = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe2sshport -command "cat /home/$user/Runtime.log | grep 'INFO :' | tail -2 " -runAsSudo -ignoreLinuxExitCode
|
||||||
|
LogMsg "** Current TEST Staus of FRONTEND2 : $fe2TestInfo"
|
||||||
|
$fe3TestInfo = RunLinuxCmd -username $user -password $password -ip $hs1VIP -port $fe3sshport -command "cat /home/$user/Runtime.log | grep 'INFO :' | tail -2 " -runAsSudo -ignoreLinuxExitCode
|
||||||
|
LogMsg "** Current TEST Staus of FRONTEND3 : $fe3TestInfo"
|
||||||
|
WaitFor -seconds 10
|
||||||
|
}
|
||||||
RemoteCopy -download -downloadFrom $hs1VIP -files "/home/$user/wdp_test.txt,/home/$user/logs.tar.gz " -downloadTo $LogDir -port $hs1bkvmsshport -username $user -password $password 2>&1 | Out-Null
|
RemoteCopy -download -downloadFrom $hs1VIP -files "/home/$user/wdp_test.txt,/home/$user/logs.tar.gz " -downloadTo $LogDir -port $hs1bkvmsshport -username $user -password $password 2>&1 | Out-Null
|
||||||
}else{
|
}else{
|
||||||
$testResult="FAIL"
|
$testResult="FAIL"
|
||||||
|
@ -170,7 +245,7 @@ $result = GetFinalResultHeader -resultarr $resultArr
|
||||||
$result = $testResult
|
$result = $testResult
|
||||||
|
|
||||||
#Clean up the setup
|
#Clean up the setup
|
||||||
#DoTestCleanUp -result $result -testName $currentTestData.testName -deployedServices $isDeployed
|
#DoTestCleanUp -result $result -testName $currentTestData.testName -deployedServices $isDeployed -ResourceGroups $isDeployed
|
||||||
|
|
||||||
#Return the result and summery to the test suite script..
|
#Return the result and summery to the test suite script..
|
||||||
if ($testResult -eq "PASS")
|
if ($testResult -eq "PASS")
|
||||||
|
|
|
@ -7,8 +7,9 @@ import os.path
|
||||||
from azuremodules import *
|
from azuremodules import *
|
||||||
|
|
||||||
#OS independent variables
|
#OS independent variables
|
||||||
wdp_downlink = "http://wordpress.org/latest.tar.gz"
|
# wdp_downlink = "http://wordpress.org/latest.tar.gz"
|
||||||
##wdp_db_root_password = "wordpress_root_password"
|
# wdp_configlink = "https://konkasoftpackages.blob.core.windows.net/testpackages/wordpress/wp-config-sample.php"
|
||||||
|
wdp_downlink = "https://github.com/WordPress/WordPress.git"
|
||||||
wdp_db_root_password = "wordpress_password"
|
wdp_db_root_password = "wordpress_password"
|
||||||
wdp_db_name = "wordpressdb"
|
wdp_db_name = "wordpressdb"
|
||||||
wdp_db_hostname = "localhost"
|
wdp_db_hostname = "localhost"
|
||||||
|
@ -55,50 +56,50 @@ def set_variables_OS_dependent():
|
||||||
service_httpd_name = "httpd"
|
service_httpd_name = "httpd"
|
||||||
service_mysqld_name = "mysqld"
|
service_mysqld_name = "mysqld"
|
||||||
mysql_pkg_name = "mysql-server"
|
mysql_pkg_name = "mysql-server"
|
||||||
frontend_packages_list = ["mysql.x86_64","php", "php-mysql","httpd","wget","sendmail"]
|
frontend_packages_list = ["mysql.x86_64","php", "php-mysql","httpd","wget","sendmail", "git"]
|
||||||
if(distro_version >= 7):
|
if(distro_version >= 7):
|
||||||
service_mysqld_name = "mariadb"
|
service_mysqld_name = "mariadb"
|
||||||
mysql_pkg_name = "mariadb-server"
|
mysql_pkg_name = "mariadb-server"
|
||||||
frontend_packages_list = ["mariadb","php", "php-mysql","httpd","wget","sendmail"]
|
frontend_packages_list = ["mariadb","php", "php-mysql","httpd","wget","sendmail", "git"]
|
||||||
elif (current_distro == "ubuntu"):
|
elif (current_distro == "ubuntu"):
|
||||||
pexpect_pkg_name = "python-pexpect"
|
pexpect_pkg_name = "python-pexpect"
|
||||||
service_httpd_name = "apache2"
|
service_httpd_name = "apache2"
|
||||||
service_mysqld_name = "mysql"
|
service_mysqld_name = "mysql"
|
||||||
mysql_pkg_name = "mysql-server"
|
mysql_pkg_name = "mysql-server"
|
||||||
frontend_packages_list = ["mysql-client","php5", "php5-mysql","libapache2-mod-php5","apache2","wget","sendmail"]
|
frontend_packages_list = ["mysql-client","php", "php-mysql","libapache2-mod-php","apache2","wget","sendmail", "git"]
|
||||||
elif (current_distro == "opensuse"):
|
elif (current_distro == "opensuse"):
|
||||||
pexpect_pkg_name = "python-pexpect"
|
pexpect_pkg_name = "python-pexpect"
|
||||||
service_httpd_name = "apache2"
|
service_httpd_name = "apache2"
|
||||||
service_mysqld_name = "mysql"
|
service_mysqld_name = "mysql"
|
||||||
mysql_pkg_name = "mysql-community-server"
|
mysql_pkg_name = "mysql-community-server"
|
||||||
frontend_packages_list = ["mysql-community-server-client","php5", "php5-mysql","apache2-mod_php5","apache2","wget", "sendmail"]
|
frontend_packages_list = ["mysql-community-server-client","php5", "php5-mysql","apache2-mod_php5","apache2","wget", "sendmail", "git"]
|
||||||
elif (current_distro == "SUSE Linux"):
|
elif (current_distro == "SUSE Linux"):
|
||||||
pexpect_pkg_name = "python-pexpect"
|
pexpect_pkg_name = "python-pexpect"
|
||||||
service_httpd_name = "apache2"
|
service_httpd_name = "apache2"
|
||||||
service_mysqld_name = "mysql"
|
service_mysqld_name = "mysql"
|
||||||
mysql_pkg_name = "mysql"
|
mysql_pkg_name = "mysql"
|
||||||
#service_command = "/etc/init.d/"
|
#service_command = "/etc/init.d/"
|
||||||
frontend_packages_list = ["mysql-client","php53", "php53-mysql","apache2-mod_php53","apache2","wget","sendmail"]
|
frontend_packages_list = ["mysql-client","php53", "php53-mysql","apache2-mod_php53","apache2","wget","sendmail", "git"]
|
||||||
elif (current_distro == "sles"):
|
elif (current_distro == "sles"):
|
||||||
pexpect_pkg_name = "python-pexpect"
|
pexpect_pkg_name = "python-pexpect"
|
||||||
service_httpd_name = "apache2"
|
service_httpd_name = "apache2"
|
||||||
service_mysqld_name = "mysql"
|
service_mysqld_name = "mysql"
|
||||||
mysql_pkg_name = "mariadb"
|
mysql_pkg_name = "mariadb"
|
||||||
frontend_packages_list = ["mariadb-client","apache2-mod_php5","apache2","php5", "php5-mysql","wget","sendmail"]
|
frontend_packages_list = ["mariadb-client","apache2-mod_php5","apache2","php5", "php5-mysql","wget","sendmail", "git"]
|
||||||
if(distro_version >= 12):
|
if(distro_version >= 12):
|
||||||
service_mysqld_name = "mysql"
|
service_mysqld_name = "mysql"
|
||||||
mysql_pkg_name = "mariadb"
|
mysql_pkg_name = "mariadb"
|
||||||
frontend_packages_list = ["mariadb-client","apache2-mod_php5","apache2","php5", "php5-mysql","wget","sendmail"]
|
frontend_packages_list = ["mariadb-client","apache2-mod_php5","apache2","php5", "php5-mysql","wget","sendmail", "git"]
|
||||||
elif ((current_distro == "Red Hat") or (current_distro == "rhel")):
|
elif ((current_distro == "Red Hat") or (current_distro == "rhel")):
|
||||||
pexpect_pkg_name = "pexpect"
|
pexpect_pkg_name = "pexpect"
|
||||||
service_httpd_name = "httpd"
|
service_httpd_name = "httpd"
|
||||||
service_mysqld_name = "mysqld"
|
service_mysqld_name = "mysqld"
|
||||||
mysql_pkg_name = "mysql-server"
|
mysql_pkg_name = "mysql-server"
|
||||||
frontend_packages_list = ["mysql.x86_64","php", "php-mysql", "httpd" , "wget","sendmail"]
|
frontend_packages_list = ["mysql.x86_64","php", "php-mysql", "httpd" , "wget","sendmail", "git"]
|
||||||
if(distro_version >= 7):
|
if(distro_version >= 7):
|
||||||
service_mysqld_name = "mariadb"
|
service_mysqld_name = "mariadb"
|
||||||
mysql_pkg_name = "mariadb-server"
|
mysql_pkg_name = "mariadb-server"
|
||||||
frontend_packages_list = ["mariadb","mysql.x86_64","php", "php-mysql", "httpd" , "wget","sendmail"]
|
frontend_packages_list = ["mariadb","mysql.x86_64","php", "php-mysql", "httpd" , "wget","sendmail", "git"]
|
||||||
|
|
||||||
singlevm_packages_list = frontend_packages_list + [mysql_pkg_name]
|
singlevm_packages_list = frontend_packages_list + [mysql_pkg_name]
|
||||||
RunLog.info( "set_variables_OS_dependent .. [done]")
|
RunLog.info( "set_variables_OS_dependent .. [done]")
|
||||||
|
@ -120,6 +121,18 @@ def DetectDistro():
|
||||||
matchObj = re.match( r'^VERSION_ID=(.*)', line, re.M|re.I)
|
matchObj = re.match( r'^VERSION_ID=(.*)', line, re.M|re.I)
|
||||||
version = float(matchObj.group(1))
|
version = float(matchObj.group(1))
|
||||||
|
|
||||||
|
if(version == "unknown"):
|
||||||
|
RunLog.info("Detecting Distro Version")
|
||||||
|
oslist = Run("echo '"+vm_password+"' | sudo -S ls /etc/*-release")
|
||||||
|
if("/etc/centos-release" in oslist):
|
||||||
|
version = float(Run("echo '"+vm_password+"' | sudo -S cat /etc/centos-release | sed s/.*release\ // | sed s/\ .*// "))
|
||||||
|
elif("/etc/oracle-release" in oslist):
|
||||||
|
version = float(Run("echo '"+vm_password+"' | sudo -S cat /etc/oracle-release | sed s/.*release\ // | sed s/\ .*// ") )
|
||||||
|
elif("/etc/redhat-release" in oslist):
|
||||||
|
version = float(Run("echo '"+vm_password+"' | sudo -S cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*// "))
|
||||||
|
else:
|
||||||
|
RunLog.info("Detected Distro Version : " +str(version))
|
||||||
|
|
||||||
if(distribution == 'unknown'):
|
if(distribution == 'unknown'):
|
||||||
for line in outputlist:
|
for line in outputlist:
|
||||||
if (re.match(r'.*ubuntu.*',line,re.M|re.I) ):
|
if (re.match(r'.*ubuntu.*',line,re.M|re.I) ):
|
||||||
|
@ -321,8 +334,27 @@ def download_url(url, destination_folder):
|
||||||
print rtrn
|
print rtrn
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def download_git_url(url, destination_folder):
|
||||||
|
RunLog.info("Downloading the WordPress from git URL...")
|
||||||
|
rtrn = Run("echo '"+vm_password+"' | sudo -S git clone "+url+" "+destination_folder+"wordpress 2>&1")
|
||||||
|
# Faild to find git package
|
||||||
|
if(rtrn.rfind("git command not found") != -1):
|
||||||
|
install_package("git")
|
||||||
|
rtrn = Run("echo '"+vm_password+"' | sudo -S git clone "+url+" "+destination_folder+"wordpress 2>&1")
|
||||||
|
RunLog.info("Downloading the WordPress from git URL... status...." + rtrn)
|
||||||
|
|
||||||
|
rtrn = Run("echo '"+vm_password+"' | sudo -S ls "+destination_folder+"wordpress 2>&1")
|
||||||
|
if( rtrn.rfind("No such file or directory") == -1) :
|
||||||
|
RunLog.info("Downloading the WordPress from git URL... status...." + rtrn)
|
||||||
|
print rtrn
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
print rtrn
|
||||||
|
return False
|
||||||
|
|
||||||
def install_packages_singleVM():
|
def install_packages_singleVM():
|
||||||
global wdp_install_folder
|
global wdp_install_folder
|
||||||
|
global wdp_configlink
|
||||||
RunLog.info("Installing Packages in SingleVM")
|
RunLog.info("Installing Packages in SingleVM")
|
||||||
|
|
||||||
for package in singlevm_packages_list:
|
for package in singlevm_packages_list:
|
||||||
|
@ -338,9 +370,30 @@ def install_packages_singleVM():
|
||||||
RunLog.error("Aborting the installation.")
|
RunLog.error("Aborting the installation.")
|
||||||
end_the_script()
|
end_the_script()
|
||||||
|
|
||||||
if(download_url(wdp_downlink, wdp_install_folder)):
|
if(".git" in wdp_downlink):
|
||||||
|
RunLog.info("Wordpress package is downloading from git" +wdp_downlink)
|
||||||
|
if(download_git_url(wdp_downlink, wdp_install_folder)):
|
||||||
RunLog.info("Wordpress package downloaded successfully")
|
RunLog.info("Wordpress package downloaded successfully")
|
||||||
Run("echo '"+vm_password+"' | sudo -S tar -xvf "+wdp_install_folder+"/latest.tar.gz -C "+wdp_install_folder)
|
else:
|
||||||
|
RunLog.info("Wordpress package downloaded failed.")
|
||||||
|
return False
|
||||||
|
elif(".tar" in wdp_downlink):
|
||||||
|
if(download_url(wdp_downlink, wdp_install_folder)):
|
||||||
|
RunLog.info("Wordpress package extraction is Started..")
|
||||||
|
Run("echo '"+vm_password+"' | sudo -S tar -xvzf "+wdp_install_folder+"/latest.tar.gz -C "+wdp_install_folder+" 2>&1")
|
||||||
|
RunLog.info("Wordpress package extract verification is Started..")
|
||||||
|
wdp_configfileStatus = Run("echo '"+vm_password+"' | sudo -S ls "+wdp_install_folder+"wordpress/wp-config-sample.php")
|
||||||
|
if("wp-config-sample.php" in wdp_configfileStatus):
|
||||||
|
RunLog.info(""+wdp_install_folder+"wordpress/wp-config-sample.php is there.. Wordpress extacred Successfully.. & update user, Db details for wordpress setup in config")
|
||||||
|
else:
|
||||||
|
RunLog.error(""+wdp_install_folder+"wordpress/wp-config-sample.php is NOT there.. So copy Sample-Config file")
|
||||||
|
if(download_url(wdp_configlink, wdp_install_folder)):
|
||||||
|
RunLog.info("wp-config-sample.php downloaded successfully")
|
||||||
|
Run("echo '"+vm_password+"' | sudo -S cp "+wdp_install_folder+"wp-config-sample.php -C "+wdp_install_folder+"/wordpress/ 2>&1")
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
RunLog.info("wp-config-sample.php downloaded failed.")
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
RunLog.info("Wordpress package downloaded failed.")
|
RunLog.info("Wordpress package downloaded failed.")
|
||||||
return False
|
return False
|
||||||
|
@ -388,10 +441,30 @@ def install_packages_frontend():
|
||||||
end_the_script()
|
end_the_script()
|
||||||
|
|
||||||
#Downloading "WordPress" from Web URL
|
#Downloading "WordPress" from Web URL
|
||||||
#wdp_install_folder = get_apache_document_root()
|
if(".git" in wdp_downlink):
|
||||||
if(download_url(wdp_downlink, wdp_install_folder)):
|
RunLog.info("Wordpress package is downloading from git" +wdp_downlink)
|
||||||
|
if(download_git_url(wdp_downlink, wdp_install_folder)):
|
||||||
RunLog.info("Wordpress package downloaded successfully")
|
RunLog.info("Wordpress package downloaded successfully")
|
||||||
Run("echo '"+vm_password+"' | sudo -S tar -xvf "+wdp_install_folder+"/latest.tar.gz -C "+wdp_install_folder)
|
else:
|
||||||
|
RunLog.info("Wordpress package downloaded failed.")
|
||||||
|
return False
|
||||||
|
elif(".tar" in wdp_downlink):
|
||||||
|
if(download_url(wdp_downlink, wdp_install_folder)):
|
||||||
|
RunLog.info("Wordpress package extraction is Started..")
|
||||||
|
Run("echo '"+vm_password+"' | sudo -S tar -xvzf "+wdp_install_folder+"/latest.tar.gz -C "+wdp_install_folder+" 2>&1")
|
||||||
|
RunLog.info("Wordpress package extract verification is Started..")
|
||||||
|
wdp_configfileStatus = Run("echo '"+vm_password+"' | sudo -S ls "+wdp_install_folder+"wordpress/wp-config-sample.php")
|
||||||
|
if("wp-config-sample.php" in wdp_configfileStatus):
|
||||||
|
RunLog.info(""+wdp_install_folder+"wordpress/wp-config-sample.php is there.. Wordpress extacred Successfully.. & update user, Db details for wordpress setup in config")
|
||||||
|
else:
|
||||||
|
RunLog.error(""+wdp_install_folder+"wordpress/wp-config-sample.php is NOT there.. So copy Sample-Config file")
|
||||||
|
if(download_url(wdp_configlink, wdp_install_folder)):
|
||||||
|
RunLog.info("wp-config-sample.php downloaded successfully")
|
||||||
|
Run("echo '"+vm_password+"' | sudo -S cp "+wdp_install_folder+"wp-config-sample.php -C "+wdp_install_folder+"/wordpress/ 2>&1")
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
RunLog.info("wp-config-sample.php downloaded failed.")
|
||||||
|
return False
|
||||||
else:
|
else:
|
||||||
RunLog.info("Wordpress package downloaded failed.")
|
RunLog.info("Wordpress package downloaded failed.")
|
||||||
return False
|
return False
|
||||||
|
@ -591,17 +664,28 @@ def disable_selinux():
|
||||||
|
|
||||||
def disable_iptables():
|
def disable_iptables():
|
||||||
RunLog.info("Disabling IPPTABLES...")
|
RunLog.info("Disabling IPPTABLES...")
|
||||||
|
iptablesInfo = Run ("echo '"+vm_password+"' | sudo -S iptables -nL")
|
||||||
|
RunLog.info("iptables status " +iptablesInfo)
|
||||||
#Identify the Distro and disable the Firewall
|
#Identify the Distro and disable the Firewall
|
||||||
if (current_distro == 'ubuntu'):
|
if (current_distro == 'ubuntu'):
|
||||||
ufw = Run ("echo '"+vm_password+"' | sudo -S ufw disable")
|
ufw = Run ("echo '"+vm_password+"' | sudo -S ufw disable")
|
||||||
RunLog.info(ufw)
|
RunLog.info(ufw)
|
||||||
if ((current_distro == 'Red Hat') or (current_distro == 'rhel')):
|
elif ((current_distro == 'Red Hat') or (current_distro == 'rhel') or (current_distro == 'centos') or (current_distro == 'oracle')):
|
||||||
Run ("echo '"+vm_password+"' | sudo -S service iptables save")
|
cmds = ("iptables -F","service iptables save","service iptables stop","chkconfig iptables off","service firewalld stop","chkconfig firewalld off")
|
||||||
Run ("echo '"+vm_password+"' | sudo -S service iptables stop")
|
output = exec_multi_cmds_local_sudo(cmds)
|
||||||
Run ("echo '"+vm_password+"' | sudo -S chkconfig iptables off")
|
elif((current_distro == 'SUSE Linux')or(current_distro == 'sles') or (current_distro == "opensuse")):
|
||||||
|
cmds = ("/sbin/yast2 firewall startup manual","/sbin/rcSuSEfirewall2 stop","chkconfig SuSEfirewall2_setup off")
|
||||||
|
output = exec_multi_cmds_local_sudo(cmds)
|
||||||
|
output = Run("echo '"+vm_password+"' | sudo -S /sbin/rcSuSEfirewall2 status")
|
||||||
|
if((output.find('unused') != -1) or (output.find('dead') != -1)):
|
||||||
|
RunLog.info( "Diasabling iptables..[done]")
|
||||||
else:
|
else:
|
||||||
Run ("echo '"+vm_password+"' | sudo -S chkconfig iptables off")
|
RunLog.info( "Diasabling iptables..[failed]")
|
||||||
Run ("echo '"+vm_password+"' | sudo -S chkconfig ip6tables off")
|
else:
|
||||||
|
Run ("echo '"+vm_password+"' | sudo -S iptables -F")
|
||||||
|
|
||||||
|
iptablesInfo = Run ("echo '"+vm_password+"' | sudo -S iptables -nL")
|
||||||
|
RunLog.info("iptables status " +iptablesInfo)
|
||||||
RunLog.info("Disabling IPPTABLES...[done]")
|
RunLog.info("Disabling IPPTABLES...[done]")
|
||||||
|
|
||||||
def setup_wordpress():
|
def setup_wordpress():
|
||||||
|
@ -614,6 +698,7 @@ def setup_wordpress():
|
||||||
RunLog.error("Aborting the installation.")
|
RunLog.error("Aborting the installation.")
|
||||||
end_the_script()
|
end_the_script()
|
||||||
else:
|
else:
|
||||||
|
RunLog.info("wp-config.php updating with user & DB credentails Started..")
|
||||||
Run("echo '"+vm_password+"' | sudo -S cp "+wdp_install_folder+"wordpress/wp-config-sample.php "+wdp_install_folder+"wordpress/wp-config.php")
|
Run("echo '"+vm_password+"' | sudo -S cp "+wdp_install_folder+"wordpress/wp-config-sample.php "+wdp_install_folder+"wordpress/wp-config.php")
|
||||||
Run("echo '"+vm_password+"' | sudo -S sed -i 's/database_name_here/" +wdp_db_name+ "/' "+wdp_install_folder+"wordpress/wp-config.php")
|
Run("echo '"+vm_password+"' | sudo -S sed -i 's/database_name_here/" +wdp_db_name+ "/' "+wdp_install_folder+"wordpress/wp-config.php")
|
||||||
Run("echo '"+vm_password+"' | sudo -S sed -i 's/username_here/"+wdp_db_username+"/' "+wdp_install_folder+"wordpress/wp-config.php")
|
Run("echo '"+vm_password+"' | sudo -S sed -i 's/username_here/"+wdp_db_username+"/' "+wdp_install_folder+"wordpress/wp-config.php")
|
||||||
|
@ -693,8 +778,6 @@ def setup_wordpress_singleVM():
|
||||||
|
|
||||||
def setup_wordpress_E2ELoadBalance_backend(front_end_users):
|
def setup_wordpress_E2ELoadBalance_backend(front_end_users):
|
||||||
RunLog.info("Setup WordPress for E2ELoadbalancer Backend VM")
|
RunLog.info("Setup WordPress for E2ELoadbalancer Backend VM")
|
||||||
disable_selinux()
|
|
||||||
disable_iptables()
|
|
||||||
|
|
||||||
# Installing packages in Backend VM Role
|
# Installing packages in Backend VM Role
|
||||||
if (not install_packages_backend()):
|
if (not install_packages_backend()):
|
||||||
|
@ -708,7 +791,6 @@ def setup_wordpress_E2ELoadBalance_backend(front_end_users):
|
||||||
end_the_script()
|
end_the_script()
|
||||||
|
|
||||||
# To make to connection from backend to other IP's ranging from 0.0.0.0
|
# To make to connection from backend to other IP's ranging from 0.0.0.0
|
||||||
#bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/\(bind-address.*= \)\(.*\)/\\1 0.0.0.0/' /etc/mysql/my.cnf | grep bind")
|
|
||||||
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/my.cnf| grep bind")
|
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/my.cnf| grep bind")
|
||||||
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind")
|
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind")
|
||||||
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mariadb.conf.d/mysqld.cnf | grep bind")
|
bind = Run("echo '"+vm_password+"' | sudo -S sed -i 's/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/' /etc/mysql/mariadb.conf.d/mysqld.cnf | grep bind")
|
||||||
|
@ -737,8 +819,6 @@ def setup_wordpress_E2ELoadBalance_backend(front_end_users):
|
||||||
def setup_wordpress_E2ELoadBalance_frontend():
|
def setup_wordpress_E2ELoadBalance_frontend():
|
||||||
global wdp_install_folder
|
global wdp_install_folder
|
||||||
RunLog.info("Setup WordPress for E2ELoadbalancer Frontend VM")
|
RunLog.info("Setup WordPress for E2ELoadbalancer Frontend VM")
|
||||||
disable_selinux()
|
|
||||||
disable_iptables()
|
|
||||||
|
|
||||||
# Installing packages in Front-end VM Role's
|
# Installing packages in Front-end VM Role's
|
||||||
if (not install_packages_frontend()):
|
if (not install_packages_frontend()):
|
||||||
|
@ -998,7 +1078,7 @@ def main():
|
||||||
frontend_count = 1
|
frontend_count = 1
|
||||||
for ip in front_endVM_ips:
|
for ip in front_endVM_ips:
|
||||||
RunLog.info("**********************************************************")
|
RunLog.info("**********************************************************")
|
||||||
RunLog.info("\nConfiguring frontend"+str(frontend_count)+" at "+ip+":\n")
|
RunLog.info("Configuring frontend"+str(frontend_count)+" at "+ip+":\n")
|
||||||
# TODO FIX TCP alive on Servers and restart the
|
# TODO FIX TCP alive on Servers and restart the
|
||||||
RunLog.info("Copying "+__file__+" to "+ ip)
|
RunLog.info("Copying "+__file__+" to "+ ip)
|
||||||
RunLog.info(put_file_sftp(front_endVM_username, front_endVM_password, ip, __file__))
|
RunLog.info(put_file_sftp(front_endVM_username, front_endVM_password, ip, __file__))
|
||||||
|
@ -1021,7 +1101,7 @@ def main():
|
||||||
wdp_db_hostname = sys.argv[2]
|
wdp_db_hostname = sys.argv[2]
|
||||||
setup_wordpress_E2ELoadBalance_frontend()
|
setup_wordpress_E2ELoadBalance_frontend()
|
||||||
#Reboot the Frontend1,2,3
|
#Reboot the Frontend1,2,3
|
||||||
RunLog.info( "Rebooting the frontend....\n")
|
RunLog.info( "Wordpress setup done and Rebooting the frontend....\n")
|
||||||
if (current_distro != "opensuse"):
|
if (current_distro != "opensuse"):
|
||||||
RunLog.info( exec_multi_cmds_local_sudo(["reboot"]))
|
RunLog.info( exec_multi_cmds_local_sudo(["reboot"]))
|
||||||
else:
|
else:
|
||||||
|
@ -1047,6 +1127,9 @@ get_username_password_from_xml()
|
||||||
set_variables_OS_dependent()
|
set_variables_OS_dependent()
|
||||||
UpdateRepos()
|
UpdateRepos()
|
||||||
|
|
||||||
|
disable_selinux()
|
||||||
|
disable_iptables()
|
||||||
|
|
||||||
#check for availability of pexpect module
|
#check for availability of pexpect module
|
||||||
try:
|
try:
|
||||||
imp.find_module('pexpect')
|
imp.find_module('pexpect')
|
||||||
|
@ -1060,7 +1143,7 @@ except ImportError:
|
||||||
RunLog.info( "pexpect module could not be installed")
|
RunLog.info( "pexpect module could not be installed")
|
||||||
pythonversion = Run ("echo '"+vm_password+"' | sudo -S python --version 2>&1")
|
pythonversion = Run ("echo '"+vm_password+"' | sudo -S python --version 2>&1")
|
||||||
if(pythonversion.find('Python 2.7.') or pythonversion.find('Python 3.')):
|
if(pythonversion.find('Python 2.7.') or pythonversion.find('Python 3.')):
|
||||||
if((current_distro == 'sles') and (distro_version == "12")):
|
if((current_distro == 'sles') and (distro_version >= 12)):
|
||||||
RunLog.info( "Trying to install pexpect module using rpm package")
|
RunLog.info( "Trying to install pexpect module using rpm package")
|
||||||
out = Run("echo '"+vm_password+"' | sudo -S rpm -ivh python-pexpect-3.1-1.1.noarch.rpm 2>&1")
|
out = Run("echo '"+vm_password+"' | sudo -S rpm -ivh python-pexpect-3.1-1.1.noarch.rpm 2>&1")
|
||||||
RunLog.info("out = "+out)
|
RunLog.info("out = "+out)
|
||||||
|
|
|
@ -16,37 +16,13 @@ $SAName = $currentTestData.remoteSA
|
||||||
$SAPrimaryKey = (Get-AzureStorageKey -StorageAccountName $SAName).Primary
|
$SAPrimaryKey = (Get-AzureStorageKey -StorageAccountName $SAName).Primary
|
||||||
$SAContainer = $currentTestData.remoteSAContainer
|
$SAContainer = $currentTestData.remoteSAContainer
|
||||||
$remoteDebPath = $currentTestData.remoteDEBPath
|
$remoteDebPath = $currentTestData.remoteDEBPath
|
||||||
$imageType = $currentTestData.imageType
|
|
||||||
$BaseOsImageName = GetOSImageFromDistro -Distro $Distro -xmlConfig $xmlConfig
|
|
||||||
LogMsg "Remote Storage Account to copy deb package : $SAName"
|
LogMsg "Remote Storage Account to copy deb package : $SAName"
|
||||||
Logmsg "Image type : $imageType"
|
|
||||||
if($imageType -imatch "Standard")
|
|
||||||
{
|
|
||||||
LogMsg "BaseOsImageName : $BaseOsImageName"
|
|
||||||
LogMsg "Collecting latest $imageType ubuntu image from Azure gallery.."
|
|
||||||
$latestLinuxImage = (Get-AzureVMImage | where {$_.ImageName -imatch "Ubuntu-16_04-LTS-amd64-server" } | sort PublishedDate -Descending)[0].ImageName
|
|
||||||
LogMsg "Latest $imageType Image from Azure gallery : $latestLinuxImage"
|
|
||||||
$latestOsImage = SetOSImageToDistro -Distro $Distro -xmlConfig $xmlConfig -ImageName $latestLinuxImage
|
|
||||||
LogMsg "Is $imageType latestOsImage SET : $latestOsImage"
|
|
||||||
}
|
|
||||||
elseif($imageType -imatch "Daily")
|
|
||||||
{
|
|
||||||
LogMsg "BaseOsImageName : $BaseOsImageName"
|
|
||||||
LogMsg "Collecting latest ubuntu $imageType image from Azure gallery"
|
|
||||||
$latestLinuxImage = (Get-AzureVMImage | where {$_.ImageName -imatch "Ubuntu_DAILY_BUILD-xenial-16_04-" } | sort PublishedDate -Descending)[0].ImageName
|
|
||||||
LogMsg "Latest $imageType Image from Azure gallery : $latestLinuxImage"
|
|
||||||
$latestOsImage = SetOSImageToDistro -Distro $Distro -xmlConfig $xmlConfig -ImageName $latestLinuxImage
|
|
||||||
LogMsg "Is $imageType latestOsImage SET : $latestOsImage"
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
$isDeployed = DeployVMS -setupType $currentTestData.setupType -Distro $Distro -xmlConfig $xmlConfig
|
$isDeployed = DeployVMS -setupType $currentTestData.setupType -Distro $Distro -xmlConfig $xmlConfig
|
||||||
if ($isDeployed)
|
if ($isDeployed)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$allVMData = GetAllDeployementData -DeployedServices $isDeployed
|
|
||||||
Set-Variable -Name AllVMData -Value $allVMData
|
|
||||||
[string] $ServiceName = $allVMData.ServiceName
|
[string] $ServiceName = $allVMData.ServiceName
|
||||||
$hs1VIP = $allVMData.PublicIP
|
$hs1VIP = $allVMData.PublicIP
|
||||||
$hs1ServiceUrl = $allVMData.URL
|
$hs1ServiceUrl = $allVMData.URL
|
||||||
|
|
Загрузка…
Ссылка в новой задаче