
This is a multi-part message in MIME format. --------------080905070607080700030303 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit On 06/03/2013 09:50 AM, Roy Golan wrote:
On Sun 02 Jun 2013 10:15:27 PM IDT, Itamar Heim wrote:
On 06/02/2013 04:21 PM, Roy Golan wrote:
Hi,
A new feature page for OS info is out: http://www.ovirt.org/OS_info
Please review.
Roy _______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
two questions: 1. windows os product key - this is known to be a "must be reconfigured by customer" to use, so vdc_options may be fine for it, and if not, a prepared template under /etc for overriding this field per relevant OS should come out of the box.
by design a customer can drop an 10-product-keys.properties under /etc/ovirt-engine/conf/osinfo.conf.d/ and have there override the keys: os.windows7.productKey=xxx os.windows8.productKey=yyy ...
2. I18N - is this supported today? how does it work with the search by OS type? while at it - how does the search by os type works with this new mechanism?
I'm not sure this is supported today. Anyhow the search is by the VmOsType member name so its actually the unique OS name and not the resource one VMs: os = rhel6x84
Witn the new mechanism, on load the UI queries the backend for a map of the osId->osUniqueNames and this is passed to the UI searchbackend instance to populate a class which does the auto completion.
To make the search I18N I need to build a reverse lookup table for I18N labels -> uniqueOsName.
Another option is to still search by unique name and to draw the tooltip of the completion with both the uniqeName and the I18N name:
Thanks, Itamar
_______________________________________________ Engine-devel mailing list Engine-devel@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-devel
--------------080905070607080700030303 Content-Type: multipart/related; boundary="------------090009090601040001020009" --------------090009090601040001020009 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit <html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> </head> <body bgcolor="#FFFFFF" text="#000000"> <div class="moz-cite-prefix">On 06/03/2013 09:50 AM, Roy Golan wrote:<br> </div> <blockquote cite="mid:51AC3CC8.6090901@redhat.com" type="cite">On Sun 02 Jun 2013 10:15:27 PM IDT, Itamar Heim wrote: <br> <blockquote type="cite">On 06/02/2013 04:21 PM, Roy Golan wrote: <br> <blockquote type="cite">Hi, <br> <br> A new feature page for OS info is out: <a class="moz-txt-link-freetext" href="http://www.ovirt.org/OS_info">http://www.ovirt.org/OS_info</a> <br> <br> Please review. <br> <br> Roy <br> _______________________________________________ <br> Engine-devel mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a> <br> <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/engine-devel">http://lists.ovirt.org/mailman/listinfo/engine-devel</a> <br> </blockquote> <br> two questions: <br> 1. windows os product key - this is known to be a "must be <br> reconfigured by customer" to use, so vdc_options may be fine for it, <br> and if not, a prepared template under /etc for overriding this field <br> per relevant OS should come out of the box. <br> <br> </blockquote> by design a customer can drop an 10-product-keys.properties under /etc/ovirt-engine/conf/osinfo.conf.d/ and have there <br> override the keys: <br> os.windows7.productKey=xxx <br> os.windows8.productKey=yyy <br> ... <br> <blockquote type="cite">2. I18N - is this supported today? how does it work with the search by <br> OS type? while at it - how does the search by os type works with this <br> new mechanism? <br> <br> </blockquote> I'm not sure this is supported today. Anyhow the search is by the VmOsType member name so <br> its actually the unique OS name and not the resource one <br> VMs: os = rhel6x84 <br> <br> Witn the new mechanism, on load the UI queries the backend for a map of the osId->osUniqueNames and this <br> is passed to the UI searchbackend instance to populate a class which does the auto completion. <br> <br> To make the search I18N I need to build a reverse lookup table for I18N labels -> uniqueOsName. <br> <br> Another option is to still search by unique name and to draw the tooltip of the completion with both the uniqeName and the I18N name: <br> <br> </blockquote> <img src="cid:part1.02050209.00060109@redhat.com" alt=""> <blockquote cite="mid:51AC3CC8.6090901@redhat.com" type="cite"> <br> <br> </blockquote> <br> <blockquote cite="mid:51AC3CC8.6090901@redhat.com" type="cite"> <br> <blockquote type="cite">Thanks, <br> Itamar <br> </blockquote> <br> <br> _______________________________________________ <br> Engine-devel mailing list <br> <a class="moz-txt-link-abbreviated" href="mailto:Engine-devel@ovirt.org">Engine-devel@ovirt.org</a> <br> <a class="moz-txt-link-freetext" href="http://lists.ovirt.org/mailman/listinfo/engine-devel">http://lists.ovirt.org/mailman/listinfo/engine-devel</a> <br> </blockquote> <br> </body> </html> --------------090009090601040001020009 Content-Type: image/png; name="fedggeae.png" Content-Transfer-Encoding: base64 Content-ID: <part1.02050209.00060109@redhat.com> Content-Disposition: inline; filename="fedggeae.png" iVBORw0KGgoAAAANSUhEUgAAAb0AAACdCAIAAACvlzGRAAAAA3NCSVQICAjb4U/gAAAgAElE QVR4Xu3defxn1fwH8IaWsVQyZQ39CpFsIUXWsRXKvoeEMskSRsKUaviVypSmEGkZy2QaFJJ9 CUMYIoqyZ6+oyO735P143N993O1zP5/v57t8pvf3j+/jfs59n/c553XveZ33eZ9zz3ve3/72 t/U6//7yl7+4P3/+/E6p1pv0b7jhhq23229kue3YNNxJnBtAaUrK96oJlda0fK8aoZl3zTXX NN7IxEQgEUgEEoFGBOalvVnBJe2RxhelLTHtkTZk8r2CwLo6T71ez6eeYolAIpAIJAKBQPJm vgmJQCKQCAyHQPLmcHildCKQCCQCyZv5DiQCiUAiMBwCyZvD4ZXSiUAikAgkb+Y7kAgkAonA cAgkbw6HV0onAolAIpC8me9AIpAIJALDIZC8ORxeKZ0IJAKJQPJmvgOJQCKQCAyHQPLmcHil dCKQCCQCyZv5DiQCiUAiMBwCyZvD4ZXSiUAikAgkb+Y7kAgkAonAcAgkbw6HV0onAolAIpC8 me9AIpAIJALDIZC8ORxeKZ0IJAKJwLyrrroqUUgEEoFEIBHoj0Dam/2xSslEIBFIBP6DQMYX qr4HGV+oikjn74wv1AnP/9/M96onUCE2x9+rtDeHepopnAgkAonAesmb+RIkAolAIjAcAsmb w+GV0olAIpAIJG/mO5AIJAKJwHAIJG8Oh1dKJwKJQCKQvJnvQCKQCCQCwyGQvDkcXimdCCQC iUDyZr4DiUAikAgMh0Dy5nB4pXQikAgkAsmb+Q4kAolAIjAcAusPJz790n/4wx9OO+20P/7x j5/73OeUdr3rjcjs//rXv+p5b3KTmwxswXbbbUdm/fVHROaf//zn9a9//YGl1AX+8Y9/ZLl1 WNpSEuc2ZCrpE/pe6YZ/+tOffvrTn+6///59um1PNMYlNiI7jKv4up5vf/vbr3zlK+vpM5by 4Q9/eMbKyoISgURgIAKvf/3rB8rMsMCc48273/3uIPD/ZS972U9+8pMZhuO6UJyRaWAzWf0D ZVIgERgKgW9961sD5esvHpNzYK6ZF5iL5yFtuOGGLPMrr7xy5uHIEhOBRGCOIPCQhzyEsw4V 3O52tzPYOyGpT8Vm5typOWdvggZS9WGnD2QpkwgkAusYAqhgDrLBiKsu0/psYqo+rUWk8kQg EUgERkZgLvLmyI3JjIlAIpAIzAACE8abP/rRj57ylKeUYyJdc801T3va0y699NIzzjhjr732 uvrqq8uo/fKXv3zMYx7zve99bwagHLaIP//5z0960pN+9atfDcxoQ4ZW/+xnPwvJiy+++FnP etZd7nKXt771rb/5zW8GZk+BRCARGC8C1+Nt7f6zC9Jft0zHXdXtuNt4y9ZLuWL/ZqW18+bN +8AHPvCVr3ylSP/85z+/cuVKWyYtvp9yyilveMMb7OyLu4jJovxHP/rRyy67bLyojUUbTj/z zDN/8YtfDNR2xRVXaHXwpjGAvxwOL3jBC0444YTnPve5A7OnQCKwDiDQyBX1xJnhq/UtXndj OjPrU+U61PerF3e32mqr3XffHRU+8pGPlPjvf//79NNPf/7zny994403lnL00UczxBierpcv X45uXIywiX3kbdXdYJbvxvCAAQdmCRmNVavDDz+clXrMMcdo1POe97w56DIf2JwUSARGQGAg U4XOmeGrCZunY5AnP/nJ7373uy+//HIwmbYzNqW43mijjW584xvjTWyyZs2a888/f/HixUuW LHEreOe73/2uW3e+851to5VR+kUXXfTEJz7x73//e/kporNTTz31f/77d9hhhzFa3fXRhUnx DjvssMceezAS4xuMYZ/9BRdcYLp90EEH3fGOdzzxxBNjeGAzKojxWEzYNe3kk09+9atf/d73 vjeaGZJIk8n5vve9T50/+9nPuvj1r399m9vcZthqpHwikAhMEYG5uA+pu0lmqXya5513Hgr7 9Kc/fctb3nLnnXeWhf0lfdGiRehp7733tpnp2c9+totDDz2UpcZFyCzdaaedXvWqV61atQrb fuELX7jVrW71ohe9aIMNNiiX+IlPfMLkF2Nuttlmb3nLW9w98MADfUSE4OQ1rXb3jW98o8+/ yrkU+sMf/hC1oVTM60+hD3vYw25961sXYnbwsn/vd7/7veIVr/A/rGAphxxyyEc+8pF3vetd r3vd6zDjrrvuiso1U7lvf/vbV6xYETWkMOheNYwKofY973nPM57xjG7E8m4ikAiMF4HJ401M 9MIXvhDx7bbbbuwyxBcz9DAqGfNHHHGEWfz3v/9937mHbY9xrr322h/84AcoySYnK0Wcp3Ld 6EY3Qm0VQFEVk/C1r30thSzBRz/60ebFfJGEb3GLWzz84Q+nhMJKLtboO9/5znIi43f16tVl 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 AElFTkSuQmCC --------------090009090601040001020009-- --------------080905070607080700030303--