<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<templatesync>

<!-- MAKE SURE THAT THE OSTYPE OF TEMPLATES ARE CHANGED IN CASE OF USING TEMPLATE OTHER THAN THE DEFAULT CENTOS 5.3 64bit TEMPLATE -->
<!--  Make some preparations - create a couple of private templates -->
	<!--
	<command>
		<name>createVolume</name>
		<testcase>Create a volume</testcase>
		<parameters>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item random="true">
				<name>name</name>
			</item>
			<item getparam="true">
				<name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>volumeid</param>
			</item>
		</returnvalue>
	</command>
	-->

	<command>
		<name>deployVirtualMachine</name>
		<testcase>Deploy a VM </testcase>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>
			<item getparam="true">
				<name>templateid</name>
				<param>globaltemplateid</param>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>TempSyncVM</value>
			</item>
			<item>
				<name>group</name>
				<value>group1</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>globalnetworkid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>select id from volumes</name>
		<mysql>true</mysql>
		<testcase>Getting volume id for the VM created</testcase>
		<parameters>
			<item getparam="true">
			    <name>instance_id</name>
				<param>vmid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
			    <name>id</name>
				<param>volumeid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>stopVirtualMachine</name>
		<testcase>Stop the Virtual Machine</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>vmid</param>
			</item>
		</parameters>
	</command>

<!--  Create template, delete it and restart management server -->
	<command>
		<name>createTemplate</name>
		<testcase>Create template</testcase>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volumeid</param>
			</item>
			<item random="true" setparam="true">
				<name>name</name>
				<param>privatetemplatename</param>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>
	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>removetemplate.sh</name>
		<script>true</script>
		<testcase>Removing template file from secondary storage</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 4 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>240</value>
			</item>
		</parameters>
	</command>

<!--  Create template, corrupt it by removing lines from templates.properties file and restart management server -->
	<command>
		<name>createTemplate</name>
		<testcase>Create template</testcase>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volumeid</param>
			</item>
			<item random="true" setparam="true">
				<name>name</name>
				<param>privatetemplatename</param>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>corrupttemplate.sh</name>
		<script>true</script>
		<testcase>Corrupting template file on secondary storage</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
				<name>i</name>
				<param>privatetemplateid</param>
			</item>
			<item>
				<name>a</name>
				<value>2</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 4 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>240</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<error>true</error>
		<testcase>Verify that template got removed from the secondary storage by template sync</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>


<!--  Create a template directory on the secondary storage, reboot management server and make sure that template directory got cleanedup -->
	<command>
		<name>createTemplate</name>
		<testcase>Create template</testcase>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volumeid</param>
			</item>
			<item random="true" setparam="true">
				<name>name</name>
				<param>privatetemplatename</param>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>createfaketemplate.sh</name>
		<script>true</script>
		<testcase>Corrupting template file on secondary storage</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
				<name>i</name>
				<param>privatetemplateid</param>
			</item>
			<item>
				<name>a</name>
				<value>1</value>
			</item>
			<item>
				<name>dir</name>
				<value>300556</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 4 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>240</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<error>true</error>
		<testcase>Verify that template got removed from the secondary storage by template sync</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item>
			    <name>p</name>
				<value>/template/tmpl/1/300556/template.properties</value>
			</item>
		</parameters>
	</command>


<!--  Create template, delete it and stop/start management server -->
	<command>
		<name>createTemplate</name>
		<testcase>Create template</testcase>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volumeid</param>
			</item>
			<item random="true" setparam="true">
				<name>name</name>
				<param>privatetemplatename</param>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>removetemplate.sh</name>
		<script>true</script>
		<testcase>Removing template file from secondary storage</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Stopping management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>stop</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Stopping management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>stop</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Starting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>start</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Starting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>start</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 4 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>240</value>
			</item>
		</parameters>
	</command>

<!--  Create template, don't delete it and restart management server. Make sure that the template is still available, and you can stat a vm from it -->
	<command>
		<name>createTemplate</name>
		<testcase>Create template</testcase>
		<parameters>
			<item getparam="true">
				<name>volumeid</name>
				<param>volumeid</param>
			</item>
			<item random="true" setparam="true">
				<name>name</name>
				<param>privatetemplatename</param>
			</item>
			<item>
				<name>displaytext</name>
				<value>newtext</value>
			</item>
			<item>
				<name>osTypeId</name>
				<value>12</value>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Restarting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>restart</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 4 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>240</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>deployVirtualMachine</name>
		<testcase>Deploy vm from private template after management server was rebooted</testcase>
		<parameters>
			<item getparam="true">
			    <name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item getparam="true">
			    <name>serviceofferingid</name>
				<param>globalserviceofferingid</param>
			</item>
			<item getparam="true">
			    <name>diskofferingid</name>
				<param>globaldiskofferingid</param>
			</item>
			<item getparam="true">
				<name>templateid</name>
				<param>privatetemplateid</param>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
			<item>
				<name>displayname</name>
				<value>PrivateTempSyncVM</value>
			</item>
			<item>
				<name>group</name>
				<value>group2</value>
			</item>
			<item getparam="true">
				<name>networkids</name>
				<param>globalnetworkid</param>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>vmid</param>
			</item>
		</returnvalue>
	</command>


<!--  Register template, delete it from the secondary storage and restart management server. Make sure that template download started again -->
	<command>
		<name>registerTemplate</name>
		<testcase>Register template</testcase>
		<parameters>
			<item random="true" setparam="true">
				<name>name</name>
				<param>registername</param>
			</item>
			<item random="true" setparam="true">
				<name>displaytext</name>
				<param>registerdisplay</param>
			</item>
			<item getparam="true">
				<name>url</name>
				<param>globaltemplateurl</param>
			</item>
			<item>
				<name>ostypeid</name>
				<value>12</value>
			</item>
			<item>
				<name>format</name>
				<value>vhd</value>
			</item>
			<item getparam="true">
				<name>zoneid</name>
				<param>globalzoneid</param>
			</item>
			<item>
				<name>account</name>
				<value>admin</value>
			</item>
			<item>
				<name>domainid</name>
				<value>1</value>
			</item>
		</parameters>
		<returnvalue>
			<item setparam="true">
				<name>id</name>
				<param>privatetemplateid</param>
			</item>
		</returnvalue>
	</command>

	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 5 min</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>300</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>listtemplate.sh</name>
		<script>true</script>
		<testcase>List template directory after it was created</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>

	<command>
		<name>removetemplate.sh</name>
		<script>true</script>
		<testcase>Removing template file from secondary storage</testcase>
		<parameters>
		<item getparam="true">
			    <name>h</name>
				<param>secondary_storage_ip</param>
			</item>
			<item getparam="true">
			    <name>s</name>
				<param>secondary_storage_dir</param>
			</item>
			<item getparam="true">
			    <name>p</name>
				<param>template_path</param>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Stopping management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>stop</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Stopping management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>stop</value>
			</item>
		</parameters>
	</command>


	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Starting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms1</param>
			</item>
			<item>
			    <name>o</name>
				<value>start</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>ms.sh</name>
		<script>true</script>
		<testcase>Starting management server</testcase>
		<parameters>
			<item getparam="true">
			    <name>h</name>
				<param>ms2</param>
			</item>
			<item>
			    <name>o</name>
				<value>start</value>
			</item>
		</parameters>
	</command>

	<command>
		<name>sleep.sh</name>
		<script>true</script>
		<testcase>Sleep for 15 seconds</testcase>
		<parameters>
			<item>
			    <name>s</name>
				<value>15</value>
			</item>
		</parameters>
	</command>

<!--  Execute a cleanup -->
	<command>
		<name>destroyVirtualMachine</name>
		<testcase>Destroy virtual machine as a part of cleanup</testcase>
		<parameters>
			<item getparam="true">
				<name>id</name>
				<param>vmid</param>
			</item>
		</parameters>
	</command>


</templatesync>
