*** jamesmcarthur has joined #zuul | 00:58 | |
*** jamesmcarthur has quit IRC | 01:12 | |
*** jamesmcarthur has joined #zuul | 01:12 | |
*** swest has quit IRC | 01:14 | |
*** jamesmcarthur has quit IRC | 01:19 | |
*** armstrongs has quit IRC | 01:28 | |
*** swest has joined #zuul | 01:30 | |
*** jamesmcarthur has joined #zuul | 01:48 | |
*** jamesmcarthur has quit IRC | 02:44 | |
*** jamesmcarthur has joined #zuul | 02:44 | |
*** Goneri has quit IRC | 03:19 | |
*** bhavikdbavishi has joined #zuul | 03:20 | |
*** bhavikdbavishi1 has joined #zuul | 03:23 | |
*** bhavikdbavishi has quit IRC | 03:24 | |
*** bhavikdbavishi1 is now known as bhavikdbavishi | 03:24 | |
*** cdearborn has quit IRC | 03:50 | |
*** bhavikdbavishi has quit IRC | 03:57 | |
*** evrardjp has quit IRC | 04:37 | |
*** evrardjp has joined #zuul | 04:37 | |
*** bhavikdbavishi has joined #zuul | 04:39 | |
*** bhavikdbavishi has quit IRC | 04:59 | |
*** bhavikdbavishi has joined #zuul | 05:00 | |
*** jamesmcarthur has quit IRC | 05:06 | |
*** bhavikdbavishi has quit IRC | 05:31 | |
*** bhavikdbavishi has joined #zuul | 05:52 | |
*** igordc has joined #zuul | 06:39 | |
*** bhavikdbavishi has quit IRC | 07:10 | |
*** bhavikdbavishi has joined #zuul | 07:45 | |
*** igordc has quit IRC | 08:06 | |
*** sassyn has joined #zuul | 10:35 | |
sassyn | hi everyone | 10:43 |
---|---|---|
sassyn | zuul is super cool! thank u for this amazing tool! | 10:43 |
sassyn | is status_url=https://zuul.domain.local/status | 10:45 |
sassyn | also: when trying to get to the https://zuul.domain.local/api/tenants/domain.local/status | 10:46 |
sassyn | I get Fetching info... but there is an error on the chrome console: | 10:47 |
sassyn | Uncaught (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:40 | 10:47 |
sassyn | on this line: url: error.request.responseURL || error.url | 10:47 |
sassyn | I have steup this in my zuul config file: | 10:48 |
sassyn | [webclient] | 10:48 |
sassyn | Zuul 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 same | 10:49 |
sassyn | I need this cause I want to use the secret option to encrypt the password for the server logs | 10:50 |
*** bhavikdbavishi has quit IRC | 10:55 | |
*** bhavikdbavishi has joined #zuul | 10:57 | |
*** bhavikdbavishi has quit IRC | 12:01 | |
fungi | sassyn: are you able to get to the status json output, like this? https://zuul.opendev.org/api/tenant/openstack/status | 12:22 |
sassyn | fungi: got it working | 13:05 |
sassyn | thank you | 13:05 |
fungi | you're welcome! | 13:06 |
fungi | what did the problem end up being? | 13:06 |
sassyn | i used tenatns and not teant | 13:07 |
sassyn | it is amazing project!!!! really! | 13:07 |
sassyn | which /api/tenant/<tenant>/key/<project>.pub should I used? if the job is part of a base job | 13:08 |
fungi | happy you think so (and that you got it working) | 13:08 |
sassyn | u need to read a lot | 13:09 |
sassyn | to understand | 13:09 |
sassyn | but once u understand - it is super super cool! | 13:09 |
sassyn | I still didn't manage to get the logs | 13:09 |
sassyn | what it is the use of ;status_url=https://zuul.domain.local/status | 13:10 |
sassyn | is it working? | 13:10 |
fungi | the key you encrypt with needs to be the one for the project which will contain the secret | 13:10 |
sassyn | I have a post-logs.yaml | 13:11 |
sassyn | - hosts: localhost | 13:12 |
sassyn | the job is in the zuul-config | 13:12 |
sassyn | post-run: | 13:12 |
fungi | sassyn: https://zuul-ci.org/docs/zuul/discussion/components.html#attr-web.status_url | 13:13 |
fungi | though the source code has a todo comment adjacent to that with a question as to whether it's required | 13:13 |
sassyn | fungi, 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 |
sassyn | the add-fileserver require to have a secret - but should the secret be in the .zuul file of the untrusted-projects ? | 13:31 |
fungi | it should be in the same repository as the base job playbook which uses it | 13:31 |
fungi | here's what we do in our base-jobs repo for opendev: https://opendev.org/opendev/base-jobs/src/branch/master/zuul.d/secrets.yaml | 13:31 |
sassyn | but with which pub key? api? | 13:32 |
fungi | those opendev_cloud_.* secrets are the credentials we use to upload our logs to an object store | 13:32 |
sassyn | from the zuul-config ? | 13:32 |
sassyn | or from the untrusted-projects name of the project | 13:33 |
fungi | in that case we encrypted them with http://zuul.opendev.org/api/tenant/opendev/key/opendev/base-jobs.pub | 13:34 |
fungi | the key for the opendev/base-jobs repo which contains them | 13:34 |
sassyn | so jobs in the base jobs are execute on the zuul-executor | 13:34 |
fungi | the 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 them | 13:35 |
sassyn | OK understood | 13:35 |
fungi | sassyn: 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-L73 | 13:36 |
fungi | they're used by playbooks/base/post-logs.yaml in the post-run phase | 13:36 |
fungi | and 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#L1 | 13:38 |
fungi | "hosts: localhost" means the executor | 13:38 |
fungi | there it's passing them to the upload-logs-swift role from zuul/zuul-jobs | 13:40 |
fungi | part of zuul's standard library | 13:40 |
sassyn | I'm still failing to run this :-( | 13:50 |
sassyn | https://pastebin.com/9sxts1qr | 13:52 |
sassyn | this is what I have in the zuul-config config project | 13:52 |
sassyn | under the name jobs.yaml | 13:52 |
sassyn | - hosts: localhost | 13:52 |
sassyn | and this is playbooks/base/post-logs.yaml | 13:53 |
sassyn | and this is playbooks/base/post-logs.yaml | 13:53 |
sassyn | when 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 the | 13:54 |
sassyn | file 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 |
sassyn | fungi I managed! | 14:48 |
sassyn | thank u ! again | 14:49 |
fungi | sassyn: sorry i stepped away to pick up groceries for the coming week, but glad you worked it out! | 14:53 |
sassyn | No worried | 14:53 |
sassyn | I hope u are safe | 14:53 |
sassyn | here in Israel it is crazy to go to the shop | 14:53 |
sassyn | waiting for hours | 14:53 |
fungi | yep, all's good here. stay safe yourself | 14:53 |
fungi | luckily 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 in | 14:54 |
fungi | the 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 available | 14:55 |
sassyn | one more question | 15:33 |
sassyn | is it possible to run on a node | 15:33 |
sassyn | more than one job in the same time? | 15:33 |
sassyn | or it will always run a single job | 15:35 |
fungi | i 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 impractical | 15:53 |
* fungi checks docs about concurrent builds for static nodes | 15:53 | |
fungi | sassyn: yeah, here it is: https://zuul-ci.org/docs/nodepool/configuration.html#attr-providers.[static].pools.nodes.max-parallel-jobs | 15:55 |
sassyn | the question | 15:55 |
sassyn | is where the src code will be save from the merger point of view | 15:56 |
fungi | every merger daemon has a local copy of all repositories you've configured zuul to know about | 15:56 |
sassyn | but when this run on the node | 15:56 |
sassyn | it copy it to /user/src | 15:56 |
sassyn | the job trigger a prepare-workspace | 15:57 |
sassyn | which copy the code from the git to /home/user/src | 15:57 |
sassyn | if multi jobs will run where the code will be ? | 15:58 |
fungi | if 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 nodes | 15:58 |
fungi | how that interacts with parallel builds on a static node, i'm not sure | 15:58 |
fungi | someone else in here might know the answer to that | 15:59 |
*** olaph_ has joined #zuul | 16:00 | |
sassyn | :-) | 16:00 |
sassyn | I need to buy u a beer | 16:00 |
*** olaph has quit IRC | 16:00 | |
*** olaph_ is now known as olaph | 16:00 | |
fungi | i have plenty of beer here already, but the sentiment is appreciated | 16:01 |
fungi | i'm just glad to see people interested in using and learning about the software | 16:01 |
*** sgw has joined #zuul | 16:20 | |
*** evrardjp has quit IRC | 16:37 | |
*** evrardjp has joined #zuul | 16:37 | |
SpamapS | sassyn: 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 |
SpamapS | You might have some luck putting kubernetes on those nodes if you want to share resources. | 16:42 |
tristanC | iirc, running parallel jobs on a static nodes requires some trick to make the prepare-workspace use a dedicated directory per build | 16:52 |
tristanC | sassyn: 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 username | 16:53 |
tristanC | here is an example of that multi user per static node idea: https://softwarefactory-project.io/cgit/config/tree/nodepool/ansible.yaml | 16: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 |
sassyn | tristanC and SpamapS thank you | 16:55 |
sassyn | tristanC I like your option | 16:55 |
sassyn | my question is which ssh key you used for this? | 16:58 |
tristanC | sassyn: the zuul executor ssh key | 16:59 |
sassyn | cause in the executor u have default_username | 16:59 |
sassyn | and private_key_file | 16:59 |
sassyn | so all user have the same key? | 16:59 |
sassyn | users* | 17:00 |
tristanC | sassyn: yes, not sure there is another way around | 17:04 |
zbr | may I suggest using tags/labels to determine on which node a job should run? | 17:44 |
zbr | i 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 #zuul | 17:49 | |
*** hashar has quit IRC | 17:49 | |
fungi | leaving the terminology aside, you mean specifically being able to give multiple different identifiers to the same node | 17:58 |
fungi | if so, we basically already do that | 17:58 |
fungi | we can boot nodes with a variety of different identifiers from the same images | 17:59 |
fungi | so your designation of where to run the job doesn't have to be a 1:1 mapping to your set of available images to boot | 17:59 |
*** tobiash has quit IRC | 18:17 | |
*** tobiash has joined #zuul | 18:18 | |
*** sassyn has quit IRC | 19:49 | |
*** jamesmcarthur has joined #zuul | 20:41 | |
*** jamesmcarthur has quit IRC | 20:51 | |
*** andreaf has quit IRC | 21:03 | |
*** andreaf has joined #zuul | 21:04 | |
*** noonedeadpunk has quit IRC | 21:06 | |
*** noonedeadpunk has joined #zuul | 21:07 | |
*** Goneri has joined #zuul | 22:18 | |
*** paladox has quit IRC | 22:37 | |
*** paladox has joined #zuul | 22:42 |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!