*** yadnesh|away is now known as yadnesh | 04:31 | |
*** swalladge is now known as Guest425 | 04:52 | |
*** akekane is now known as abhishekk | 05:53 | |
frickler | tox 4.0.0rc1 is out https://fosstodon.org/@gaborbernat/109428598380006519 | 06:09 |
---|---|---|
*** frenzy_friday|rover is now known as frenzy_friday|rover|doc | 06:56 | |
frickler | seems I found an issue right away, running tox -e pep8 in requirements repo. https://github.com/tox-dev/tox/issues/2561 | 07:47 |
*** yadnesh is now known as yadnesh|afk | 07:50 | |
*** frenzy_friday|rover|doc is now known as frenzy_friday|rover | 08:17 | |
*** jpena|off is now known as jpena | 08:25 | |
*** yadnesh|afk is now known as yadnesh | 08:41 | |
*** dviroel_ is now known as dviroel | 10:47 | |
*** rlandy|out is now known as rlandy | 11:14 | |
Tengu | erf... apparently ansible-galaxy redirects in absolute. meaning: ansible-galaxy collection download -s <some proxy>/galaxy tripleo.operator will fail, because it wants to hit <some_proxy/galaxy/api, and this redirects to <some_proxy>/api/ (note: it drops the /galaxy from the path( | 11:17 |
Tengu | back then I knew how to tweak httpd for that kind of thing, but it's been too long. | 11:18 |
Tengu | \o/ | 12:29 |
Tengu | almost. | 12:33 |
*** dasm|off is now known as dasm | 12:43 | |
Tengu | fungi, clarkb ok, the existing /galaxy/ endpoint needs some tweaking, and apparently we won't be able to cache the actual file content served from S3. The URI to it is provided from within a JSON served by galaxy.ansible.com. So basically, we'll be able to cache only the indexes - which is already a nice feat imho, and we'll get the actual archive out of S3 directly. | 12:45 |
Tengu | will provide a patch shortly. | 12:45 |
fungi | Tengu: that's how pypi works too. we have apache configured to rewrite the urls in the html or json responses to what the proxy serves | 12:57 |
Tengu | fungi: is that the "substitute"? | 12:57 |
fungi | sounds like galaxy will require some similar treatment | 12:57 |
fungi | i don't have it in front of me at the moment, but probably so | 12:58 |
Tengu | yeah, I've been nagging at it for my morning, apparently I missed something. Must dig a bit more then. | 12:58 |
*** frenzy_friday|rover is now known as frenzy_friday|rover|lunch | 12:58 | |
*** yadnesh is now known as yadnesh|afk | 13:02 | |
*** yadnesh|afk is now known as yadnesh | 13:32 | |
*** akekane is now known as abhishekk | 13:48 | |
*** frenzy_friday|rover|lunch is now known as frenzy_friday|rover | 13:50 | |
Tengu | fungi: fun.... apparently ansible-galaxy CLI itself seems to do some parsing/overrides. | 14:01 |
Tengu | basically, http://localhost:8080/galaxy -> http://localhost:8080/galaxy/api -> http://localhost:8080/galaxy/api/ -> http://localhost:8080/galaxy/api/v2/collections/tripleo/operator/ from now on, it switches to galaxy.ansible.com, even though the json content is correctly pointing to localhost:8080/galaxy/[...] | 14:03 |
Tengu | "download_url":"http://localhost:8080/galaxy/download/tripleo-operator-0.9.0.tar.gz" becomes https://galaxy.ansible.com/download/tripleo-operator-0.9.0.tar.gz inside of the ansible-galaxy thing. | 14:05 |
Tengu | aaahh | 14:09 |
Tengu | wait. | 14:09 |
Tengu | ok. | 14:09 |
Tengu | there's actually some kind of cache. | 14:09 |
Tengu | not Im seeing better thing. | 14:09 |
Tengu | perfect. I get it. | 14:16 |
*** yadnesh is now known as yadnesh|away | 14:59 | |
*** dviroel is now known as dviroel|lunch | 15:17 | |
clarkb | Tengu: fungi: keep in mind the way the galaxy indexes are served they will not be cached by apache | 16:14 |
Tengu | clarkb: really? It should though, with my patch | 16:15 |
clarkb | Tengu: your change addresses the caching of the s3 content not the indexes | 16:15 |
Tengu | I mean - everything under /galaxy/ will be cached, including the outputs of the /galaxy/api | 16:16 |
clarkb | apache will not cache the indexes because the index url is the same for everything then url parameters are used to fetch specifics | 16:16 |
Tengu | URI aren't the same actually. | 16:16 |
Tengu | there's the collection name in it. | 16:16 |
clarkb | Tengu: the problem is the url parameters | 16:16 |
clarkb | apache won't cache requests with them because it doesn't know if the answers are idempotent | 16:16 |
Tengu | there's no param - at least not in the "?foo=bar" way | 16:17 |
clarkb | and in the case of indexes they are not | 16:17 |
clarkb | Tengu: there were when I used my browser to inspect it | 16:17 |
Tengu | the only param we'll get is for the paging | 16:17 |
clarkb | indexes are loaded by querying for the project name and such | 16:17 |
Tengu | so there, yes: older index won't be cached. | 16:17 |
Tengu | with api V2, it's in the form of /api/v2/collections/community/general/ for instance | 16:18 |
clarkb | but I don't think we really want indexes to be cached. pypi sets proper ttls on their indexes to 10 minutes which largely avoids the issues with caching indexes | 16:18 |
Tengu | so everything should be fine | 16:18 |
clarkb | I didn't see galaxy doing that | 16:18 |
fungi | possible they serve up different content to browsers than to the cli tool | 16:19 |
*** dviroel|lunch is now known as dviroel | 16:19 | |
clarkb | ya that could be too | 16:19 |
Tengu | at least that's what I could see with the ansible-galaxy CLI | 16:19 |
Tengu | took me the day to figure out the various paths/contents. | 16:20 |
Tengu | especially since the "-s" has no influence to ansible-galaxy behavior, it takes URI straight from the generated jsons - meaning I lost time with the substitute part. | 16:20 |
Tengu | the new tests I added shows the path to get the actual download. | 16:23 |
jrosser | Tengu: do you have a good reason to install from galaxy rather than from the repo on the CI node itself? | 16:24 |
Tengu | jrosser: I'm not in the CI, so I didn't bootstrap the jobs. collections are installed from various things, being playbooks and, apparently, scripts; also, it allows to run the same thing in a local VM when we're about to run tests for new features, or debug broken tests and so on | 16:26 |
Tengu | i.e. we won't get access to the local git repos. | 16:26 |
jrosser | right - my jobs detect when they are in CI and use the local repos, and github/galaxy when not | 16:27 |
Tengu | and I guess it's also easier to go through the remote access since it allows to not ask for new collections to be installed, and wait for it to hit the image.. | 16:27 |
clarkb | Tengu: its not on the image | 16:29 |
clarkb | (just to clarify, the repos cached from github are only in the zuul merger/executor caches and not the image cache) | 16:29 |
jrosser | i am here assuming that tripleo-operator-ansible would be something that you could have as a required project | 16:30 |
Tengu | oh, also, most of the time we don't need HEAD. Frankly, I don't know. I saw there were proxies for caching, then I saw galaxy was configured in there, and thought it would be good to make it work anyway | 16:30 |
Tengu | jrosser: tripleo-operator-ansible is part of the things. then there are (many) others. | 16:30 |
clarkb | Tengu: I think one thing need to be addressed in the change | 16:31 |
Tengu | clarkb: so the proxypassreverse didn't affect the redirect for /api -> /api/ | 16:32 |
Tengu | I lost my nerves on that one, because it didn't match what I know (and re-re-re-read) about the directive | 16:32 |
Tengu | clarkb: also, we can't use relative paths in the ansible-galaxy generated json :(. | 16:33 |
Tengu | tried, failed. | 16:33 |
clarkb | Tengu: it should. You make a request to /api on the proxy. Proxy forwards it to galaxy. Galaxy responds with a 30X and then the proxy pass reverse rewrites the headers in the 30X and sends that to the client | 16:33 |
Tengu | it wants fully qualified URI, with host and scheme (it's in the commit message + comment) | 16:33 |
Tengu | clarkb: that's what I was expected. but nope. | 16:34 |
clarkb | Tengu: ok I'm not going to +2 a change that redirects in apache there | 16:34 |
Tengu | the redirect I got was: localhost:8080/galaxy/api -> localhost:8080/api/ | 16:34 |
clarkb | its going to create an impossible to debug problem in a couple years when galaxy changes their api we need to figure that out | 16:34 |
Tengu | the Location is "/api/" in the 302 | 16:34 |
clarkb | aha | 16:34 |
clarkb | so their api is silly like dockers | 16:34 |
clarkb | this is why we proxy some things under dedicated ports | 16:34 |
clarkb | because they assume they live at the / root | 16:35 |
Tengu | hmm. | 16:35 |
fungi | jrosser: one of the up-sides to having a proxy instead of using required-projects is that you don't need the zuul admins to approve yet another repo addition to the tenant every time you add another dependency | 16:36 |
Tengu | sooo.... shall I get some new VirtualHost on some dedicated port instead? | 16:36 |
clarkb | Tengu: if your clients cannot be convinced to talk to api/ to avoid the redirect in the first place that would be my suggestion | 16:36 |
Tengu | ansible-galaxy is stupid | 16:37 |
clarkb | because I don't want tripleo to blame us when galaxy changes their redirect from /api to /apiv3/ and our proxies stop working | 16:37 |
Tengu | they probably use something like os.path.join() or even a silly '/'.join() | 16:37 |
Tengu | soooo it would be /api/v3 - it's already /api/v2 (and, former, /api/v1) | 16:37 |
Tengu | but I can, of course, create a new port. | 16:38 |
clarkb | Tengu: sure its an example. The point is the other end can change that abritrarily at any time and if they do tripleo will blame me | 16:38 |
Tengu | that will probably need a new firewall opening | 16:38 |
clarkb | that is not acceptable to me | 16:38 |
Tengu | fair enough. Lemme modify. | 16:38 |
fungi | also, if anybody knows someone at red hat, maybe they can ask for the api/client to be a little less proxy-hostile | 16:38 |
fungi | finding a red hat employee around here though? good luck! ;) | 16:39 |
* Tengu ducks | 16:39 | |
jrosser | fungi: yeah sure i'm not trying to be troublesome - not only can you avoid using the galaxy api but collections which happen also to be repos in gerrit anyway also can benefit from depends-on if you consume them correctly | 16:40 |
fungi | yes, depends-on to pull requests in github are a good reason to want the required-projects route instead | 16:40 |
fungi | though both approaches can also be combined | 16:41 |
clarkb | its my favorite feature. We even use it to test changes to upstream gerrit don't break us downstream | 16:41 |
fungi | (required-projects for things you expect to possibly want cross-project deps on, proxy for general stability of the rest) | 16:41 |
*** jpena is now known as jpena|off | 17:05 | |
elodilles | the usual heads up: i'm about to run the EOL'd branch delete script, if i'm not mistaken gerrit is in good shape now. (this time it will delete a bunch of oslo* queens branches, thus reduced failing stable jobs count can be expected after the deletion) | 17:13 |
clarkb | elodilles: yes, I don't have any concerns running that now | 17:15 |
elodilles | ack, thx | 17:16 |
elodilles | the list of the deleted branches / repos from today's run: https://paste.opendev.org/show/b8KPH12Dk6MdbvNqAlNr/ | 18:48 |
elodilles | (this will reduce the failing periodic stable jobs / release job mails with ~25 per day) | 18:50 |
fungi | wow! that's almost a third of them | 19:08 |
elodilles | closer to 25%, but yes o:) | 19:10 |
opendevreview | Merged openstack/project-config master: Add an Ubuntu FIPS testing token https://review.opendev.org/c/openstack/project-config/+/861457 | 19:22 |
opendevreview | Merged openstack/project-config master: Deprecate OpenStack-Ansible rsyslog roles https://review.opendev.org/c/openstack/project-config/+/863079 | 20:01 |
opendevreview | Merged openstack/project-config master: Add repository for Skyline installation by OpenStack-Ansible https://review.opendev.org/c/openstack/project-config/+/863165 | 20:13 |
opendevreview | Merged openstack/project-config master: Add the cinder-infinidat charm to Openstack charms https://review.opendev.org/c/openstack/project-config/+/863954 | 20:15 |
opendevreview | Merged openstack/project-config master: Add the infinidat-tools charm to Openstack charms https://review.opendev.org/c/openstack/project-config/+/863955 | 20:16 |
opendevreview | Merged openstack/project-config master: Add manila-infinidat charm to OpenStack charms https://review.opendev.org/c/openstack/project-config/+/863957 | 20:16 |
opendevreview | Merged openstack/project-config master: And ansible-role-proxysql repo to zuul jobs https://review.opendev.org/c/openstack/project-config/+/817272 | 20:35 |
opendevreview | Merged openstack/project-config master: Telemetry: Switch back to launchpad from storyboard https://review.opendev.org/c/openstack/project-config/+/805492 | 20:35 |
opendevreview | Merged openstack/project-config master: Add feature branch notifications to openstack-sdks https://review.opendev.org/c/openstack/project-config/+/799323 | 20:35 |
*** dviroel is now known as dviroel|afk | 21:04 | |
*** Guest305 is now known as atmark | 21:07 | |
*** swalladge is now known as Guest481 | 21:13 | |
*** dasm is now known as dasm|off | 22:23 | |
*** rlandy is now known as rlandy|out | 23:01 | |
clarkb | ade_lee: are you done with the job hold for cinder-tempest-plugin-lvm-lio-barbican-fips ? | 23:23 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!