Thursday, 2016-01-28

xuhaiweiQiming, didn't see your messages yesterday, I will think about the patch00:25
*** Qiming has quit IRC00:27
*** Liuqing has joined #senlin01:09
*** Yanyanhu has joined #senlin01:11
*** dixiaoli has quit IRC01:21
*** Qiming has joined #senlin01:22
*** Yanyan has joined #senlin01:27
*** Yanyanhu has quit IRC01:30
openstackgerritOpenStack Proposal Bot proposed openstack/senlin: Updated from global requirements
*** elynn has joined #senlin02:11
*** lixinhui_ has joined #senlin02:14
*** elynn_ has joined #senlin02:17
*** elynn has quit IRC02:18
*** lixinhui_ has quit IRC02:20
*** dixiaoli has joined #senlin02:21
*** cschulz_ has quit IRC02:21
*** lixinhui_ has joined #senlin02:22
*** lixinhui_ has quit IRC02:22
openstackgerritMerged openstack/senlin: Updated from global requirements
*** elynn_ has quit IRC02:27
openstackgerritMerged openstack/senlin: Improve size parameter checking function
openstackgerritMerged openstack/senlin: Make node-delete return an action ID
*** elynn has joined #senlin02:47
openstackgerritQiming Teng proposed openstack/senlin: Fix DB concurrency problem
Qiminghi guys02:48
Qimingplease help review 273319 above02:48
QimingI believe we are experiencing some inconsistency problems again, reported by some colleages in IBM02:49
Yanyanwill check it02:49
Qimingthere might be some performance hurts02:49
Yanyanany bug report on it?02:49
Qimingbut the correctness always has a higher priority than that02:49
YanyanQiming, that's for sure02:50
YanyanQiming, actually xujun also asked me the question that how we ensure the consistency when acquiring lock of cluster02:51
Yanyanmy answer is it relies on the transaction supported by db02:52
Qimingit is still annoying02:52
Yanyanlooks like we still need more attention on this issue02:52
QimingI'm guessing that oslo.db has a better model on this02:52
Yanyanhope so, since it's their duty I believe02:53
Qimingmistral already complained about this, and they have come up with their own transaction manager02:53
Qimingbut the transaction manager is fragile also, just saw some complaints on mailinglist02:53
QimingCurrently we are still using EngineFascade, which has been renamed to LegacyEngineFacade internally in oslo.db02:54
Yanyando need spend sometime on oslo.db02:54
Yanyanto learn its latest support02:55
Qimingit is about the stability of our engine02:55
Yanyanyes, we have to address this issue in Mitaka I think02:55
Yanyanwill spend sometime on it. Maybe we can leave a workitem in etherpad02:56
Yanyanleave for while, talk later02:56
*** dixiaoli_ has joined #senlin03:09
*** elynn has quit IRC03:11
*** dixiaoli has quit IRC03:12
*** elynn has joined #senlin03:13
*** elynn has quit IRC03:18
*** elynn has joined #senlin03:18
elynnHi Qiming03:34
Qimingthe service DB APIs are new inventions03:34
Qimingthey are not carrying context as parameters03:34
Qimingeach time it is getting a new db session03:34
Qimingso it is blocking the change related to db concurrency fix03:34
QimingI'm working on that03:34
elynnSo In the future, new db api always accept a ctx as parameters?03:35
elynnJust for convenience , I didn't pass ctx as a parameters.03:36
Qimingit is breaking our assumptions about DB03:36
elynnDo you need any help?03:36
QimingI'm fine03:37
Qimingalmost complete03:37
elynnNot very familiar with db, sorry about that.03:39
*** bdrich has joined #senlin03:55
openstackgerritEthan Lynn proposed openstack/senlin: Don't set verbose in default group
*** gongysh has joined #senlin04:10
*** elynn_ has joined #senlin04:15
*** elynn has quit IRC04:17
*** Liuqing has quit IRC04:20
*** Liuqing has joined #senlin04:21
*** elynn__ has joined #senlin04:22
*** elynn_ has quit IRC04:24
*** bdrich has quit IRC04:24
*** bdrich has joined #senlin04:25
*** xuhaiwei has quit IRC04:26
*** xuhaiwei has joined #senlin04:26
*** elynn__ has quit IRC04:32
*** elynn__ has joined #senlin05:09
*** elynn__ has quit IRC05:13
*** elynn has joined #senlin05:13
xuhaiweihi, Qiming, want to discuss about the action status and cluster status05:33
xuhaiweiwhen creating a cluster, if the action status is in [CANCEL, TIMEOUT, ERROR], the cluster will be set to ERROR status, but when updating a cluster, if action status is not OK, cluster will be set to WARNING status05:35
zigoIs version 0.1.0 of senlin-dashboard ready to be packaged in Debian?05:42
xuhaiweizigo, I think it is in pypi now05:46
zigoxuhaiwei: I don't use PyPi tarballs, I generate an orig.tar.xz using git archive. :)05:47
zigoI'm working on senlin-dashboard right now.05:47
zigoIt should be ready in a bit.05:47
openstackgerritMerged openstack/senlin: Don't set verbose in default group
zigoxuhaiwei: There's no "enabled" folder in senlin-dashboard, it'd be nice to have one, and not ask anyone to edit local_settings.py05:49
zigo(which is always a pain)05:49
QimingLiuqing, please help confirm?05:49
zigoCould this be fixed?05:49
zigoOh, saw it ...05:50
zigoThe README.rst talks about a file, though I can't find it anywhere.05:51
zigoAm I missing something?05:51
zigoLiuqing: ^05:51
openstackgerritMerged openstack/senlin: Fix cluster_create function
zigoHey, who's from 99Cloud, who's from Huawei over here?05:59
zigoI may know some of you, and didn't even notice! 囧05:59
zigoI just did when writing debian/copyright ...05:59
openstackgerritQiming Teng proposed openstack/senlin: Fix service DB API
QimingLiuqing is from 99cloud06:00
Qimingzhenguo is from Huawei06:00
zigoQiming: And yourself?06:01
Qimingzigo, I'm with IBM06:01
zigoLiuqing: So, you're in 上海 then, right?06:01
QimingLiuqing is from Wuxi (无锡) I guess06:01
zigoLiuqing: Maybe we can meet when I'm there after new year.06:01
zigoI thought 99Cloud was only in Shanghai.06:02
zigoM. 张 is a friend.06:02
zigoQiming: If you're with IBM, I guess you're in Beijing, right?06:04
Qimingyes, zigo06:05
openstackgerritMerged openstack/senlin: Fix cluster-resize parameter checking
openstackgerritQiming Teng proposed openstack/senlin: Fix service DB API
*** bdrich has quit IRC06:15
*** Yanyan has quit IRC06:19
*** Yanyan has joined #senlin06:19
Liuqingzigo, and you?06:20
openstackgerritQiming Teng proposed openstack/senlin: Fix DB coherency problem (again)
*** gongysh has quit IRC06:22
Qimingeyes needed on 273319 please06:23
Qimingelynn, please see if it makes senses06:23
elynnHi Qiming , I saw your patch06:24
elynnJust curious, lock api doesn't use context parameters, why they pass the tests?06:24
Qimingnot sure06:26
Qimingwe never get bandwidth to migrate from context to db_session06:26
Qimingthat will help us get a better idea about the db session thing06:27
elynnHi Qiming, these 2 codes needs fix too. and
Qimingelynn, can you help?06:33
Qimingmaybe as a dependent patch?06:33
QimingI'm laying another patch over this one already06:34
QimingI mean the DB coherency one06:34
elynnI got error from senlin engine: Service 94341336-faf3-488c-8526-28ba37e8f05c update failed: 'NoneType' object has no attribute 'update'06:35
Qimingwhat ?06:35
Qimingwhat context ?06:36
elynnin service update06:36
elynnif values is None: values = {}06:36
elynnyou remove it.06:36
elynnso values.update will raise error.06:36
QimingI replaced it06:36
Qimingwhich patch are you talking about?06:37
QimingI'm switching between so many patches06:37
Qimingwhat's the difference?06:38
elynnvalues is None now, and values.update raise error06:38
Qimingoh, shit06:38
elynnunit tests doesn't cover it , my bad...06:39
openstackgerritQiming Teng proposed openstack/senlin: Fix service DB API
openstackgerritQiming Teng proposed openstack/senlin: Fix service DB API
QimingYanyan, I'm proposing another patch for 23707406:52
openstackgerritMerged openstack/senlin: Add size checking for cluster scaling
Yanyanok, cool06:53
Yanyanwill check it06:53
Qimingoh no06:53
Qimingit is merged ...06:53
Yanyanyes, just workflow +106:53
Qimingokay, will propose a new patch for this06:53
Yanyanmaybe a patch :)06:53
*** junxu has joined #senlin06:53
Yanyana new patch06:53
openstackgerritMerged openstack/senlin: Fix service DB API
openstackgerritQiming Teng proposed openstack/senlin: Fix DB coherency problem (again)
openstackgerritQiming Teng proposed openstack/senlin: Fix DB coherency problem (again)
*** junxu has quit IRC07:23
openstackgerritQiming Teng proposed openstack/senlin: Fix cluster resize service call
QimingYanyan, ^ 273365 is an attempt to fix the problem about resize operation07:25
*** junxu has joined #senlin07:25
Yanyangot it07:26
QimingIt is about handling the case where you only specify min_size and/or max_size07:26
Qimingwill add test cases for cluster_resize ...07:26
Qimingcannot believe my eyes07:26
Qimingwe don't have unit test for cluster_resize ...07:26
Yanyanno problem. Just that use case is unusual07:27
Qimingyou can help double check07:27
Qimingreally unbelievable07:27
Yanyanok, will check it and add it if that's true...07:28
QimingI'm working on the unit tests07:28
Yanyanhi, Qiming, just quick look at it and found unit test for cluster_resize action is there07:29
Qimingcluster_resize action ?07:29
QimingI mean the cluster_resize() function in engine/service07:29
Yanyanyes, found several cases for do_resize method07:29
Yanyanah, that's true...07:30
*** junxu has quit IRC07:58
xuhaiweiHi I have a question about senlin node metadata08:18
xuhaiweihow is metadata used? it seems node's metadata has no relationship with nova instance's metadata08:19
openstackgerritYanyan Hu proposed openstack/senlin: Support property update for os.heat.stack profile
Qimingsenlin node metadata is currently not sent to the profile layer, xuhaiwei08:27
QimingThat is something we can improve if you have a use case08:27
*** dixiaoli has joined #senlin08:35
*** dixiaoli_ has quit IRC08:35
openstackgerritMerged openstack/senlin: Fix DB coherency problem (again)
xuhaiweiQiming, I just noticed that when leaving a node,  metadata is fetch from nova instance, since this metadata has no relationship with node's metadata, why should we get it? and it should be always {}08:38
xuhaiweis/when leaving a node/when leaving a node from a cluster/08:39
xuhaiweiYanyan, any idea about this?08:42
Yanyanhi, xuhaiwei, node's metadata will not be {} if it belongs to a cluster08:43
Yanyancluster information will be injected when nova server was created08:43
Yanyanlet me find the code08:43
xuhaiweiYanyan, I mean nova instance's metadata is always {}, see this
xuhaiweibecause if you don't put anything into instance's metadata when boot it, it will be blank08:46
Yanyanhmm, my fault, it is {} by default
Yanyanhi, xuhaiwei, that's two thing I think08:47
xuhaiweiyes, senlin node metadata and nova instance metadata is different08:47
xuhaiweiI am curious why should we fetch nova instance's metadata when leaving a node from a cluster08:48
Yanyanah, actually we hope cluster info should be there after node is created08:48
Qimingxuhaiwei, when a join a node to a cluster, we modify the metadata of the nova server08:48
Yanyanso we just partially implemented it08:49
Qimingwhen you are doing autoscaling or some other monitoring stuff08:49
Qimingyou will need to tell which cluster a nova server belongs to08:49
Qimingor else you won't be able to calculate, say, the average CPU utilization across a cluster08:49
xuhaiweiok, thanks , that makes sense08:50
Yanyanxuhaiwei, this is also what heat is doing in its asg resource :)08:50
xuhaiweigot it08:50
Yanyanto let ceilometer know how to make evaluation based on metering data of VMs08:51
Yanyanhi, Qiming, if it's ok, lets merge this patch
Yanyanit works. And need it for functional test rework08:52
Qimingyes, Yanyan08:57
Qimingfunctional tests need to be revised after this patch because engine is doing a little bit more stricter checking now08:57
Yanyanwill add 400 status_code to acceptable status list08:58
Qimingyou know what08:59
Qimingcurrently the functional tests are only testing the normal behavior08:59
Yanyanright :)09:00
Yanyanit doesn't cover exceptional cases09:00
Qimingwe are never testing how the service/api behaves under bad parameters09:00
Yanyanneed to add it09:01
Qimingactually, we touched this topic briefly during midcycle meetup09:01
Qimingwe may need to think of a tempest test bundle09:01
Qimingwhich performs api surface tests09:01
Yanyanto test api completeness09:01
Qimingwe may also need to improve the api docs, solidify what are the exceptions to expect if you are requesting a cluster to dance09:02
openstackgerritMerged openstack/senlin: Fix cluster resize service call
Yanyanyes, actually I found the API doc of most services don't provide detailed description about exceptional resp code09:03
Qimingnova is doing a good job in this space09:03
Yanyanthey just list normal status and error status list09:03
Qimingyep, at least they have documented things like this:09:05
QimingError response codes09:05
QimingcomputeFault (400, 500, …), serviceUnavailable (503), badRequest (400), unauthorized (401), forbidden (403), badMethod (405)09:05
Qimingthis is for the GET /v2.1/​{tenant_id}​/servers call09:06
Yanyanactually more detailed explanation will be helpful for user although it really difficult to cover all possible exceptional cased in API doc09:06
openstackgerritQiming Teng proposed openstack/senlin: Add unit test for cluster_resize in engine
QimingYanyan, about patch #27338509:15
Qimingit looks good09:16
Qimingjust want to raise a point in the test case:
Qimingwe should avoid using MagicMock()09:16
Yanyanyes, agree09:16
YanyanI should remove them from existing code09:16
Qimingthe reason is that MagicMock() make some errors go unnoticed09:16
Qimingokay, can be follow-up09:17
YanyanI remeber you talked with Tangchen about this issue :)09:17
Qimingdon't need to change this one I think09:17
Qimingprofile._check_action_complete = mock.MagicMock(return_value=True)09:17
Qimingthis can be just profile._check_action_complete.return_value = True09:18
Qimingbecause profile itself is a Mock already09:18
Yanyanif not, will use mock.patch.object09:18
Qimingjust learned how to patch a constructor09:19
Yanyanthat can be mocked as well?09:20
Qimingrefer to mock-1.0.1 documentation section 2.3.609:20
Qimingmock.patch.object seems don't work for __init__09:20
Qimingoh ... wait09:21
Qimingin your test case, profile is real object09:22
Yanyanyes, so I think mock.patch.object can be used09:23
Qimingyou should patch your object instance using 'self.patchobject(obj, 'method_name', return_value=something)'09:23
openstackgerritEthan Lynn proposed openstack/senlin: Re-enable lock breaker
openstackgerritEthan Lynn proposed openstack/senlin: Trival fix to service report
Yanyanoh, just learned something :)09:24
openstackgerritxu-haiwei proposed openstack/senlin: Fix server_metadata_update return value when leaving a node from cluster
Qimingxuhaiwei, what are we getting from 'replace_server_metadata()' and 'update_server_metadata()' ?09:36
openstackgerritYanyan Hu proposed openstack/senlin: Support property update for os.heat.stack profile
*** Yanyan has quit IRC09:42
*** Qiming has quit IRC09:54
xuhaiweiQiming, I only tried update_server_metadata10:10
xuhaiweiit worked10:10
*** Liuqing has quit IRC10:13
openstackgerritEthan Lynn proposed openstack/senlin: Re-enable lock breaker
openstackgerritEthan Lynn proposed openstack/senlin: Trival fix to service report
*** elynn has quit IRC10:50
*** Qiming has joined #senlin10:54
xuhaiweiQiming, I only tried update_server_metadata11:03
xuhaiweiit worked11:03
Qimingxuhaiwei, when you create a nova server with metadata11:04
Qimingwhat will happen?11:04
xuhaiweiwill test replace_server_metadata tomorrow11:04
xuhaiweiyou mean using 'nova boot' to boot a server?11:04
Qimingwe should not rely on the return value of update_server_metadata or replace_server_metadata to determine whether the do_join/do_leave is successful11:05
xuhaiweiif using 'nova boot --meta xxx=ddd', metadata will be store in instance property11:05
QimingI mean a nova server profile, with server metadata set to something {'key': 'value'}11:05
xuhaiweibut update_server_metadata method only return 'metadata' to senlin11:06
xuhaiweiI did not try that case11:06
Qimingyou still dont get the idea?11:06
xuhaiweiI tried to add a node to a cluster, the nova instance's metadata will be updated11:07
xuhaiweithat works fine11:07
Qimingignore the test results please11:07
Qimingit is only part of the storey11:08
Qimingline 34311:08
Qimingwhat is that line testing?11:08
xuhaiweiI didn't try 'I mean a nova server profile, with server metadata set to something {'key': 'value'}', I will try it11:08
Qimingit is testing the return value from leave_cluster11:09
xuhaiwei343 is testing whether return value is {} or {'cluster': xxx}11:09
Qimingokay, how can you be sure that the value will be {} if a node is being removed from a cluster?11:09
xuhaiweiif it is {} it means nova_leave succeeded11:09
xuhaiweiyes, I got it, it is not sufficient11:10
xuhaiweiI didn't realize that nova instance metadata can also be inputed by creating a node11:11
Qiminga server can be created with some metadata11:11
xuhaiweiyes, I will fix it tomorrow11:11
Qimingthe cluster key is only something we injected, we never know whether the server has some other data assigned11:11
openstackgerritQiming Teng proposed openstack/senlin: One more test case for deletion policy
openstackgerritCindia-blue proposed openstack/python-senlinclient: Add node check and recover into CLI
Ayushhello all, I just see that the bin folder from the master has been misplaced? Is there any reason?13:28
AyushActually it contains the scripts to start the services from devstack13:29
QimingAyush, the subdir was removed13:30
openstackgerritCindia-blue proposed openstack/senlin: Fix Error in Base Recover
AyushQiming, Is there any particular reason behind it?13:30
QimingAyush, searching13:31
*** Liuqing has joined #senlin13:32
*** achatterjee_ has joined #senlin13:32
AyushThanks Qiming13:33
QimingAyush, the reason is that we are letting pbr to take full control of the service install13:33
Qimingafter a normal install, you will find senlin-api, senlin-engine, senlin-manage binaries under /usr/bin13:35
Qiminglixinhui, there?13:36
Qiminghopefully, still there?13:36
*** cschulz has joined #senlin13:37
*** dixiaoli_ has joined #senlin13:37
openstackgerritCindia-blue proposed openstack/python-senlinclient: Add node check and recover into CLI
openstackgerritOpenStack Proposal Bot proposed openstack/python-senlinclient: Updated from global requirements
openstackgerritOpenStack Proposal Bot proposed openstack/senlin: Updated from global requirements
Qiminghi, I'm blocking your client patch not because it is bad, the reason is because dependency13:43
Qimingthe client operation won't work until sdk/server side fixes are in place13:43
lixinhuithanks for expalantion, Qiming, I see13:44
*** Liuqing has quit IRC13:44
lixinhuiI will submit openstacksdk patch very soon13:44
lixinhuihope not long block there13:44
Qimingit won't be, :)13:45
Qiming-2 to make sure it won't get merged accidentally13:45
*** Liuqing has joined #senlin13:47
*** Liuqing has quit IRC13:52
openstackgerritQiming Teng proposed openstack/senlin: Trivial: Make parse_exception cover all cases
openstackgerritQiming Teng proposed openstack/senlin: Fix service_get call in keystone driver
openstackgerritQiming Teng proposed openstack/senlin: Remove useless function from db model
*** achatterjee_ has quit IRC14:36
openstackgerritQiming Teng proposed openstack/senlin: Add missing options registration for webhook
Qimingcschulz, ^14:42
*** Qiming has quit IRC15:24
*** dixiaoli_ has quit IRC15:46
*** pratikmallya has joined #senlin15:57
*** bdrich has joined #senlin16:30
*** pratikma_ has joined #senlin16:33
*** pratikmallya has quit IRC16:34
*** pratikmallya has joined #senlin16:48
*** pratikma_ has quit IRC16:51
*** Ayush has quit IRC17:15
*** bdrich has quit IRC17:55
*** jdandrea has quit IRC18:27
*** jdandrea has joined #senlin18:28
*** bdrich has joined #senlin19:18
*** pratikma_ has joined #senlin19:41
*** pratikmallya has quit IRC19:43
*** pratikma_ has quit IRC20:33
*** pratikmallya has joined #senlin20:41
*** cschulz has quit IRC21:05
*** pratikma_ has joined #senlin21:32
*** pratikmallya has quit IRC21:33
*** pratikma_ has quit IRC22:17
*** Qiming has joined #senlin23:32

Generated by 2.14.0 by Marius Gedminas - find it at!