1# Copyright 2016-2017 VMware, Inc. All Rights Reserved.
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7#	http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License
14
15*** Settings ***
16Documentation  Test 5-18 - Datastore Cluster SDRS
17Resource  ../../resources/Util.robot
18#Suite Setup  Nimbus Suite Setup  SDRS Datastore Setup
19#Test Teardown  Run Keyword And Ignore Error  Nimbus Cleanup  ${list}
20
21*** Keywords ***
22SDRS Datastore Setup
23    [Timeout]    110 minutes
24    Run Keyword And Ignore Error  Nimbus Cleanup  ${list}  ${false}
25    {out}=  Deploy Nimbus Testbed  %{NIMBUS_USER}  %{NIMBUS_PASSWORD}  --customizeTestbed '/esx desiredPassword=e2eFunctionalTest' --noSupportBundles --vcvaBuild ${VC_VERSION} --esxBuild ${ESX_VERSION} --testbedName vcqa-sdrs-fc-fullInstall-vcva --runName vic-fc
26    Set Suite Variable  @{list}  %{NIMBUS_PERSONAL_USER}-vic-fc.vcva-${VC_VERSION}  %{NIMBUS_PERSONAL_USER}-vic-fc.esx.0  %{NIMBUS_PERSONAL_USER}-vic-fc.esx.1  %{NIMBUS_PERSONAL_USER}-vic-fc.fc.0
27    Should Contain  ${out}  "deployment_result"=>"PASS"
28
29    ${out}=  Execute Command  USER=%{NIMBUS_PERSONAL_USER} nimbus-ctl ip %{NIMBUS_PERSONAL_USER}-vic-fc.vcva-${VC_VERSION} | grep %{NIMBUS_PERSONAL_USER}-vic-fc.vcva-${VC_VERSION}
30    ${vc-ip}=  Fetch From Right  ${out}  ${SPACE}
31
32    ${out}=  Execute Command  USER=%{NIMBUS_PERSONAL_USER} nimbus-ctl ip %{NIMBUS_PERSONAL_USER}-vic-fc.esx.0 | grep %{NIMBUS_PERSONAL_USER}-vic-fc.esx.0
33    ${esx0-ip}=  Fetch From Right  ${out}  ${SPACE}
34
35    ${out}=  Execute Command  USER=%{NIMBUS_PERSONAL_USER} nimbus-ctl ip %{NIMBUS_PERSONAL_USER}-vic-fc.esx.1 | grep %{NIMBUS_PERSONAL_USER}-vic-fc.esx.1
36    ${esx1-ip}=  Fetch From Right  ${out}  ${SPACE}
37
38    Set Environment Variable  GOVC_URL  ${esx0-ip}
39    Set Environment Variable  GOVC_USERNAME  root
40    Set Environment Variable  GOVC_PASSWORD  e2eFunctionalTest
41    Run  govc host.esxcli network firewall set -e false
42    Set Environment Variable  GOVC_URL  ${esx1-ip}
43    Run  govc host.esxcli network firewall set -e false
44
45    Log To Console  Set environment variables up for GOVC
46    Set Environment Variable  GOVC_URL  ${vc-ip}
47    Set Environment Variable  GOVC_USERNAME  Administrator@vsphere.local
48    Set Environment Variable  GOVC_PASSWORD  Admin\!23
49
50    Create A Distributed Switch  vcqaDC
51
52    Create Three Distributed Port Groups  vcqaDC
53
54    Add Host To Distributed Switch  /vcqaDC/host/cls
55
56    ${out}=  Run  govc folder.create -pod=true /vcqaDC/datastore/sdrs
57    ${out}=  Run  govc object.mv /vcqaDC/datastore/sharedVmfs-* /vcqaDC/datastore/sdrs
58
59    Log To Console  Enable DRS on the cluster
60    ${out}=  Run  govc cluster.change -drs-enabled /vcqaDC/host/cls
61    Should Be Empty  ${out}
62
63    Log To Console  Deploy VIC to the VC cluster
64    Set Environment Variable  TEST_URL_ARRAY  ${vc-ip}
65    Set Environment Variable  TEST_USERNAME  Administrator@vsphere.local
66    Set Environment Variable  TEST_PASSWORD  Admin\!23
67    Set Environment Variable  BRIDGE_NETWORK  bridge
68    Set Environment Variable  PUBLIC_NETWORK  vm-network
69    Set Environment Variable  TEST_DATASTORE  sdrs
70    Set Environment Variable  TEST_RESOURCE  cls
71    Set Environment Variable  TEST_TIMEOUT  30m
72
73*** Test Cases ***
74SDRS Datastore
75    Pass Execution  VIC does not support SDRS yet, see issue #2729
76    Install VIC Appliance To Test Server
77    Run Regression Tests
78