| *** tovin07_ has joined #openstack-oslo | 00:43 | |
| *** kiseok7 has joined #openstack-oslo | 00:53 | |
| *** nicolasbock has joined #openstack-oslo | 01:10 | |
| *** zhangguoqing has joined #openstack-oslo | 01:59 | |
| *** yamamoto has joined #openstack-oslo | 02:45 | |
| *** nicolasbock has quit IRC | 02:53 | |
| *** yamamoto has quit IRC | 03:01 | |
| *** yamahata has joined #openstack-oslo | 03:21 | |
| *** ctp has quit IRC | 03:45 | |
| *** ctp has joined #openstack-oslo | 03:46 | |
| *** zhangguoqing has quit IRC | 04:00 | |
| *** zhangguoqing has joined #openstack-oslo | 04:00 | |
| *** yamamoto has joined #openstack-oslo | 04:01 | |
| *** zhangguoqing has quit IRC | 04:05 | |
| openstackgerrit | Merged openstack/oslo.config master: Make set_override/set_default with enforce_type=True by default https://review.openstack.org/328692 | 04:19 |
|---|---|---|
| *** Dinesh_Bhor has joined #openstack-oslo | 04:22 | |
| *** zhangguoqing has joined #openstack-oslo | 04:31 | |
| *** zhangguoqing has quit IRC | 04:32 | |
| *** zhangguoqing has joined #openstack-oslo | 04:32 | |
| *** ctp has quit IRC | 04:36 | |
| *** ctp has joined #openstack-oslo | 04:36 | |
| *** dharinic has quit IRC | 04:54 | |
| *** kornica is now known as kornicameister | 04:59 | |
| *** bknudson_ has quit IRC | 05:01 | |
| *** rcernin has joined #openstack-oslo | 05:25 | |
| *** yamamoto_ has joined #openstack-oslo | 05:42 | |
| *** yamamoto has quit IRC | 05:45 | |
| *** gcb has joined #openstack-oslo | 05:57 | |
| *** pcaruana has joined #openstack-oslo | 06:01 | |
| *** hieulq has quit IRC | 06:07 | |
| *** amotoki has joined #openstack-oslo | 06:23 | |
| *** tesseract has joined #openstack-oslo | 06:48 | |
| *** jaosorior has joined #openstack-oslo | 06:49 | |
| *** dmellado has joined #openstack-oslo | 07:08 | |
| openstackgerrit | Merged openstack/oslo.log master: protect systemd class initialization when syslog is not available https://review.openstack.org/454271 | 07:13 |
| openstackgerrit | Merged openstack/oslo.log master: Always create OSSysLogHandler https://review.openstack.org/454664 | 07:13 |
| *** dimtruck is now known as zz_dimtruck | 07:18 | |
| *** shardy has joined #openstack-oslo | 07:36 | |
| *** gcb has quit IRC | 07:46 | |
| *** lpetrut has joined #openstack-oslo | 07:48 | |
| *** zzzeek has quit IRC | 08:00 | |
| *** zzzeek has joined #openstack-oslo | 08:01 | |
| *** hieulq has joined #openstack-oslo | 08:06 | |
| *** gcb has joined #openstack-oslo | 08:12 | |
| *** sambetts|afk is now known as sambetts | 09:29 | |
| therve | EmilienM, You still around? I had one question about https://review.openstack.org/#/c/454897/ | 09:43 |
| openstackgerrit | ChangBo Guo(gcb) proposed openstack/oslo.log master: add an extras dependency for systemd https://review.openstack.org/454272 | 09:44 |
| *** tovin07_ has quit IRC | 09:47 | |
| *** tovin07 has quit IRC | 09:48 | |
| *** tovin07_ has joined #openstack-oslo | 09:56 | |
| *** aarefiev_afk is now known as aarefiev | 09:59 | |
| *** tovin07_ has quit IRC | 10:04 | |
| *** boden has joined #openstack-oslo | 10:05 | |
| *** sdague has joined #openstack-oslo | 10:10 | |
| openstackgerrit | Merged openstack/oslo.log master: Documentation for journal usage https://review.openstack.org/454145 | 10:13 |
| openstackgerrit | Merged openstack/oslo.i18n master: Updated from global requirements https://review.openstack.org/454517 | 10:15 |
| *** gcb has quit IRC | 10:16 | |
| openstackgerrit | Merged openstack/oslo.messaging master: [zmq] Prevent access to rpc_response_timeout https://review.openstack.org/448753 | 10:17 |
| *** hieulq has quit IRC | 10:19 | |
| *** nicolasbock has joined #openstack-oslo | 10:22 | |
| *** hieulq has joined #openstack-oslo | 10:33 | |
| *** sdague_ has joined #openstack-oslo | 11:04 | |
| *** shardy is now known as shardy_lunch | 11:06 | |
| *** cdent has joined #openstack-oslo | 11:06 | |
| *** lucasagomes is now known as lucas-hungry | 11:15 | |
| *** jamielennox|away is now known as jamielennox | 11:25 | |
| *** mtanino has joined #openstack-oslo | 11:51 | |
| *** shardy_lunch is now known as shardy | 12:07 | |
| *** lucas-hungry is now known as lucasagomes | 12:12 | |
| openstackgerrit | Merged openstack/oslo.log master: add an extras dependency for systemd https://review.openstack.org/454272 | 12:23 |
| *** kgiusti has joined #openstack-oslo | 12:39 | |
| *** cdent_ has joined #openstack-oslo | 12:45 | |
| *** cdent has quit IRC | 12:46 | |
| *** cdent_ is now known as cdent | 12:46 | |
| *** gcb has joined #openstack-oslo | 12:50 | |
| *** ansmith has joined #openstack-oslo | 12:59 | |
| EmilienM | therve: hey! what's up? | 13:04 |
| therve | EmilienM, So there is one question I think I asked in the ML | 13:04 |
| therve | EmilienM, WRT to using etcd, won't it be confusing when using httpd? | 13:04 |
| therve | Some stuff will be configured by files, some by etcd | 13:05 |
| therve | For the same "service" | 13:05 |
| EmilienM | therve: I don't know how to tell the wsgi service to pull config from etcd | 13:07 |
| EmilienM | therve: I don't even know if it's possible, tbh | 13:07 |
| EmilienM | but for the vhosts, we will have to use config files like before, and the config files can be managed by confd | 13:07 |
| therve | EmilienM, I mean, if the wsgi service uses oslo.config, it will pull the config from etcd | 13:09 |
| therve | But not the vhost config, obviously | 13:09 |
| EmilienM | therve: right but how the wsgi process is run with the etcd url? | 13:09 |
| EmilienM | therve: regarding the "confusion" - do you think it's something critical? | 13:12 |
| therve | EmilienM, Oh, that's an excellent point... | 13:12 |
| therve | We can't pass the etcd url when running under WSGI | 13:12 |
| EmilienM | maybe we can but I don't know how | 13:12 |
| therve | Which means we need to create the config file for the service | 13:13 |
| EmilienM | and put the etcd url in a section? | 13:13 |
| therve | I *guess* | 13:13 |
| EmilienM | we need to mention that in the spec | 13:13 |
| therve | But yeah I think it's critical, even more after chatting with you :) | 13:13 |
| *** eck`gone is now known as eck` | 13:14 | |
| EmilienM | therve: I agree it might be confusing but I still believe in the benefit of this feature. Think about it again, we don't need Puppet / Ansible / Chef (or whatever layer) to apply the configuration (and all the thousands parameters) | 13:15 |
| therve | EmilienM, Sure, I'm just making sure we don't miss something obvious | 13:16 |
| therve | The point is that confd *needs* to be in the equation | 13:16 |
| EmilienM | for sure | 13:17 |
| EmilienM | well in fact no | 13:17 |
| therve | If it can be the only solution, it may have some benefits, instead of having to deal with etcd inside the process themselves | 13:17 |
| EmilienM | you don't need confd actually | 13:17 |
| EmilienM | like if : | 13:17 |
| EmilienM | 1) I deploy Keystone using httpd and managing the config file with Ansible or Puppet ... | 13:17 |
| EmilienM | 2) I deploy Nova services (api not in wsgi, not officially supported yet) where the config is in etcd | 13:18 |
| EmilienM | in that scenario, we don't need confd in the equation | 13:18 |
| therve | Well sure if you keep puppet | 13:19 |
| therve | That's even worse though, you know have 2 sources of truth | 13:20 |
| therve | 2) is not a scenario. You will have services using httpd | 13:20 |
| EmilienM | therve: which ones? | 13:20 |
| *** zz_dimtruck is now known as dimtruck | 13:22 | |
| EmilienM | the thing with this spec is that 1) it's optional and disabled by default and 2) it's flexible enough to let deployers use it for some services at their wish | 13:22 |
| EmilienM | in tripleo, we'll probably start using it for the non wsgi services | 13:22 |
| EmilienM | (deployed in containers) | 13:22 |
| EmilienM | and we'll probably keep the configuration file at the beginning for the wsgi services, until we switch them to use confd (with etcd backend) | 13:23 |
| therve | Yeah, but the end goal doesn't feel fantastic | 13:23 |
| EmilienM | since apache needs a config file, we still need to find a way to manage it | 13:23 |
| therve | We add code complexity without deployment improvements | 13:23 |
| EmilienM | some end goals that I see : | 13:24 |
| *** dtardivel has joined #openstack-oslo | 13:24 | |
| EmilienM | containers running non-wsgi services don't need configuration file, and just their application | 13:24 |
| EmilienM | where each container would read the config from etcd and send logs into distributed logging system (with local logging of course but still sent to elk) | 13:25 |
| EmilienM | so we don't need puppet to generate this config (it takes time and we have 40 modules to maintain) | 13:25 |
| EmilienM | I think we'll save deployment / upgrade time for sure | 13:25 |
| EmilienM | the second benefit I see on the long term is | 13:25 |
| EmilienM | deployment projects (TripleO, OSA, Kolla, etc) would have a common and consistent way to make configuration management and won't maintain X or Y ways to do it (Puppet, Chef, Kolla Ansible templates, OSA templates, etc etc) | 13:26 |
| EmilienM | on the long term, we wouldn't need a tool to create config files | 13:27 |
| therve | EmilienM, That's the last part I'm questioning | 13:28 |
| therve | How do you get rid of a tool to generate config files? | 13:28 |
| EmilienM | by removing config files? | 13:28 |
| *** mtanino has quit IRC | 13:28 | |
| EmilienM | let me summarize 2 situations : | 13:29 |
| EmilienM | 1) current situation, with tools like Puppet, Ansible, etc: managing configuration files | 13:30 |
| EmilienM | if you want to support a new option in TripleO / Kolla, etc, you need to patch the puppet module, the puppet-tripleo module (sometimes) and the THT (in kolla, you need to patch the config file template, which is horrible to maintain on longterm) | 13:31 |
| EmilienM | the tool will compile a catalog and generate a config file | 13:31 |
| EmilienM | for containers, you need to either put the config file in the container or mount it to the container so it's exposed | 13:31 |
| EmilienM | 2) with the spec now: using etcd | 13:32 |
| EmilienM | options are generated with bnemec's spec and exposed to the deployment tool (tripleo, kolla, etc) via their interface (in tripleo it would be THT I guess) | 13:32 |
| therve | EmilienM, OK, but what about wsgi services that use httpd? You need config files for those? | 13:33 |
| EmilienM | the deployment tool would write what they want/need in etcd for each project (ex: configure nova-scheduler) | 13:33 |
| *** openstackgerrit has quit IRC | 13:33 | |
| EmilienM | and the deployment tool would just have to start the containers, and the config is pulled from etcd | 13:33 |
| therve | I understand all of that :) | 13:33 |
| EmilienM | so you don't have to do anything everytime a new option is added to OpenStack | 13:33 |
| EmilienM | (in theory, but in fact some options might be computed and calculated by deployment tool) | 13:34 |
| therve | But you're talking about a world without config files, and I don't see a way to get to that | 13:35 |
| EmilienM | in 2), we can see that Kolla / TripleO / OSA, etc would share 2 things here, that are not shared today: the parameters collection and the configuration reading from the non-wsgi services | 13:35 |
| *** wuyanjun has quit IRC | 13:35 | |
| EmilienM | no no no we still need config files wait | 13:35 |
| EmilienM | I just say, *some* services wouldn't need it | 13:35 |
| *** wuyanjun has joined #openstack-oslo | 13:35 | |
| EmilienM | for example, most of non-wsgi services in OpenStack wouldn't need it | 13:36 |
| EmilienM | for wsgi services, we still need a tool to maintain the httpd/nginx templates | 13:36 |
| therve | You said "on the long term, we wouldn't need a tool to create config files" | 13:36 |
| EmilienM | and this tool could be a common project in OpenStack | 13:36 |
| therve | And I'm saying that's not the case, we would always need such a tool | 13:36 |
| EmilienM | sorry I was wrong | 13:36 |
| therve | OK :) | 13:37 |
| EmilienM | we could imaging a new project in OpenStack to manage OpenStack WSGI files for httpd or nginx in confd | 13:37 |
| therve | So my point is that I'm not sure there is great benefit to get into a hybrid situation | 13:37 |
| EmilienM | by providing a set of common templates, that can be re-used by different deployment tools | 13:37 |
| EmilienM | well, I see different benefits : | 13:38 |
| EmilienM | 1) allow to migrate containers (kubernetes) without dealing with config files | 13:38 |
| EmilienM | 2) stop storing passwords and URLs in config files (security) | 13:38 |
| EmilienM | 3) stop spending time at configuring files with puppet / ansible (it's not huge but still a win) | 13:39 |
| *** dimtruck is now known as zz_dimtruck | 13:39 | |
| EmilienM | 4) expose a shareable method for config management to all deployment tools in OpenStack | 13:39 |
| EmilienM | that's all I've been thinking now | 13:40 |
| therve | You keep rehashing that | 13:40 |
| therve | And I keep repeating: you haven't manage to get rid of config files | 13:41 |
| therve | Just partially for some services | 13:41 |
| EmilienM | I should restate : | 13:41 |
| EmilienM | 1) allow to migrate containers (kubernetes) without dealing with config files for most of OpenStack services | 13:41 |
| therve | But is "most" good enough, that's the question | 13:42 |
| EmilienM | tbh, I don't know if this spec will solve the world but I think it's worth trying -- the current state of things is not so well | 13:43 |
| EmilienM | we have a ton of duplication efforts around configuration management, around 40 modules to maintain, and dozen of thousands of Puppet code to keep in good shape | 13:43 |
| therve | Yeah, and you will still those after the spec | 13:45 |
| therve | Except for nova maybe | 13:45 |
| EmilienM | therve: why wouldn't need the puppet modules to manage openstack configs? | 13:46 |
| EmilienM | therve: except for wsgi files, that - like I said - could be managed by confd | 13:46 |
| therve | EmilienM, Because WSGI services load their own configuration too? | 13:46 |
| therve | EmilienM, Or you assume that the etcd url in the config files is already a solution | 13:47 |
| EmilienM | therve: to me, it's something to investigate (the etcd url in config) | 13:47 |
| therve | Yeah | 13:48 |
| EmilienM | and we wouldn't need puppet to manage this file, we can do it with something much light | 13:48 |
| therve | Fair | 13:48 |
| EmilienM | I'm happy we had this discussion | 13:48 |
| EmilienM | we have a bunch of challenges here | 13:48 |
| therve | Yep me too :) | 13:49 |
| therve | I'll comment on the spec for that important detail | 13:49 |
| EmilienM | therve: yeah, we need to collect this discussion output | 13:49 |
| EmilienM | 1) this spec doesn't address OpenStack WSGI services, and we need a way to put the url of etcd in a config file | 13:50 |
| EmilienM | 2) We need to mention that this spec is only useful for some services in OpenStack (the non-WSGI ones) | 13:50 |
| *** Elaine_wu has joined #openstack-oslo | 13:50 | |
| EmilienM | 3) I don't know if we need to mention but we could write that for non-wsgi services, we could think at using confd etc (but to me it's out of the scope for the spec, since by design apache can't talk to etcd) | 13:51 |
| EmilienM | therve: how does it sound ? | 13:51 |
| *** sdague has quit IRC | 13:52 | |
| therve | EmilienM, Those points seem to contradict one another | 13:52 |
| *** wuyanjun has quit IRC | 13:52 | |
| therve | If you have the etcd url in a config file, that works for wsgi files | 13:53 |
| therve | If you have the etcd url in a config file, that works for wsgi services | 13:53 |
| *** ctp has quit IRC | 13:53 | |
| *** ctp has joined #openstack-oslo | 13:54 | |
| EmilienM | therve: OpenStack non-wsgi process would be run with url directly and OpenStack wsgi process could be run with classic /etc/keystone/keystone.conf with etcd_url parameter | 13:54 |
| gcb | weekly meeting in 5 minutes at channel openstack-meeting-3 | 13:55 |
| *** sdague has joined #openstack-oslo | 13:56 | |
| *** sdague__ has joined #openstack-oslo | 13:56 | |
| EmilienM | therve: I'm about to board in the plane | 13:57 |
| EmilienM | therve: thanks for this nice discussion | 13:57 |
| EmilienM | therve: I'll catch-up on the spec review asap | 13:57 |
| therve | EmilienM, Have a good flight! | 13:58 |
| EmilienM | thanks! | 13:58 |
| *** openstackgerrit has joined #openstack-oslo | 13:59 | |
| openstackgerrit | Andy Smith proposed openstack/oslo.messaging master: Add get_rpc_transport call https://review.openstack.org/454194 | 13:59 |
| *** dave-mccowan has joined #openstack-oslo | 14:04 | |
| *** lhx_ has joined #openstack-oslo | 14:08 | |
| *** dave-mccowan has quit IRC | 14:09 | |
| *** sdague has quit IRC | 14:12 | |
| *** sdague__ is now known as sdague | 14:13 | |
| *** gordc has joined #openstack-oslo | 14:15 | |
| *** zz_dimtruck is now known as dimtruck | 14:15 | |
| *** mtanino has joined #openstack-oslo | 14:16 | |
| *** ihrachys has joined #openstack-oslo | 14:27 | |
| *** ihrachys has quit IRC | 14:30 | |
| *** ihrachys has joined #openstack-oslo | 14:30 | |
| ansmith | therve: hello | 14:39 |
| *** zhangguo_ has joined #openstack-oslo | 14:42 | |
| *** zhangguoqing has quit IRC | 14:46 | |
| openstackgerrit | Merged openstack/devstack-plugin-amqp1 master: Use the Qpid released repo, not testing https://review.openstack.org/452320 | 14:46 |
| therve | ansmith, Hi! | 14:47 |
| *** zhangguo_ has quit IRC | 14:47 | |
| therve | Actually working on that amqp issue | 14:47 |
| ansmith | therve: https://review.openstack.org/452793/ | 14:48 |
| therve | ansmith, Hummm tell me more? :) | 14:49 |
| ansmith | therve: cmw was using the incorrect transport for notifications leading to timeouts that might be the root issue | 14:49 |
| ansmith | therve: the timeouts to the driver were in the logs | 14:49 |
| therve | ansmith, What does it look like? | 14:49 |
| ansmith | therve, WARNING:oslo_messaging._drivers.amqp1_driver.controller:Notify message sent to <Target topic=notifications.info> failed: timed out | 14:51 |
| ansmith | therve, as seen in syslog | 14:51 |
| therve | Ah, syslog | 14:51 |
| therve | ansmith, Does it need a release to be used in the gate? | 14:51 |
| ansmith | therve, believe so | 14:52 |
| therve | OK cool | 14:52 |
| ansmith | therve, have not asked for a cmw release | 14:52 |
| therve | ansmith, I started looking at the results, and only a few tests are impacted | 14:52 |
| therve | Not sure if all are swift related, though | 14:52 |
| *** erolg has joined #openstack-oslo | 14:55 | |
| erolg | hi everyone, i am try to run brocade vrouter neutron plugin. When I try to start, i am getting "no such option in group DEFAULT: nova_admin_auth_url" from oslo_config. I would say it is deprecated parameter but how can i reuse it? | 14:57 |
| *** yamahata has quit IRC | 15:00 | |
| *** yamahata has joined #openstack-oslo | 15:00 | |
| *** rcernin has quit IRC | 15:03 | |
| therve | gordc, Hi! Can we make a release to ceilometermiddleware to get the amqp fix? | 15:04 |
| *** dharinic has joined #openstack-oslo | 15:10 | |
| *** aarefiev is now known as aarefiev_afk | 15:27 | |
| gordc | therve: sure. i'll do it since jd is away | 15:30 |
| *** jdandrea_ is now known as jdandrea | 15:38 | |
| *** chenying_ has quit IRC | 15:43 | |
| *** chenying_ has joined #openstack-oslo | 15:44 | |
| *** lpetrut has quit IRC | 15:47 | |
| *** lucasagomes is now known as lucas-afk | 16:05 | |
| *** jokke__ has joined #openstack-oslo | 16:11 | |
| *** jokke__ has quit IRC | 16:11 | |
| therve | gordc, Thanks! | 16:19 |
| *** tkill has joined #openstack-oslo | 16:21 | |
| *** lhx_ has quit IRC | 16:50 | |
| *** ctp has quit IRC | 16:51 | |
| *** jaosorior is now known as jaosorior_away | 16:51 | |
| *** tesseract has quit IRC | 16:52 | |
| *** ctp has joined #openstack-oslo | 16:53 | |
| *** chenying_ has quit IRC | 16:58 | |
| *** chenying_ has joined #openstack-oslo | 16:58 | |
| *** amotoki has quit IRC | 17:09 | |
| *** erolg has quit IRC | 17:20 | |
| harlowja | jd_ any reservations putting cotyledon into G-R ? | 17:40 |
| * harlowja convincing the octavia folks to use it | 17:40 | |
| harlowja | but noticed its not in G-R | 17:40 |
| harlowja | sileht ^ | 17:40 |
| johnsom | harlowja What trouble are you stirring up now??? grin | 17:44 |
| harlowja | lol | 17:44 |
| harlowja | idk | 17:44 |
| harlowja | :-P | 17:44 |
| harlowja | johnsom freeing octavia from eventlet mainly :-P | 17:47 |
| johnsom | No arguments there | 17:48 |
| *** sambetts is now known as sambetts|afk | 18:00 | |
| sileht | harlowja, you can add it | 18:03 |
| harlowja | kk | 18:03 |
| sileht | harlowja, telemetry does follow requirements repo, that why we didn't put it for now | 18:04 |
| sileht | does/does not | 18:04 |
| harlowja | okie dokie, sileht https://review.openstack.org/455411 | 18:08 |
| *** dharinic has quit IRC | 18:10 | |
| *** kgiusti has left #openstack-oslo | 18:30 | |
| *** kgiusti has joined #openstack-oslo | 18:30 | |
| *** dharinic has joined #openstack-oslo | 18:50 | |
| *** sdague_ has quit IRC | 18:55 | |
| *** dtardivel has quit IRC | 19:00 | |
| *** edmondsw_ has joined #openstack-oslo | 19:15 | |
| *** edmondsw_ has quit IRC | 19:15 | |
| *** yamahata has quit IRC | 20:03 | |
| *** shardy has quit IRC | 20:03 | |
| *** dimtruck is now known as zz_dimtruck | 20:09 | |
| *** zz_dimtruck is now known as dimtruck | 20:31 | |
| *** kgiusti has left #openstack-oslo | 20:35 | |
| *** ansmith has quit IRC | 20:55 | |
| *** tkill has quit IRC | 20:57 | |
| *** boden has quit IRC | 21:12 | |
| *** pcaruana has quit IRC | 21:15 | |
| *** mortenover has joined #openstack-oslo | 21:44 | |
| *** tkill has joined #openstack-oslo | 21:55 | |
| *** hoonetorg has quit IRC | 22:16 | |
| *** gordc has quit IRC | 22:21 | |
| *** Elaine_wu has quit IRC | 22:23 | |
| *** Elaine_wu has joined #openstack-oslo | 22:23 | |
| *** ihrachys has quit IRC | 22:25 | |
| *** dimtruck is now known as zz_dimtruck | 22:28 | |
| *** zz_dimtruck is now known as dimtruck | 22:33 | |
| *** hoonetorg has joined #openstack-oslo | 22:39 | |
| *** mortenover has quit IRC | 22:48 | |
| *** sdague has quit IRC | 23:12 | |
| *** dharinic has quit IRC | 23:15 | |
| *** dimtruck is now known as zz_dimtruck | 23:20 | |
| *** zz_dimtruck is now known as dimtruck | 23:24 | |
| *** ansmith has joined #openstack-oslo | 23:26 | |
| *** cdent has quit IRC | 23:37 | |
| *** dharinic has joined #openstack-oslo | 23:40 | |
| *** dimtruck is now known as zz_dimtruck | 23:54 | |
| *** zz_dimtruck is now known as dimtruck | 23:54 | |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!