Thursday, 2015-07-16

*** yonglihe has joined #senlin00:43
*** Qiming has joined #senlin00:49
openstackgerritMerged stackforge/senlin: Updated from global requirements
*** Qiming has quit IRC01:11
*** openstack has joined #senlin01:26
*** Yanyanhu has joined #senlin01:26
*** jruano has quit IRC01:26
*** htruta_ has joined #senlin01:34
openstackgerritYanyan Hu proposed stackforge/senlin: Using openstacksdk function call in keystone_v3 driver
*** jdandrea has quit IRC01:38
*** jruano has joined #senlin01:48
*** Qiming has joined #senlin01:53
Yanyanhulate today :)01:56
Qimingyip, slept so well ...01:57
Yanyanhusigh, I'm very sleepy today, only slept about 5 hours yesterday01:57
Yanyanhuin such as conmfortable day.... what a pitty...01:58
Qiming:) I can buy you some coffee01:58
Yanyanhuthanks... after start coding, will not sleepy anymore ;)01:58
Qiminglixinhui_, your two patches02:03
Qimingthey are supposed to be two patch sets of the same thing02:04
Qimingcan we abandon this one:
Qimingand propose a patch set 2 for this one: ?02:05
*** lixinhui_ has quit IRC02:07
Yanyanhuhi, Qiming, about the patch of adding user/domain/project properties for policy object, I think it's ok. Just one question, for the case of cluster_policy_attach action, whose owner informatoin we should use to build the credential params02:08
Yanyanhuthe cluster or policy?02:08
*** lixinhui_ has joined #senlin02:09
QimingI think the cluster is it02:09
Yanyanhuok, me too02:09
Qimingactually they should be the same thing02:09
Yanyanhuactually, this is a comon questoin, not only for this patch02:09
Qimingneed to add a check whether a cluster and a policy are owned by the same user02:10
Yanyanhubut in come cases where different users create the cluster and policy respectively02:10
openstackgerritMerged stackforge/senlin: Using openstacksdk function call in keystone_v3 driver
openstackgerritMerged stackforge/senlin: Remove initilization of auth and session attrs in some drivers
openstackgerritMerged stackforge/senlin: Add user/project/domain to policy objects
*** lpy has joined #senlin02:25
*** lpy has left #senlin02:26
*** mathspanda has joined #senlin02:30
*** mathspanda has left #senlin02:30
Qimingsigh, this is shit:
Yanyanhualarm is moved to another project?02:45
Qiminghas anyone heard of that?02:46
Yanyanhuif the interface is not backward compatible, it's terrible02:46
Qimingany discussion on the deprecation of the alarm support?02:47
Qimingit is removing the alarm support "cleanly" from ceilometer02:47
Yanyanhuit's insane...02:48
Yanyanhua big problem for those users who rely on ceilometer to prvoide alarm trigger support02:49
lixinhui_what will senlin depend for alarm functions02:51
Qimingmost policies are supposed to be triggered from things like ceilometer alarms02:52
*** htruta_ has quit IRC03:04
*** jruano has quit IRC03:59
*** jruano has joined #senlin03:59
lixinhui_senlin engine can not work with oslo.utils 1.9.0?04:42
openstackgerritJulio Ruano proposed stackforge/senlin: Add test case for Heat Stack Profile
*** Zhen has joined #senlin05:24
*** Zhen is now known as Zhenqi05:24
*** jruano has quit IRC05:35
Yanyanhuhi, lixinhui_, the engine works well with 1.9.0 oslo.utils in my local env05:35
QimingI'm suffering from some problems regarding the pbr version change05:36
Qimingsolving it by upgrading packages that are not pbr 1.3.0 friendly05:37
Qimingnetwork is really bad: 1.8MB 2.7kB/s eta 0:17:0805:40
lixinhui_seems not related to my past 37954605:40
Qimingit is not the same, but similar05:49
Qimingall caused by the recent changes to package version requirements05:49
QimingI'm doing quite some package upgrades in hope the senlin-engine can be launched again05:57
Yanyanhuwith pbr version == 1.3.0?05:58
Qimingquite some packages have to be upgraded05:58 will this pbr version conflict problem be resolved completely, seems it influences many projects05:59
Qimingoslo.middleware, python-heatclient, sqlalchemy-migrate, netaddr, WebOb, oslo.config, oslo.i18n ...05:59
Yanyanhu... I'm still using old version pbr(0.11) to make engine work06:00
QimingI'm trying things new, ;)06:00
Qimingdon't know whatelse is broken now06:00
Qimingwe'll see06:00
Qimingokay, solved06:02
Qimingengine starts fine now06:02
Qimingso does api06:02
lixinhui_let me know your best practice06:02
lixinhui_btw, my engine still now work with pbr==0.1106:02
lixinhui_but oslo.utils an six already updated06:03
Qimingthe good thing about the requirements.txt file is it tells you the lowest version you will need for each package06:03
Qimingbut sometimes, a package update may influence almost all projects06:03
Qimingone of the examples was the migration from to oslo_xxx namespace06:04
Qimingit caused a lot of pain across projects06:04
Qimingthe bad thing about the requirements.txt file is you never know which version works best for you06:04
Qimingthis is especially true when you are running some gate jobs06:05
Qimingthe gate is always using some latest packages06:05
Qimingthe best practices?06:05
Qimingreinstall devstack each time some package version is changed06:05
Qimingthat is guaranteed to work, ;)06:06
Qimingthat will be a huge pain, but it is how packages are tested, :(06:07
ZhenqiHi Qiming06:28
ZhenqiI need to know how can I run a subset of tests using 'tox'?06:28
Zhenqijust a example06:29
QimingI will do  this06:31
Qimingpython -m senlin.tests.test_cluster06:31
Yanyanhuhi, Qiming, did you know this project? 'Group based policy'
Qimingit is neutron ?07:00
Yanyanhuyes, it's now in neutron's I think07:01
Yanyanhuseems a policy based network management framework07:01
Yanyanhujust looked around and saw it :)07:01
YanyanhuI saw the 'policy' keyword07:02
Qimingit is mainly about packet forwarding rules I think07:03
Yanyanhuyes, guess so07:03
Qimingotter is more relevant to us, I think:
*** Tiancheng has joined #senlin07:06
Yanyanhuem, recalled you mentioned it before07:07
Tiancheng@lixinhui, hello~~07:07
Yanyanhuwill spend some time on it07:07
Qimingdon't need an @ here, ;)07:08
Tianchengor say, @ does not make any difference...07:08
Yanyanhuhello, Tiancheng07:08
lixinhui_hello, tiancheng07:08
lixinhui_qiming/yanyan, btw, is this correct? RequirementParseError: Expected version spec in qpid-python;python_version=='2.7' at ;python_version=='2.7'07:09
lixinhui_in requirement.txt07:09
Qimingthat is a pbr error07:09
Qimingparsing that line, actually any line containing a environment constraint, requires pbr>1.3.007:10
lixinhui_so, I need to upgrade it to 1.3.0?07:10
Qimingand pip 7.1.007:10
Yanyanhuso you may want to update you virtualenv package07:11
Qimingpip 7.1.0 requires virtualenv >= 13.1.007:11
Qimingthis wasn't mentioned anywhere I think, but "lifeless" told me so yesterday07:11
Qimingso ...07:11
Qimingyou will do this:07:11
Qimingsudo pip install --upgrade pip   <-- install pip 7.1.007:12
Qimingsudo pip install virtualenv==13.1.007:12
Qimingsudo pip install pbr==1.3.007:12
Qimingthen try the things you are working on07:12
lixinhui_okay let me try07:13
QimingYanyanhu, what are we storing in the webhook.credential field?07:14
Qimingauth_url and password?07:14
YanyanhuQiming, yes, and also user_id07:15
Yanyanhu'user' actually07:15
Yanyanhuor if user_name is provided, domain/project is also supposed to be there07:15
Qimingwebhook.user is a duplication?07:15
Yanyanhuno, the user store in credential is supposed provided explicitly/implicitly when webhook is created07:16
Yanyanhuso it could be the same as the webhook.user07:16
Yanyanhuand maybe not in some cases07:16
Yanyanhue.g. user A07:16
Yanyanhucreate a webhook and supply a credential of user B07:17
Yanyanhuuser info in credential will be used to do the action when webhook is triggered07:17
Qimingthe URI to trigger a webhook will be something like this:07:30
YanyanhuQiming, actually param field does not exist there07:32
Yanyanhulet me have a check07:33
Yanyanhuem, I was wrong07:34
YanyanhuI think the operation of attaching params to the url is ommited in current implementation of Webhook.generate_url07:36
Qimingdesigned, but not implemented07:36
lixinhui_have you guys met "cannot import thin" when $senlin XX08:06
*** lixinhui_ has quit IRC08:12
QimingI did something stupid ...08:15
QimingI removed all packages under /usr/lib/python2.7/site-packages/08:16
Yanyanhuhow... using rm -rf...08:17
Qimingthen I cannot do yum08:17
Qimingbecause yum is written in Python08:17
Yanyanhuyou may need to install one from rpm08:18
Qimingthe only thing I can do: download individual rpm packages required, and install them using rpm -ivh --force ...08:18
Yanyanhuseem so...08:18
Yanyanhuor you can install yum and pip and run
Yanyanhumaybe all dependecies will be reinstalled08:19
Qimingyou know what, I am more stupid than that08:19
Qimingno ... cannot do that08:19
openstackgerritYanyan Hu proposed stackforge/senlin: Test case for neutron_v2 driver(1)
Qimingthere are things called python-urlgrabber08:20
Qimingpython-iniparser ...08:20
Qimingpython-dateutils ....08:20
Qimingall rpm packages08:20
QimingI'm using VirtualBox08:22
Qimingwhy didn't I start from a saved RHEL70 image?08:22
Yanyanhuoh, not your physical server08:22
QimingI was copying files one by one .... sigh08:23
Yanyanhuyes, if it's a VM, you can reinstall the entire env I guess :)08:23
QimingI have snapshots ...08:23
QimingI need some cigar ... something is wrong in my head ...08:23
Yanyanhutake a break08:24
Yanyanhumaybe you can ask Tiancheng together ;p08:24
Tianchengsomeone mentioned my name?08:28
TianchengI need VirtualBox!08:29
Tianchengtried to download twice while Symentec removed the downloaded file as soon as the download completed108:29
*** Zhenqi has quit IRC08:30
*** Zhenqi has joined #senlin08:37
Qimingyou can buy one08:40
*** lixinhui_ has joined #senlin09:00
*** yonglihe has quit IRC09:06
openstackgerritQiming Teng proposed stackforge/python-senlinclient: Remove thin methods which is not used
QimingYanyanhu, please review ^09:12
Qimingthis is causing problems in the client side09:12
YanyanhuQiming, ok09:14
Yanyanhuhave you solved the network problem :)09:15
Qimingtried bing ....09:16
Qimingnot useful at all09:16
Qimingthe only thing I saw is that a million questions asked for the same problem09:17
Qimingthere are links to redhat solutions09:17
Yanyanhuem, in this situation, google is the only useful way...09:17
Qimingand redhat demands for a subscription to read the answer09:17
Qimingokay solved09:19
Qimingthe ifcfg-xxx file contains a HWADDR field, it doesnt match the MAC address ...09:19
*** Zhenqi has quit IRC09:21
Yanyanhuhi, Qiming, this patch resloved the problem about 'thin' lixinhui met
YanyanhuI think this change has not been included in sdk's 0.4.1 release?09:25
Tianchengone question about Keystone trust: assuming I am a user of Openstack, can i delegate my privilages of manipulating my VMs to some other users?09:31
openstackgerritMerged stackforge/python-senlinclient: Remove thin methods which is not used
Yanyanhuhi, Tiancheng, you can I think09:35
Tianchengis it required that the two users belongs to the same tenant?09:36
Yanyanhuno, just need to ensure the project scope in trust is a subnet of the project scope of your own user09:37
Yanyanhuthe subnet or the same scope09:37
Yanyanhuotherwise, the trust can't be created successfully09:37
Yanyanhuoh, sorry09:38
Yanyanhuthis is for role09:38
Yanyanhunot for project09:38
YanyanhuTiancheng, you can specify a project when creating a trust, but it's optional09:43
Tianchengso for short, a "trust" includes: (1) the trusted user and (2) a "scope"?09:44
Yanyanhuit is usually used with 'roles' parameter together to specify the scope of trust09:44
Tianchengwhat is a role?09:45
Yanyanhua user can have one or multiple roles in a single or several different projects09:45
Yanyanhuit is used to define what kind of action a user can do, and the constraints examination is usually done by policy check09:46
Yanyanhuand role is limited in scope of a single project09:48
Yanyanhue.g. user A can have 'admin' role in project_1 and have 'member' role in project_209:48
Yanyanhuso user can define the scope of a trust by specify the 'project_id' and 'roles' parameters. If so, the trustee will only be delegated the authorization in specified project with specified roles of the trustor09:54
Yanyanhunot sure how keystone implemented this :)09:54
Yanyanhua doc about trust design in keystone v3 API
*** Yanyanhu has quit IRC10:06
openstackgerritMerged stackforge/senlin: Getting Started Doc (6)
*** Qiming has quit IRC10:27
*** lixinhui_ has quit IRC10:46
*** lixinhui_ has joined #senlin10:51
*** Tiancheng has quit IRC10:53
*** lixinhui_ has quit IRC11:10
*** lixinhui_ has joined #senlin11:12
*** Qiming has joined #senlin11:30
*** lixinhui_ has quit IRC11:37
*** lixinhui_ has joined #senlin11:37
*** lixinhui_ has quit IRC11:48
*** lixinhui_ has joined #senlin11:57
openstackgerritQiming Teng proposed stackforge/senlin: Revise devstack README.rst with new git repo
*** lixinhui_ has quit IRC12:09
*** lixinhui_ has joined #senlin12:10
*** jruano has joined #senlin12:56
*** Tiancheng has joined #senlin13:18
QimingTiancheng, there?13:29
Tianchengfor now13:29
QimingPOST http:/sdfaf.asdfa/res?abc=def&efg=12313:29
Tianchengyou caught me just in time -- I might go offline in 5 mins otherwise13:30
Qiminghow this looks to you?13:30
Tianchengno idea what it is13:30
Qimingquery strings usually used for GET13:30
TianchengPOST supposes to create a new resource13:30
Tianchengright. query changes nothing and it should use GET13:31
Qimingis it okay to use them for POST?13:31
Qimingkeep thinking13:31
Qimingyou can go now13:31
Tianchengwell. if you just use it in that way, nobody will put you into prison. but from the API perspective, people will get confused13:31
Tianchengany special reason to use POST, not GET for a query?13:32
Qimingto trigger an action13:35
Tianchengto trigger an action, it is not a query...13:41
Tianchengby "trigger an action", you will create a new "action" instance? or there is an "action" and you just kick its ass?13:42
Tianchengif the first case, you should use POST; if the second, you should use PUT13:42
Qiminga new action13:42
Tianchengthen POST is good13:42
Qimingno ...13:42
Tianchengbut ...13:43
Qimingthe url looks like this: http://{host:port}/v1/{tenant_id}/webhooks/{webhook_id}/trigger?key=$KEY13:43
Tianchengwhat is "trigger"?13:43
Qiminga verb13:43
Tianchengthere should not be a "verb" -- the HTTP has already had verb13:44
QimingHTTP is too naive13:44
Qimingyou cannot express everything as just create/delete/update/list13:44
Tianchengyou can :)13:45
QimingI want to trigger a webhook, exposed at URI ..../webhooks/{webhook_id}13:45
Tianchengwhy not POST http://{host:port}/v1/{tenant_id}/webhooks/{webhook_id}/actions13:45
Qimingwhat would you suggest?13:45
Qimingno, actions are internal concepts13:46
Tianchengthen create a new actio13:46
Tianchengso... what is webhook?13:46
*** jdandrea has joined #senlin13:46
Qiminga webhook is just an abstraction of a tuple (user, object, action, params)13:47
Qimingit is just an URL13:47
Tianchengeach URL should represent a resource or a collection of resources13:47
Tianchengyou are not properly defining the resource model13:48
Qimingthat is why I was saying that it is too naive13:48
QimingI know it is a problem, but if you conform strictly to the convention13:48
Qimingyou will need something like:  .../actions/13:49
Qimingyou post things there in a json body13:49
Tianchengnormally.. I do this in the way that I pacakge a lot of things in the JSON body13:50
Tianchengand, I use PUT13:50
Tianchenganother rest anti-pattern :P13:51
Qimingsee this:;SignatureMethod=HmacSHA256&amp;AWSAccessKeyId=2c7195e4a64140719131680bf8a96d4b&amp;SignatureVersion=2&amp;Signature=hbQCSYsjd2f9%2FeH1mKZpszI4ec20Ot0mVLBtCbkLpDU%3D13:52
Qimingthis is a webhook in Heat, mimicing how Amazon does webhook13:53
Tianchengsee... you will have no idea what this URL means...13:53
Qimingsignal is a "resource"13:53
Qimingyou post an ARN/URN to that resource13:54
Qimingthe object encoded in the ARN/URN will be signaled13:54
Qimingsignal looks like a verb to me13:54
Tianchengsignal can be a resource13:55
Tianchengyou create a new signal and once it is created, it sends itself to someone13:55
QimingARN is a resource name, encoding a thing to be signaled, ;)13:55
Tianchenganyway, no matter how ideal you are at the beginning, you can end up with some argly implementation -- that is the reality13:57
QimingI was just trying to be not soooo anti-pattern13:58
Qimingso, back to the webhook triggering design14:00
Tianchengheadache... and 被老外放鸽子.. go to bed now14:01
QimingPOST http://{host:port}/v1/{tenant_id}/webhooks/{webhook_id}/actions14:01
Tianchengtalk to you tomorrow14:01
Qimingthis is what you would suggest14:01
Qimingeven the only "action" would be "trigger"14:01
*** Tiancheng has quit IRC14:05
*** lixinhui_ has quit IRC14:31
*** Qiming has quit IRC16:44
openstackgerritOpenStack Proposal Bot proposed stackforge/senlin: Updated from global requirements
*** htruta_ has joined #senlin17:46
*** htruta_ has left #senlin18:11
*** jruano has quit IRC22:04
*** jruano has joined #senlin22:08
openstackgerritOpenStack Proposal Bot proposed stackforge/senlin: Updated from global requirements

Generated by 2.14.0 by Marius Gedminas - find it at!