<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:clearspace="http://www.jivesoftware.com/xmlns/clearspace/rss" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Unofficial Tech Memo - Koji Komatsu</title>
    <link>http://communities.vmware.com/blogs/kkomatsu</link>
    <description>このblogは小松康二の個人的なメモですのでサポート外の設定や勘違い等が含まれている可能性があります</description>
    <pubDate>Thu, 29 Oct 2009 04:47:00 GMT</pubDate>
    <generator>Clearspace 1.10.12 (http://jivesoftware.com/products/clearspace/)</generator>
    <dc:date>2009-10-29T04:47:00Z</dc:date>
    <item>
      <title>vSphere PowerCLIとvSphere SDK for .Netの関係</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2009/10/28/vsphere-powercli-vsphere-sdk-for-net-</link>
      <description>VI PowerShell / vSphere PowerCLI についてよく聞かれる質問のひとつが、VI Perl Toolkit / vSphere SDK for Perlに比べてできることが少ないのではないかという点。これはある意味正しい。というのも、PowerShell版は簡単に使える代わりに抽象化度が高く、本来のAPIに含まれる機能についての網羅性に欠けているのだ。&lt;br /&gt;
&lt;br /&gt;
ただ、PowerCLIの範囲ではできないことも、.Net上に実装されVI PowerShellのバックグラウンドで透過的に動いているSDK for .Netを直接利用することで、制約をうけずより広範な処理を記述できる。もちろん PowerCLI の範囲ですむ部分はそこですましながら必要に応じてスクリプトの中で使い分けられるのだ。&lt;br /&gt;
&lt;br /&gt;
この切り替えは、主にGet-Viewというコマンドレットを使って行う。Get-ViewにのIdを渡す(オブジェクトそのもののパイプライン渡しも可)と、純然たるManaged Objectが得られる。あとは、vSphere APIに実装されているプロパティやメソッドが自由に使えるようになる。&lt;br /&gt;
&lt;br /&gt;
たとえば、vSphere PowerCLIのMove-VMコマンドの制約についてまとめた下記の記事も、Get-Viewを使うことで回避することができる。&lt;br /&gt;
&lt;a href="http://communities.vmware.com/blogs/kkomatsu/2008/12/23/movevm-vmotion-" class="jive-link-blogpost"&gt;Move-VMコマンドレットでのVMotionのクセ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
下記の例では、指定したESX上のパワーオン状態の仮想マシンを全て別のESXにVMotionさせている。&lt;br /&gt;
&lt;div class="jive-quote"&gt;
$src_esx = Get-VMHost &amp;lt;esx-name1&amp;gt;&lt;br /&gt;
$dst_esx = Get-VMHost &amp;lt;esx-name2&amp;gt;&lt;br /&gt;
$VMs = Get-VM -Location $src_esx&lt;br /&gt;
$res = Get-ResourcePool 'リソース' -Location $dst_esx&lt;br /&gt;
&lt;br /&gt;
$esx_moref = ($dst_esx | Get-View).Moref&lt;br /&gt;
$res_moref = ($res | Get-View).Moref&lt;br /&gt;
&lt;br /&gt;
$VMs | Where-Object { $_.PowerState -eq "PoweredOn" } | foreach {&lt;br /&gt;
    ($_ | Get-View).MigrateVM($res_moref, $esx_moref, "highPriority", "PoweredOn")&lt;br /&gt;
}&lt;br /&gt;
&lt;/div&gt;
&lt;br /&gt;
PowerCLIの範囲をはみ出しているということを意識しなくてもよいくらいシームレスに使えてることが分かる。&lt;br /&gt;
ここで使われているMigrateVMはvSphere APIのメソッドであり、Move-VMはMigrateVMを透過的に使用しているPowerShellのコマンドレットなのだ。&lt;br /&gt;
&lt;br /&gt;
最後に、SDK for .Netについて特徴をいくつか細くしておく。&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;メソッドに()を使う(PowerCLIのコマンドレットでは()は不要)&lt;/li&gt;
&lt;li&gt;引数にオブジェクトを使う場合Morefを使う(PowerCLIはオブジェクトそのものかIdをとる)&lt;/li&gt;
&lt;li&gt;MigrateVMとMigrateVM_Taskの違いはPowerCLIの-Asyncの有無に相当(非同期実行)&lt;/li&gt;
&lt;li&gt;Get-Viewの逆はGet-ViObjectByViewで行う&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
このあたりを先日のVMware Virtualization Forum 2009のセッションでしゃべった資料は下記。&lt;br /&gt;
&lt;a href="http://communities.vmware.com/docs/DOC-11061" class="jive-link-wiki"&gt;VMware Virtualization Forum 2009 A66資料&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">automation</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">vmotion</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">sdk</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">toolkit</category>
      <pubDate>Thu, 29 Oct 2009 04:48:26 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2009/10/28/vsphere-powercli-vsphere-sdk-for-net-</guid>
      <dc:date>2009-10-29T04:48:26Z</dc:date>
      <clearspace:dateToText>3 weeks, 4 days ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/vsphere-powercli-vsphere-sdk-for-net-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=5160</wfw:commentRss>
    </item>
    <item>
      <title>VMware Toolsでの一括アップデートをゲスト再起動なしで実施する</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2009/04/08/vmware-tools-</link>
      <description>VI Toolkit for Windows (通称VI PowerShell)には、Update-Toolsというコマンドレットがある。これはゲストOSにインストールされたVMware Toolsをアップデートするためのもの。ただし、Toolsアップグレード後に自動的にゲストOSの再起動がかかってしまう。&lt;br /&gt;
&lt;br /&gt;
こういった場合にはGet-Viewを使うのが定石。Pabloがコミュニティでのディスカッションを紹介している。&lt;br /&gt;
&lt;br /&gt;
Installing VMware Tools without a reboot ...&lt;br /&gt;
&lt;a class="jive-link-blogpost" href="http://communities.vmware.com/blogs/DeveloperCenter/2008/12/30/installing-vmware-tools-without-a-reboot-"&gt;http://communities.vmware.com/blogs/DeveloperCenter/2008/12/30/installing-vmware-tools-without-a-reboot-&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
How to install VMware tools without a reboot?&lt;br /&gt;
&lt;a class="jive-link-thread" href="http://communities.vmware.com/thread/168530"&gt;http://communities.vmware.com/thread/168530&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
結論的には下記のように書くのがベストプラクティスのようだ。(Windowsゲスト限定)&lt;br /&gt;
&lt;br /&gt;
$insParm = '/s /v"/qn /norestart"'&lt;br /&gt;
$updList = Get-VM | Where-Object {$_.PowerState -eq "PoweredON"} | % {Get-View $_.ID} | Where-Object {$_.guest.toolsstatus -match "toolsOld" } | Where-Object {$_.guest.guestfamily -match "windowsGuest"}&lt;br /&gt;
foreach ($uVM in $updList)&lt;br /&gt;
{&lt;br /&gt;
$uVM.Name&lt;br /&gt;
$uVM.UpgradeTools_Task($insParm)&lt;br /&gt;
#Wait 30 seconds before starting another update task&lt;br /&gt;
Start-Sleep -s 30&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
ポイントはToolsのアップグレードをサイレントかつ自動再起動なしで実施するパラメータを指定していること。&lt;br /&gt;
&lt;br /&gt;
もちろん、ゲストを再起動する必要性そのものがなくなるわけではないので、一括アップグレード後に、必要な順序で管理者が再起動をかけていくことになる。再起動されるまでも、VI Clientには、ToolsのバージョンがOKと出てしまうので、どれが最新かどうか分からなくならないように注意も必要。&lt;br /&gt;
&lt;br /&gt;
なお、日本語ゲストOSの場合でToolsのアップグレードがエラーでとまってしまう問題は、ESX3.5 Update4で解消されている。したがって、日本語環境ではそれ以降のバージョンであることが前提。&lt;br /&gt;
&lt;p /&gt;
ESX3.5 Update4 Release Notes&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/vi3/doc/vi3_esx35u4_rel_notes.html"&gt;http://www.vmware.com/support/vi3/doc/vi3_esx35u4_rel_notes.html&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">automation</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">windows</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">toolkit</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">tools</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">vmtools</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">esx</category>
      <pubDate>Wed, 08 Apr 2009 14:15:18 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2009/04/08/vmware-tools-</guid>
      <dc:date>2009-04-08T14:15:18Z</dc:date>
      <clearspace:dateToText>10 months, 3 weeks ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/vmware-tools-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=2407</wfw:commentRss>
    </item>
    <item>
      <title>VI Toolkit for Windows 1.5 リリース</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2009/01/30/vi-toolkit-for-windows-15-</link>
      <description>VI PowerShell 1.5 (正式名称 VI Toolkit for Windows 1.5) がリリースされた。&lt;br /&gt;
32の新しいコマンドレットと多数のオプションが追加されており、Get-Viewを使わなくても設定の確認や変更ができる範囲が広がった。&lt;br /&gt;
&lt;br /&gt;
詳細はリリースノートを。&lt;br /&gt;
&lt;br /&gt;
VMware Infrastructure Toolkit (for Windows) 1.5  Release Notes&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/windowstoolkit/wintk15/windowstoolkit15-200901-releasenotes.html"&gt;http://www.vmware.com/support/developer/windowstoolkit/wintk15/windowstoolkit15-200901-releasenotes.html&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">toolkit</category>
      <pubDate>Fri, 30 Jan 2009 08:25:41 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2009/01/30/vi-toolkit-for-windows-15-</guid>
      <dc:date>2009-01-30T08:25:41Z</dc:date>
      <clearspace:dateToText>9 months, 3 weeks ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/vi-toolkit-for-windows-15-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=2506</wfw:commentRss>
    </item>
    <item>
      <title>VI APIでデータストアブラウザ</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2009/01/23/vi-api-</link>
      <description>VI API経由では、データストアブラウザで行うような、VMFS上のファイル操作はできないと間違った情報をいろんなところで流してしまった。HostDatastoreBrowserを使うと、lsやrm相当の操作くらいはできるらしい。&lt;br /&gt;
&lt;br /&gt;
HostDatastoreBrowser&lt;br /&gt;
&lt;a class="jive-link-external" href="http://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.host.DatastoreBrowser.html"&gt;http://pubs.vmware.com/vi-sdk/visdk250/ReferenceGuide/vim.host.DatastoreBrowser.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
そして、求めていたスクリプトを発見。インベントリに存在せずファイルとしてただ放置された状態の仮想マシンのリストを作成するVI PowerShellスクリプト。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://communities.vmware.com/docs/DOC-6960" class="jive-link-wiki"&gt;Find Orphaned VMDK's&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
必見。</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">automation</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">datastore</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">vmdk</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">storage</category>
      <pubDate>Fri, 23 Jan 2009 17:00:02 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2009/01/23/vi-api-</guid>
      <dc:date>2009-01-23T17:00:02Z</dc:date>
      <clearspace:dateToText>10 months, 3 days ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/vi-api-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=2481</wfw:commentRss>
    </item>
    <item>
      <title>New-VMコマンドレットの代わりにCloneVM_Taskメソッドを使用するケース</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2008/12/24/newvm-clonevmtask-</link>
      <description>New-VMは、仮想マシンの新規作成だけでなく、-Templateオプションを使用してテンプレートからのデプロイを行うこともできる重要なコマンドレットだ。テンプレートからのデプロイ時には、OSCustomizationSpecを併用することで、カスタマイゼーションも実現できる。&lt;br /&gt;
ただ、VI ClientではできるのにNew-VMコマンドレットではできない操作が2つある。&lt;br /&gt;
・テンプレートではなく仮想マシンをクローンする&lt;br /&gt;
・カスタマイゼーションでIPアドレスを指定する&lt;br /&gt;
&lt;br /&gt;
PMであるShanklinの書いた下記FAQに、"How can I change a VM's IP address?"というタイトルで、両方の制限をVI APIネイティブに解決する方法が紹介されている。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://communities.vmware.com/docs/DOC-4210" class="jive-link-wiki"&gt;Managing VMware with PowerShell FAQ&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
VirtualMachineのCloneVM_Taskメソッドを使用する方法で、VMware.Vim.VirtualMachineCloneSpecを直接作成するという流れだ。少し行数は多いが一見難しくなさそうに見える。&lt;br /&gt;
ところが、実際には書かれているサンプルスクリプトはVirtualMachineCloneSpecの中の一部の必須プロパティの指定を省略してあるようだ。リファレンスガイドの下記を見ればわかるのだがこれは結構根気が必要。&lt;br /&gt;
&lt;br /&gt;
VirtualMachineCloneSpec&lt;br /&gt;
&lt;a class="jive-link-external" href="http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.CloneSpec.html"&gt;http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/vim.vm.CloneSpec.html&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
実現されたい方は、下記をたどると省略されていない形のサンプルを紹介しているユーザがいる。&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://communities.vmware.com/message/876392#876392" class="jive-link-message"&gt;set-oscustomizationspec and IP address&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">customization</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">automation</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">clone</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">template</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">toolkit</category>
      <pubDate>Thu, 25 Dec 2008 07:51:45 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2008/12/24/newvm-clonevmtask-</guid>
      <dc:date>2008-12-25T07:51:45Z</dc:date>
      <clearspace:dateToText>11 months, 2 days ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/newvm-clonevmtask-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=2388</wfw:commentRss>
    </item>
    <item>
      <title>Move-VMコマンドレットでのVMotionのクセ</title>
      <link>http://communities.vmware.com/blogs/kkomatsu/2008/12/23/movevm-vmotion-</link>
      <description>VI PowerShellのサンプルとしてよく見かける下記の記述では、どうやらCold Migrationしかできないようだ。VMotionしようとすると、inner errorと言われしまう。結構はまり所かも。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;Move-VM -VM (Get-VM "vm-name") -Destination (Get-VMHost "host-name")&lt;/div&gt;
&lt;br /&gt;
ホストの変わりにリソースプールを指定すれば成功するのだが、リソースプールではなくてESX直下にVMotionしたい場合、回りくどく下記のように書く必要がある。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;Move-VM -VM (Get-VM "vm-name") -Destination (Get-Resourcepool -Name リソース -Location (Get-VMHost "host-name"))&lt;/div&gt;
&lt;br /&gt;
途中、Get-Resourcepool で指定している「リソース」という名前は、ESXに自動的に生成された見えないルートリソースプールの名前。英語版の場合には「リソース」ではなく「Resource」となるのかな？（未確認）&lt;br /&gt;
&lt;br /&gt;
なお、クラスタ内の場合、DRSの有無にかぎらずESXのルートリソースプールはクラスタのルートリソースプールになっているのか、コレで指定してもESXを移動しない。（エラーは発生せず、成功したように見えるが。）&lt;br /&gt;
&lt;br /&gt;
これらの点について、VI PowerShellのヘルプでは下記のように注意書きされている。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;Moving a virtual machine in a cluster is only possible if the virtual machine is in a resource pool in that cluster.&lt;/div&gt;
&lt;br /&gt;
実際の挙動を確認した限りは下記が正解に近いのではないだろうか。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;クラスタの有無にかかわらず、VMotionの移行先にはリソースプールだけが指定できます。また、クラスタ内では（たとえESXのルートリソースプールを指定したとしても）ESX間の移行はできません。&lt;/div&gt;
&lt;br /&gt;
なお、確認はESX3.0.3 / VC 2.0.3および、ESX 3.5 Update1 / ESXi 3.5 Update1 / VC 2.5 Update1で実施した。&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;2009年10月29日追記&lt;/h5&gt;
&lt;br /&gt;
VI PowerShell のメジャーバージョンアップである vSphere PowerCLI 4.0とvCenter 4.0の組み合わせでは、下記でのVMotionに成功した。&lt;br /&gt;
ESXは4.0でも3.5 Update4でも可能だった。残念ながら、vSphere PowerCLI 4.0でも、vCenter 2.5に対しては使用できなかった。&lt;br /&gt;
&lt;br /&gt;
&lt;div class="jive-quote"&gt;Move-VM -VM (Get-VM "vm-name") -Destination (Get-VMHost "host-name")&lt;/div&gt;
&lt;br /&gt;
なお、この制限はVI API / vSphere APIそのものにあるわけではない。.Net上に実装され、VI PowerShellのバックグラウンドで透過的に動いているSDK for .Netを使用すると、バージョンに関係なくVMotionが可能である。こちらについては下記の記事にまとめた。&lt;br /&gt;
&lt;a href="http://communities.vmware.com/blogs/kkomatsu/2009/10/28/vsphere-powercli-vsphere-sdk-for-net-" class="jive-link-blogpost"&gt;vSphere PowerCLIとvSphere SDK for .Netの関係&lt;/a&gt;</description>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">api</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">powershell</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">toolkit</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">vmotion</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">migration</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">automation</category>
      <category domain="http://communities.vmware.com/blogs/kkomatsu/tags">sdk</category>
      <pubDate>Tue, 23 Dec 2008 16:52:44 GMT</pubDate>
      <author>kkomatsu</author>
      <guid>http://communities.vmware.com/blogs/kkomatsu/2008/12/23/movevm-vmotion-</guid>
      <dc:date>2008-12-23T16:52:44Z</dc:date>
      <clearspace:dateToText>11 months, 3 days ago</clearspace:dateToText>
      <wfw:comment>http://communities.vmware.com/blogs/kkomatsu/comment/movevm-vmotion-</wfw:comment>
      <wfw:commentRss>http://communities.vmware.com/blogs/kkomatsu/feeds/comments?blogPostID=2383</wfw:commentRss>
    </item>
  </channel>
</rss>

