Ansible oVirt storage management module

--_000_7ab13ed7a8b945158ca6c24e34d8af52CD1001M21corpads_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hey Ansible users, I wrote a module for storage management and created a pull request to have = it added as an Extra module in Ansible. It can be used to create/delete/at= tach/destroy pool disks. https://github.com/ansible/ansible-modules-extras/pull/2509 Ryan --_000_7ab13ed7a8b945158ca6c24e34d8af52CD1001M21corpads_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable <html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr= osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" = xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:= //www.w3.org/TR/REC-html40"> <head> <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)"> <style><!-- /* Font Definitions */ @font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face {font-family:"Century Gothic"; panose-1:2 11 5 2 2 2 2 2 2 4;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman",serif;} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed {mso-style-priority:99; color:purple; text-decoration:underline;} span.EmailStyle17 {mso-style-type:personal-compose; font-family:"Century Gothic",sans-serif; color:windowtext;} .MsoChpDefault {mso-style-type:export-only; font-family:"Calibri",sans-serif;} @page WordSection1 {size:8.5in 11.0in; margin:1.0in 1.0in 1.0in 1.0in;} div.WordSection1 {page:WordSection1;} --></style><!--[if gte mso 9]><xml> <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext=3D"edit"> <o:idmap v:ext=3D"edit" data=3D"1" /> </o:shapelayout></xml><![endif]--> </head> <body lang=3D"EN-US" link=3D"blue" vlink=3D"purple"> <div class=3D"WordSection1"> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif">Hey Ansible users,<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif">I wrote a module for storage management and = created a pull request to have it added as an Extra module in Ansible. = ; It can be used to create/delete/attach/destroy pool disks.<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif"><a href=3D"https://github.com/ansible/ansibl= e-modules-extras/pull/2509">https://github.com/ansible/ansible-modules-extr= as/pull/2509</a><o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif"><o:p> </o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif">Ryan<o:p></o:p></span></p> <p class=3D"MsoNormal"><span style=3D"font-size:10.0pt;font-family:"Ce= ntury Gothic",sans-serif"><o:p> </o:p></span></p> </div> </body> </html> --_000_7ab13ed7a8b945158ca6c24e34d8af52CD1001M21corpads_--

On Wed, Jul 20, 2016 at 12:00 AM, Groten, Ryan <Ryan.Groten@stantec.com> wrote:
Hey Ansible users,
I wrote a module for storage management and created a pull request to have it added as an Extra module in Ansible. It can be used to create/delete/attach/destroy pool disks.
https://github.com/ansible/ansible-modules-extras/pull/2509
Ryan
Hi Ryan, This looks really interesting and surely is useful. My only comment would be that I think we should start to think about some Python module for oVirt actions. Otherwise, every project (this, ovirt-system-tests, others) that use the ovirt Python SDK for oVirt automation more or less re-implement the same functions. What do you think? Also, we are thinking about auto-generating such Ansible playbook (same way as the SDKs are generated). It might look less 'human', but it will always be complete and up-to-date with all features. Thanks, Y.
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

--_000_12a600022ae341ed855ec3e43bcd48c4CD1001M21corpads_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgZmVlZGJhY2sgWWFuaXYsIEnigJlkIGxvdmUgdG8gc2VlIGEgcHl0aG9u IG1vZHVsZSBmb3Igb3ZpcnQgYWN0aW9ucy4gIFdoYXQgSeKAmXZlIGJ1aWx0IGlzIHNpbXBsZSBh bmQgYSBiaXQgbGltaXRlZCB0byB0aGUgZmVhdHVyZXMgSSBuZWVkZWQsIHNvIGlmIHdlIGNhbiBp bXBsZW1lbnQgYW4gZXhpc3RpbmcgbGlicmFyeSB0aGF0IGhhcyBhbGwgdGhlIGZlYXR1cmVzIGFu ZCBpcyBwcm92ZW4gdG8gd29yayB0aGVuIHRoZSBhdXRvbWF0aW9uIHRhc2tzIHdvdWxkIGJlIG11 Y2ggc2ltcGxlci4NCkFuZCBvZiBjb3Vyc2UsIGEgc3VwcG9ydGVkIEFuc2libGUgbW9kdWxlIHdv dWxkIGJlIGV2ZW4gYmV0dGVyLCBpdCB3b3VsZCBwcm9iYWJseSBnZXQgbW9yZSB0cmFjdGlvbiB0 b3dhcmRzIGJlaW5nIGFkZGVkIGFzIGFuIGV4dHJhIG9yIGNvcmUgbW9kdWxlIHRoYXQgd2F5IHRv by4NCg0KSWYgeW91IHRoaW5rIHRoaXMgd291bGQgYmUgYSB2YWx1YWJsZSBhZGRpdGlvbiB0byB0 aGUgZXh0cmEgbW9kdWxlcyB0aGF0IHNoaXAgd2l0aCBBbnNpYmxlIChhdCBsZWFzdCB0ZW1wb3Jh cmlseSksIEnigJlkIGFwcHJlY2lhdGUgaWYgeW91IGNvbW1lbnQg4oCYc2hpcGl04oCZIG9uIHRo ZSBwdWxsIHJlcXVlc3QgdG8gbWFyayBpdCBmb3IgaW5jbHVzaW9uIQ0KDQpUaGFua3MsDQpSeWFu DQoNCkZyb206IFlhbml2IEthdWwgW21haWx0bzp5a2F1bEByZWRoYXQuY29tXQ0KU2VudDogU3Vu ZGF5LCBKdWx5IDI0LCAyMDE2IDQ6NTIgQU0NClRvOiBHcm90ZW4sIFJ5YW4gPFJ5YW4uR3JvdGVu QHN0YW50ZWMuY29tPg0KQ2M6IHVzZXJzIDx1c2Vyc0BvdmlydC5vcmc+DQpTdWJqZWN0OiBSZTog W292aXJ0LXVzZXJzXSBBbnNpYmxlIG9WaXJ0IHN0b3JhZ2UgbWFuYWdlbWVudCBtb2R1bGUNCg0K DQoNCk9uIFdlZCwgSnVsIDIwLCAyMDE2IGF0IDEyOjAwIEFNLCBHcm90ZW4sIFJ5YW4gPFJ5YW4u R3JvdGVuQHN0YW50ZWMuY29tPG1haWx0bzpSeWFuLkdyb3RlbkBzdGFudGVjLmNvbT4+IHdyb3Rl Og0KSGV5IEFuc2libGUgdXNlcnMsDQoNCkkgd3JvdGUgYSBtb2R1bGUgZm9yIHN0b3JhZ2UgbWFu YWdlbWVudCBhbmQgY3JlYXRlZCBhIHB1bGwgcmVxdWVzdCB0byBoYXZlIGl0IGFkZGVkIGFzIGFu IEV4dHJhIG1vZHVsZSBpbiBBbnNpYmxlLiAgSXQgY2FuIGJlIHVzZWQgdG8gY3JlYXRlL2RlbGV0 ZS9hdHRhY2gvZGVzdHJveSBwb29sIGRpc2tzLg0KDQpodHRwczovL2dpdGh1Yi5jb20vYW5zaWJs ZS9hbnNpYmxlLW1vZHVsZXMtZXh0cmFzL3B1bGwvMjUwOQ0KDQpSeWFuDQoNCkhpIFJ5YW4sDQoN ClRoaXMgbG9va3MgcmVhbGx5IGludGVyZXN0aW5nIGFuZCBzdXJlbHkgaXMgdXNlZnVsLg0KTXkg b25seSBjb21tZW50IHdvdWxkIGJlIHRoYXQgSSB0aGluayB3ZSBzaG91bGQgc3RhcnQgdG8gdGhp bmsgYWJvdXQgc29tZSBQeXRob24gbW9kdWxlIGZvciBvVmlydCBhY3Rpb25zLg0KT3RoZXJ3aXNl LCBldmVyeSBwcm9qZWN0ICh0aGlzLCBvdmlydC1zeXN0ZW0tdGVzdHMsIG90aGVycykgdGhhdCB1 c2UgdGhlIG92aXJ0IFB5dGhvbiBTREsgZm9yIG9WaXJ0IGF1dG9tYXRpb24gbW9yZSBvciBsZXNz IHJlLWltcGxlbWVudCB0aGUgc2FtZSBmdW5jdGlvbnMuDQpXaGF0IGRvIHlvdSB0aGluaz8NCg0K QWxzbywgd2UgYXJlIHRoaW5raW5nIGFib3V0IGF1dG8tZ2VuZXJhdGluZyBzdWNoIEFuc2libGUg cGxheWJvb2sgKHNhbWUgd2F5IGFzIHRoZSBTREtzIGFyZSBnZW5lcmF0ZWQpLg0KSXQgbWlnaHQg bG9vayBsZXNzICdodW1hbicsIGJ1dCBpdCB3aWxsIGFsd2F5cyBiZSBjb21wbGV0ZSBhbmQgdXAt dG8tZGF0ZSB3aXRoIGFsbCBmZWF0dXJlcy4NClRoYW5rcywNClkuDQoNCg0KX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NClVzZXJzIG1haWxpbmcgbGlzdA0K VXNlcnNAb3ZpcnQub3JnPG1haWx0bzpVc2Vyc0BvdmlydC5vcmc+DQpodHRwOi8vbGlzdHMub3Zp cnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCg0K --_000_12a600022ae341ed855ec3e43bcd48c4CD1001M21corpads_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2VudHVyeSBHb3RoaWMiOw0KCXBhbm9z ZS0xOjIgMTEgNSAyIDIgMiAyIDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1z b05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJbWFy Z2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRp bWVzIE5ldyBSb21hbiIsc2VyaWY7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28t c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs aW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUt cHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7 fQ0KcC5tc29ub3JtYWwwLCBsaS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFsMA0KCXttc28tc3R5 bGUtbmFtZTptc29ub3JtYWw7DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJp Z2h0OjBpbjsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowaW47 DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJp Zjt9DQpzcGFuLmhvZW56Yg0KCXttc28tc3R5bGUtbmFtZTpob2VuemI7fQ0Kc3Bhbi5FbWFpbFN0 eWxlMTkNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNl bnR1cnkgR290aGljIixzYW5zLXNlcmlmOw0KCWNvbG9yOmJsdWU7fQ0KLk1zb0NocERlZmF1bHQN Cgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNh bnMtc2VyaWY7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6OC41aW4gMTEuMGluOw0KCW1h cmdpbjoxLjBpbiAxLjBpbiAxLjBpbiAxLjBpbjt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6 V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpz aGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5k aWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRp dCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48 L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IkVOLVVTIiBsaW5rPSJibHVl IiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVv dDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsdWUiPlRoYW5rcyBmb3Ig dGhlIGZlZWRiYWNrIFlhbml2LCBJ4oCZZCBsb3ZlIHRvIHNlZSBhIHB5dGhvbiBtb2R1bGUgZm9y IG92aXJ0IGFjdGlvbnMuJm5ic3A7IFdoYXQgSeKAmXZlIGJ1aWx0IGlzIHNpbXBsZSBhbmQgYSBi aXQgbGltaXRlZCB0byB0aGUgZmVhdHVyZXMgSSBuZWVkZWQsIHNvDQogaWYgd2UgY2FuIGltcGxl bWVudCBhbiBleGlzdGluZyBsaWJyYXJ5IHRoYXQgaGFzIGFsbCB0aGUgZmVhdHVyZXMgYW5kIGlz IHByb3ZlbiB0byB3b3JrIHRoZW4gdGhlIGF1dG9tYXRpb24gdGFza3Mgd291bGQgYmUgbXVjaCBz aW1wbGVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGlj JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+QW5kIG9mIGNvdXJzZSwgYSBzdXBwb3J0ZWQg QW5zaWJsZSBtb2R1bGUgd291bGQgYmUgZXZlbiBiZXR0ZXIsIGl0IHdvdWxkIHByb2JhYmx5IGdl dCBtb3JlIHRyYWN0aW9uIHRvd2FyZHMgYmVpbmcgYWRkZWQgYXMgYW4gZXh0cmEgb3IgY29yZSBt b2R1bGUgdGhhdCB3YXkNCiB0b28uPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7 Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibHVlIj48bzpwPiZuYnNwOzwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNl cmlmO2NvbG9yOmJsdWUiPklmIHlvdSB0aGluayB0aGlzIHdvdWxkIGJlIGEgdmFsdWFibGUgYWRk aXRpb24gdG8gdGhlIGV4dHJhIG1vZHVsZXMgdGhhdCBzaGlwIHdpdGggQW5zaWJsZSAoYXQgbGVh c3QgdGVtcG9yYXJpbHkpLCBJ4oCZZCBhcHByZWNpYXRlIGlmIHlvdSBjb21tZW50IOKAmHNoaXBp dOKAmQ0KIG9uIHRoZSBwdWxsIHJlcXVlc3QgdG8gbWFyayBpdCBmb3IgaW5jbHVzaW9uITxvOnA+ PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNhbnMt c2VyaWY7Y29sb3I6Ymx1ZSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibHVlIj5UaGFua3MsPG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fu cy1zZXJpZjtjb2xvcjpibHVlIj5SeWFuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9 Ik1zb05vcm1hbCI+PGEgbmFtZT0iX01haWxFbmRDb21wb3NlIj48c3BhbiBzdHlsZT0iZm9udC1z aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNl cmlmO2NvbG9yOmJsdWUiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvYT48L3A+DQo8c3BhbiBz dHlsZT0ibXNvLWJvb2ttYXJrOl9NYWlsRW5kQ29tcG9zZSI+PC9zcGFuPg0KPHAgY2xhc3M9Ik1z b05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9 ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl cmlmIj4gWWFuaXYgS2F1bCBbbWFpbHRvOnlrYXVsQHJlZGhhdC5jb21dDQo8YnI+DQo8Yj5TZW50 OjwvYj4gU3VuZGF5LCBKdWx5IDI0LCAyMDE2IDQ6NTIgQU08YnI+DQo8Yj5Ubzo8L2I+IEdyb3Rl biwgUnlhbiAmbHQ7Unlhbi5Hcm90ZW5Ac3RhbnRlYy5jb20mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiB1 c2VycyAmbHQ7dXNlcnNAb3ZpcnQub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW292 aXJ0LXVzZXJzXSBBbnNpYmxlIG9WaXJ0IHN0b3JhZ2UgbWFuYWdlbWVudCBtb2R1bGU8bzpwPjwv bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwv cD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5PbiBXZWQsIEp1bCAyMCwgMjAxNiBhdCAxMjowMCBBTSwgR3Jv dGVuLCBSeWFuICZsdDs8YSBocmVmPSJtYWlsdG86Unlhbi5Hcm90ZW5Ac3RhbnRlYy5jb20iIHRh cmdldD0iX2JsYW5rIj5SeWFuLkdyb3RlbkBzdGFudGVjLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+ PC9vOnA+PC9wPg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNv bGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0 LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph dXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50 dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlmIj5IZXkgQW5zaWJsZSB1c2Vycyw8L3NwYW4+PG86 cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJmb250LXNp emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNhbnMtc2Vy aWYiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0 eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBH b3RoaWMmcXVvdDssc2Fucy1zZXJpZiI+SSB3cm90ZSBhIG1vZHVsZSBmb3Igc3RvcmFnZSBtYW5h Z2VtZW50IGFuZCBjcmVhdGVkIGEgcHVsbCByZXF1ZXN0IHRvIGhhdmUgaXQgYWRkZWQgYXMgYW4g RXh0cmEgbW9kdWxlIGluDQogQW5zaWJsZS4mbmJzcDsgSXQgY2FuIGJlIHVzZWQgdG8gY3JlYXRl L2RlbGV0ZS9hdHRhY2gvZGVzdHJveSBwb29sIGRpc2tzLjwvc3Bhbj48bzpwPjwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9z cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90Oyxz YW5zLXNlcmlmIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5zaWJsZS9hbnNpYmxlLW1v ZHVsZXMtZXh0cmFzL3B1bGwvMjUwOSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vZ2l0aHViLmNv bS9hbnNpYmxlL2Fuc2libGUtbW9kdWxlcy1leHRyYXMvcHVsbC8yNTA5PC9hPjwvc3Bhbj48bzpw PjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6 ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJp Zjtjb2xvcjojODg4ODg4Ij4mbmJzcDs8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiM4ODg4ODgi PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVv dDssc2Fucy1zZXJpZjtjb2xvcjojODg4ODg4Ij5SeWFuPC9zcGFuPjxzcGFuIHN0eWxlPSJjb2xv cjojODg4ODg4Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9j a3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGkgUnlhbiw8bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhpcyBsb29rcyBy ZWFsbHkgaW50ZXJlc3RpbmcgYW5kIHN1cmVseSBpcyB1c2VmdWwuPG86cD48L286cD48L3A+DQo8 L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5NeSBvbmx5IGNvbW1lbnQgd291bGQg YmUgdGhhdCBJIHRoaW5rIHdlIHNob3VsZCBzdGFydCB0byB0aGluayBhYm91dCBzb21lIFB5dGhv biBtb2R1bGUgZm9yIG9WaXJ0IGFjdGlvbnMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5PdGhlcndpc2UsIGV2ZXJ5IHByb2plY3QgKHRoaXMsIG92 aXJ0LXN5c3RlbS10ZXN0cywgb3RoZXJzKSB0aGF0IHVzZSB0aGUgb3ZpcnQgUHl0aG9uIFNESyBm b3Igb1ZpcnQgYXV0b21hdGlvbiBtb3JlIG9yIGxlc3MgcmUtaW1wbGVtZW50IHRoZSBzYW1lIGZ1 bmN0aW9ucy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPldoYXQgZG8geW91IHRoaW5rPzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5BbHNvLCB3ZSBhcmUgdGhpbmtpbmcgYWJvdXQgYXV0by1nZW5l cmF0aW5nIHN1Y2ggQW5zaWJsZSBwbGF5Ym9vayAoc2FtZSB3YXkgYXMgdGhlIFNES3MgYXJlIGdl bmVyYXRlZCkuJm5ic3A7PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj5JdCBtaWdodCBsb29rIGxlc3MgJ2h1bWFuJywgYnV0IGl0IHdpbGwgYWx3YXlz IGJlIGNvbXBsZXRlIGFuZCB1cC10by1kYXRlIHdpdGggYWxsIGZlYXR1cmVzLjxvOnA+PC9vOnA+ PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+VGhhbmtzLDxvOnA+PC9v OnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+WS48bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0 OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVm dDo0LjhwdDttYXJnaW4tcmlnaHQ6MGluIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtD ZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM4ODg4ODgiPiZuYnNwOzwvc3Bh bj48c3BhbiBzdHlsZT0iY29sb3I6Izg4ODg4OCI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEy LjBwdCI+PGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X188YnI+DQpVc2VycyBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86VXNlcnNAb3Zp cnQub3JnIj5Vc2Vyc0BvdmlydC5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cDovL2xpc3RzLm92 aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2xp c3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzPC9hPjxvOnA+PC9vOnA+PC9wPg0K PC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwv bzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_12a600022ae341ed855ec3e43bcd48c4CD1001M21corpads_--

Hi Adding some relevant folks here. Until our module is ready I don't think there should be an issue with pushing this. However, there might be a name collision in the future. Juan/Ondra - thoughts? Thanks, Oved On Wed, Jul 27, 2016 at 8:07 PM, Groten, Ryan <Ryan.Groten@stantec.com> wrote:
Thanks for the feedback Yaniv, I’d love to see a python module for ovirt actions. What I’ve built is simple and a bit limited to the features I needed, so if we can implement an existing library that has all the features and is proven to work then the automation tasks would be much simpler.
And of course, a supported Ansible module would be even better, it would probably get more traction towards being added as an extra or core module that way too.
If you think this would be a valuable addition to the extra modules that ship with Ansible (at least temporarily), I’d appreciate if you comment ‘shipit’ on the pull request to mark it for inclusion!
Thanks,
Ryan
*From:* Yaniv Kaul [mailto:ykaul@redhat.com] *Sent:* Sunday, July 24, 2016 4:52 AM *To:* Groten, Ryan <Ryan.Groten@stantec.com> *Cc:* users <users@ovirt.org> *Subject:* Re: [ovirt-users] Ansible oVirt storage management module
On Wed, Jul 20, 2016 at 12:00 AM, Groten, Ryan <Ryan.Groten@stantec.com> wrote:
Hey Ansible users,
I wrote a module for storage management and created a pull request to have it added as an Extra module in Ansible. It can be used to create/delete/attach/destroy pool disks.
https://github.com/ansible/ansible-modules-extras/pull/2509
Ryan
Hi Ryan,
This looks really interesting and surely is useful.
My only comment would be that I think we should start to think about some Python module for oVirt actions.
Otherwise, every project (this, ovirt-system-tests, others) that use the ovirt Python SDK for oVirt automation more or less re-implement the same functions.
What do you think?
Also, we are thinking about auto-generating such Ansible playbook (same way as the SDKs are generated).
It might look less 'human', but it will always be complete and up-to-date with all features.
Thanks,
Y.
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

--_000_ca75d6a067c1489e8b5ba547128ff3c7CD1001M21corpads_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGV5IGd1eXMsDQoNCkp1c3Qgd29uZGVyaW5nIGlmIHRoaXMgUFIgaXMgdGhlIG9WaXJ0IG1vZHVs ZSB5b3UgYXJlIHJlZmVycmluZyB0bz8gIGh0dHBzOi8vZ2l0aHViLmNvbS9hbnNpYmxlL2Fuc2li bGUtbW9kdWxlcy1leHRyYXMvcHVsbC8yODM2DQoNCklmIHNvIGxvb2tzIGxpa2UgaXQgY2FuIHJl cGxhY2UgKGFuZCB0aGVuIHNvbWUhKSB0aGUgbW9kdWxlIEkgb3BlbmVkIGEgd2hpbGUgYmFjayBz byBJIGNhbiBjYW5jZWwgdGhhdCBQUi4NCg0KVGhhbmtzLA0KUnlhbg0KDQpGcm9tOiBPdmVkIE91 cmZhbGkgW21haWx0bzpvb3VyZmFsaUByZWRoYXQuY29tXQ0KU2VudDogVGh1cnNkYXksIEp1bHkg MjgsIDIwMTYgMTI6NDAgQU0NClRvOiBHcm90ZW4sIFJ5YW4gPFJ5YW4uR3JvdGVuQHN0YW50ZWMu Y29tPjsgSnVhbiBBbnRvbmlvIEhlcm5hbmRleiBGZXJuYW5kZXogPGpoZXJuYW5kQHJlZGhhdC5j b20+OyBPbmRyYSBNYWNoYWNlayA8b21hY2hhY2VAcmVkaGF0LmNvbT4NCkNjOiBZYW5pdiBLYXVs IDx5a2F1bEByZWRoYXQuY29tPjsgdXNlcnMgPHVzZXJzQG92aXJ0Lm9yZz4NClN1YmplY3Q6IFJl OiBbb3ZpcnQtdXNlcnNdIEFuc2libGUgb1ZpcnQgc3RvcmFnZSBtYW5hZ2VtZW50IG1vZHVsZQ0K DQpIaQ0KDQpBZGRpbmcgc29tZSByZWxldmFudCBmb2xrcyBoZXJlLg0KVW50aWwgb3VyIG1vZHVs ZSBpcyByZWFkeSBJIGRvbid0IHRoaW5rIHRoZXJlIHNob3VsZCBiZSBhbiBpc3N1ZSB3aXRoIHB1 c2hpbmcgdGhpcy4NCkhvd2V2ZXIsIHRoZXJlIG1pZ2h0IGJlIGEgbmFtZSBjb2xsaXNpb24gaW4g dGhlIGZ1dHVyZS4NCg0KSnVhbi9PbmRyYSAtIHRob3VnaHRzPw0KDQpUaGFua3MsDQpPdmVkDQoN Cg0KT24gV2VkLCBKdWwgMjcsIDIwMTYgYXQgODowNyBQTSwgR3JvdGVuLCBSeWFuIDxSeWFuLkdy b3RlbkBzdGFudGVjLmNvbTxtYWlsdG86Unlhbi5Hcm90ZW5Ac3RhbnRlYy5jb20+PiB3cm90ZToN ClRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrIFlhbml2LCBJ4oCZZCBsb3ZlIHRvIHNlZSBhIHB5dGhv biBtb2R1bGUgZm9yIG92aXJ0IGFjdGlvbnMuICBXaGF0IEnigJl2ZSBidWlsdCBpcyBzaW1wbGUg YW5kIGEgYml0IGxpbWl0ZWQgdG8gdGhlIGZlYXR1cmVzIEkgbmVlZGVkLCBzbyBpZiB3ZSBjYW4g aW1wbGVtZW50IGFuIGV4aXN0aW5nIGxpYnJhcnkgdGhhdCBoYXMgYWxsIHRoZSBmZWF0dXJlcyBh bmQgaXMgcHJvdmVuIHRvIHdvcmsgdGhlbiB0aGUgYXV0b21hdGlvbiB0YXNrcyB3b3VsZCBiZSBt dWNoIHNpbXBsZXIuDQpBbmQgb2YgY291cnNlLCBhIHN1cHBvcnRlZCBBbnNpYmxlIG1vZHVsZSB3 b3VsZCBiZSBldmVuIGJldHRlciwgaXQgd291bGQgcHJvYmFibHkgZ2V0IG1vcmUgdHJhY3Rpb24g dG93YXJkcyBiZWluZyBhZGRlZCBhcyBhbiBleHRyYSBvciBjb3JlIG1vZHVsZSB0aGF0IHdheSB0 b28uDQoNCklmIHlvdSB0aGluayB0aGlzIHdvdWxkIGJlIGEgdmFsdWFibGUgYWRkaXRpb24gdG8g dGhlIGV4dHJhIG1vZHVsZXMgdGhhdCBzaGlwIHdpdGggQW5zaWJsZSAoYXQgbGVhc3QgdGVtcG9y YXJpbHkpLCBJ4oCZZCBhcHByZWNpYXRlIGlmIHlvdSBjb21tZW50IOKAmHNoaXBpdOKAmSBvbiB0 aGUgcHVsbCByZXF1ZXN0IHRvIG1hcmsgaXQgZm9yIGluY2x1c2lvbiENCg0KVGhhbmtzLA0KUnlh bg0KDQpGcm9tOiBZYW5pdiBLYXVsIFttYWlsdG86eWthdWxAcmVkaGF0LmNvbTxtYWlsdG86eWth dWxAcmVkaGF0LmNvbT5dDQpTZW50OiBTdW5kYXksIEp1bHkgMjQsIDIwMTYgNDo1MiBBTQ0KVG86 IEdyb3RlbiwgUnlhbiA8Unlhbi5Hcm90ZW5Ac3RhbnRlYy5jb208bWFpbHRvOlJ5YW4uR3JvdGVu QHN0YW50ZWMuY29tPj4NCkNjOiB1c2VycyA8dXNlcnNAb3ZpcnQub3JnPG1haWx0bzp1c2Vyc0Bv dmlydC5vcmc+Pg0KU3ViamVjdDogUmU6IFtvdmlydC11c2Vyc10gQW5zaWJsZSBvVmlydCBzdG9y YWdlIG1hbmFnZW1lbnQgbW9kdWxlDQoNCg0KDQpPbiBXZWQsIEp1bCAyMCwgMjAxNiBhdCAxMjow MCBBTSwgR3JvdGVuLCBSeWFuIDxSeWFuLkdyb3RlbkBzdGFudGVjLmNvbTxtYWlsdG86Unlhbi5H cm90ZW5Ac3RhbnRlYy5jb20+PiB3cm90ZToNCkhleSBBbnNpYmxlIHVzZXJzLA0KDQpJIHdyb3Rl IGEgbW9kdWxlIGZvciBzdG9yYWdlIG1hbmFnZW1lbnQgYW5kIGNyZWF0ZWQgYSBwdWxsIHJlcXVl c3QgdG8gaGF2ZSBpdCBhZGRlZCBhcyBhbiBFeHRyYSBtb2R1bGUgaW4gQW5zaWJsZS4gIEl0IGNh biBiZSB1c2VkIHRvIGNyZWF0ZS9kZWxldGUvYXR0YWNoL2Rlc3Ryb3kgcG9vbCBkaXNrcy4NCg0K aHR0cHM6Ly9naXRodWIuY29tL2Fuc2libGUvYW5zaWJsZS1tb2R1bGVzLWV4dHJhcy9wdWxsLzI1 MDkNCg0KUnlhbg0KDQpIaSBSeWFuLA0KDQpUaGlzIGxvb2tzIHJlYWxseSBpbnRlcmVzdGluZyBh bmQgc3VyZWx5IGlzIHVzZWZ1bC4NCk15IG9ubHkgY29tbWVudCB3b3VsZCBiZSB0aGF0IEkgdGhp bmsgd2Ugc2hvdWxkIHN0YXJ0IHRvIHRoaW5rIGFib3V0IHNvbWUgUHl0aG9uIG1vZHVsZSBmb3Ig b1ZpcnQgYWN0aW9ucy4NCk90aGVyd2lzZSwgZXZlcnkgcHJvamVjdCAodGhpcywgb3ZpcnQtc3lz dGVtLXRlc3RzLCBvdGhlcnMpIHRoYXQgdXNlIHRoZSBvdmlydCBQeXRob24gU0RLIGZvciBvVmly dCBhdXRvbWF0aW9uIG1vcmUgb3IgbGVzcyByZS1pbXBsZW1lbnQgdGhlIHNhbWUgZnVuY3Rpb25z Lg0KV2hhdCBkbyB5b3UgdGhpbms/DQoNCkFsc28sIHdlIGFyZSB0aGlua2luZyBhYm91dCBhdXRv LWdlbmVyYXRpbmcgc3VjaCBBbnNpYmxlIHBsYXlib29rIChzYW1lIHdheSBhcyB0aGUgU0RLcyBh cmUgZ2VuZXJhdGVkKS4NCkl0IG1pZ2h0IGxvb2sgbGVzcyAnaHVtYW4nLCBidXQgaXQgd2lsbCBh bHdheXMgYmUgY29tcGxldGUgYW5kIHVwLXRvLWRhdGUgd2l0aCBhbGwgZmVhdHVyZXMuDQpUaGFu a3MsDQpZLg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQpVc2VycyBtYWlsaW5nIGxpc3QNClVzZXJzQG92aXJ0Lm9yZzxtYWlsdG86VXNlcnNAb3Zp cnQub3JnPg0KaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3VzZXJzDQoN Cg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NClVzZXJz IG1haWxpbmcgbGlzdA0KVXNlcnNAb3ZpcnQub3JnPG1haWx0bzpVc2Vyc0BvdmlydC5vcmc+DQpo dHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMNCg0K --_000_ca75d6a067c1489e8b5ba547128ff3c7CD1001M21corpads_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPHN0eWxl PjwhLS0NCi8qIEZvbnQgRGVmaW5pdGlvbnMgKi8NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6 IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1m YWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAy IDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2VudHVyeSBHb3RoaWMiOw0KCXBhbm9z ZS0xOjIgMTEgNSAyIDIgMiAyIDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1z b05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowaW47DQoJbWFy Z2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6IlRp bWVzIE5ldyBSb21hbiIsc2VyaWY7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28t c3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJs aW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUt cHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7 fQ0KcC5tc29ub3JtYWwwLCBsaS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFsMA0KCXttc28tc3R5 bGUtbmFtZTptc29ub3JtYWw7DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJp Z2h0OjBpbjsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowaW47 DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseToiVGltZXMgTmV3IFJvbWFuIixzZXJp Zjt9DQpzcGFuLkVtYWlsU3R5bGUxOA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsN Cglmb250LWZhbWlseToiQ2VudHVyeSBHb3RoaWMiLHNhbnMtc2VyaWY7DQoJY29sb3I6Ymx1ZTt9 DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpleHBvcnQtb25seTsNCglmb250LXNp emU6MTAuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCkBwYWdlIFdv cmRTZWN0aW9uMQ0KCXtzaXplOjguNWluIDExLjBpbjsNCgltYXJnaW46MS4waW4gMS4waW4gMS4w aW4gMS4waW47fQ0KZGl2LldvcmRTZWN0aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48 L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0i ZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1z byA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9 ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8 L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxpbms9InB1cnBsZSI+DQo8 ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVv dDssc2Fucy1zZXJpZjtjb2xvcjpibHVlIj5IZXkgZ3V5cyw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250 LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsdWUi PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGlj JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+SnVzdCB3b25kZXJpbmcgaWYgdGhpcyBQUiBp cyB0aGUgb1ZpcnQgbW9kdWxlIHlvdSBhcmUgcmVmZXJyaW5nIHRvPyZuYnNwOw0KPGEgaHJlZj0i aHR0cHM6Ly9naXRodWIuY29tL2Fuc2libGUvYW5zaWJsZS1tb2R1bGVzLWV4dHJhcy9wdWxsLzI4 MzYiPmh0dHBzOi8vZ2l0aHViLmNvbS9hbnNpYmxlL2Fuc2libGUtbW9kdWxlcy1leHRyYXMvcHVs bC8yODM2PC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290 aGljJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7 Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpi bHVlIj5JZiBzbyBsb29rcyBsaWtlIGl0IGNhbiByZXBsYWNlIChhbmQgdGhlbiBzb21lISkgdGhl IG1vZHVsZSBJIG9wZW5lZCBhIHdoaWxlIGJhY2sgc28gSSBjYW4gY2FuY2VsIHRoYXQgUFIuPG86 cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fu cy1zZXJpZjtjb2xvcjpibHVlIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTom cXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsdWUiPlRoYW5rcyw8 bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0i Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90Oyxz YW5zLXNlcmlmO2NvbG9yOmJsdWUiPlJ5YW48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48YSBuYW1lPSJfTWFpbEVuZENvbXBvc2UiPjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNhbnMt c2VyaWY7Y29sb3I6Ymx1ZSI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9hPjwvcD4NCjxzcGFu IHN0eWxlPSJtc28tYm9va21hcms6X01haWxFbmRDb21wb3NlIj48L3NwYW4+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206PC9zcGFuPjwvYj48c3BhbiBzdHls ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt c2VyaWYiPiBPdmVkIE91cmZhbGkgW21haWx0bzpvb3VyZmFsaUByZWRoYXQuY29tXQ0KPGJyPg0K PGI+U2VudDo8L2I+IFRodXJzZGF5LCBKdWx5IDI4LCAyMDE2IDEyOjQwIEFNPGJyPg0KPGI+VG86 PC9iPiBHcm90ZW4sIFJ5YW4gJmx0O1J5YW4uR3JvdGVuQHN0YW50ZWMuY29tJmd0OzsgSnVhbiBB bnRvbmlvIEhlcm5hbmRleiBGZXJuYW5kZXogJmx0O2poZXJuYW5kQHJlZGhhdC5jb20mZ3Q7OyBP bmRyYSBNYWNoYWNlayAmbHQ7b21hY2hhY2VAcmVkaGF0LmNvbSZndDs8YnI+DQo8Yj5DYzo8L2I+ IFlhbml2IEthdWwgJmx0O3lrYXVsQHJlZGhhdC5jb20mZ3Q7OyB1c2VycyAmbHQ7dXNlcnNAb3Zp cnQub3JnJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSZTogW292aXJ0LXVzZXJzXSBBbnNpYmxl IG9WaXJ0IHN0b3JhZ2UgbWFuYWdlbWVudCBtb2R1bGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj5IaTxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+QWRkaW5nIHNvbWUgcmVsZXZhbnQgZm9sa3MgaGVyZS48bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPlVudGlsIG91ciBtb2R1bGUgaXMgcmVh ZHkgSSBkb24ndCB0aGluayB0aGVyZSBzaG91bGQgYmUgYW4gaXNzdWUgd2l0aCBwdXNoaW5nIHRo aXMuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5I b3dldmVyLCB0aGVyZSBtaWdodCBiZSBhIG5hbWUgY29sbGlzaW9uIGluIHRoZSBmdXR1cmUuPG86 cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPkp1YW4v T25kcmEgLSB0aG91Z2h0cz88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+VGhhbmtzLDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+T3ZlZDxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPk9uIFdlZCwgSnVsIDI3LCAyMDE2IGF0IDg6MDcgUE0sIEdy b3RlbiwgUnlhbiAmbHQ7PGEgaHJlZj0ibWFpbHRvOlJ5YW4uR3JvdGVuQHN0YW50ZWMuY29tIiB0 YXJnZXQ9Il9ibGFuayI+Unlhbi5Hcm90ZW5Ac3RhbnRlYy5jb208L2E+Jmd0OyB3cm90ZTo8bzpw PjwvbzpwPjwvcD4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpz b2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGluIDBpbiAwaW4gNi4wcHQ7bWFyZ2luLWxlZnQ6 NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGluO21hcmdpbi1ib3R0b206NS4w cHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NC44 cHQiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Vu dHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibHVlIj5UaGFua3MgZm9yIHRoZSBm ZWVkYmFjayBZYW5pdiwgSeKAmWQgbG92ZSB0byBzZWUgYSBweXRob24gbW9kdWxlIGZvciBvdmly dCBhY3Rpb25zLiZuYnNwOyBXaGF0IEnigJl2ZSBidWlsdCBpcyBzaW1wbGUgYW5kIGEgYml0IGxp bWl0ZWQgdG8gdGhlIGZlYXR1cmVzIEkgbmVlZGVkLCBzbyBpZiB3ZSBjYW4gaW1wbGVtZW50DQog YW4gZXhpc3RpbmcgbGlicmFyeSB0aGF0IGhhcyBhbGwgdGhlIGZlYXR1cmVzIGFuZCBpcyBwcm92 ZW4gdG8gd29yayB0aGVuIHRoZSBhdXRvbWF0aW9uIHRhc2tzIHdvdWxkIGJlIG11Y2ggc2ltcGxl ci48L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxl ZnQ6NC44cHQiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1 b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpibHVlIj5BbmQgb2YgY291 cnNlLCBhIHN1cHBvcnRlZCBBbnNpYmxlIG1vZHVsZSB3b3VsZCBiZSBldmVuIGJldHRlciwgaXQg d291bGQgcHJvYmFibHkgZ2V0IG1vcmUgdHJhY3Rpb24gdG93YXJkcyBiZWluZyBhZGRlZCBhcyBh biBleHRyYSBvciBjb3JlIG1vZHVsZSB0aGF0IHdheSB0b28uPC9zcGFuPjxvOnA+PC9vOnA+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4NCjxzcGFuIHN0eWxl PSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7 LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4NCjxzcGFuIHN0eWxlPSJmb250 LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNhbnMt c2VyaWY7Y29sb3I6Ymx1ZSI+SWYgeW91IHRoaW5rIHRoaXMgd291bGQgYmUgYSB2YWx1YWJsZSBh ZGRpdGlvbiB0byB0aGUgZXh0cmEgbW9kdWxlcyB0aGF0IHNoaXAgd2l0aCBBbnNpYmxlIChhdCBs ZWFzdCB0ZW1wb3JhcmlseSksIEnigJlkIGFwcHJlY2lhdGUgaWYgeW91IGNvbW1lbnQg4oCYc2hp cGl04oCZIG9uIHRoZSBwdWxsIHJlcXVlc3QgdG8NCiBtYXJrIGl0IGZvciBpbmNsdXNpb24hPC9z cGFuPjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQu OHB0Ij4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nl bnR1cnkgR290aGljJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+Jm5ic3A7PC9zcGFuPjxv OnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4N CjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkg R290aGljJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Ymx1ZSI+VGhhbmtzLDwvc3Bhbj48bzpwPjwv bzpwPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQo8c3Bh biBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhp YyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmJsdWUiPlJ5YW48L3NwYW4+PG86cD48L286cD48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv LW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NC44cHQiPg0KPGEgbmFtZT0ibV8x ODU0MTI3NzI1NjY5MzQ2N19fTWFpbEVuZENvbXBvc2UiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6 MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNhbnMtc2VyaWY7 Y29sb3I6Ymx1ZSI+Jm5ic3A7PC9zcGFuPjwvYT48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQo8Yj48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPkZyb206 PC9zcGFuPjwvYj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiBZYW5pdiBLYXVsIFttYWlsdG86PC9zcGFuPjxh IGhyZWY9Im1haWx0bzp5a2F1bEByZWRoYXQuY29tIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5 bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z LXNlcmlmIj55a2F1bEByZWRoYXQuY29tPC9zcGFuPjwvYT48c3BhbiBzdHlsZT0iZm9udC1zaXpl OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPl0NCjxi cj4NCjxiPlNlbnQ6PC9iPiBTdW5kYXksIEp1bHkgMjQsIDIwMTYgNDo1MiBBTTxicj4NCjxiPlRv OjwvYj4gR3JvdGVuLCBSeWFuICZsdDs8L3NwYW4+PGEgaHJlZj0ibWFpbHRvOlJ5YW4uR3JvdGVu QHN0YW50ZWMuY29tIiB0YXJnZXQ9Il9ibGFuayI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5SeWFuLkdyb3Rl bkBzdGFudGVjLmNvbTwvc3Bhbj48L2E+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4mZ3Q7PGJyPg0KPGI+Q2M6 PC9iPiB1c2VycyAmbHQ7PC9zcGFuPjxhIGhyZWY9Im1haWx0bzp1c2Vyc0BvdmlydC5vcmciIHRh cmdldD0iX2JsYW5rIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPnVzZXJzQG92aXJ0Lm9yZzwvc3Bhbj48L2E+ PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx dW90OyxzYW5zLXNlcmlmIj4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFJlOiBbb3ZpcnQtdXNl cnNdIEFuc2libGUgb1ZpcnQgc3RvcmFnZSBtYW5hZ2VtZW50IG1vZHVsZTwvc3Bhbj48bzpwPjwv bzpwPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0 OjQuOHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6 YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h cmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NC44cHQiPg0KJm5ic3A7PG86cD48L286 cD48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4N Ck9uIFdlZCwgSnVsIDIwLCAyMDE2IGF0IDEyOjAwIEFNLCBHcm90ZW4sIFJ5YW4gJmx0OzxhIGhy ZWY9Im1haWx0bzpSeWFuLkdyb3RlbkBzdGFudGVjLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPlJ5YW4u R3JvdGVuQHN0YW50ZWMuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3A+DQo8YmxvY2tx dW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtw YWRkaW5nOjBpbiAwaW4gMGluIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4w cHQ7bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0K PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t YXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjkuNnB0Ij4NCjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290aGljJnF1b3Q7LHNh bnMtc2VyaWYiPkhleSBBbnNpYmxlIHVzZXJzLDwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu LWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo5LjZwdCI+DQo8c3BhbiBzdHlsZT0iZm9udC1z aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNl cmlmIj4mbmJzcDs8L3NwYW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87 bWFyZ2luLWxlZnQ6OS42cHQiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6JnF1b3Q7Q2VudHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZiI+SSB3cm90ZSBhIG1v ZHVsZSBmb3Igc3RvcmFnZSBtYW5hZ2VtZW50IGFuZCBjcmVhdGVkIGEgcHVsbCByZXF1ZXN0IHRv IGhhdmUgaXQgYWRkZWQgYXMgYW4gRXh0cmEgbW9kdWxlIGluIEFuc2libGUuJm5ic3A7IEl0IGNh biBiZSB1c2VkIHRvIGNyZWF0ZS9kZWxldGUvYXR0YWNoL2Rlc3Ryb3kgcG9vbCBkaXNrcy48L3Nw YW4+PG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6OS42 cHQiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Vu dHVyeSBHb3RoaWMmcXVvdDssc2Fucy1zZXJpZiI+Jm5ic3A7PC9zcGFuPjxvOnA+PC9vOnA+PC9w Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vYW5z aWJsZS9hbnNpYmxlLW1vZHVsZXMtZXh0cmFzL3B1bGwvMjUwOSIgdGFyZ2V0PSJfYmxhbmsiPjxz cGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NlbnR1cnkgR290 aGljJnF1b3Q7LHNhbnMtc2VyaWYiPmh0dHBzOi8vZ2l0aHViLmNvbS9hbnNpYmxlL2Fuc2libGUt bW9kdWxlcy1leHRyYXMvcHVsbC8yNTA5PC9zcGFuPjwvYT48bzpwPjwvbzpwPjwvcD4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu LWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo5LjZwdCI+DQo8c3BhbiBzdHlsZT0iZm9udC1z aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNl cmlmO2NvbG9yOiM4ODg4ODgiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpwPjwvcD4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo5LjZwdCI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXpl OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhpYyZxdW90OyxzYW5zLXNlcmlm O2NvbG9yOiM4ODg4ODgiPlJ5YW48L3NwYW4+PG86cD48L286cD48L3A+DQo8L2Rpdj4NCjwvZGl2 Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVm dDo0LjhwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv dHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQpIaSBSeWFuLDxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0 Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs dDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4NClRoaXMgbG9va3MgcmVhbGx5IGludGVyZXN0aW5n IGFuZCBzdXJlbHkgaXMgdXNlZnVsLjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn aW4tYm90dG9tLWFsdDphdXRvO21hcmdpbi1sZWZ0OjQuOHB0Ij4NCk15IG9ubHkgY29tbWVudCB3 b3VsZCBiZSB0aGF0IEkgdGhpbmsgd2Ugc2hvdWxkIHN0YXJ0IHRvIHRoaW5rIGFib3V0IHNvbWUg UHl0aG9uIG1vZHVsZSBmb3Igb1ZpcnQgYWN0aW9ucy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0 bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQpPdGhlcndp c2UsIGV2ZXJ5IHByb2plY3QgKHRoaXMsIG92aXJ0LXN5c3RlbS10ZXN0cywgb3RoZXJzKSB0aGF0 IHVzZSB0aGUgb3ZpcnQgUHl0aG9uIFNESyBmb3Igb1ZpcnQgYXV0b21hdGlvbiBtb3JlIG9yIGxl c3MgcmUtaW1wbGVtZW50IHRoZSBzYW1lIGZ1bmN0aW9ucy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQpXaGF0 IGRvIHlvdSB0aGluaz88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv bS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQombmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0LjhwdCI+DQpB bHNvLCB3ZSBhcmUgdGhpbmtpbmcgYWJvdXQgYXV0by1nZW5lcmF0aW5nIHN1Y2ggQW5zaWJsZSBw bGF5Ym9vayAoc2FtZSB3YXkgYXMgdGhlIFNES3MgYXJlIGdlbmVyYXRlZCkuJm5ic3A7PG86cD48 L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87bWFyZ2luLWxl ZnQ6NC44cHQiPg0KSXQgbWlnaHQgbG9vayBsZXNzICdodW1hbicsIGJ1dCBpdCB3aWxsIGFsd2F5 cyBiZSBjb21wbGV0ZSBhbmQgdXAtdG8tZGF0ZSB3aXRoIGFsbCBmZWF0dXJlcy48bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo0 LjhwdCI+DQpUaGFua3MsPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0 b20tYWx0OmF1dG87bWFyZ2luLWxlZnQ6NC44cHQiPg0KWS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0ND Q0MgMS4wcHQ7cGFkZGluZzowaW4gMGluIDBpbiA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJn aW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowaW47bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6 YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzttYXJnaW4tbGVmdDo5LjZwdCI+DQo8c3Bh biBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDZW50dXJ5IEdvdGhp YyZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiM4ODg4ODgiPiZuYnNwOzwvc3Bhbj48bzpwPjwvbzpw PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h cmdpbi10b3AtYWx0OmF1dG87bWFyZ2luLWJvdHRvbToxMi4wcHQ7bWFyZ2luLWxlZnQ6OS42cHQi Pg0KPGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+DQpVc2VycyBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86VXNlcnNAb3ZpcnQu b3JnIiB0YXJnZXQ9Il9ibGFuayI+VXNlcnNAb3ZpcnQub3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0 dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VycyIgdGFyZ2V0PSJfYmxh bmsiPmh0dHA6Ly9saXN0cy5vdmlydC5vcmcvbWFpbG1hbi9saXN0aW5mby91c2VyczwvYT48bzpw PjwvbzpwPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv O21hcmdpbi1sZWZ0OjQuOHB0Ij4NCiZuYnNwOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rp dj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDowaW47bWFyZ2luLXJpZ2h0OjBpbjttYXJnaW4tYm90 dG9tOjEyLjBwdDttYXJnaW4tbGVmdDo0LjhwdCI+DQo8YnI+DQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXzxicj4NClVzZXJzIG1haWxpbmcgbGlzdDxicj4N CjxhIGhyZWY9Im1haWx0bzpVc2Vyc0BvdmlydC5vcmciPlVzZXJzQG92aXJ0Lm9yZzwvYT48YnI+ DQo8YSBocmVmPSJodHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vdXNlcnMi IHRhcmdldD0iX2JsYW5rIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8v dXNlcnM8L2E+PG86cD48L286cD48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjxwIGNsYXNz PSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9k eT4NCjwvaHRtbD4NCg== --_000_ca75d6a067c1489e8b5ba547128ff3c7CD1001M21corpads_--

Hi, yes, correct. Feel free to open issue/PR if you miss there any functionality. Thanks, Ondra On 09/21/2016 06:57 PM, Groten, Ryan wrote:
Hey guys,
Just wondering if this PR is the oVirt module you are referring to? https://github.com/ansible/ansible-modules-extras/pull/2836
If so looks like it can replace (and then some!) the module I opened a while back so I can cancel that PR.
Thanks,
Ryan
*From:*Oved Ourfali [mailto:oourfali@redhat.com] *Sent:* Thursday, July 28, 2016 12:40 AM *To:* Groten, Ryan <Ryan.Groten@stantec.com>; Juan Antonio Hernandez Fernandez <jhernand@redhat.com>; Ondra Machacek <omachace@redhat.com> *Cc:* Yaniv Kaul <ykaul@redhat.com>; users <users@ovirt.org> *Subject:* Re: [ovirt-users] Ansible oVirt storage management module
Hi
Adding some relevant folks here.
Until our module is ready I don't think there should be an issue with pushing this.
However, there might be a name collision in the future.
Juan/Ondra - thoughts?
Thanks,
Oved
On Wed, Jul 27, 2016 at 8:07 PM, Groten, Ryan <Ryan.Groten@stantec.com <mailto:Ryan.Groten@stantec.com>> wrote:
Thanks for the feedback Yaniv, I’d love to see a python module for ovirt actions. What I’ve built is simple and a bit limited to the features I needed, so if we can implement an existing library that has all the features and is proven to work then the automation tasks would be much simpler.
And of course, a supported Ansible module would be even better, it would probably get more traction towards being added as an extra or core module that way too.
If you think this would be a valuable addition to the extra modules that ship with Ansible (at least temporarily), I’d appreciate if you comment ‘shipit’ on the pull request to mark it for inclusion!
Thanks,
Ryan
*From:*Yaniv Kaul [mailto:ykaul@redhat.com <mailto:ykaul@redhat.com>] *Sent:* Sunday, July 24, 2016 4:52 AM *To:* Groten, Ryan <Ryan.Groten@stantec.com <mailto:Ryan.Groten@stantec.com>> *Cc:* users <users@ovirt.org <mailto:users@ovirt.org>> *Subject:* Re: [ovirt-users] Ansible oVirt storage management module
On Wed, Jul 20, 2016 at 12:00 AM, Groten, Ryan <Ryan.Groten@stantec.com <mailto:Ryan.Groten@stantec.com>> wrote:
Hey Ansible users,
I wrote a module for storage management and created a pull request to have it added as an Extra module in Ansible. It can be used to create/delete/attach/destroy pool disks.
https://github.com/ansible/ansible-modules-extras/pull/2509
Ryan
Hi Ryan,
This looks really interesting and surely is useful.
My only comment would be that I think we should start to think about some Python module for oVirt actions.
Otherwise, every project (this, ovirt-system-tests, others) that use the ovirt Python SDK for oVirt automation more or less re-implement the same functions.
What do you think?
Also, we are thinking about auto-generating such Ansible playbook (same way as the SDKs are generated).
It might look less 'human', but it will always be complete and up-to-date with all features.
Thanks,
Y.
_______________________________________________ Users mailing list Users@ovirt.org <mailto:Users@ovirt.org> http://lists.ovirt.org/mailman/listinfo/users
_______________________________________________ Users mailing list Users@ovirt.org <mailto:Users@ovirt.org> http://lists.ovirt.org/mailman/listinfo/users
participants (4)
-
Groten, Ryan
-
Ondra Machacek
-
Oved Ourfali
-
Yaniv Kaul