<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>:::虚拟时代::: &#187; XAPI</title>
	<atom:link href="http://blog.microhyper.com/archives/tag/xapi/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.microhyper.com</link>
	<description>最新虚拟技术资讯</description>
	<lastBuildDate>Wed, 28 Jul 2010 14:06:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>使用XAPI根据模板创建XenServer虚拟机</title>
		<link>http://blog.microhyper.com/archives/208</link>
		<comments>http://blog.microhyper.com/archives/208#comments</comments>
		<pubDate>Fri, 26 Sep 2008 15:51:36 +0000</pubDate>
		<dc:creator>ericz</dc:creator>
				<category><![CDATA[Citrix]]></category>
		<category><![CDATA[XAPI]]></category>
		<category><![CDATA[XenServer]]></category>

		<guid isPermaLink="false">http://blog.microhyper.com/?p=208</guid>
		<description><![CDATA[<p>下面的程序可以根据一个给定的模板克隆一个虚拟机，该代码也给出了一个方法来得到新创建的虚拟机的MAC地址。使用方法如下：</p>
<p>CreateClone   XenServer的IP地址   </p>
<p>/// 
/// Clone a Virtual machine from a template and determine virtual machines mac address.
/// 
    public class Program
    {
        public static void Main(string[] args)
        {</p>
<p>            // Host information necessary to get started
            string host[...]]]></description>
			<content:encoded><![CDATA[<p>下面的程序可以根据一个给定的模板克隆一个虚拟机，该代码也给出了一个方法来得到新创建的虚拟机的MAC地址。使用方法如下：</p>
<p><strong>CreateClone   XenServer的IP地址 <用户名> <密码> <模板名></strong></p>
<p>/// <summary><br />
/// Clone a Virtual machine from a template and determine virtual machines mac address.<br />
/// </summary><br />
    public class Program<br />
    {<br />
        public static void Main(string[] args)<br />
        {</p>
<p>            // Host information necessary to get started<br />
            string hostname = args[0];<br />
            int port = 80; // default<br />
            string username = args[1]; ;<br />
            string password = args[2];<br />
            string template = args[3];</p>
<p>            // Establish a session<br />
            Session session = new Session(hostname, port);</p>
<p>            // Authenticate with username and password.<br />
//The third parameter tells the server which API<br />
//version we support.<br />
            session.login_with_password(username, password, API_Version.API_1_3);</p>
<p>            List<XenRef<VM>> vmRefs = VM.get_by_name_label(session, template);<br />
            if (vmRefs.Count == 0)<br />
                System.Console.WriteLine(&#8220;Template not found&#8221;);</p>
<p>            foreach (XenRef<VM> vmRef in vmRefs)<br />
            {<br />
                if (vmRefs.Count == 1)<br />
                {<br />
                    VM vm = VM.get_record(session, vmRef);<br />
                    System.Console.WriteLine(&#8220;Cloning VM &#8216;{0}&#8217;&#8230;&#8221;, vm.name_label);<br />
                    XenRef<VM> cloneVMref = VM.clone(session, vmRef,<br />
                    string.Format(&#8220;Cloned VM (from &#8216;{0}&#8217;)&#8221;,vm.name_label));<br />
                    System.Console.WriteLine(&#8220;Cloning VM &#8216;{0}&#8217;&#8230; Done&#8221;, cloneVMref.ToString());<br />
                    VM.provision(session, cloneVMref);<br />
                    VM CloneVM = VM.get_record(session, cloneVMref);</p>
<p>                    foreach (XenRef<VIF> vifref in CloneVM.VIFs)<br />
                    {<br />
                        System.Console.WriteLine(VIF.get_MAC(session, vifref));<br />
                    }<br />
                }<br />
                else { System.Console.WriteLine(&#8220;More then one VM Template found with same name&#8221;); }<br />
            }<br />
        }</p>
<p>    }</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.microhyper.com/archives/208/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

