Wednesday, 2022-11-30

*** yadnesh|away is now known as yadnesh04:31
*** swalladge is now known as Guest42504:52
*** akekane is now known as abhishekk05:53
fricklertox 4.0.0rc1 is out https://fosstodon.org/@gaborbernat/10942859838000651906:09
*** frenzy_friday|rover is now known as frenzy_friday|rover|doc06:56
fricklerseems I found an issue right away, running tox -e pep8 in requirements repo. https://github.com/tox-dev/tox/issues/256107:47
*** yadnesh is now known as yadnesh|afk07:50
*** frenzy_friday|rover|doc is now known as frenzy_friday|rover08:17
*** jpena|off is now known as jpena08:25
*** yadnesh|afk is now known as yadnesh08:41
*** dviroel_ is now known as dviroel10:47
*** rlandy|out is now known as rlandy11:14
Tenguerf... 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
Tenguback then I knew how to tweak httpd for that kind of thing, but it's been too long.11:18
Tengu\o/12:29
Tengualmost.12:33
*** dasm|off is now known as dasm12:43
Tengufungi, 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
Tenguwill provide a patch shortly.12:45
fungiTengu: that's how pypi works too. we have apache configured to rewrite the urls in the html or json responses to what the proxy serves12:57
Tengufungi: is that the "substitute"?12:57
fungisounds like galaxy will require some similar treatment12:57
fungii don't have it in front of me at the moment, but probably so12:58
Tenguyeah, 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|lunch12:58
*** yadnesh is now known as yadnesh|afk13:02
*** yadnesh|afk is now known as yadnesh13:32
*** akekane is now known as abhishekk13:48
*** frenzy_friday|rover|lunch is now known as frenzy_friday|rover13:50
Tengufungi: fun.... apparently ansible-galaxy CLI itself seems to do some parsing/overrides.14:01
Tengubasically, 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
Tenguaaahh14:09
Tenguwait.14:09
Tenguok.14:09
Tenguthere's actually some kind of cache.14:09
Tengunot Im seeing better thing.14:09
Tenguperfect. I get it.14:16
*** yadnesh is now known as yadnesh|away14:59
*** dviroel is now known as dviroel|lunch15:17
clarkbTengu: fungi: keep in mind the way the galaxy indexes are served they will not be cached by apache16:14
Tenguclarkb: really? It should though, with my patch16:15
clarkbTengu: your change addresses the caching of the s3 content not the indexes16:15
TenguI mean - everything under /galaxy/ will be cached, including the outputs of the /galaxy/api16:16
clarkbapache will not cache the indexes because the index url is the same for everything then url parameters are used to fetch specifics16:16
TenguURI aren't the same actually.16:16
Tenguthere's the collection name in it.16:16
clarkbTengu: the problem is the url parameters16:16
clarkbapache won't cache requests with them because it doesn't know if the answers are idempotent16:16
Tenguthere's no param - at least not in the "?foo=bar" way16:17
clarkband in the case of indexes they are not16:17
clarkbTengu: there were when I used my browser to inspect it16:17
Tenguthe only param we'll get is for the paging16:17
clarkbindexes are loaded by querying for the project name and such16:17
Tenguso there, yes: older index won't be cached.16:17
Tenguwith api V2, it's in the form of /api/v2/collections/community/general/  for instance16:18
clarkbbut 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 indexes16:18
Tenguso everything should be fine16:18
clarkbI didn't see galaxy doing that16:18
fungipossible they serve up different content to browsers than to the cli tool16:19
*** dviroel|lunch is now known as dviroel16:19
clarkbya that could be too16:19
Tenguat least that's what I could see with the ansible-galaxy CLI16:19
Tengutook me the day to figure out the various paths/contents.16:20
Tenguespecially 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
Tenguthe new tests I added shows the path to get the actual download.16:23
jrosserTengu: do you have a good reason to install from galaxy rather than from the repo on the CI node itself?16:24
Tengujrosser: 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 on16:26
Tengui.e. we won't get access to the local git repos.16:26
jrosserright - my jobs detect when they are in CI and use the local repos, and github/galaxy when not16:27
Tenguand 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
clarkbTengu: its not on the image16: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
jrosseri am here assuming that tripleo-operator-ansible would be something that you could have as a required project16:30
Tenguoh, 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 anyway16:30
Tengujrosser: tripleo-operator-ansible is part of the things. then there are (many) others.16:30
clarkbTengu: I think one thing need to be addressed in the change16:31
Tenguclarkb: so the proxypassreverse didn't affect the redirect for /api -> /api/16:32
TenguI lost my nerves on that one, because it didn't match what I know (and re-re-re-read) about the directive16:32
Tenguclarkb: also, we can't use relative paths in the ansible-galaxy generated json :(.16:33
Tengutried, failed.16:33
clarkbTengu: 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 client16:33
Tenguit wants fully qualified URI, with host and scheme (it's in the commit message + comment)16:33
Tenguclarkb: that's what I was expected. but nope.16:34
clarkbTengu: ok I'm not going to +2 a change that redirects in apache there16:34
Tenguthe redirect I got was:   localhost:8080/galaxy/api -> localhost:8080/api/16:34
clarkbits going to create an impossible to debug problem in a couple years when galaxy changes their api we need to figure that out16:34
Tenguthe Location is "/api/" in the 30216:34
clarkbaha16:34
clarkbso their api is silly like dockers16:34
clarkbthis is why we proxy some things under dedicated ports16:34
clarkbbecause they assume they live at the / root16:35
Tenguhmm.16:35
fungijrosser: 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 dependency16:36
Tengusooo.... shall I get some new VirtualHost on some dedicated port instead?16:36
clarkbTengu: if your clients cannot be convinced to talk to api/ to avoid the redirect in the first place that would be my suggestion16:36
Tenguansible-galaxy is stupid16:37
clarkbbecause I don't want tripleo to blame us when galaxy changes their redirect from /api to /apiv3/ and our proxies stop working16:37
Tenguthey probably use something like os.path.join() or even a silly '/'.join()16:37
Tengusoooo it would be /api/v3 - it's already /api/v2 (and, former, /api/v1)16:37
Tengubut I can, of course, create a new port.16:38
clarkbTengu: sure its an example. The point is the other end can change that abritrarily at any time and if they do tripleo will blame me16:38
Tenguthat will probably need a new firewall opening16:38
clarkbthat is not acceptable to me16:38
Tengufair enough. Lemme modify.16:38
fungialso, if anybody knows someone at red hat, maybe they can ask for the api/client to be a little less proxy-hostile16:38
fungifinding a red hat employee around here though? good luck! ;)16:39
* Tengu ducks16:39
jrosserfungi: 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 correctly16:40
fungiyes, depends-on to pull requests in github are a good reason to want the required-projects route instead16:40
fungithough both approaches can also be combined16:41
clarkbits my favorite feature. We even use it to test changes to upstream gerrit don't break us downstream16: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|off17:05
elodillesthe 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
clarkbelodilles: yes, I don't have any concerns running that now17:15
elodillesack, thx17:16
elodillesthe 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
fungiwow! that's almost a third of them19:08
elodillescloser to 25%, but yes o:)19:10
opendevreviewMerged openstack/project-config master: Add an Ubuntu FIPS testing token  https://review.opendev.org/c/openstack/project-config/+/86145719:22
opendevreviewMerged openstack/project-config master: Deprecate OpenStack-Ansible rsyslog roles  https://review.opendev.org/c/openstack/project-config/+/86307920:01
opendevreviewMerged openstack/project-config master: Add repository for Skyline installation by OpenStack-Ansible  https://review.opendev.org/c/openstack/project-config/+/86316520:13
opendevreviewMerged openstack/project-config master: Add the cinder-infinidat charm to Openstack charms  https://review.opendev.org/c/openstack/project-config/+/86395420:15
opendevreviewMerged openstack/project-config master: Add the infinidat-tools charm to Openstack charms  https://review.opendev.org/c/openstack/project-config/+/86395520:16
opendevreviewMerged openstack/project-config master: Add manila-infinidat charm to OpenStack charms  https://review.opendev.org/c/openstack/project-config/+/86395720:16
opendevreviewMerged openstack/project-config master: And ansible-role-proxysql repo to zuul jobs  https://review.opendev.org/c/openstack/project-config/+/81727220:35
opendevreviewMerged openstack/project-config master: Telemetry: Switch back to launchpad from storyboard  https://review.opendev.org/c/openstack/project-config/+/80549220:35
opendevreviewMerged openstack/project-config master: Add feature branch notifications to openstack-sdks  https://review.opendev.org/c/openstack/project-config/+/79932320:35
*** dviroel is now known as dviroel|afk21:04
*** Guest305 is now known as atmark21:07
*** swalladge is now known as Guest48121:13
*** dasm is now known as dasm|off22:23
*** rlandy is now known as rlandy|out23:01
clarkbade_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/!