{"push_id":2639194032,"size":7,"distinct_size":7,"ref":"refs/heads/master","head":"f257c6f96edf3a45299141e16286776a6230e0b9","before":"64378e625e544391c28507481ca47d77f66a6077","commits":[{"sha":"50740393258cf45ed05ec5dc3f1b03ab2177435d","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"server: Rename services\n\nWe serve /images/ over HTTPS on all interfaces, and /tickets/ locally\nover unix domain socket. /images can be accessed by anyone, using\ntransfer ticket to authorize the request. /tickets can be accessed only\nlocally, but only by the program controlling the imageio daemon.\n\nWe want to service /images locally over a unix socket, so any\napplication running on a host can avoid SSL overhead.\n\nRename ImagesService to RemoteService, and TicketsService to\nControlService, to reflect the purpose of these services, instead of the\ncurrent way we use them. This makes room for a future service for\naccessing images locally.\n\nChange-Id: I8863e02de0295da51a93dba51dd3dcf8cfa1afcd\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/50740393258cf45ed05ec5dc3f1b03ab2177435d"},{"sha":"75a5ce4b7a58f4c174c709a0e4dfff4a0fc55dcf","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"http: Add socket argument to http.unix_request\n\nWe will have soon two unix sockets; one for control, and one for local\nimages access, so we need to specify the socket.\n\nChange-Id: I8ca0ba73a92f0d259baf1d93b4fad4c552fad650\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/75a5ce4b7a58f4c174c709a0e4dfff4a0fc55dcf"},{"sha":"548ec2a34e1107ba650e1d29cf5d8de609ff57be","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"server: Add port and address properties\n\nAll services share port and address properties, used to locate the\nserver during tests, when using random port or socket.\n\nChange-Id: If58326b1aed01edae2263c5bb97df33cfa258928\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/548ec2a34e1107ba650e1d29cf5d8de609ff57be"},{"sha":"654ec098d3d9ebb9697c856af2188c16eed1920a","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"uhttp: Support abstract sockets\n\nAbstract socket are not bound to filesystem pathname, and do not use\npermissions or ownership. We like to use an abstract socket for\naccessing images locally.\n\nSkip unlinking of abstract socket (starting with \"\\0\"), since there is\nnoting on the filesystem to remove, and os.unlink() does not like\npathname with embedded nulls.\n\nUsing empty socket address will bind the server to random abstract\nsocket picked by the kernel. This is useful for testing on a host with a\nrunning daemon.\n\nChange-Id: Idbe4d6ef7eb8cb8c5864bc8682c4fa2a1e011161\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/654ec098d3d9ebb9697c856af2188c16eed1920a"},{"sha":"67eda2ac1d99c9fe5dc9baebb94ff70562a71a03","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"daemon: Serve /images/ locally\n\nTesting upload shows that reading from SSL socket is our bottleneck with\nfast storage. Using HTTP over unix socket, we can eliminate this\noverhead when the upload program is running locally.\n\nAdd LocalService, listening on an abstract unix socket\n(\"\\0/org/ovirt/imageio\") and serving /images resource.\n\nHere is an example upload using HTTPS:\n\n    Client:\n    $ ./upload_disk.py --direct /dev/shm/10G.raw\n    Uploaded 10.00g in 37.38 seconds (273.95m/s)\n\n    Server operation stats:\n    <Clock(total=37.38, read=20.67, write=14.48, sync=0.00)>\n\n    Server CPU usage: 57%\n\nSame upload using unix socket:\n\n    Client:\n    $ ./upload_disk_unix.py --direct /dev/shm/10GB.raw\n    Uploaded 10.00g in 21.18 seconds (483.42m/s)\n\n    Server operation stats:\n    <Clock(total=21.18, read=4.99, write=14.69, sync=0.00)>\n\n    Server CPU usage: 35%\n\nWe can see that reading from socket is about 4X times faster, and CPU\nusage is about half.\n\nChange-Id: Ib8bdbf34a2779f37f0a0390c110edb3270b7a614\nBug-Url: https://bugzilla.redhat.com/1585675\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/67eda2ac1d99c9fe5dc9baebb94ff70562a71a03"},{"sha":"7e9198a30269961ba133ecd3bacd19b52a82f4d1","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"images: Report unix socket address in OPTIONS\n\nAn application running on the host preforming a transfer can get the\nunix socket address using OPTIONS request. If the \"unix_socket\" key\nexists in the response, the application should use the unix socket to\ntransfer data for improved throughput and lower CPU usage.\n\nHere is an example request:\n\n    OPTIONS /images/ticket-uuid\n    ...\n    {\n        \"features\": [\"zero\", \"flush\"],\n        \"unix_socket\": \"\\0/org/ovirt/imageio\"\n    }\n\nChange-Id: I0e448d89ddfe535b2c15937f9243fc687f269a6d\nBug-Url: https://bugzilla.redhat.com/1585675\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/7e9198a30269961ba133ecd3bacd19b52a82f4d1"},{"sha":"f257c6f96edf3a45299141e16286776a6230e0b9","author":{"name":"Nir Soffer","email":"60258c486a9660a474d408e6013543d2add80a76@redhat.com"},"message":"examples: Use unix socket if possible\n\nUpdate the upload example to detect the availability of unix socket and\nhow to use it.\n\nChange-Id: I32d0c7a66653f2a20a0a6aead5e87f5a8ad534c8\nBug-Url: https://bugzilla.redhat.com/1585675\nSigned-off-by: Nir Soffer <nsoffer@redhat.com>","distinct":true,"url":"https://api.github.com/repos/oVirt/ovirt-imageio/commits/f257c6f96edf3a45299141e16286776a6230e0b9"}]}
{"actor":{"display_login":"gerrit-ovirt-org"}}