*** joehuang has joined #openstack-tricircle | 00:39 | |
joehuang | hello ricky11, first time to meet you here. May I know your name? | 00:47 |
---|---|---|
*** Yipei_ has joined #openstack-tricircle | 00:48 | |
*** Yipei_ has quit IRC | 00:53 | |
*** Yipei_ has joined #openstack-tricircle | 00:53 | |
*** ronghui has joined #openstack-tricircle | 00:59 | |
joehuang | hello | 00:59 |
ronghui | morning | 00:59 |
zhiyuan | morning | 01:00 |
joehuang | morning | 01:00 |
*** hjw has joined #openstack-tricircle | 01:00 | |
ronghui | wait for a moment, some guys in our team just join the channel | 01:01 |
ronghui | :) | 01:01 |
joehuang | ok | 01:01 |
hjw | hi | 01:02 |
joehuang | hi | 01:03 |
ronghui | I recruited some new friends to join our tricircle | 01:03 |
joehuang | good job :) | 01:04 |
ronghui | xiongqiu | 01:04 |
ronghui | is on the bus | 01:04 |
ronghui | and will late few minutes | 01:05 |
joehuang | ok, can you open the spreadsheet in google doc | 01:05 |
ronghui | https://docs.google.com/spreadsheets/d/1yXdxGtQq_6YJUtJtjmPICyhq4SbP8E6uWyzn0zev8bI/edit?pref=2&pli=1#gid=308439069 ????? | 01:05 |
joehuang | yes | 01:06 |
ronghui | ok | 01:06 |
Yipei_ | hi | 01:07 |
joehuang | ]hello yipei | 01:07 |
*** yinxiulin has joined #openstack-tricircle | 01:08 | |
joehuang | please open the spreadsheet: https://docs.google.com/spreadsheets/d/1yXdxGtQq_6YJUtJtjmPICyhq4SbP8E6uWyzn0zev8bI/ | 01:09 |
Yipei_ | ok | 01:09 |
Yipei_ | i have already opened it | 01:09 |
joehuang | do you have any question on the features | 01:10 |
Yipei_ | for the admin api part, i have no question, the info in the sheet is clear enough | 01:11 |
joehuang | one more api is added, for the routing table | 01:12 |
joehuang | the api to manage the routing table | 01:12 |
Yipei_ | ok, got it | 01:13 |
joehuang | please fill the "due date", when the patch could be merged into the trunk | 01:13 |
*** huangdongfeng has joined #openstack-tricircle | 01:14 | |
Yipei_ | now? | 01:14 |
joehuang | yes | 01:14 |
shinobu_ | joehuang: it's not easy to decide due date *now* | 01:15 |
shinobu_ | joehuang: let's give more time (but not too much). | 01:15 |
joehuang | understand, but we need an estimated date | 01:15 |
shinobu_ | joehuang: wait for 2 days | 01:15 |
shinobu_ | make sense? | 01:16 |
shinobu_ | joehuang: but we can decide *final* date | 01:16 |
joehuang | other guys' idea? | 01:16 |
shinobu_ | maybe end of November? | 01:16 |
shinobu_ | thought? | 01:17 |
shinobu_ | let's discuss | 01:17 |
joehuang | o, no, we have to deliver a release alighed with Newton of OpenStack | 01:17 |
joehuang | it's released on Oct.15 | 01:17 |
shinobu_ | any thought more? | 01:17 |
ronghui | we can decide the final date +1 | 01:18 |
joehuang | what's "final date" | 01:18 |
shinobu_ | this is when we *must* complete regarding to only *api* in defined in spread sheet. | 01:19 |
shinobu_ | make sense? | 01:19 |
*** KK has joined #openstack-tricircle | 01:19 | |
joehuang | this is the same meaning of "due date" | 01:19 |
zhiyuan | i think joe's idea is that we finish the API listed in the table in Newton circle | 01:20 |
shinobu_ | btw when is reasonable for each other? | 01:20 |
shinobu_ | > it's released on Oct.15? | 01:21 |
joehuang | yes | 01:21 |
yinxiulin | i have finished my plan, please check | 01:21 |
joehuang | cool :) xiulin | 01:22 |
*** lzy has joined #openstack-tricircle | 01:22 | |
lzy | Hello everybody morning, my name is Liu Zeyu, I come from Hunan University, and very happy to see you. | 01:23 |
joehuang | welcome lzy | 01:23 |
joehuang | seems like a big family now in tricircle | 01:23 |
*** KK is now known as Liu | 01:23 | |
ronghui | yes | 01:23 |
*** Liu is now known as Liukun | 01:23 | |
ronghui | they all interested in tricircle | 01:24 |
zhiyuan | xiongqiu has implemented some cinder APIs, so I think he has sense how long the work will take | 01:24 |
ronghui | he just on the bus and will come in few minutes | 01:26 |
joehuang | for pod and podbinding, APIs are already there, but no tempest test yet | 01:26 |
*** longxiongqiu has joined #openstack-tricircle | 01:26 | |
ronghui | for cinder we think we can continue do it and also can try some new features of other APIs | 01:27 |
joehuang | great idea | 01:28 |
joehuang | for backup and snapshot, it's mainly forwarding the api according to where the volume is(volume id routing info) | 01:29 |
joehuang | and volume action also could be forwarded based on volume id routing info | 01:29 |
zhiyuan | it may take some time to pass tempest test | 01:30 |
joehuang | agree, implementation is relatively easy, need to spend time to debug the tempest test | 01:31 |
joehuang | but for action, it's much more easier | 01:31 |
shinobu_ | joehuang: how can we verify that it must work w/o test? | 01:33 |
joehuang | the tempest integration job is configured in the check and gate test, just open corresponding test cases | 01:34 |
joehuang | We need to write Admin API tempest test cases by our self | 01:34 |
shinobu_ | writing test cases would take more time? | 01:35 |
zhiyuan | no, tempest test requires some configuration, we need to properly configure tempest to test our nova and cinder api_gw | 01:36 |
zhiyuan | tempest test of nova and cinder api is already there | 01:36 |
joehuang | for Nova API-gateway and Cinder API-GW/Neutron, just reuse Nova/Cinder/Neutron temepst test cases, they are already there | 01:37 |
shinobu_ | what will take a time? | 01:37 |
shinobu_ | i just make sure of something more specifically | 01:37 |
shinobu_ | so that we can schedule properly | 01:37 |
joehuang | Admin API tempest test cases | 01:37 |
joehuang | pod/pod binding/routing api | 01:38 |
shinobu_ | what is priority? | 01:38 |
joehuang | for all, or for amdin api | 01:39 |
joehuang | I propose first fill the owner for the items you are interested in | 01:40 |
shinobu_ | sounds good to me | 01:40 |
joehuang | good, tricircle neutron plugin and tricircle admin api sheet is being filled very fast | 01:47 |
zhiyuan | shinobu_: shall we discuss my patch a bit since other members are filling the table | 01:53 |
shinobu_ | zhiyuan: of course | 01:53 |
shinobu_ | what's your thought? | 01:54 |
zhiyuan | shinobu_: i feel a bit strange to wrap a python builtin function | 01:55 |
joehuang | the due date column in Nova API-GW is disapper? | 01:55 |
shinobu_ | joehuang: yinxiulin did something | 01:56 |
shinobu_ | zhiyuan: please free to let me know what you would like to do | 01:56 |
joehuang | ok, move back | 01:57 |
joehuang | hello, ronghui/xiongqiu, how do you think about the features in Cinder API-GW | 01:58 |
*** LLL has joined #openstack-tricircle | 01:58 | |
*** LLL is now known as leyuquan | 01:58 | |
zhiyuan | shinobu_: python has many builtin functions like "hasattr", "getattr", "isinstance" which the naming convention is different from what we use in the Tricircle. in my opinion, we can just keep them since readers know they are builtin functions | 01:59 |
ronghui | For now there is no problem | 01:59 |
ronghui | but we will discuss after the meeting | 02:00 |
joehuang | so you can fill the owner information first, and due date as much as possible | 02:00 |
ronghui | we will use tempest test first | 02:00 |
shinobu_ | zhiyuan: that's just temporarly solution. so please ignore me. there will be complete solution. thank you for your attention. | 02:01 |
zhiyuan | shinobu_: :) | 02:03 |
ronghui | @joehuang we fill the due date whether we should use tempest test ? | 02:05 |
joehuang | tempest test case should be there, for cinder-api gw, most reponse is returned directly from the bottom, so it's much easier to pass the tempest test | 02:06 |
zhiyuan | our work includes implementing the API and passing the tempest test | 02:07 |
ronghui | i mean we fill the information in the table just now or waiting for tempest test complete? | 02:07 |
joehuang | no, you need to fill the table now, we are waiting for you :) | 02:09 |
ronghui | ok | 02:09 |
joehuang | "due date" the date you planned to deliver the feature, i.e. the code is merged in the repository(pass the tempest test) | 02:10 |
ronghui | sorry i have no permission to change the table | 02:16 |
joehuang | your gmail address? Xiongqiu has been added to the editor list | 02:16 |
ronghui | caoronghuiji@gmail.com | 02:17 |
joehuang | done | 02:18 |
zhiyuan | xiongqiu: you can also assign os-volume_attachments API in nova to yourself, you are already working on it | 02:25 |
ronghui | @joehuang is this table complete just now or today? some feature of Cinder we need to distribution | 02:32 |
*** Liukun has quit IRC | 02:33 | |
*** leyuquan has quit IRC | 02:37 | |
*** hjw has quit IRC | 02:40 | |
joehuang | ok, you can complete today | 02:41 |
*** Yipei_ has quit IRC | 02:47 | |
ronghui | 0k | 02:50 |
*** LLL_ has joined #openstack-tricircle | 02:54 | |
*** LLL_ has quit IRC | 03:01 | |
*** Yipei_ has joined #openstack-tricircle | 03:24 | |
*** leyuquan has joined #openstack-tricircle | 03:26 | |
*** lzy has quit IRC | 03:26 | |
*** liuzeyu has joined #openstack-tricircle | 03:27 | |
*** liuzeyu has quit IRC | 03:28 | |
*** leyuquan has quit IRC | 03:29 | |
shinobu_ | joehuang: everything looks good for you? | 03:30 |
*** ronghui has quit IRC | 03:31 | |
*** ronghui has joined #openstack-tricircle | 03:31 | |
*** joehuang has quit IRC | 03:39 | |
*** Yipei_ has quit IRC | 03:43 | |
*** Yipei_ has joined #openstack-tricircle | 04:53 | |
*** longxiongqiu has quit IRC | 05:07 | |
*** longxiongqiu has joined #openstack-tricircle | 05:27 | |
*** longxiongqiu has quit IRC | 05:32 | |
*** longxiongqiu has joined #openstack-tricircle | 06:08 | |
*** longxiongqiu has quit IRC | 06:08 | |
*** longxiongqiu has joined #openstack-tricircle | 06:08 | |
ricky11 | Hello Tricircle team | 06:13 |
ricky11 | my name is rickyhai from South Korea | 06:13 |
ricky11 | I am interested in what you are doing and just would like have some quick questions as mentioned above | 06:14 |
ricky11 | they are all related to quota and resource management in Tricircle | 06:14 |
ricky11 | Nice to meet you all here :) | 06:15 |
*** ronghui has quit IRC | 06:16 | |
*** Yipei_ has joined #openstack-tricircle | 06:35 | |
*** ronghui has joined #openstack-tricircle | 06:40 | |
ricky11 | <ricky11> Is quota management fully implemented and supported in Tricircle currently ? [00:44] <ricky11> where is the code of this part ? Thank you all. | 06:40 |
shinobu_ | ricky11: please look at tricircle/common/quota.py | 06:54 |
*** gongysh has joined #openstack-tricircle | 06:55 | |
shinobu_ | ricky11: are you interested in this project? | 06:55 |
ricky11 | ok thanks I will look at that | 06:55 |
ricky11 | yes , interested in :) | 06:55 |
shinobu_ | o.k, thanks | 06:56 |
ricky11 | quota management is fully implemented as described in design doc ? | 06:57 |
shinobu_ | yes, but i would like you to have a look at quota_opt defiend in that file first | 06:59 |
*** Yipei_ has quit IRC | 07:00 | |
*** Yipei_ has joined #openstack-tricircle | 07:00 | |
shinobu_ | ricky11: if you are o.k to contribute this project, please let us know at any time | 07:05 |
ricky11 | Sure! thanks for asking me | 07:08 |
*** joehuang has joined #openstack-tricircle | 07:11 | |
joehuang | hello, there is some issue to open and combine new test cases in the integration temepest test job, it was fixed in this patch:https://review.openstack.org/#/c/343517/ | 07:13 |
joehuang | please review and get it merged soon, so that other one can add new tempest test case to the job, for example, open the volume type tempest test cases | 07:14 |
joehuang | only need to add one line in the tempest_volume.sh: TESTCASES="$TESTCASES|tempest.api.volume.admin.test_volumes_type" | 07:14 |
*** gongysh has quit IRC | 07:16 | |
*** huangdongfeng has quit IRC | 07:28 | |
joehuang | hello, ricky11, do you have some question on quota? | 07:37 |
ricky11 | Yes Joehuang | 07:38 |
joehuang | May I know your name? | 07:38 |
ricky11 | just wondering about quota management and resource management in Tricircle | 07:38 |
ricky11 | my name is Ricky Hai | 07:38 |
joehuang | ok, for quota management, these is one section in the design doc to talk about the quota management | 07:39 |
ricky11 | how Tricircle can be aware of resource usage or available for a tenant ? | 07:39 |
joehuang | https://docs.google.com/document/d/18kZZ1snMOCD9IQvUKI5NVDzSASpw-QKj7l2zNqMEd3g/edit?usp=sharing | 07:40 |
ricky11 | yes , I looking at that doc now | 07:40 |
joehuang | ok | 07:40 |
joehuang | Tricircle will control the quota usage roughly, and when the quota limit is to be reached | 07:40 |
joehuang | will refresh the usage from the bottom openstack instance | 07:41 |
joehuang | currently quota management mechanism has already been ported to the Tricircle | 07:42 |
ricky11 | by polling all bottom openstack instances to get quota usage values then manually calculating by itself ? | 07:42 |
ricky11 | that meant all quota usage values is cached in top part , not in bottom openstack instances | 07:43 |
joehuang | but only _process_metadata_quota and _process_injected_file_quota were implemented, nova part, code was writen several month ago, but not tested and submitted | 07:43 |
joehuang | you are correct | 07:44 |
joehuang | only when the limit reached, then to verify the real usage from the bottom | 07:44 |
joehuang | in bottom openstack, there is real quota usage only inside this bottom openstack | 07:45 |
joehuang | one bottom openstack has no knowledge about other openstack | 07:45 |
ricky11 | but only nova that is currently providing real usage, not in cinder and neutron yet | 07:46 |
joehuang | not polling all, but polling openstacks where the tenant is spread into | 07:46 |
joehuang | some one in another project has raised bugs to Cinder and Neutron | 07:47 |
ricky11 | oh it depends on user's selection from, UX/UX when creating instance | 07:47 |
ricky11 | and then polling action is upon that corresponding bottom opentack instance | 07:47 |
joehuang | don't understand this "oh it depends on user's selection from, UX/UX when creating instance | 07:48 |
ricky11 | I meant when a user would like to boot a instance , user should chose AZ for residing | 07:49 |
ricky11 | then polling will be executed based on that AZ right ? | 07:50 |
joehuang | for cinder, usage is provided by resftul API http://developer.openstack.org/api-ref-blockstorage-v2.html, but not supported in cinder client | 07:52 |
*** yinxiulin has quit IRC | 07:52 | |
shinobu_ | ricky11: i'm not clear about what "UX/UX" means. please clarify for my better understanding. | 07:52 |
joehuang | AZ is optional, if it's not specified, then will select one bottom OpenStack for the tenant. | 07:52 |
ricky11 | yes | 07:53 |
shinobu_ | thanks | 07:53 |
joehuang | polling is not based on AZ, but the openstack instances the tenant has been bound | 07:53 |
ricky11 | ok Joe | 07:54 |
ricky11 | @shinobu I meant UI= User interface like Horizon.that's all | 07:55 |
shinobu_ | o.k, that is not UX standing for User Experience in general? | 07:55 |
shinobu_ | not UX but UI? | 07:56 |
ricky11 | @Joe how does your project deal with these bugs currenty? like bug related to Cinder real time usage and nova usage (provided already but got out of syn somtime) | 07:57 |
joehuang | I think absolutely accuracy in quota management is almost impossible, even in OpenStack | 07:59 |
shinobu_ | "like bug related to Cinder real time usage and nova usage (provided already but got out of syn somtime)" ? | 07:59 |
joehuang | consider that the cloud is mainly used by the way of "pay as you go", we can provide the accuracy in OpenStack level | 07:59 |
shinobu_ | "in OpenStack level" ? | 08:00 |
joehuang | this is mainly caused by concurrency in a large pool of machine | 08:00 |
ricky11 | yes, I agreed with you Joe | 08:01 |
joehuang | that means the accuracy is at the same level as what OpenStack currently in the quota management | 08:01 |
joehuang | sometimes there is a little shift | 08:01 |
shinobu_ | o.k, clear | 08:01 |
shinobu_ | so "like bug related to Cinder real time usage and nova usage (provided already but got out of syn somtime)" is not proper description ? | 08:02 |
ricky11 | BTW, currently in Tricircle for compute resources , it is calculated and syns by polling when limit has been reached | 08:03 |
ricky11 | how about storage in cinder ? | 08:03 |
shinobu_ | s/syns/sync/ | 08:03 |
ricky11 | is it calculated manually by counting ? | 08:03 |
ricky11 | yes I meant sync | 08:04 |
shinobu_ | counting what? | 08:04 |
joehuang | same processing mechanism, but code not submitted yet, not calculated manually, Nova-APIGW Cinder APIGW will do that for you | 08:04 |
ricky11 | using restful API for get updated with cinder ? | 08:06 |
*** hejiawei has joined #openstack-tricircle | 08:07 | |
*** hejiawei has quit IRC | 08:07 | |
joehuang | first calculated in Cinder-APIGW if a new volume provision request is processed | 08:07 |
joehuang | when the limits is reached, start a job using restful interface to polling the real usage from the bottom cinder | 08:08 |
joehuang | the usage in the Tricircle will be refreshed by real usage | 08:08 |
ricky11 | ok I got it | 08:09 |
joehuang | if the quota is over, then no new volume provision will be allowed | 08:09 |
joehuang | welcome | 08:09 |
joehuang | would you like to contribute in the Tricircle | 08:09 |
ricky11 | initially how do you know about capacity of each bottom openstack ? | 08:10 |
joehuang | you mean the total capacity in each OpenStack pool, not single tenant? | 08:11 |
ricky11 | i meant about initiative resource values at the beginning as these values would be used to identify if limit is reached or not | 08:11 |
joehuang | the capacity of one OpenStack instance will be polled in daily freequency | 08:11 |
joehuang | ok, you are still talking about quota | 08:12 |
joehuang | if a new tenant account is opened | 08:12 |
joehuang | the quota will be applied to this tenant, (use default, or by quota class, and can be different for different tenant) | 08:13 |
joehuang | the initial usage is 0 | 08:14 |
joehuang | if an already running pod is introduced into the Tricircle | 08:14 |
joehuang | then the quota usage should be refreshed to the Tricircle | 08:15 |
ricky11 | Great ! clear now | 08:17 |
joehuang | welcome | 08:17 |
shinobu_ | great. please work through code base if you get a chance | 08:18 |
ricky11 | one more question, tenant could be resided in different bottom openstack instances, so global resource view for that tenant will be summed at the end right ? | 08:18 |
shinobu_ | ricky11: btw are you happy to contirbute this project? | 08:21 |
joehuang | the global resource view could be retrieved from the Tricircle | 08:22 |
joehuang | it'll be summed at the Tricircle | 08:22 |
ricky11 | thank you guys for your time , Will let you know whenever it is applicable to contribute to Tricircle | 08:23 |
shinobu_ | ricky11: great. have a good day | 08:25 |
joehuang | have a nice weekend | 08:25 |
ricky11 | thank Joe and Shinobu, You too | 08:26 |
joehuang | to Shinobu and Zhiyuan, your comment has been answered, and the patch is updated too | 08:35 |
joehuang | https://review.openstack.org/#/c/343517/ | 08:35 |
shinobu_ | joehuang: please add some *reasonable* comment for post_test_hook.sh | 08:36 |
joehuang | comment added for the flavor | 08:37 |
shinobu_ | joehuang: just to clarify that those numbers are dummy. | 08:38 |
joehuang | you mean the whole file? | 08:38 |
shinobu_ | joehuang: please refere to https://review.openstack.org/#/c/343517/16/tricircle/tempestplugin/post_test_hook.sh@40 | 08:39 |
shinobu_ | joehuang: do you get me? | 08:39 |
shinobu_ | s/me/my point/ | 08:40 |
joehuang | you are looking at the old patch, the new one is https://review.openstack.org/#/c/343517/17/tricircle/tempestplugin/post_test_hook.sh | 08:41 |
joehuang | the patchset number is 17 but not 16 now | 08:42 |
shinobu_ | here we go: https://review.openstack.org/#/c/343517/17/tricircle/tempestplugin/post_test_hook.sh@44 | 08:46 |
*** ronghui has quit IRC | 08:48 | |
joehuang | updated again: https://review.openstack.org/#/c/343517/18/tricircle/tempestplugin/post_test_hook.sh line40 ~ line 46 | 08:53 |
shinobu_ | joehuang: what i expected is that "1 1024 10 1" are dummy | 08:55 |
shinobu_ | aren't they? | 08:55 |
shinobu_ | joehuang: Meaning that those numbers are not used | 08:56 |
joehuang | these numbers are used in the flavor creation | 08:56 |
joehuang | not dummy | 08:56 |
shinobu_ | joehuang: so this is not correct: https://review.openstack.org/#/c/343517/16/tricircle/tempestplugin/post_test_hook.sh@40 | 08:57 |
shinobu_ | joehuang: based on Zhiyuan's comment | 08:57 |
joehuang | these number are parameters for nova flavor-create command | 08:58 |
shinobu_ | joehuang: i know | 08:58 |
shinobu_ | joehuang: please read carefully Zhiyuan's comment | 08:59 |
shinobu_ | joehuang: " Ram 1024, disk 10, vcpus 1, these three numbers are not used." | 08:59 |
joehuang | yes, they are not used in the VM creation, but they have to be there to create a flavor | 09:00 |
joehuang | otherwise, flavor-create command will fail | 09:00 |
shinobu_ | joehuang: "Currently flavor mapping between top and bottom pod is not implemented so this command just creates a record in database but what is actually used is the bottom flavor with the same ID (which is 1). Ram 1024, disk 10, vcpus 1, these three numbers are not used." | 09:02 |
shinobu_ | joehuang: this is not written properly? | 09:03 |
joehuang | do you mean I need to add comment as Zhiyuan described? | 09:03 |
shinobu_ | joehuang: no, i want to make sure if that comment is right or not . 1024, 10, 1 those numbers are not used. | 09:05 |
joehuang | the comment is right | 09:06 |
zhiyuan | those numbers are used to create top flavor, but bottom flavor is not created based on those numbers currently | 09:14 |
zhiyuan | we have one top flavor and one bottom flavor with the same ID, but the parameters of these two flavor may be not the same | 09:15 |
zhiyuan | when one user boot a vm via nova_apigw, specifying flavor ID as 1, nova_apigw will pass this request to bottom nova api, so bottom flavor with ID 1 is used | 09:17 |
zhiyuan | is it clear now? | 09:19 |
joehuang | the mapping and sync will be done later | 09:21 |
*** joehuang has quit IRC | 09:53 | |
*** longxiongqiu has quit IRC | 12:24 | |
*** ricky11 has quit IRC | 12:28 | |
*** longxiongqiu has joined #openstack-tricircle | 13:13 | |
*** longxion_ has joined #openstack-tricircle | 13:14 | |
*** longxiongqiu has quit IRC | 13:17 | |
*** longxion_ has quit IRC | 13:20 | |
*** longxiongqiu has joined #openstack-tricircle | 13:21 | |
*** Yipei_ has quit IRC | 13:30 | |
*** zhiyuan has quit IRC | 15:39 | |
*** zhiyuan has joined #openstack-tricircle | 15:47 | |
*** longxiongqiu has quit IRC | 17:27 | |
*** longxiongqiu has joined #openstack-tricircle | 17:40 | |
*** longxiongqiu has quit IRC | 17:46 | |
*** longxiongqiu has joined #openstack-tricircle | 20:57 | |
*** longxiongqiu has quit IRC | 21:01 | |
*** longxiongqiu has joined #openstack-tricircle | 22:06 | |
*** longxiongqiu has quit IRC | 22:10 | |
*** longxiongqiu has joined #openstack-tricircle | 23:04 | |
*** longxiongqiu has quit IRC | 23:08 | |
*** longxiongqiu has joined #openstack-tricircle | 23:51 | |
*** longxiongqiu has quit IRC | 23:56 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!