*** zengyingzhe has joined #openstack-karbor | 01:23 | |
*** liujiong has joined #openstack-karbor | 01:24 | |
*** liujiong_lj has joined #openstack-karbor | 01:36 | |
*** liujiong has quit IRC | 01:37 | |
*** liujiong_lj is now known as liujiong | 01:39 | |
*** jiaopengju has joined #openstack-karbor | 01:58 | |
*** chenying has quit IRC | 02:12 | |
*** chenying has joined #openstack-karbor | 02:29 | |
openstackgerrit | Merged openstack/karbor master: Update URL home-page in documents according to document migration https://review.openstack.org/483676 | 02:39 |
---|---|---|
*** yamamoto has joined #openstack-karbor | 02:47 | |
*** yamamoto has quit IRC | 03:09 | |
*** jiaopengju has quit IRC | 03:19 | |
*** gouthamr has quit IRC | 03:42 | |
*** jiaopengju has joined #openstack-karbor | 03:48 | |
*** yamamoto has joined #openstack-karbor | 04:09 | |
*** yamamoto has quit IRC | 04:14 | |
*** jiaopengju has quit IRC | 04:26 | |
*** jiaopengju has joined #openstack-karbor | 06:31 | |
jiaopengju | ping yuval | 06:31 |
chenying | ping jiaopengju | 06:36 |
jiaopengju | hi | 06:36 |
chenying | hi I see the bug that you have submitted. https://bugs.launchpad.net/karbor/+bug/1702907 | 06:38 |
openstack | Launchpad bug 1702907 in Karbor "Can not create protection plan from horizon" [Undecided,New] | 06:38 |
chenying | I have addressed it. | 06:38 |
chenying | jiaopengju Manila has not installed in your environment? | 06:39 |
jiaopengju | chenying: yes, I do not want to use manila in my environment. | 06:39 |
jiaopengju | chenying: In this case, the dashboard will not work | 06:39 |
chenying | jiaobenju I see. | 06:40 |
chenying | jiaobenju In this case, in the deployment of karbor, you shoud delete the manila-plugins in the default provider config file of karbor. | 06:41 |
yuval | hey jiaopengju | 06:41 |
yuval | hey chenying | 06:42 |
jiaopengju | chenying: OK, I will try | 06:42 |
chenying | jiaopengju root@SZX1000340345:/etc/karbor/providers.d# cat openstack-infra.conf | 06:42 |
chenying | [provider] | 06:42 |
chenying | name = OS Infra Provider | 06:42 |
chenying | description = This provider uses OpenStack's own services (swift, cinder) as storage | 06:42 |
chenying | id = cf56bd3e-97a7-4078-b6d5-f36246333fd9 | 06:42 |
chenying | plugin=karbor-volume-protection-plugin | 06:42 |
chenying | plugin=karbor-image-protection-plugin | 06:42 |
chenying | plugin=karbor-server-protection-plugin | 06:42 |
chenying | plugin=karbor-share-protection-plugin | 06:42 |
chenying | plugin=karbor-network-protection-plugin | 06:42 |
chenying | plugin=karbor-database-protection-plugin | 06:42 |
chenying | bank=karbor-swift-bank-plugin | 06:42 |
chenying | [swift_client] | 06:42 |
chenying | swift_auth_url=http://127.0.0.1/identity | 06:42 |
chenying | swift_user=demo | 06:42 |
chenying | swift_key=password | 06:42 |
chenying | swift_tenant_name=demo | 06:42 |
chenying | [swift_bank_plugin] | 06:42 |
chenying | lease_expire_window=120 | 06:42 |
chenying | lease_renew_window=100 | 06:43 |
chenying | lease_validity_window=100 | 06:43 |
jiaopengju | chenying: I know that configuration file | 06:43 |
chenying | jiaopengju You can see the provider config directory of karbor. If other providers are not needed, you also can delete them, | 06:43 |
jiaopengju | yuval: I have an issue need to disscuss | 06:43 |
yuval | jiaopengju: sure thing | 06:44 |
jiaopengju | chenying: OK, I will try it soon | 06:44 |
chenying | jiaobengju Now the problom maybe the that: the protectable plugins are all loaded by karbor protection services. | 06:44 |
chenying | yuval: hi | 06:44 |
chenying | yuval: Now the protectable plugins are all loaded by karbor protection services. Even some serivces( manila or trove ) are not enable. It may a problom. | 06:45 |
yuval | chenying: Yes, agreed | 06:46 |
chenying | yuval: It may be a problom. | 06:46 |
jiaopengju | yuval: currently, we use list_objects in bank plugin with parameter prefix, limit, marker, sort_dir, I think some of them is not really needed. IMO, we should use list_objects to get all of the objects, not part of them | 06:46 |
yuval | jiaopengju: have you run into this when developing the s3 plugin? | 06:46 |
jiaopengju | yuval: When we backup image bigger than 10000 * 640KB, it will fail | 06:47 |
chenying | yuval: IMO, the protectable plugins should only loaded the plugins which the protection plugis are enable in the provider config file. | 06:47 |
jiaopengju | yuval: No, I think all the plugin should be updated | 06:47 |
jiaopengju | chenying: Agree with you | 06:48 |
yuval | jiaopengju: "When we backup image bigger than 10000 * 640KB, it will fail" -> please elaborate | 06:49 |
jiaopengju | yuval: By default, the swift storage will return 10000 objects | 06:49 |
chenying | jiaopengju Have you test the image backup and restore with s3 bank plugin? | 06:49 |
jiaopengju | chenying: I have tested it with a small image file. cirros | 06:50 |
jiaopengju | chenying: and it works well | 06:50 |
jiaopengju | yuval: S3 seems return 1000 objects by default, so if the image if bigger than 1000 * 640KB, it will fail | 06:51 |
jiaopengju | the image is bigger than | 06:51 |
yuval | jiaopengju: use pagination? | 06:51 |
chenying | jiaobengju 'By default, the swift storage will return 10000 objects' the limit of object number 10000 is set in karbor or in swift? | 06:51 |
jiaopengju | we do not have pagination out of the bank | 06:51 |
jiaopengju | chenying: in swift | 06:51 |
yuval | jiaopengju: we do have pagination, using 'limit', 'marker' arguments | 06:52 |
jiaopengju | yuval: Yes, but I think we do not need pagination here. IMO, we can do pagination in bank plugin, not out of the plugin | 06:53 |
yuval | jiaopengju: I understand | 06:53 |
jiaopengju | yuval: So I think we can change the 'def list_objects' | 06:54 |
jiaopengju | yuval: It is enough with using 'Prefix' | 06:54 |
yuval | jiaopengju: generally, it seems like a good idea. But, there are two things we should consider | 06:55 |
yuval | jiaopengju: 1) Impace on CheckpointCollection which uses marker and limit | 06:55 |
yuval | jiaopengju: 2) consistency issues | 06:55 |
chenying | yuval The pagination parameters of bank list_objects interface refor to some list methlod of resourece in database. So maybe some are not needed for bank. | 06:56 |
yuval | jiaopengju: (consistency issues - in most object stores, bucket listing is eventually consistent) | 06:56 |
yuval | chenying: agree | 06:56 |
jiaopengju | yuval: the consistency issues: it seems that karbor will not update the objects list of a backup | 06:57 |
yuval | Currently, the bank list parameters 'marker' and 'limit' are used by CheckpointCollection, which goes up to the checkpoint rest api | 06:58 |
yuval | jiaopengju: "it seems that karbor will not update the objects list of a backup" - don't understand | 06:58 |
jiaopengju | yuval: After the backup finished, karbor will not delete or add objects in swift | 07:00 |
jiaopengju | yuval: So the bucket listing will not changed unless you delete the backup | 07:01 |
jiaopengju | yuval: bucket listing here is objects like 'data***' | 07:01 |
yuval | jiaopengju: youn are speaking specifically about an image | 07:03 |
openstackgerrit | Merged openstack/python-karborclient master: Update URLs in documents according to document migration https://review.openstack.org/483894 | 07:03 |
yuval | jiaopengju: *you | 07:04 |
jiaopengju | yuval: the first issue 'Impace on CheckpointCollection which uses marker and limit' I do not understand | 07:04 |
yuval | jiaopengju: see checkpoint list in karbor api: https://github.com/openstack/karbor/blob/master/karbor/api/v1/providers.py#L286-L343 | 07:05 |
jiaopengju | yuval: I mean what is Impace? | 07:06 |
yuval | jiaopengju: marker, limit, offset coming from pagination params in rest | 07:06 |
yuval | jiaopengju: trickle down to https://github.com/openstack/karbor/blob/master/karbor/services/protection/provider.py#L147-L154 | 07:07 |
yuval | jiaopengju: and then https://github.com/openstack/karbor/blob/master/karbor/services/protection/checkpoint.py#L258-L309 | 07:07 |
yuval | jiaopengju: where calls to the bank list_objects are | 07:07 |
yuval | jiaopengju: not saying there is no solution, but that there is impact on this section for doing the pagination internally in 'list_objects' of the bank | 07:08 |
jiaopengju | yuval: I understand | 07:09 |
jiaopengju | yuval: if so, we should fix that issue out of the bank plugin? | 07:09 |
yuval | chenying: I see that the fs bank plugin doesn't even handle the 'marker' argument | 07:12 |
yuval | chenying: nor the sort_direction | 07:12 |
chenying | yuval: These are not handled yet. | 07:13 |
jiaopengju | yuval: s3 storage only have maker, limit, prefix, delimiter | 07:13 |
yuval | I must say, that from this discussion, I become more and more convinced to go with your suggestion, jiaopengju | 07:15 |
yuval | in regards to checkpoint pagination api: this can be handled by listing all checkpoints, for now | 07:15 |
yuval | (and filtering, slicing afterwards) | 07:16 |
yuval | chenying: jiaopengju: what do you think? | 07:16 |
chenying | yuval jiaobengju IMO, pagination parameters is for the dashboard to list the resources. But the bank list_objects don't need returen the objeccts list to dashboard. So Do we really need the pagination in bank list interface? | 07:17 |
jiaopengju | yuval: IMO, it will be better to use full listing in bank plugin | 07:18 |
yuval | seems like we have an agreement | 07:19 |
yuval | good point jiaopengju, thanks for raising that up | 07:19 |
jiaopengju | yuval: that is what I should do. :) | 07:21 |
chenying | yuval Are your free? I have another issue to discuss? :D | 07:21 |
openstackgerrit | Spencer Yu proposed openstack/karbor master: Fix warning in doc generating "Title overline too short" https://review.openstack.org/484268 | 07:22 |
yuval | chenying: yes | 07:23 |
chenying | yuval Now I have finished the spec of trove database protectable and protect plugins. But now I can not integrate trove service to karbor's devstack. | 07:23 |
yuval | chenying: what's blocking you? | 07:24 |
chenying | yuval: I discuss with amrith about enable trove service in karbor's devstack for several times. He said that 'in order to get a working trove, there is a lot more that must be done that is not done in the devstack plugin'. | 07:24 |
chenying | yuval:amrith trove PTL. Trove sercice can not work only enablt its plugin.sh in local.conf of devstack. Trove prject develop a integration environment itself wrapper a devstack. | 07:26 |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 07:27 |
yuval | chenying: tbh, I'm not very familiar with trove | 07:28 |
chenying | yuval: So only enable trove in devstackgaterc can not make trove working. He suggest me to refer to the job definition of trove jenkins. But I find that there are lots of script handling in trove project itself. And it depend on lots of prejcet and tools. | 07:28 |
chenying | It is a independent devstack environment installing by trove to run CI. I don't know how to enable trove in karbor's devstack refer to this. | 07:28 |
jiaopengju | yuval chenying :One more question: I do not know why we use 'data fragmentation' when backup image data. In swift storage, we can use 'DLO (dynamic large object)', it seems more convenient | 07:29 |
openstackgerrit | Spencer Yu proposed openstack/karbor master: Fix warning in doc generating https://review.openstack.org/484268 | 07:30 |
yuval | chenying: seems like integration/scripts/trovestack in the trove repo is important | 07:31 |
chenying | yuval: Torve not done devstack integration like other project manila. Beside the plugins.sh , there are lots of configuration handler and service preparation in its service itself. So It means that making trove woking, we must use the integration/scripts/trovestack it self. | 07:31 |
chenying | yuval: Yes | 07:31 |
chenying | yuval: trovestack will initialize a independent devstack itself. So I don't how to integrate it with karbor's jenkins devstack. | 07:32 |
chenying | yuval: I must install trove service use the integration/scripts/trovestack of it in my local environment. All the other service (nova keystone heat cinder) are installed via this scripts. | 07:35 |
yuval | jiaopengju: regarding the large object support in swift: we definitely considered that, even had a nice talk with swift's ptl about it in Barcelona | 07:36 |
yuval | jiaopengju: however | 07:37 |
yuval | jiaopengju: it makes us hold the entire image in memory | 07:37 |
yuval | jiaopengju: so what we do now, is download a chunk from the bank, and upload it to the remote glance, only holding one (sometimes more, depending on chunks size) in memory every time | 07:38 |
yuval | jiaopengju: and that's just a reference implementation plugin | 07:38 |
*** NatanBro has joined #openstack-karbor | 07:39 | |
yuval | chenying: sounds bad. Let me have a look in trovestack script, not really sure what's going on there | 07:39 |
chenying | jiaopengju If you think the chunks size is not suitable. You can configure the value of it in provider config file. | 07:39 |
yuval | jiaopengju: otherwise we might end up holding gigabytes of image data in karbor memory | 07:40 |
yuval | jiaopengju: (and even if that might be momenteraly, that's not good) | 07:40 |
jiaopengju | yuval: 'it makes us hold the entire image in memory', use 'header: Range' can get part of the image data in swift | 07:41 |
chenying | yuval: I see some code of it. trovestack script build a independent devstack itself include lots of configuration of trove, preparation work like build a mysql database image, datastore. | 07:41 |
yuval | chenying: as said, sounds bad :\\ | 07:41 |
jiaopengju | chenying: ok | 07:42 |
yuval | jiaopengju: we could do that as well | 07:44 |
jiaopengju | yuval: thanks for your anwser. I will try to fix the bank issue | 07:45 |
yuval | jiaopengju: thank you, you are raising awesome issues | 07:45 |
openstackgerrit | Spencer Yu proposed openstack/python-karborclient master: Fix warning in doc generating https://review.openstack.org/484273 | 07:45 |
jiaopengju | yuval: you are welcome :) | 07:46 |
chenying | yuval: can you help to see whether have a way to integrate trove in karbor's jenkins devstack? make it working. I have no idea about it now. | 07:46 |
yuval | chenying: yes, looking at it | 07:46 |
yuval | chenying: will do it now, before day ends in China :) | 07:47 |
chenying | yuval: thanks. | 07:47 |
chenying | yuval: Because of poor network, I spend 2 or 3 day to install a trove environment via integration/scripts/trovestack scripts of trove. Build a mysql image need lots software packages. T.T | 07:49 |
yuval | chenying: what takes all the time? pip packages? git clone? maybe setup a pip/git cache? | 07:50 |
chenying | yuval: internet speed is so slow, most of time software packages installation failed. | 07:51 |
yuval | chenying: what is taking most of the bandwidth? pip packages? git clone? | 07:51 |
yuval | chenying: rpm downloads? | 07:51 |
chenying | yuval apt install packages. | 07:52 |
yuval | chenying: take a look: https://help.ubuntu.com/community/Apt-Cacher-Server | 07:52 |
yuval | chenying: and: https://www.debuntu.org/how-to-set-up-a-repository-cache-with-apt-cacher/ | 07:53 |
yuval | chenying: will help you guys speed devstack by a lot | 07:53 |
chenying | yuval I have change the mirror source of apt. But It seem that the integration/scripts/trovestack scripts have not use it. It use the official source itself everytime. | 07:53 |
chenying | yuval Imagebuild project not only trovestack scripts use the official source itself everytime. | 07:54 |
openstackgerrit | Merged openstack/python-karborclient master: Fix warning in doc generating https://review.openstack.org/484273 | 08:00 |
yuval | chenying: ping | 08:35 |
chenying | yuval hi | 08:36 |
yuval | chenying: in trovestack, 'cmd_dsvm_gate_tests' initializes the devstack env, and runs the tests using 'cmd_int_tests' | 08:36 |
chenying | yuval: I know. | 08:37 |
chenying | yuval Only this is not enough. | 08:37 |
yuval | chenying: maybe we can refactor 'cmd_dsvm_gate_tests' part of preparing the devstack env and call it from karbor | 08:37 |
yuval | chenying: what else is missing? | 08:37 |
chenying | yuval We need prepare the datastore of karbor. | 08:37 |
chenying | We need prepare the datastore of trove | 08:38 |
yuval | chenying: it is done in 'cmd_test_init', right? | 08:40 |
chenying | yuval: In my local environment, I use this one kick-start | 08:40 |
yuval | chenying: cmd_dsvm_gate_tests calls kickstart | 08:41 |
chenying | yuval: Add a new jenkins about trove is better. These cmd from trove depend on lots project and tools to prepare datastroe. | 08:43 |
yuval | chenying: that's what I'm talking about. Refactor the gate prepare from 'cmd_dsvm_gate_tests' (including kickstart) and call it from a karbor gate about trover | 08:44 |
yuval | *trove | 08:44 |
chenying | yuval: we can refactor these cmd in trove to preparing the devstack for karbor. | 08:44 |
yuval | chenying: exactly | 08:44 |
chenying | yuval: Sound a good idea. | 08:44 |
yuval | chenying: :) | 08:45 |
openstackgerrit | Spencer Yu proposed openstack/karbor master: Add choices field in config definition https://review.openstack.org/484292 | 08:49 |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 09:04 |
*** dixiaoli has joined #openstack-karbor | 09:07 | |
*** dixiaoli has quit IRC | 09:07 | |
*** yamamoto has joined #openstack-karbor | 09:13 | |
*** yamamoto has joined #openstack-karbor | 09:14 | |
chenying | yuval: So could you do the patch adding a new jenkins about trove integration in karbor gate later? I'm not familiar with jenkins definition in project-config. | 09:16 |
*** yamamoto has quit IRC | 09:16 | |
*** yamamoto has joined #openstack-karbor | 09:17 | |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 09:20 |
*** yamamoto has quit IRC | 09:21 | |
*** yamamoto has joined #openstack-karbor | 09:21 | |
*** yamamoto has quit IRC | 09:26 | |
*** yamamoto has joined #openstack-karbor | 09:30 | |
*** yamamoto has quit IRC | 09:38 | |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 09:39 |
*** liujiong has quit IRC | 10:06 | |
openstackgerrit | Pengju Jiao proposed openstack/karbor master: [WIP] Use full listing in bank plugin https://review.openstack.org/484319 | 10:17 |
*** yamamoto has joined #openstack-karbor | 10:37 | |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 11:53 |
*** jiaopengju has quit IRC | 11:58 | |
*** gouthamr has joined #openstack-karbor | 13:01 | |
*** jiaopengju has joined #openstack-karbor | 13:23 | |
openstackgerrit | Yuval Brik proposed openstack/karbor master: Operation Engine: Trigger Multi Node Support (WIP) https://review.openstack.org/481106 | 13:42 |
*** yamamoto has quit IRC | 13:49 | |
*** zhurong has joined #openstack-karbor | 13:59 | |
*** zhurong has quit IRC | 13:59 | |
*** yamamoto has joined #openstack-karbor | 14:09 | |
*** yamamoto has quit IRC | 14:09 | |
*** NatanBro has quit IRC | 14:22 | |
*** jiaopengju has quit IRC | 14:25 | |
*** yamamoto has joined #openstack-karbor | 14:40 | |
*** yamamoto has quit IRC | 14:46 | |
*** zengyingzhe_ has joined #openstack-karbor | 17:06 | |
*** zengyingzhe has quit IRC | 17:06 | |
*** gouthamr has quit IRC | 22:12 | |
*** gouthamr has joined #openstack-karbor | 22:15 | |
*** gouthamr has quit IRC | 23:32 | |
*** gouthamr has joined #openstack-karbor | 23:51 | |
*** gouthamr has quit IRC | 23:53 | |
*** gouthamr has joined #openstack-karbor | 23:54 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!