From shaohef at linux.vnet.ibm.com Thu Nov 1 05:24:04 2012 Content-Type: multipart/mixed; boundary="===============7883787588308776438==" MIME-Version: 1.0 From: Sheldon To: devel at ovirt.org Subject: Re: [Engine-devel] [help]how to get the CA certificate when uploader ISO Date: Thu, 01 Nov 2012 17:23:49 +0800 Message-ID: <50923FA5.3080903@linux.vnet.ibm.com> In-Reply-To: 50912982.5000606@redhat.com --===============7883787588308776438== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------060108080803010106080906 Content-Type: text/plain; charset=3DUTF-8; format=3Dflowed Content-Transfer-Encoding: 8bit On 10/31/2012 09:37 PM, Keith Robertson wrote: > On 10/31/2012 01:40 AM, Sheldon wrote: >> I make a domain name "ISO", Domain type is ISO, Storage Type is NFS, = >> Format is V1 >> >> $ sudo engine-iso-uploader -v --iso-domain=3DISO upload = >> Fedora-17-x86_64-DVD.iso >> [sudo] password for ovirt: >> Please provide the REST API username for oVirt Engine (CTRL+D to = >> abort): admin(a)internal >> Please provide the REST API password for the admin(a)internal oVirt = >> Engine user (CTRL+D to abort): >> ERROR: Problem connecting to the REST API. Is the service available = >> and does the CA certificate exist? >> ERROR: 'NoneType' object is not iterable >> INFO: Use the -h option to see usage. = > > Just to be clear the error in [1] is simply a symptom. It isn't the = > root cause. The root cause is quite possibly the CA certificate. > > I have created a patch in [2] that I'd appreciate if you could test as = > it will provide more debugging information about why the API creation = > is failing. Simply follow the steps in [3] > > Cheers, > Keith > > [1] ERROR: 'NoneType' object is not iterable > [2] http://gerrit.ovirt.org/8954 > [3] > Step 1: git clone http://gerrit.ovirt.org/p/ovirt-iso-uploader.git > Step 2: Cherry pick the patch... > git fetch git://gerrit.ovirt.org/ovirt-iso-uploader = > refs/changes/54/8954/2 && git cherry-pick FETCH_HEAD > Step 3: export APP_VERSION=3D3.0.0; export APP_RELEASE=3D1 > Step 4: cd ovirt-iso-uploader > Step 5: make > Step 6: Notice the ovirt-iso-uploader*.rpm location in the STDOUT > Step 7: yum install /path/to/ovirt-iso-uploader*.rpm still error. but different debug info. $ sudo engine-iso-uploader -v --iso-domain=3DISO upload = RHEL6.3-20120531.0-Server-x86_64-DVD1.iso Please provide the REST API username for oVirt Engine (CTRL+D to abort): = admin(a)internal Please provide the REST API password for the admin(a)internal oVirt Engine = user (CTRL+D to abort): DEBUG: url(https://localhost:443/api) DEBUG: user(admin(a)internal) DEBUG: ca(/etc/pki/ovirt-engine/ca.pem) DEBUG: insecure(False) ERROR: Problem connecting to the REST API. Is the service available and = does the CA certificate exist? Error: [ERROR]::oVirt API connection = failure, [Errno 111] Connection refused DEBUG: Unable to get host and path information from API. -- = Sheldon Feng(=E5=86=AF=E5=B0=91=E5=90=88) IBM Linux Technology Center --------------060108080803010106080906 Content-Type: text/html; charset=3DUTF-8 Content-Transfer-Encoding: 8bit
On 10/31/2012 09:37 PM, Keith Robertson wrote:
On 10/31/2012 01:40 AM, Sheldon wrote:
I make a domain name "ISO", Domain type is ISO, Storage Type is NFS, Format is V1

$ sudo engine-iso-uploader -v --iso-domain=3DISO upload Fedora-17-x86_64-DVD.iso
[sudo] password for ovirt:
Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin(a)internal
Please provide the REST API password for the admin(a)internal oVirt Engine user (CTRL+D to abort):
ERROR: Problem connecting to the REST API.=C2=A0 Is the service available and does the CA certificate exist?
ERROR: 'NoneType' object is not iterable
INFO: Use the -h option to see usage.

Just to be clear the error in [1] is simply a symptom.=C2=A0 It isn't the root cause.=C2=A0 The root cause is quite possibly the CA certificate.

I have created a patch in [2] that I'd appreciate if you could test as it will provide more debugging information about why the API creation is failing.=C2=A0 Simply follow the steps in [3]

Cheers,
Keith

[1] ERROR: 'NoneType' object is not iterable
[2] http://gerrit.ovirt.org/8954<= /a>
[3]
Step 1: git clone
http://ge= rrit.ovirt.org/p/ovirt-iso-uploader.git
Step 2: Cherry pick the patch...
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 git fetch git://gerrit.ovirt.org/ovirt-iso-uploader refs/changes/54/8954/2 && git cherry-pick FETCH_HEAD
Step 3: export APP_VERSION=3D3.0.0; export APP_RELEASE=3D1
Step 4: cd ovirt-iso-uploader
Step 5: make
Step 6: Notice the ovirt-iso-uploader*.rpm location in the STDOUT
Step 7: yum install /path/to/ovirt-iso-uploader*.rpm

still error. but different debug info.

$ sudo engine-iso-uploader -v --iso-domain=3DISO upload RHEL6.3-20120531.0-Server-x86_64-DVD1.iso
Please provide the REST API username for oVirt Engine (CTRL+D to abort): admin(a)internal
Please provide the REST API password for the admin(a)internal oVirt Engine user (CTRL+D to abort):
DEBUG: url(https://localhost:443/api)
DEBUG: user(admin(a)internal)
DEBUG: ca(/etc/pki/ovirt-engine/ca.pem)
DEBUG: insecure(False)
ERROR: Problem connecting to the REST API.=C2=A0 Is the service availab= le and does the CA certificate exist? Error: [ERROR]::oVirt API connection failure, [Errno 111] Connection refused
DEBUG: Unable to get host and path information from API.


-- =

Sheldon Feng(=E5=86=AF=E5=B0=91=E5=90=88)<shaohef(a)linux.vnet.ibm.=
com>
IBM Linux Technology Center
--------------060108080803010106080906-- --===============7883787588308776438== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNjAxMDgwODA4MDMwMTAxMDYwODA5MDYKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04OyBmb3JtYXQ9Zmxvd2VkCkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQK Ck9uIDEwLzMxLzIwMTIgMDk6MzcgUE0sIEtlaXRoIFJvYmVydHNvbiB3cm90ZToKPiBPbiAxMC8z MS8yMDEyIDAxOjQwIEFNLCBTaGVsZG9uIHdyb3RlOgo+PiBJIG1ha2UgYSBkb21haW4gbmFtZSAi SVNPIiwgRG9tYWluIHR5cGUgaXMgSVNPLCBTdG9yYWdlIFR5cGUgaXMgTkZTLCAKPj4gRm9ybWF0 IGlzIFYxCj4+Cj4+ICQgc3VkbyBlbmdpbmUtaXNvLXVwbG9hZGVyIC12IC0taXNvLWRvbWFpbj1J U08gdXBsb2FkIAo+PiBGZWRvcmEtMTcteDg2XzY0LURWRC5pc28KPj4gW3N1ZG9dIHBhc3N3b3Jk IGZvciBvdmlydDoKPj4gUGxlYXNlIHByb3ZpZGUgdGhlIFJFU1QgQVBJIHVzZXJuYW1lIGZvciBv VmlydCBFbmdpbmUgKENUUkwrRCB0byAKPj4gYWJvcnQpOiBhZG1pbkBpbnRlcm5hbAo+PiBQbGVh c2UgcHJvdmlkZSB0aGUgUkVTVCBBUEkgcGFzc3dvcmQgZm9yIHRoZSBhZG1pbkBpbnRlcm5hbCBv VmlydCAKPj4gRW5naW5lIHVzZXIgKENUUkwrRCB0byBhYm9ydCk6Cj4+IEVSUk9SOiBQcm9ibGVt IGNvbm5lY3RpbmcgdG8gdGhlIFJFU1QgQVBJLiAgSXMgdGhlIHNlcnZpY2UgYXZhaWxhYmxlIAo+ PiBhbmQgZG9lcyB0aGUgQ0EgY2VydGlmaWNhdGUgZXhpc3Q/Cj4+IEVSUk9SOiAnTm9uZVR5cGUn IG9iamVjdCBpcyBub3QgaXRlcmFibGUKPj4gSU5GTzogVXNlIHRoZSAtaCBvcHRpb24gdG8gc2Vl IHVzYWdlLiAKPgo+IEp1c3QgdG8gYmUgY2xlYXIgdGhlIGVycm9yIGluIFsxXSBpcyBzaW1wbHkg YSBzeW1wdG9tLiAgSXQgaXNuJ3QgdGhlIAo+IHJvb3QgY2F1c2UuICBUaGUgcm9vdCBjYXVzZSBp cyBxdWl0ZSBwb3NzaWJseSB0aGUgQ0EgY2VydGlmaWNhdGUuCj4KPiBJIGhhdmUgY3JlYXRlZCBh IHBhdGNoIGluIFsyXSB0aGF0IEknZCBhcHByZWNpYXRlIGlmIHlvdSBjb3VsZCB0ZXN0IGFzIAo+ IGl0IHdpbGwgcHJvdmlkZSBtb3JlIGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBhYm91dCB3aHkgdGhl IEFQSSBjcmVhdGlvbiAKPiBpcyBmYWlsaW5nLiAgU2ltcGx5IGZvbGxvdyB0aGUgc3RlcHMgaW4g WzNdCj4KPiBDaGVlcnMsCj4gS2VpdGgKPgo+IFsxXSBFUlJPUjogJ05vbmVUeXBlJyBvYmplY3Qg aXMgbm90IGl0ZXJhYmxlCj4gWzJdIGh0dHA6Ly9nZXJyaXQub3ZpcnQub3JnLzg5NTQKPiBbM10K PiBTdGVwIDE6IGdpdCBjbG9uZSBodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy9wL292aXJ0LWlzby11 cGxvYWRlci5naXQKPiBTdGVwIDI6IENoZXJyeSBwaWNrIHRoZSBwYXRjaC4uLgo+IGdpdCBmZXRj aCBnaXQ6Ly9nZXJyaXQub3ZpcnQub3JnL292aXJ0LWlzby11cGxvYWRlciAKPiByZWZzL2NoYW5n ZXMvNTQvODk1NC8yICYmIGdpdCBjaGVycnktcGljayBGRVRDSF9IRUFECj4gU3RlcCAzOiBleHBv cnQgQVBQX1ZFUlNJT049My4wLjA7IGV4cG9ydCBBUFBfUkVMRUFTRT0xCj4gU3RlcCA0OiBjZCBv dmlydC1pc28tdXBsb2FkZXIKPiBTdGVwIDU6IG1ha2UKPiBTdGVwIDY6IE5vdGljZSB0aGUgb3Zp cnQtaXNvLXVwbG9hZGVyKi5ycG0gbG9jYXRpb24gaW4gdGhlIFNURE9VVAo+IFN0ZXAgNzogeXVt IGluc3RhbGwgL3BhdGgvdG8vb3ZpcnQtaXNvLXVwbG9hZGVyKi5ycG0KCnN0aWxsIGVycm9yLiBi dXQgZGlmZmVyZW50IGRlYnVnIGluZm8uCgokIHN1ZG8gZW5naW5lLWlzby11cGxvYWRlciAtdiAt LWlzby1kb21haW49SVNPIHVwbG9hZCAKUkhFTDYuMy0yMDEyMDUzMS4wLVNlcnZlci14ODZfNjQt RFZEMS5pc28KUGxlYXNlIHByb3ZpZGUgdGhlIFJFU1QgQVBJIHVzZXJuYW1lIGZvciBvVmlydCBF bmdpbmUgKENUUkwrRCB0byBhYm9ydCk6IAphZG1pbkBpbnRlcm5hbApQbGVhc2UgcHJvdmlkZSB0 aGUgUkVTVCBBUEkgcGFzc3dvcmQgZm9yIHRoZSBhZG1pbkBpbnRlcm5hbCBvVmlydCBFbmdpbmUg CnVzZXIgKENUUkwrRCB0byBhYm9ydCk6CkRFQlVHOiB1cmwoaHR0cHM6Ly9sb2NhbGhvc3Q6NDQz L2FwaSkKREVCVUc6IHVzZXIoYWRtaW5AaW50ZXJuYWwpCkRFQlVHOiBjYSgvZXRjL3BraS9vdmly dC1lbmdpbmUvY2EucGVtKQpERUJVRzogaW5zZWN1cmUoRmFsc2UpCkVSUk9SOiBQcm9ibGVtIGNv bm5lY3RpbmcgdG8gdGhlIFJFU1QgQVBJLiAgSXMgdGhlIHNlcnZpY2UgYXZhaWxhYmxlIGFuZCAK ZG9lcyB0aGUgQ0EgY2VydGlmaWNhdGUgZXhpc3Q/IEVycm9yOiBbRVJST1JdOjpvVmlydCBBUEkg Y29ubmVjdGlvbiAKZmFpbHVyZSwgW0Vycm5vIDExMV0gQ29ubmVjdGlvbiByZWZ1c2VkCkRFQlVH OiBVbmFibGUgdG8gZ2V0IGhvc3QgYW5kIHBhdGggaW5mb3JtYXRpb24gZnJvbSBBUEkuCgoKLS0g ClNoZWxkb24gRmVuZyjlhq/lsJHlkIgpPHNoYW9oZWZAbGludXgudm5ldC5pYm0uY29tPgpJQk0g TGludXggVGVjaG5vbG9neSBDZW50ZXIKCgotLS0tLS0tLS0tLS0tLTA2MDEwODA4MDgwMzAxMDEw NjA4MDkwNgpDb250ZW50LVR5cGU6IHRleHQvaHRtbDsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA4Yml0Cgo8aHRtbD4KICA8aGVhZD4KICAgIDxtZXRhIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIj4KICA8 L2hlYWQ+CiAgPGJvZHkgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCI+CiAgICA8ZGl2 IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDEwLzMxLzIwMTIgMDk6MzcgUE0sIEtlaXRoIFJv YmVydHNvbgogICAgICB3cm90ZTo8YnI+CiAgICA8L2Rpdj4KICAgIDxibG9ja3F1b3RlIGNpdGU9 Im1pZDo1MDkxMjk4Mi41MDAwNjA2QHJlZGhhdC5jb20iIHR5cGU9ImNpdGUiPgogICAgICA8bWV0 YSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIGh0dHAtZXF1aXY9IkNvbnRlbnQt VHlwZSI+CiAgICAgIDxkaXYgY2xhc3M9Im1vei1jaXRlLXByZWZpeCI+T24gMTAvMzEvMjAxMiAw MTo0MCBBTSwgU2hlbGRvbgogICAgICAgIHdyb3RlOjxicj4KICAgICAgPC9kaXY+CiAgICAgIDxi bG9ja3F1b3RlIGNpdGU9Im1pZDo1MDkwQjlENy44MDUwMzAyQGxpbnV4LnZuZXQuaWJtLmNvbSIK ICAgICAgICB0eXBlPSJjaXRlIj5JIG1ha2UgYSBkb21haW4gbmFtZSAiSVNPIiwgRG9tYWluIHR5 cGUgaXMgSVNPLAogICAgICAgIFN0b3JhZ2UgVHlwZSBpcyBORlMsIEZvcm1hdCBpcyBWMSA8YnI+ CiAgICAgICAgPGJyPgogICAgICAgICQgc3VkbyBlbmdpbmUtaXNvLXVwbG9hZGVyIC12IC0taXNv LWRvbWFpbj1JU08gdXBsb2FkCiAgICAgICAgRmVkb3JhLTE3LXg4Nl82NC1EVkQuaXNvIDxicj4K ICAgICAgICBbc3Vkb10gcGFzc3dvcmQgZm9yIG92aXJ0OiA8YnI+CiAgICAgICAgUGxlYXNlIHBy b3ZpZGUgdGhlIFJFU1QgQVBJIHVzZXJuYW1lIGZvciBvVmlydCBFbmdpbmUgKENUUkwrRCB0bwog ICAgICAgIGFib3J0KTogYWRtaW5AaW50ZXJuYWwgPGJyPgogICAgICAgIFBsZWFzZSBwcm92aWRl IHRoZSBSRVNUIEFQSSBwYXNzd29yZCBmb3IgdGhlIGFkbWluQGludGVybmFsCiAgICAgICAgb1Zp cnQgRW5naW5lIHVzZXIgKENUUkwrRCB0byBhYm9ydCk6IDxicj4KICAgICAgICBFUlJPUjogUHJv YmxlbSBjb25uZWN0aW5nIHRvIHRoZSBSRVNUIEFQSS7CoCBJcyB0aGUgc2VydmljZQogICAgICAg IGF2YWlsYWJsZSBhbmQgZG9lcyB0aGUgQ0EgY2VydGlmaWNhdGUgZXhpc3Q/IDxicj4KICAgICAg ICBFUlJPUjogJ05vbmVUeXBlJyBvYmplY3QgaXMgbm90IGl0ZXJhYmxlIDxicj4KICAgICAgICBJ TkZPOiBVc2UgdGhlIC1oIG9wdGlvbiB0byBzZWUgdXNhZ2UuIDwvYmxvY2txdW90ZT4KICAgICAg PGJyPgogICAgICBKdXN0IHRvIGJlIGNsZWFyIHRoZSBlcnJvciBpbiBbMV0gaXMgc2ltcGx5IGEg c3ltcHRvbS7CoCBJdCBpc24ndAogICAgICB0aGUgcm9vdCBjYXVzZS7CoCBUaGUgcm9vdCBjYXVz ZSBpcyBxdWl0ZSBwb3NzaWJseSB0aGUgQ0EKICAgICAgY2VydGlmaWNhdGUuPGJyPgogICAgICA8 YnI+CiAgICAgIEkgaGF2ZSBjcmVhdGVkIGEgcGF0Y2ggaW4gWzJdIHRoYXQgSSdkIGFwcHJlY2lh dGUgaWYgeW91IGNvdWxkCiAgICAgIHRlc3QgYXMgaXQgd2lsbCBwcm92aWRlIG1vcmUgZGVidWdn aW5nIGluZm9ybWF0aW9uIGFib3V0IHdoeSB0aGUKICAgICAgQVBJIGNyZWF0aW9uIGlzIGZhaWxp bmcuwqAgU2ltcGx5IGZvbGxvdyB0aGUgc3RlcHMgaW4gWzNdPGJyPgogICAgICA8YnI+CiAgICAg IENoZWVycyw8YnI+CiAgICAgIEtlaXRoPGJyPgogICAgICA8YnI+CiAgICAgIFsxXSBFUlJPUjog J05vbmVUeXBlJyBvYmplY3QgaXMgbm90IGl0ZXJhYmxlPGJyPgogICAgICBbMl0gPGEgbW96LWRv LW5vdC1zZW5kPSJ0cnVlIiBjbGFzcz0ibW96LXR4dC1saW5rLWZyZWV0ZXh0IgogICAgICAgIGhy ZWY9Imh0dHA6Ly9nZXJyaXQub3ZpcnQub3JnLzg5NTQiPmh0dHA6Ly9nZXJyaXQub3ZpcnQub3Jn Lzg5NTQ8L2E+PGJyPgogICAgICBbM10gPGJyPgogICAgICBTdGVwIDE6IGdpdCBjbG9uZSA8YSBt b3otZG8tbm90LXNlbmQ9InRydWUiCiAgICAgICAgY2xhc3M9Im1vei10eHQtbGluay1mcmVldGV4 dCIKICAgICAgICBocmVmPSJodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy9wL292aXJ0LWlzby11cGxv YWRlci5naXQiPmh0dHA6Ly9nZXJyaXQub3ZpcnQub3JnL3Avb3ZpcnQtaXNvLXVwbG9hZGVyLmdp dDwvYT4KICAgICAgPGJyPgogICAgICBTdGVwIDI6IENoZXJyeSBwaWNrIHRoZSBwYXRjaC4uLjxi cj4KICAgICAgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCA8c3BhbiBjbGFzcz0iR0pFQTM1T0ROUyI+ PGVtYmVkCiAgICAgICAgICBtb3otZG8tbm90LXNlbmQ9InRydWUiIHdtb2RlPSJ0cmFuc3BhcmVu dCIKICAgICAgICAgIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIgogICAgICAg ICAgc3JjPSJodHRwOi8vZ2Vycml0Lm92aXJ0Lm9yZy9nZXJyaXQvZ3d0ZXhwdWlfY2xpcHB5MS5j YWNoZS5zd2YiCmZsYXNodmFycz0idGV4dD1naXQrZmV0Y2grZ2l0JTNBJTJGJTJGZ2Vycml0Lm92 aXJ0Lm9yZyUyRm92aXJ0LWlzby11cGxvYWRlcityZWZzJTJGY2hhbmdlcyUyRjU0JTJGODk1NCUy RjIrJTI2JTI2K2dpdCtjaGVycnktcGljaytGRVRDSF9IRUFEIgogICAgICAgICAgaGVpZ2h0PSIx NCIgd2lkdGg9IjExMCI+PC9zcGFuPmdpdCBmZXRjaAogICAgICBnaXQ6Ly9nZXJyaXQub3ZpcnQu b3JnL292aXJ0LWlzby11cGxvYWRlciByZWZzL2NoYW5nZXMvNTQvODk1NC8yCiAgICAgICZhbXA7 JmFtcDsgZ2l0IGNoZXJyeS1waWNrIEZFVENIX0hFQUQ8YnI+CiAgICAgIFN0ZXAgMzogZXhwb3J0 IEFQUF9WRVJTSU9OPTMuMC4wOyBleHBvcnQgQVBQX1JFTEVBU0U9MSA8YnI+CiAgICAgIFN0ZXAg NDogY2Qgb3ZpcnQtaXNvLXVwbG9hZGVyIDxicj4KICAgICAgU3RlcCA1OiBtYWtlIDxicj4KICAg ICAgU3RlcCA2OiBOb3RpY2UgdGhlIG92aXJ0LWlzby11cGxvYWRlcioucnBtIGxvY2F0aW9uIGlu IHRoZSBTVERPVVQKICAgICAgPGJyPgogICAgICBTdGVwIDc6IHl1bSBpbnN0YWxsIC9wYXRoL3Rv L292aXJ0LWlzby11cGxvYWRlcioucnBtIDxicj4KICAgIDwvYmxvY2txdW90ZT4KICAgIDxicj4K ICAgIHN0aWxsIGVycm9yLiBidXQgZGlmZmVyZW50IGRlYnVnIGluZm8uPGJyPgogICAgPGJyPgog ICAgJCBzdWRvIGVuZ2luZS1pc28tdXBsb2FkZXIgLXYgLS1pc28tZG9tYWluPUlTTyB1cGxvYWQK ICAgIFJIRUw2LjMtMjAxMjA1MzEuMC1TZXJ2ZXIteDg2XzY0LURWRDEuaXNvIDxicj4KICAgIFBs ZWFzZSBwcm92aWRlIHRoZSBSRVNUIEFQSSB1c2VybmFtZSBmb3Igb1ZpcnQgRW5naW5lIChDVFJM K0QgdG8KICAgIGFib3J0KTogYWRtaW5AaW50ZXJuYWw8YnI+CiAgICBQbGVhc2UgcHJvdmlkZSB0 aGUgUkVTVCBBUEkgcGFzc3dvcmQgZm9yIHRoZSBhZG1pbkBpbnRlcm5hbCBvVmlydAogICAgRW5n aW5lIHVzZXIgKENUUkwrRCB0byBhYm9ydCk6IDxicj4KICAgIERFQlVHOiB1cmwoPGEgY2xhc3M9 Im1vei10eHQtbGluay1mcmVldGV4dCIgaHJlZj0iaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzL2FwaSI+ aHR0cHM6Ly9sb2NhbGhvc3Q6NDQzL2FwaTwvYT4pPGJyPgogICAgREVCVUc6IHVzZXIoYWRtaW5A aW50ZXJuYWwpPGJyPgogICAgREVCVUc6IGNhKC9ldGMvcGtpL292aXJ0LWVuZ2luZS9jYS5wZW0p PGJyPgogICAgREVCVUc6IGluc2VjdXJlKEZhbHNlKTxicj4KICAgIEVSUk9SOiBQcm9ibGVtIGNv bm5lY3RpbmcgdG8gdGhlIFJFU1QgQVBJLsKgIElzIHRoZSBzZXJ2aWNlIGF2YWlsYWJsZQogICAg YW5kIGRvZXMgdGhlIENBIGNlcnRpZmljYXRlIGV4aXN0PyBFcnJvcjogW0VSUk9SXTo6b1ZpcnQg QVBJCiAgICBjb25uZWN0aW9uIGZhaWx1cmUsIFtFcnJubyAxMTFdIENvbm5lY3Rpb24gcmVmdXNl ZDxicj4KICAgIERFQlVHOiBVbmFibGUgdG8gZ2V0IGhvc3QgYW5kIHBhdGggaW5mb3JtYXRpb24g ZnJvbSBBUEkuPGJyPgogICAgPGJyPgogICAgPGJyPgogICAgPHByZSBjbGFzcz0ibW96LXNpZ25h dHVyZSIgY29scz0iNzIiPi0tIApTaGVsZG9uIEZlbmco5Yav5bCR5ZCIKTxhIGNsYXNzPSJtb3ot dHh0LWxpbmstcmZjMjM5NkUiIGhyZWY9Im1haWx0bzpzaGFvaGVmQGxpbnV4LnZuZXQuaWJtLmNv bSI+Jmx0O3NoYW9oZWZAbGludXgudm5ldC5pYm0uY29tJmd0OzwvYT4KSUJNIExpbnV4IFRlY2hu b2xvZ3kgQ2VudGVyPC9wcmU+CiAgPC9ib2R5Pgo8L2h0bWw+CgotLS0tLS0tLS0tLS0tLTA2MDEw ODA4MDgwMzAxMDEwNjA4MDkwNi0tCgo= --===============7883787588308776438==--