Saturday, 2020-04-18

*** jamesmcarthur has joined #zuul00:58
*** jamesmcarthur has quit IRC01:12
*** jamesmcarthur has joined #zuul01:12
*** swest has quit IRC01:14
*** jamesmcarthur has quit IRC01:19
*** armstrongs has quit IRC01:28
*** swest has joined #zuul01:30
*** jamesmcarthur has joined #zuul01:48
*** jamesmcarthur has quit IRC02:44
*** jamesmcarthur has joined #zuul02:44
*** Goneri has quit IRC03:19
*** bhavikdbavishi has joined #zuul03:20
*** bhavikdbavishi1 has joined #zuul03:23
*** bhavikdbavishi has quit IRC03:24
*** bhavikdbavishi1 is now known as bhavikdbavishi03:24
*** cdearborn has quit IRC03:50
*** bhavikdbavishi has quit IRC03:57
*** evrardjp has quit IRC04:37
*** evrardjp has joined #zuul04:37
*** bhavikdbavishi has joined #zuul04:39
*** bhavikdbavishi has quit IRC04:59
*** bhavikdbavishi has joined #zuul05:00
*** jamesmcarthur has quit IRC05:06
*** bhavikdbavishi has quit IRC05:31
*** bhavikdbavishi has joined #zuul05:52
*** igordc has joined #zuul06:39
*** bhavikdbavishi has quit IRC07:10
*** bhavikdbavishi has joined #zuul07:45
*** igordc has quit IRC08:06
*** sassyn has joined #zuul10:35
sassynhi everyone10:43
sassynzuul is super cool! thank u for this amazing tool!10:43
sassynis status_url=https://zuul.domain.local/status10:45
sassynalso: when trying to get to the https://zuul.domain.local/api/tenants/domain.local/status10:46
sassynI get Fetching info... but there is an error on the chrome console:10:47
sassynUncaught (in promise) TypeError: Cannot read property 'responseURL' of undefined    at u (errors.js:29)    at t.a (errors.js:28)    at combineReducers.js:120    at c (createStore.js:165)    at index.js:11    at dispatch (applyMiddleware.js:35)    at info.js:4010:47
sassynon this line:    url: error.request.responseURL || error.url10:47
sassynI have steup this in my zuul config file:10:48
sassyn[webclient]10:48
sassynZuul REST API also doesn't seem to be working... when trying to put some value in the text box - it get red and seems like nothing happen. I also check this in the openstack zuul and it seems to be the same10:49
sassynI need this cause I want to use the secret option to encrypt the password for the server logs10:50
*** bhavikdbavishi has quit IRC10:55
*** bhavikdbavishi has joined #zuul10:57
*** bhavikdbavishi has quit IRC12:01
fungisassyn: are you able to get to the status json output, like this? https://zuul.opendev.org/api/tenant/openstack/status12:22
sassynfungi: got it working13:05
sassynthank you13:05
fungiyou're welcome!13:06
fungiwhat did the problem end up being?13:06
sassyni used tenatns and not teant13:07
sassynit is amazing project!!!! really!13:07
sassynwhich /api/tenant/<tenant>/key/<project>.pub should I used? if the job is part of a base job13:08
fungihappy you think so (and that you got it working)13:08
sassynu need to read a lot13:09
sassynto understand13:09
sassynbut once u understand - it is super super cool!13:09
sassynI still didn't manage to get the logs13:09
sassynwhat it is the use of ;status_url=https://zuul.domain.local/status13:10
sassynis it working?13:10
fungithe key you encrypt with needs to be the one for the project which will contain the secret13:10
sassynI have a post-logs.yaml13:11
sassyn- hosts: localhost13:12
sassynthe job is in the zuul-config13:12
sassyn  post-run:13:12
fungisassyn: https://zuul-ci.org/docs/zuul/discussion/components.html#attr-web.status_url13:13
fungithough the source code has a todo comment adjacent to that with a question as to whether it's required13:13
sassynfungi, I still don't understand one thing regarding secret. I have a a base job in the config-projects name zuul-config. part of the base job is a post-run playbook that doing the add-fileserver + generate-zuul-manifest +upload-logs.13:30
sassynthe add-fileserver require to have a secret - but should the secret be in the .zuul file of the untrusted-projects ?13:31
fungiit should be in the same repository as the base job playbook which uses it13:31
fungihere's what we do in our base-jobs repo for opendev: https://opendev.org/opendev/base-jobs/src/branch/master/zuul.d/secrets.yaml13:31
sassynbut with which pub key? api?13:32
fungithose opendev_cloud_.* secrets are the credentials we use to upload our logs to an object store13:32
sassynfrom the zuul-config ?13:32
sassynor from the untrusted-projects name of the project13:33
fungiin that case we encrypted them with http://zuul.opendev.org/api/tenant/opendev/key/opendev/base-jobs.pub13:34
fungithe key for the opendev/base-jobs repo which contains them13:34
sassynso jobs in the base jobs are execute on the zuul-executor13:34
fungithe rule of thumb is that whatever repository you'll be putting the secret in, that's the repository whose key you need to use to encrypt them13:35
sassynOK understood13:35
fungisassyn: yes, in our case those log storage credentials are added to our base job like this: https://opendev.org/opendev/base-jobs/src/branch/master/zuul.d/jobs.yaml#L25-L7313:36
fungithey're used by playbooks/base/post-logs.yaml in the post-run phase13:36
fungiand yeah, that runs a task on the executor to use them: https://opendev.org/opendev/base-jobs/src/branch/master/playbooks/base/post-logs.yaml#L113:38
fungi"hosts: localhost" means the executor13:38
fungithere it's passing them to the upload-logs-swift role from zuul/zuul-jobs13:40
fungipart of zuul's standard library13:40
sassynI'm still failing to run this :-(13:50
sassynhttps://pastebin.com/9sxts1qr13:52
sassynthis is what I have in the zuul-config config project13:52
sassynunder the name jobs.yaml13:52
sassyn- hosts: localhost13:52
sassynand this is playbooks/base/post-logs.yaml13:53
sassynand this is playbooks/base/post-logs.yaml13:53
sassynwhen running I'm getting:  "msg": "The task includes an option with an undefined variable. The error was: 'site_logs' is undefined\n\nThe error appears to be in '/var/lib/zuul/builds/23e352a315724cb4a3dbd0472462fd9f/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-fileserver/tasks/main.yaml': line 6, column 3, but may\nbe elsewhere in the13:54
sassynfile depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create SSH private key from secret\n  ^ here\n"13:54
sassynfungi I managed!14:48
sassynthank u ! again14:49
fungisassyn: sorry i stepped away to pick up groceries for the coming week, but glad you worked it out!14:53
sassynNo worried14:53
sassynI hope u are safe14:53
sassynhere in Israel it is crazy to go to the shop14:53
sassynwaiting for hours14:53
fungiyep, all's good here. stay safe yourself14:53
fungiluckily we can order groceries online and then the store will place them in the back of our car for us, that way we don't have to go in14:54
fungithe downside is that we have to plan our grocery order a week ahead of time because all the pickup appointments get booked as soon as they come available14:55
sassynone more question15:33
sassynis it possible to run on a node15:33
sassynmore than one job in the same time?15:33
sassynor it will always run a single job15:35
fungii believe you can set the number of concurrent jobs allowed to run on a static node, but i expect the design of the node request and fulfillment system makes running multiple builds on an ephemeral job node impractical15:53
* fungi checks docs about concurrent builds for static nodes15:53
fungisassyn: yeah, here it is: https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[static].pools.nodes.max-parallel-jobs15:55
sassynthe question15:55
sassynis where the src code will be save from the merger point of view15:56
fungievery merger daemon has a local copy of all repositories you've configured zuul to know about15:56
sassynbut when this run on the node15:56
sassynit copy it to /user/src15:56
sassynthe job trigger a prepare-workspace15:57
sassynwhich copy the code from the git to /home/user/src15:57
sassynif multi jobs will run where the code will be ?15:58
fungiif you want a copy of the source code on a remote job node (and most people do), there is an ansible role in zuul-jobs which tells the executor to push copies of required projects (including the implicit one, the project which triggered the build) onto nodes15:58
fungihow that interacts with parallel builds on a static node, i'm not sure15:58
fungisomeone else in here might know the answer to that15:59
*** olaph_ has joined #zuul16:00
sassyn:-)16:00
sassynI need to buy u a beer16:00
*** olaph has quit IRC16:00
*** olaph_ is now known as olaph16:00
fungii have plenty of beer here already, but the sentiment is appreciated16:01
fungii'm just glad to see people interested in using and learning about the software16:01
*** sgw has joined #zuul16:20
*** evrardjp has quit IRC16:37
*** evrardjp has joined #zuul16:37
SpamapSsassyn: Zuul's been designed around cloud semantics mostly. Static nodes are a special case that it doesn't handle super well. They're always locked via nodepool as 1 node == 1 job.16:41
SpamapSYou might have some luck putting kubernetes on those nodes if you want to share resources.16:42
tristanCiirc, running parallel jobs on a static nodes requires some trick to make the prepare-workspace use a dedicated directory per build16:52
tristanCsassyn: we have solved that issue by using different ssh user, then you can register a single static node multiple time in the static provider using different username16:53
tristanChere is an example of that multi user per static node idea: https://softwarefactory-project.io/cgit/config/tree/nodepool/ansible.yaml16:54
tristanC(fwiw, here is the dhall expression that render that host list: https://softwarefactory-project.io/cgit/config/tree/nodepool/ansible.dhall )16:55
sassyntristanC and SpamapS thank you16:55
sassyntristanC I like your option16:55
sassynmy question is which ssh key you used for this?16:58
tristanCsassyn: the zuul executor ssh key16:59
sassyncause in the executor u have default_username16:59
sassynand private_key_file16:59
sassynso all user have the same key?16:59
sassynusers*17:00
tristanCsassyn: yes, not sure there is another way around17:04
zbrmay I suggest using tags/labels to determine on which node a job should run?17:44
zbri seen this used in several places (jenkins too), and is cool and extensible way to control where a job can run, also sorts the specific node issue by using node-specific labels.17:46
*** hashar has joined #zuul17:49
*** hashar has quit IRC17:49
fungileaving the terminology aside, you mean specifically being able to give multiple different identifiers to the same node17:58
fungiif so, we basically already do that17:58
fungiwe can boot nodes with a variety of different identifiers from the same images17:59
fungiso your designation of where to run the job doesn't have to be a 1:1 mapping to your set of available images to boot17:59
*** tobiash has quit IRC18:17
*** tobiash has joined #zuul18:18
*** sassyn has quit IRC19:49
*** jamesmcarthur has joined #zuul20:41
*** jamesmcarthur has quit IRC20:51
*** andreaf has quit IRC21:03
*** andreaf has joined #zuul21:04
*** noonedeadpunk has quit IRC21:06
*** noonedeadpunk has joined #zuul21:07
*** Goneri has joined #zuul22:18
*** paladox has quit IRC22:37
*** paladox has joined #zuul22:42

Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!