*** diogogmt has quit IRC | 00:02 | |
*** diogogmt has joined #openstack-swift | 00:03 | |
*** diogogmt has quit IRC | 00:16 | |
*** diogogmt has joined #openstack-swift | 00:21 | |
*** niknakpaddywak has joined #openstack-swift | 00:26 | |
clayg | notmyname: well crap; or awesome - depending on if you're on timburke's side or torgomatic's | 00:32 |
---|---|---|
clayg | i forget who was on what side | 00:32 |
zaitcev | notmyname: Not sure when it was, but it goes down at 00:00 UTC for a few minutes every day. | 00:33 |
*** tqtran has quit IRC | 00:34 | |
*** lyrrad has quit IRC | 00:39 | |
*** Suyash has quit IRC | 00:41 | |
*** zul has joined #openstack-swift | 00:45 | |
*** asettle has joined #openstack-swift | 00:45 | |
notmyname | clayg: line 167 in crypto_utils.py (https://review.openstack.org/#/c/328208/11/swift/common/middleware/crypto_utils.py) | 00:45 |
patchbot | notmyname: patch 328208 - swift (feature/crypto-review) - Enable object body and metadata encryption | 00:45 |
*** asettle has quit IRC | 00:50 | |
kota_ | good morning. | 01:06 |
mattoliverau | kota_: morning | 01:13 |
kota_ | mattolivearu: o/ | 01:14 |
*** Suyash has joined #openstack-swift | 01:14 | |
kota_ | mattoliverau: now I'm tracking last night's talk and etherpad, https://etherpad.openstack.org/p/swift_encryption_meta_headers | 01:14 |
*** Jeffrey4l has joined #openstack-swift | 01:15 | |
mattoliverau | kota_: yeah, i just did the same :) | 01:17 |
*** mwheckmann has joined #openstack-swift | 01:17 | |
*** arch-nemesis has quit IRC | 01:18 | |
*** openstack has joined #openstack-swift | 01:24 | |
*** ukaynar has joined #openstack-swift | 01:26 | |
*** raildo is now known as raildo-afk | 01:27 | |
*** raildo-afk is now known as raildo | 01:27 | |
*** ouchkernel has joined #openstack-swift | 01:28 | |
*** tqtran has joined #openstack-swift | 01:31 | |
*** hosanai has joined #openstack-swift | 01:32 | |
*** ChanServ sets mode: +v hosanai | 01:32 | |
*** tqtran has quit IRC | 01:36 | |
*** ManojK has quit IRC | 01:43 | |
*** mwheckmann has quit IRC | 01:54 | |
*** circ-user-iTmQ4 has joined #openstack-swift | 01:57 | |
*** circ-user-iTmQ4 has left #openstack-swift | 01:58 | |
*** rminmin has joined #openstack-swift | 01:59 | |
*** mwheckmann has joined #openstack-swift | 01:59 | |
*** okdas has quit IRC | 02:22 | |
*** okdas has joined #openstack-swift | 02:24 | |
*** okdas has joined #openstack-swift | 02:24 | |
*** ouchkernel has quit IRC | 02:24 | |
*** ukaynar has quit IRC | 02:25 | |
*** ouchkernel has joined #openstack-swift | 02:31 | |
*** ouchkernel has quit IRC | 02:36 | |
*** ouchkernel has joined #openstack-swift | 02:42 | |
*** sheel has joined #openstack-swift | 02:48 | |
clayg | briancline: did you put unicode device names in your ring again? lp bug #1580678 | 02:48 |
openstack | Launchpad bug 1580678 in OpenStack Object Storage (swift) "UnicodeDecodeError when rebalancing a ring" [Undecided,In progress] https://launchpad.net/bugs/1580678 - Assigned to Christian Schwede (cschwede) | 02:48 |
*** ouchkernel has quit IRC | 02:50 | |
briancline | clayg: lol | 02:52 |
briancline | i wish that was why, would be a much quicker fix | 02:52 |
*** ouchkernel has joined #openstack-swift | 02:56 | |
briancline | I'm about to try cschwede's patch 323950 in our real-ish staging env to see how things go | 02:57 |
patchbot | briancline: https://review.openstack.org/#/c/323950/ - swift - Refactor locale tests and fix unicode issue | 02:57 |
*** gyee has quit IRC | 03:02 | |
clayg | briancline: tests seem reasonable ;) | 03:06 |
*** jamielennox is now known as jamielennox|away | 03:07 | |
*** jamielennox|away is now known as jamielennox | 03:07 | |
briancline | i certainly can't blame it for failing :P | 03:12 |
*** rminmin has quit IRC | 03:13 | |
*** tqtran has joined #openstack-swift | 03:32 | |
*** mwheckmann has quit IRC | 03:33 | |
*** tqtran has quit IRC | 03:36 | |
*** chsc has joined #openstack-swift | 03:43 | |
*** chsc has joined #openstack-swift | 03:43 | |
*** chsc has quit IRC | 03:53 | |
openstackgerrit | YaoZheng proposed openstack/swift: make print python3 compatible https://review.openstack.org/333801 | 03:59 |
*** ppai has joined #openstack-swift | 04:10 | |
*** links has joined #openstack-swift | 04:22 | |
*** SkyRocknRoll has joined #openstack-swift | 04:41 | |
briancline | hmm... no go.. and no luck with an en_US.UTF-8 locale either | 04:46 |
briancline | maybe a different bug that just looks the same? | 04:46 |
briancline | still fails even when i make _gettext return the msg that was passed in | 04:48 |
briancline | *gettext_ | 04:48 |
openstackgerrit | OpenStack Proposal Bot proposed openstack/swift: Updated from global requirements https://review.openstack.org/88736 | 04:48 |
*** SkyRocknRoll has quit IRC | 04:52 | |
*** rcernin has joined #openstack-swift | 04:53 | |
*** pcaruana has quit IRC | 04:58 | |
*** ChubYann has quit IRC | 04:59 | |
*** flwang1 has quit IRC | 05:00 | |
*** ppai has quit IRC | 05:04 | |
timburke | kota_: mattoliverau: does it make sense? i think i like this idea... | 05:14 |
*** zaitcev has quit IRC | 05:17 | |
openstackgerrit | YaoZheng proposed openstack/swift: make print python3 compatible https://review.openstack.org/333801 | 05:17 |
*** SkyRocknRoll has joined #openstack-swift | 05:18 | |
*** baojg has joined #openstack-swift | 05:29 | |
*** rcernin has quit IRC | 05:33 | |
mattoliverau | timburke: yeah, I like it. I especially like the joining of crypto meta with the encrypted data so its atomic. | 05:40 |
timburke | yeah, that's the big win i saw, too. if we ever try to tackle updateable object metadata, we'll definitely want those combined | 05:41 |
timburke | the fact that we can kick the constraints-handling can down the road a ways is just icing :-) | 05:42 |
*** psachin has joined #openstack-swift | 05:45 | |
*** McMurlock1 has joined #openstack-swift | 05:45 | |
mattoliverau | timburke: yeah, our future selves can deal with that latter and potential fallout, in the mean time we are adding a new meta namespace, so lets use it :) | 05:45 |
timburke | fwiw, clayg seemed to have some good idea about how to deal with it (since we'll need to deal with it for account/container user-meta encryption) -- basically, send down a header with additional prefixes that should be considered when checking user-meta counts | 05:48 |
*** McMurlock1 has quit IRC | 05:49 | |
mattoliverau | yeah ok, that way it's the middleware responsiblilty. So long as other middlewares append to the list if they have anything else to add. | 05:55 |
mattoliverau | which sounds like another internal API... we could almost use the env rather then an actual header then, but it's probably same same really. | 05:56 |
*** baojg has quit IRC | 05:58 | |
psachin | ping clayg, Regarding https://review.openstack.org/#/c/334238/ | 06:02 |
patchbot | psachin: patch 334238 - swift - Fix swift-get-nodes arg parsing for missing ring | 06:02 |
*** baojg has joined #openstack-swift | 06:02 | |
*** rcernin has joined #openstack-swift | 06:05 | |
*** ppai has joined #openstack-swift | 06:05 | |
*** arcimboldo has joined #openstack-swift | 06:10 | |
*** pcaruana has joined #openstack-swift | 06:16 | |
*** rminmin has joined #openstack-swift | 06:18 | |
*** pcaruana is now known as pcaruana|afk| | 06:19 | |
*** rminmin has quit IRC | 06:20 | |
*** rfeusi has quit IRC | 06:42 | |
*** Suyash has quit IRC | 06:44 | |
*** pcaruana|afk| is now known as pcaruana | 06:49 | |
*** hseipp has joined #openstack-swift | 06:52 | |
kota_ | timburke: I'm now taking a look to patch 335209, it loosk good to me so far. i think the change to B is a good idea for now. | 06:53 |
patchbot | kota_: https://review.openstack.org/#/c/335209/ - swift (feature/crypto-review) - Switch to transient sysmeta for stashing encrypted... | 06:53 |
*** ChanServ sets mode: +v cschwede | 06:59 | |
*** baojg has quit IRC | 07:01 | |
*** kei_yama has quit IRC | 07:04 | |
*** mmcardle has joined #openstack-swift | 07:04 | |
*** kei_yama has joined #openstack-swift | 07:04 | |
*** baojg has joined #openstack-swift | 07:06 | |
*** tesseract- has joined #openstack-swift | 07:09 | |
*** hseipp has quit IRC | 07:13 | |
*** klrmn has quit IRC | 07:15 | |
*** rledisez has joined #openstack-swift | 07:23 | |
*** geaaru has joined #openstack-swift | 07:25 | |
*** flwang1 has joined #openstack-swift | 07:26 | |
*** arcimboldo has quit IRC | 07:30 | |
*** jhyang has joined #openstack-swift | 07:30 | |
openstackgerrit | Victor Stinner proposed openstack/swift: Update dnspython to 1.14 https://review.openstack.org/335347 | 07:31 |
*** jhyang is now known as derekjhyang | 07:32 | |
*** hseipp has joined #openstack-swift | 07:33 | |
*** hseipp has quit IRC | 07:38 | |
*** hseipp has joined #openstack-swift | 07:42 | |
*** arcimboldo has joined #openstack-swift | 07:43 | |
openstackgerrit | YaoZheng proposed openstack/swift: make print python3 compatible https://review.openstack.org/333801 | 07:44 |
*** kei_yama_ has joined #openstack-swift | 07:45 | |
*** kei_yama has quit IRC | 07:45 | |
*** arcimboldo has quit IRC | 07:48 | |
*** kei_yama_ has quit IRC | 07:56 | |
*** tqtran has joined #openstack-swift | 08:00 | |
*** mvk has joined #openstack-swift | 08:02 | |
*** tqtran has quit IRC | 08:05 | |
*** wanghua has joined #openstack-swift | 08:29 | |
*** arcimboldo has joined #openstack-swift | 08:33 | |
openstackgerrit | Brian Cline proposed openstack/swift: Prevent down nodes failing PUTs on utf8 obj names https://review.openstack.org/335373 | 08:34 |
*** baojg has quit IRC | 08:36 | |
*** flwang1 has quit IRC | 08:39 | |
*** dmk0202 has joined #openstack-swift | 08:39 | |
*** baojg has joined #openstack-swift | 08:39 | |
*** acoles_ is now known as acoles | 08:43 | |
acoles | good morning | 08:45 |
*** asettle has joined #openstack-swift | 08:46 | |
acoles | ok looks like we have consensus on patch 335209, so I will be merging that into patch 328208 today, and then bringing the doc up to date with recent changes in header names | 08:47 |
patchbot | acoles: https://review.openstack.org/#/c/335209/ - swift (feature/crypto-review) - Switch to transient sysmeta for stashing encrypted... | 08:47 |
patchbot | acoles: https://review.openstack.org/#/c/328208/ - swift (feature/crypto-review) - Enable object body and metadata encryption | 08:47 |
*** chlong has quit IRC | 09:04 | |
*** chlong has joined #openstack-swift | 09:17 | |
*** flwang1 has joined #openstack-swift | 09:26 | |
*** baojg has quit IRC | 09:34 | |
*** mvk has quit IRC | 09:35 | |
*** mvk has joined #openstack-swift | 09:36 | |
*** baojg has joined #openstack-swift | 10:24 | |
*** baojg has quit IRC | 10:29 | |
*** hosanai has quit IRC | 10:41 | |
*** sanchitmalhotra has quit IRC | 11:05 | |
*** sanchitmalhotra has joined #openstack-swift | 11:05 | |
*** asettle has quit IRC | 11:26 | |
*** ppai has quit IRC | 11:28 | |
*** asettle has joined #openstack-swift | 11:29 | |
*** McMurlock1 has joined #openstack-swift | 11:40 | |
*** ppai has joined #openstack-swift | 11:41 | |
*** manous has joined #openstack-swift | 11:41 | |
*** fifieldt has quit IRC | 11:47 | |
*** manous has quit IRC | 11:56 | |
*** fifieldt has joined #openstack-swift | 12:02 | |
*** tqtran has joined #openstack-swift | 12:02 | |
*** tqtran has quit IRC | 12:06 | |
*** manous has joined #openstack-swift | 12:09 | |
*** ppai has quit IRC | 12:16 | |
*** diogogmt has quit IRC | 12:38 | |
*** manous has quit IRC | 12:43 | |
*** ManojK has joined #openstack-swift | 12:45 | |
*** urth has quit IRC | 12:47 | |
*** urth has joined #openstack-swift | 12:49 | |
*** takashi has joined #openstack-swift | 12:52 | |
*** diogogmt has joined #openstack-swift | 12:52 | |
*** ManojK has quit IRC | 12:55 | |
*** manous has joined #openstack-swift | 12:57 | |
*** SkyRocknRoll has quit IRC | 13:07 | |
*** SkyRocknRoll has joined #openstack-swift | 13:08 | |
*** ManojK has joined #openstack-swift | 13:10 | |
*** diogogmt has quit IRC | 13:32 | |
*** links has quit IRC | 13:36 | |
*** ManojK has quit IRC | 13:38 | |
*** ManojK has joined #openstack-swift | 13:40 | |
openstackgerrit | Alistair Coles proposed openstack/swift: Switch to transient sysmeta for stashing encrypted user metadata https://review.openstack.org/335209 | 13:40 |
*** thumpba has joined #openstack-swift | 13:50 | |
*** thumpba has quit IRC | 13:51 | |
*** thumpba has joined #openstack-swift | 13:51 | |
*** arcimboldo has quit IRC | 13:53 | |
jrichli | acoles: i am still nervous about not saving the key id anywhere. it just seems like that means crypto+tiering would then be hopeless. | 13:55 |
jrichli | acoles: but i want to hear more about your view. maybe i am just not understanding something | 13:56 |
*** ametts has joined #openstack-swift | 13:56 | |
*** arcimboldo has joined #openstack-swift | 13:58 | |
acoles | jrichli: at this point I am ok with leaving it there, because we can always remove it later if it is deemed unnecessary, and worst case some objects and container dbs have unnecessary metadata | 13:58 |
acoles | jrichli: but for the record, my doubt is based on it not helping fix conditional requests for relocated objects, and it being a relatively large amount of extra metadata. | 14:00 |
acoles | jrichli: it is still there on gerrit! I will not act unilaterally on it, so it will stay there unless others vote it down. | 14:01 |
jrichli | acoles: I do understand we dont have a fix for conditional requests in that regard. but again, I am holding out hope that we might someday find a solution. and i think having this piece would increase those chances. | 14:02 |
acoles | jrichli: having a test with max length object path (or modifying a test) might be sensible, perhaps in test_encrypter_decrypter.py? | 14:02 |
*** chsc has joined #openstack-swift | 14:03 | |
*** chsc has joined #openstack-swift | 14:03 | |
jrichli | acoles: ok, I can take a look | 14:04 |
acoles | jrichli: thanks. just modifying a path should be sufficient | 14:05 |
*** asettle has quit IRC | 14:05 | |
admin6 | Hello everyone. I have these error message in my object-server.log started from 3 hours ago. (I’m running swift v2.7, and theses disks are in an erasure coded ring) | 14:06 |
admin6 | Jun 29 12:15:27 STACO2 object-server: Problem writing durable state file /srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable ([Errno 2] No such file or directory: '/srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable'): #012Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/obj/diskfile.py", line | 14:07 |
admin6 | 2517, in _finalize_durable#012 with open(durable_file_path, 'w') as _fp:#012IOError: [Errno 2] No such file or directory: '/srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable' | 14:07 |
admin6 | Jun 29 12:15:27 STACO2 object-server: ERROR __call__ error with PUT /s02z2ecd03/237162/AUTH_Joomeo/20160602_O0/53848/11959730/original.JPG : #012Traceback (most recent call last):#012 File "/usr/lib/python2.7/dist-packages/swift/obj/server.py", line 1032, in __call__#012 res = method(req)#012 File "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 1412, in _timing_stats#012 resp = func(ctrl, *args, | 14:07 |
admin6 | **kwargs)#012 File "/usr/lib/python2.7/dist-packages/swift/obj/server.py", line 764, in PUT#012 writer.commit(request.timestamp)#012 File "/usr/lib/python2.7/dist-packages/swift/obj/diskfile.py", line 2555, in commit#012 self._finalize_durable, durable_file_path)#012 File "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 3342, in force_run_in_thread#012 return self._run_in_eventlet_tpool(func, *arg | 14:07 |
admin6 | **kwargs)#012 File "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 3322, in _run_in_eventlet_tpool#012 raise result#012DiskFileError: Problem writing durable state file /srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable ([Errno 2] No such file or directory: '/srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable | 14:07 |
admin6 | It happened around 10 times during the last 3 hours on different ACO servers and different disks. However, the directory and files exists | 14:08 |
admin6 | root@STACO2:~# ls -al /srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690* | 14:08 |
admin6 | -rw------- 1 swift swift 389196 Jun 29 12:15 /srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522#7.data | 14:08 |
admin6 | -rw-r--r-- 1 swift swift 0 Jun 29 12:15 /srv/node/s02z2ecd03/objects-1/237162/8d4/e79a86e8d6263576adb7ec7aa9ff08d4/1466543690.44522.durable | 14:08 |
admin6 | And I have this log from another ACO server at the same time : | 14:12 |
admin6 | Jun 29 12:15:27 STACO4 object-reconstructor: 10.10.2.52:6000/s02z2ecd03/237162 Unexpected response: ":ERROR: 500 'ERROR: With :UPDATES: 1 failures to 14 successes'" | 14:12 |
*** _JZ_ has joined #openstack-swift | 14:17 | |
*** arcimboldo has quit IRC | 14:17 | |
*** klamath has joined #openstack-swift | 14:19 | |
*** mwheckmann has joined #openstack-swift | 14:21 | |
*** takashi has quit IRC | 14:31 | |
*** arcimboldo has joined #openstack-swift | 14:34 | |
*** psachin has quit IRC | 14:40 | |
*** arch-nemesis has joined #openstack-swift | 14:51 | |
acoles | admin6: could you log that as a bug on launchpad? (or I can if thats not convenient for you). looks like it could be a race when reconstructing an object that another process has removed (presumably because it got moved or deleted). But it doesn't immediately strike me as being the same as https://bugs.launchpad.net/swift/+bug/1554378. | 14:54 |
openstack | Launchpad bug 1554378 in OpenStack Object Storage (swift) "EC: Durable frag_set is reclaimable in racing condition" [Undecided,In progress] - Assigned to Kota Tsuyuzaki (tsuyuzaki-kota) | 14:54 |
admin6 | acoles: I’ll do that, yes | 14:54 |
acoles | admin6: thank you. sorry, I don't have an immediate answer as to what the cause is. | 14:55 |
*** ukaynar has joined #openstack-swift | 14:55 | |
admin6 | acoles: no problem. | 14:56 |
*** ukaynar has quit IRC | 15:00 | |
*** ukaynar has joined #openstack-swift | 15:00 | |
*** thumpba has quit IRC | 15:04 | |
*** tesseract- has quit IRC | 15:12 | |
*** cdelatte has joined #openstack-swift | 15:13 | |
*** rcernin has quit IRC | 15:14 | |
*** sheel has quit IRC | 15:15 | |
*** catintheroof has joined #openstack-swift | 15:16 | |
*** pcaruana has quit IRC | 15:17 | |
*** chsc has quit IRC | 15:19 | |
*** klrmn has joined #openstack-swift | 15:26 | |
*** hseipp has quit IRC | 15:27 | |
*** asettle has joined #openstack-swift | 15:29 | |
*** rcernin has joined #openstack-swift | 15:30 | |
*** pcaruana has joined #openstack-swift | 15:32 | |
*** ManojK has quit IRC | 15:38 | |
*** ManojK has joined #openstack-swift | 15:40 | |
*** thumpba has joined #openstack-swift | 15:41 | |
*** Suyash has joined #openstack-swift | 15:42 | |
*** jmccarthy has quit IRC | 15:44 | |
*** jmccarthy has joined #openstack-swift | 15:45 | |
*** rledisez has quit IRC | 15:46 | |
*** ukaynar has quit IRC | 15:47 | |
*** sheel has joined #openstack-swift | 15:49 | |
*** ukaynar has joined #openstack-swift | 15:51 | |
*** baojg has joined #openstack-swift | 15:53 | |
*** baojg has quit IRC | 15:54 | |
*** diogogmt has joined #openstack-swift | 15:55 | |
*** hseipp has joined #openstack-swift | 15:57 | |
*** ukaynar has quit IRC | 15:57 | |
*** ukaynar_ has joined #openstack-swift | 15:57 | |
*** cdelatte has quit IRC | 15:57 | |
*** ukaynar_ has quit IRC | 15:58 | |
*** cdelatte has joined #openstack-swift | 15:59 | |
*** ukaynar has joined #openstack-swift | 16:03 | |
*** tqtran has joined #openstack-swift | 16:03 | |
*** lyrrad has joined #openstack-swift | 16:06 | |
notmyname | good morning | 16:08 |
*** tqtran has quit IRC | 16:08 | |
*** Suyash has quit IRC | 16:13 | |
*** HenryG has quit IRC | 16:16 | |
*** HenryG has joined #openstack-swift | 16:16 | |
*** geaaru has quit IRC | 16:18 | |
*** raildo is now known as raildo-afk | 16:23 | |
notmyname | emails read, IRC buffers read, calendar checked. time ti dive back into crypto reviews :-) | 16:24 |
*** cdelatte has quit IRC | 16:25 | |
*** klrmn has quit IRC | 16:26 | |
*** raildo-afk is now known as raildo | 16:26 | |
*** arcimboldo has quit IRC | 16:28 | |
*** geaaru has joined #openstack-swift | 16:30 | |
*** Suyash has joined #openstack-swift | 16:31 | |
*** dmk0202 has quit IRC | 16:31 | |
*** asettle has quit IRC | 16:33 | |
*** pcaruana has quit IRC | 16:36 | |
notmyname | acoles: what's the plan with patch 328207? are we keeping it now that the user metadata is moving to transient sysmeta? | 16:38 |
patchbot | notmyname: https://review.openstack.org/#/c/328207/ - swift (feature/crypto-review) - Allow middleware to override metadata header checking | 16:38 |
acoles | notmyname: no its gone, new patch chain coming soon (just working through timburke's doc review) | 16:38 |
notmyname | got it. thanks :-) | 16:39 |
notmyname | acoles: how much have we talked about unifying encrypter and decrypter into a single encryption middleware? | 16:40 |
tdasilva | wouldn't you need to ask unify the keymaster? | 16:41 |
tdasilva | s/ask/also | 16:41 |
notmyname | I know timburke and clayg and I talked some around the office yesterday, but I'm not sure how much our thinking has been passed on to you and jrichli | 16:41 |
*** cdelatte has joined #openstack-swift | 16:42 | |
*** ChubYann has joined #openstack-swift | 16:42 | |
acoles | notmyname: timburke and I discussed it a little. I think it is very do-able. It is next on my list but I'd prefer to publish the changes I have so far then embark upon that. | 16:42 |
notmyname | right, that makes sense | 16:42 |
acoles | notmyname: IIUC timburke's idea was (for simplicity and avoiding code churn) to simply have a single filter factory that chains the two middlewares | 16:43 |
notmyname | tdasilva: actually, no | 16:43 |
notmyname | acoles: right! (pretty clever, actually) | 16:43 |
acoles | tdasilva: we could but its probably not such a good/useful change, since we anticpate the keymaster being interchangeable like auth | 16:43 |
acoles | notmyname: anything that avoid code churn is clever at this moment ;) | 16:43 |
notmyname | it turns out that the decrypter doesn't have to be to the left of keymaster. the response for decrypter is decorated with the crypto envvar because the response is built from the request | 16:44 |
notmyname | acoles: :-) | 16:44 |
timburke | good morning | 16:44 |
notmyname | so we'd end up with one new file that only implements the unified filter_factory, and that entrypoint would be in setup.cfg instead of the 2 existing ones | 16:44 |
*** rcernin has quit IRC | 16:45 | |
acoles | notmyname: I'd value torgomatic's thoughts since it is a significant deviation from the original spec | 16:45 |
notmyname | yeah, definitely. I'd expect him to be able to comment within the hour | 16:46 |
notmyname | (torgomatic doesn't really exist before 10am ;-) | 16:46 |
acoles | notmyname: not sure we need a new file, just have the encrypter filter_factory return Encrypter(Decrypter(app, conf), conf) and expunge decrypter from the conf samples | 16:48 |
acoles | notmyname: later we could merge the code into one module maybe | 16:48 |
notmyname | tdasilva: the idea is to effectively do a pipeline of "... keymaster decrypter encrypter ...", but instead of letting pastedeploy do the pipeline wrapping, we'd have one filter factory that would do encrypter(decrypter()) | 16:48 |
*** cdelatte has quit IRC | 16:48 | |
timburke | jrichli: out of curiosity, what are the next steps for encryption after this? account/container user-meta? key rotation? | 16:49 |
notmyname | acoles: right. wouldn't have to be a new file, but keeping the encrypter and decrypter modules separate seems reasonable IMO. | 16:49 |
acoles | notmyname: for now definitely. no churn! | 16:49 |
notmyname | acoles: and IMO if we have 2 modules, then there isn't an obvious benefit of having the unified filter facotry in either one, so make a new file that would end up being really short | 16:50 |
timburke | or stick it in crypto_utils | 16:50 |
tdasilva | notmyname, acoles: nice, i'm starting to understand what you mean | 16:50 |
acoles | timburke: that works too | 16:51 |
notmyname | tdasilva: oh yeah, that's the thing | 16:52 |
*** fifieldt has quit IRC | 16:55 | |
acoles | notmyname: did I see a comment somewhere from you about making a test name shorter? I've lost track of it, or did I dream that? | 17:01 |
acoles | maybe I even processed it already and forgot | 17:02 |
timburke | def test_magic(self): | 17:02 |
acoles | timburke: was it you? where is that? | 17:02 |
timburke | it was notmyname, in channel a couple days ago | 17:03 |
notmyname | no, I left a comment. looking for it | 17:04 |
acoles | am I the only one getting burnt by https://bugs.launchpad.net/swift/+bug/1589994 ? | 17:04 |
openstack | Launchpad bug 1589994 in OpenStack Object Storage (swift) "test_container_update_async fails intermittently" [Undecided,New] | 17:04 |
timburke | notmyname: no, i'm pretty sure it was just http://eavesdrop.openstack.org/irclogs/%23openstack-swift/%23openstack-swift.2016-06-27.log.html#t2016-06-27T18:44:21 | 17:05 |
notmyname | ah ok. it was more a comment on me looking at it and thinking, "Up, those are indeed numbers." rather than a comment on the test name length | 17:06 |
notmyname | *yup | 17:08 |
*** mvk has quit IRC | 17:08 | |
notmyname | it's rather non-obvious (to me) what that test is doing. or why is passes or fails | 17:09 |
acoles | notmyname: but renaming it would make it even less obvious. no? but I could add some comments. | 17:09 |
acoles | that is, if I even understand what it is doing ;) | 17:09 |
notmyname | acoles: IMO "test_magic" is just as descriptive as the current name ;-) | 17:10 |
acoles | notmyname: oh :( | 17:10 |
notmyname | no, don't go change the test name. I'm just admitting that right now I have no idea what's going on with it | 17:10 |
*** Jeffrey4l has quit IRC | 17:11 | |
notmyname | I'm guessing that given that key and those iv values, AES is producing some known output and that's what's being checked | 17:12 |
*** asettle has joined #openstack-swift | 17:12 | |
*** hseipp has quit IRC | 17:12 | |
*** klrmn has joined #openstack-swift | 17:16 | |
*** dmk0202 has joined #openstack-swift | 17:16 | |
acoles | notmyname: yes, I just added a comment to test | 17:18 |
timburke | notmyname: as i recall, we're just checking that the iv offset and position within the initial block are getting calculated correctly | 17:19 |
openstackgerrit | Alistair Coles proposed openstack/swift: Enable object body and metadata encryption https://review.openstack.org/328208 | 17:19 |
openstackgerrit | Alistair Coles proposed openstack/swift: Add encryption overview doc https://review.openstack.org/328209 | 17:19 |
notmyname | timburke: well, obviously! ;-) | 17:19 |
acoles | ^^ latest updates, changes confined to the crypto and the doc patches, patch 328207 is no longer needed | 17:21 |
patchbot | acoles: https://review.openstack.org/#/c/328207/ - swift (feature/crypto-review) - Allow middleware to override metadata header checking | 17:21 |
acoles | jrichli: kota_ mattoliverau timburke mahatic_ notmyname ^^ | 17:22 |
notmyname | acoles: that's actually kinda cool that the updates to the whole patch chain are now just 2 patches (and abandoning another) | 17:22 |
*** chsc has joined #openstack-swift | 17:22 | |
acoles | notmyname: yeah, if we abandon one per day we'll be done ahead of schedule :P | 17:23 |
notmyname | hmm..gerrit topic changed. not really a problem, but it means `git review -d` doesn't reuse the existing local branch | 17:24 |
acoles | notmyname: ugh, sorry. that's cos my script numbers the topics and we lost a patch | 17:26 |
notmyname | no worries :-) | 17:26 |
*** manous has quit IRC | 17:31 | |
*** vinsh_ has joined #openstack-swift | 17:31 | |
*** vinsh has quit IRC | 17:34 | |
*** tqtran has joined #openstack-swift | 17:36 | |
*** gyee has joined #openstack-swift | 17:37 | |
*** gyee has quit IRC | 17:37 | |
*** ManojK has quit IRC | 17:40 | |
*** ManojK has joined #openstack-swift | 17:40 | |
*** tqtran has quit IRC | 17:43 | |
*** manous has joined #openstack-swift | 17:44 | |
*** rcernin has joined #openstack-swift | 17:44 | |
*** McMurlock1 has quit IRC | 17:46 | |
notmyname | acoles: why'd you add the elif back in on patch 328208? (constraints.py) | 17:48 |
patchbot | notmyname: https://review.openstack.org/#/c/328208/ - swift (feature/crypto-review) - Enable object body and metadata encryption | 17:48 |
notmyname | https://review.openstack.org/#/c/328208/11..12/swift/common/constraints.py | 17:49 |
patchbot | notmyname: patch 328208 - swift (feature/crypto-review) - Enable object body and metadata encryption | 17:49 |
*** chlong has quit IRC | 17:52 | |
acoles | notmyname: I didn't so much add it back, it's just no longer removed because patch 328207 removed it, so it's back to how it is on master. | 17:52 |
patchbot | acoles: https://review.openstack.org/#/c/328207/ - swift (feature/crypto-review) - Allow middleware to override metadata header checking | 17:52 |
notmyname | ah, ok | 17:52 |
acoles | argh, I forgot to reduce the MAX_HEADER_COUNT | 17:53 |
acoles | nm | 17:53 |
*** gyee has joined #openstack-swift | 17:53 | |
jrichli | timburke: re - next steps for encryption: great topic for hackathon :-) | 17:55 |
notmyname | oh yeah, I was meaning to set up an etherpad for that... | 17:55 |
openstackgerrit | Merged openstack/swift: Add a global fix for anything that involves GetHashPrefixAndSuffix https://review.openstack.org/333108 | 17:55 |
notmyname | jrichli: | 17:56 |
notmyname | jrichli: https://etherpad.openstack.org/p/swift_austin_hackathon_2016 | 17:56 |
notmyname | lol, nm | 17:56 |
notmyname | it's not in austin ;-) | 17:56 |
notmyname | let's try https://etherpad.openstack.org/p/swift_SA_hackathon_2016 | 17:56 |
*** permalac has quit IRC | 17:57 | |
jrichli | notmyname: re - not in austin: good, i have run out of new places to show you guys ;-) | 17:59 |
notmyname | heh | 17:59 |
*** mvk has joined #openstack-swift | 18:00 | |
notmyname | jrichli: timburke: I added that topic to the etherpad | 18:00 |
*** ChanServ changes topic to "Time to review feature/crypto-review https://review.openstack.org/#/q/status:open+project:openstack/swift+branch:feature/crypto-review | Logs: http://eavesdrop.openstack.org/irclogs/%23openstack-swift/ | Meetings: https://wiki.openstack.org/wiki/Meetings/Swift | Hackathon: https://etherpad.openstack.org/p/swift_SA_hackathon_2016" | 18:03 | |
notmyname | etherpad link added to the channel topic | 18:03 |
*** manous has quit IRC | 18:05 | |
openstackgerrit | Brian Cline proposed openstack/swift: Prevent down nodes failing PUTs on utf8 obj names https://review.openstack.org/335373 | 18:07 |
*** siva_krish has joined #openstack-swift | 18:15 | |
*** siva_krish has quit IRC | 18:16 | |
*** siva_krish has joined #openstack-swift | 18:16 | |
*** manous has joined #openstack-swift | 18:17 | |
*** tqtran has joined #openstack-swift | 18:23 | |
*** geaaru has quit IRC | 18:23 | |
*** mmcardle has quit IRC | 18:24 | |
openstackgerrit | Tim Burke proposed openstack/python-swiftclient: Fix unicode issues in tempurl command https://review.openstack.org/335615 | 18:25 |
clayg | heyoh! | 18:29 |
timburke | stupid unicode | 18:29 |
openstackgerrit | Brian Cline proposed openstack/swift: Prevent down nodes failing PUTs on utf8 obj names https://review.openstack.org/335373 | 18:31 |
*** dmk0202 has quit IRC | 18:32 | |
*** dmk0202 has joined #openstack-swift | 18:34 | |
*** dmk0202 has quit IRC | 18:37 | |
*** asettle has quit IRC | 18:37 | |
clayg | cschwede: see patch 335373 for another test to add to the | 18:43 |
patchbot | clayg: https://review.openstack.org/#/c/335373/ - swift - Prevent down nodes failing PUTs on utf8 obj names | 18:43 |
clayg | er... sorry - the translation patch you have going | 18:44 |
clayg | when I looked at the tests it seemed to test some unicode strings on the rhs but maybe they didn't have enough unicode-y chars in them? | 18:44 |
*** manous has quit IRC | 18:48 | |
cschwede | clayg: thx, saw Brians patch and was already looking at it | 18:48 |
*** thumpba has quit IRC | 18:54 | |
*** ManojK has quit IRC | 18:54 | |
*** sheel has quit IRC | 18:55 | |
*** notmyname has quit IRC | 19:01 | |
*** mmotiani has quit IRC | 19:01 | |
*** mmotiani_ is now known as mmotiani | 19:01 | |
*** stevemar has quit IRC | 19:02 | |
*** clarkb has quit IRC | 19:02 | |
*** manous has joined #openstack-swift | 19:02 | |
*** clarkb has joined #openstack-swift | 19:02 | |
*** stevemar has joined #openstack-swift | 19:03 | |
*** notmyname has joined #openstack-swift | 19:04 | |
*** ChanServ sets mode: +v notmyname | 19:04 | |
clayg | cschwede: of course you were - sorry :P | 19:05 |
*** thumpba has joined #openstack-swift | 19:07 | |
*** thumpba has quit IRC | 19:07 | |
*** thumpba has joined #openstack-swift | 19:08 | |
*** mmotiani_ has joined #openstack-swift | 19:09 | |
*** manous has quit IRC | 19:10 | |
*** SkyRocknRoll has quit IRC | 19:11 | |
*** thumpba_ has joined #openstack-swift | 19:11 | |
*** thumpba has quit IRC | 19:11 | |
*** thumpba has joined #openstack-swift | 19:14 | |
*** ManojK has joined #openstack-swift | 19:15 | |
*** thumpba_ has quit IRC | 19:15 | |
*** mwheckmann has quit IRC | 19:16 | |
*** thumpba has quit IRC | 19:19 | |
*** thumpba has joined #openstack-swift | 19:19 | |
*** thumpba has quit IRC | 19:20 | |
*** thumpba has joined #openstack-swift | 19:20 | |
*** manous has joined #openstack-swift | 19:22 | |
cschwede | clayg: i’m wondering if there are maybe more issues hidden in the code base that need a decode… | 19:22 |
*** thumpba_ has joined #openstack-swift | 19:23 | |
openstackgerrit | Tim Burke proposed openstack/swift: Remove some unnecessary error handling in healthcheck https://review.openstack.org/335639 | 19:23 |
cschwede | clayg: well, indeed, it seems there are… need to do some tests | 19:23 |
*** thumpba_ has quit IRC | 19:24 | |
acoles | timburke: notmyname: I'm going to push a new patch for the change single middleware, based off the top of chain. I can squash the changes into other patches if we like it but I think its cleaner to see and discuss the change separately first. Plus it impacts the doc as much as the code. | 19:24 |
*** thumpba_ has joined #openstack-swift | 19:24 | |
openstackgerrit | Alistair Coles proposed openstack/swift: Use a single wsgi filter for the encrypter and decrypter https://review.openstack.org/335641 | 19:25 |
*** thumpba_ has quit IRC | 19:25 | |
*** thumpba_ has joined #openstack-swift | 19:25 | |
*** thumpba has quit IRC | 19:25 | |
*** thumpba_ has quit IRC | 19:25 | |
acoles | torgomatic: appreciate your opinion on that change ^^ | 19:28 |
acoles | timburke: notmyname if you have improvements then it would be ok to push over patch 335641 since it is top of the chain, just don't rebase it!! | 19:29 |
patchbot | acoles: https://review.openstack.org/#/c/335641/ - swift (feature/crypto-review) - Use a single wsgi filter for the encrypter and dec... | 19:29 |
*** cdelatte has joined #openstack-swift | 19:30 | |
*** mwheckmann has joined #openstack-swift | 19:30 | |
*** cdelatte has quit IRC | 19:32 | |
* acoles back later for meeting | 19:33 | |
*** cdelatte has joined #openstack-swift | 19:33 | |
*** cdelatte has quit IRC | 19:33 | |
timburke | acoles: should we (at least temporarily) put keymaster & encryption in the sample proxy config? just for the sake of having the gate test the new entrypoint | 19:34 |
openstackgerrit | Brian Cline proposed openstack/swift: Prevent down nodes failing PUTs on utf8 obj names https://review.openstack.org/335373 | 19:34 |
acoles | timburke: k | 19:34 |
openstackgerrit | Alistair Coles proposed openstack/swift: Use a single wsgi filter for the encrypter and decrypter https://review.openstack.org/335641 | 19:37 |
acoles | timburke: done ^^ good idea | 19:38 |
*** asettle has joined #openstack-swift | 19:38 | |
timburke | thanks | 19:38 |
*** acoles is now known as acoles_ | 19:38 | |
*** asettle has quit IRC | 19:42 | |
*** catintheroof has quit IRC | 19:43 | |
*** asettle has joined #openstack-swift | 19:59 | |
*** ukaynar has quit IRC | 20:00 | |
*** cschwede has quit IRC | 20:03 | |
*** tmoreira has quit IRC | 20:04 | |
*** ukaynar has joined #openstack-swift | 20:04 | |
jrichli | acoles: I have seen https://bugs.launchpad.net/swift/+bug/1589994 before. I more often have unit test errors like https://bugs.launchpad.net/swift/+bug/1579578 | 20:14 |
openstack | Launchpad bug 1589994 in OpenStack Object Storage (swift) "test_container_update_async fails intermittently" [Undecided,New] | 20:14 |
openstack | Launchpad bug 1579578 in OpenStack Object Storage (swift) "test_unlink_* unittests fail intermittently" [Undecided,New] | 20:14 |
*** asettle has quit IRC | 20:19 | |
*** ukaynar has quit IRC | 20:20 | |
openstackgerrit | Tim Burke proposed openstack/swift: Fix intermittent SLO unit test failures https://review.openstack.org/335658 | 20:22 |
*** asettle has joined #openstack-swift | 20:26 | |
*** arcimboldo has joined #openstack-swift | 20:28 | |
*** kei_yama has joined #openstack-swift | 20:33 | |
*** dmorita has joined #openstack-swift | 20:34 | |
*** flwang1 has quit IRC | 20:36 | |
*** _JZ_ has quit IRC | 20:46 | |
mattoliverau | Morning | 20:50 |
dmorita | mattoliverau: Morning | 20:51 |
*** asettle has quit IRC | 20:51 | |
*** dmk0202 has joined #openstack-swift | 20:54 | |
*** cschwede has joined #openstack-swift | 20:55 | |
kota_ | morning | 20:57 |
*** asettle has joined #openstack-swift | 20:57 | |
pdardeau | mattoliverau: morning | 20:57 |
pdardeau | kota: morning | 20:57 |
kota_ | pdardeau: o/ | 20:57 |
notmyname | acoles_: aside from the small changes in the docs that christian mentions and the small changes I commented on in patch 328208, I think I'm pretty happy with crypto and I think I'm happy with it landing | 20:57 |
patchbot | notmyname: https://review.openstack.org/#/c/328208/ - swift (feature/crypto-review) - Enable object body and metadata encryption | 20:57 |
jrichli | yay :-) | 20:58 |
*** manous has quit IRC | 20:59 | |
notmyname | meeting time in #openstack-meeting | 20:59 |
notmyname | jrichli: well except for the the knowledge timburke just dropped in the comment that I still need to grok ;-) | 21:00 |
*** raildo is now known as raildo-afk | 21:03 | |
notmyname | hurricanerix: ping (hackathon questions in the meeting) | 21:06 |
*** asettle has quit IRC | 21:11 | |
*** acoles_ is now known as acoles | 21:12 | |
*** ManojK has quit IRC | 21:13 | |
*** mmcardle has joined #openstack-swift | 21:13 | |
*** mmcardle has quit IRC | 21:14 | |
*** ManojK has joined #openstack-swift | 21:15 | |
openstackgerrit | Tim Burke proposed openstack/swift: Fix intermittent bulk delete unit test failures https://review.openstack.org/335674 | 21:31 |
clayg | good times | 21:41 |
notmyname | acoles: thanks for reminding me about the docs | 21:41 |
*** cschwede has quit IRC | 21:42 | |
acoles | notmyname: np | 21:45 |
*** tqtran has quit IRC | 21:45 | |
*** tqtran has joined #openstack-swift | 21:46 | |
*** ManojK has quit IRC | 21:48 | |
*** acoles is now known as acoles_ | 21:50 | |
*** diogogmt has quit IRC | 21:53 | |
*** rcernin has quit IRC | 21:54 | |
briancline | uh oh | 21:58 |
briancline | finding more unicode exceptions. sigh | 21:58 |
briancline | same thing, additional places | 22:00 |
clayg | timburke: torgomatic: so what was wrong with the transcyrpter unification patch? is that going to get into the next pipeline? | 22:00 |
clayg | er... patch chain | 22:00 |
timburke | clayg: i know *i* want it in. as well as some improvements to the keymaster callback, but i suppose that could wait until we're on master | 22:01 |
torgomatic | clayg: someone pointed out that, if your keymaster needs to inspect object metadata on a GET, having keymaster to the left of decrypter precludes that | 22:01 |
torgomatic | unless the things passed from decrypter to keymaster includes the user metadata | 22:01 |
torgomatic | (I don't know if it does or not) | 22:01 |
timburke | it does not currently | 22:02 |
clayg | torgomatic: timburke: what about maybe having the crypto have a keymaster = #egg:path option and it just loads up the filter factory and does Decrypter(Keymaster(Encrypter(app, conf), conf), conf) | 22:04 |
torgomatic | clayg: at that point, just make people type "decrypter some-keymaster encrypter" into their pipeline and save us the trouble | 22:05 |
clayg | torgomatic: I'm +2 on that idea! | 22:05 |
clayg | torgomatic: making the signature of the keymaster callback at least robust enough that we *could* add new kwargs into it later is probably smart | 22:06 |
torgomatic | clayg: true that | 22:06 |
*** nadeem has joined #openstack-swift | 22:07 | |
*** dmk0202 has quit IRC | 22:08 | |
*** asettle has joined #openstack-swift | 22:12 | |
*** cdelatte has joined #openstack-swift | 22:12 | |
*** acoles_ is now known as acoles | 22:13 | |
*** ametts has quit IRC | 22:16 | |
*** asettle has quit IRC | 22:17 | |
*** chlong has joined #openstack-swift | 22:17 | |
acoles | clayg: timburke torgomatic notmyname I think I am seeing +ve for patch 335642, subject to moving to another file to avoid the in-function import. I just left a reply re future keymaster concerns. | 22:18 |
patchbot | acoles: https://review.openstack.org/#/c/335642/ - keystone - Improve keystone.conf [eventlet_server] documentation | 22:18 |
acoles | no not that! patch 335641 | 22:19 |
patchbot | acoles: https://review.openstack.org/#/c/335641/ - swift (feature/crypto-review) - Use a single wsgi filter for the encrypter and dec... | 22:19 |
acoles | if you guys decide otherwise while I sleep, push a change over or leave a clear -ve vote | 22:19 |
*** cdelatte has quit IRC | 22:19 | |
notmyname | what's "ve"? | 22:25 |
*** siva_krish has quit IRC | 22:27 | |
briancline | echo negative | sed -e 's/negati/-//' | 22:27 |
acoles | notmyname: as in +ve -ve? positive negative? | 22:28 |
acoles | briancline understands :) | 22:28 |
notmyname | oh. yeah. you're still an EE at heart ;-) | 22:28 |
*** mwheckmann has quit IRC | 22:29 | |
acoles | notmyname: fixed my washing machine motor brushes last night ! | 22:29 |
acoles | good night | 22:30 |
*** acoles is now known as acoles_ | 22:30 | |
clayg | torgomatic: did you have a specific suggestion to fix the cirular import thing? | 22:35 |
*** _JZ_ has joined #openstack-swift | 22:38 | |
*** cdelatte has joined #openstack-swift | 22:42 | |
*** cdelatte has quit IRC | 22:51 | |
*** arcimboldo has quit IRC | 22:55 | |
*** diogogmt has joined #openstack-swift | 22:56 | |
torgomatic | clayg: chuck it in another module? that's why common.request_helpers exists | 22:58 |
*** arch-nemesis has quit IRC | 23:04 | |
clayg | k, it wasn't super clear that your -1 was for "create a new module" (to me) | 23:06 |
*** jamielennox is now known as jamielennox|away | 23:13 | |
*** peluse has joined #openstack-swift | 23:17 | |
*** ChanServ sets mode: +v peluse | 23:17 | |
*** peluse is now known as peluse1 | 23:19 | |
*** peluse1 has quit IRC | 23:20 | |
*** peluse has joined #openstack-swift | 23:21 | |
*** ChanServ sets mode: +v peluse | 23:21 | |
hurricanerix | notmyname sorry i missed the meeting. but yeah, as far as i know the hotel runs a shuttle, and i will have my car, so three lucky people can alway ride with me. | 23:23 |
clayg | where's zitcev!? | 23:27 |
*** asettle has joined #openstack-swift | 23:28 | |
clayg | is the format of other-requirements.txt supported by *any* other tools because openstack ci? | 23:29 |
*** asettle has quit IRC | 23:33 | |
clayg | oh, we have crypto helpers and utils | 23:34 |
*** chsc has quit IRC | 23:34 | |
*** jamielennox|away is now known as jamielennox | 23:51 | |
*** siva_krish has joined #openstack-swift | 23:54 | |
*** NM has joined #openstack-swift | 23:56 | |
* NM is watching tdsilva giving a class of Swift 101. | 23:58 | |
notmyname | nice! | 23:58 |
notmyname | NM: take a picture :-) | 23:58 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!