Earlier  
Posted Nick Remark
#openstack-nova - 2024-09-09
16:57:17 opendevreview ribaudr proposed openstack/nova master: Add helper methods to attach/detach shares https://review.opendev.org/c/openstack/nova/+/885753
16:57:19 opendevreview ribaudr proposed openstack/nova master: Add shares to InstancePayload https://review.opendev.org/c/openstack/nova/+/851029
16:57:19 opendevreview ribaudr proposed openstack/nova master: Add instance.share_detach notification https://review.opendev.org/c/openstack/nova/+/851028
16:57:21 opendevreview ribaudr proposed openstack/nova master: Add instance.share_attach_error notification https://review.opendev.org/c/openstack/nova/+/860282
16:57:23 opendevreview ribaudr proposed openstack/nova master: Reports instance events to the DB regarding attaching and detaching a share https://review.opendev.org/c/openstack/nova/+/927088
16:57:23 opendevreview ribaudr proposed openstack/nova master: Add instance.share_detach_error notification https://review.opendev.org/c/openstack/nova/+/860283
16:57:25 opendevreview ribaudr proposed openstack/nova master: Add virt/libvirt error test cases https://review.opendev.org/c/openstack/nova/+/852087
16:57:25 opendevreview ribaudr proposed openstack/nova master: Add libvirt test to ensure metadata are working. https://review.opendev.org/c/openstack/nova/+/852086
16:57:27 opendevreview ribaudr proposed openstack/nova master: Docs about Manila shares API usage https://review.opendev.org/c/openstack/nova/+/871642
16:57:39 noonedeadpunk it feels like the usecase of custom URI for consoleproxy is just not supported
17:02:34 noonedeadpunk as I'd guess I'd expect to see some api-paste for nova-novncproxy but obviously there's none
17:25:38 sean-k-mooney noonedeadpunk: you can customise it to a degree
17:25:47 sean-k-mooney what are you tryign to do
17:26:22 noonedeadpunk trying to have smth like `https://domain.com/novnc/vnc_lite.html`
17:26:42 noonedeadpunk instead of `https://domain.com:6080/vnc_lite.html`
17:27:27 noonedeadpunk and feels like the way forward would be to place novnc install folder somewhere under DEFAULT.web
17:27:46 noonedeadpunk ie make a subtree or smth
17:27:48 sean-k-mooney ya so you can do that
17:28:17 sean-k-mooney we have conifg option for tha tlet me find it
17:28:31 sean-k-mooney https://docs.openstack.org/nova/latest/configuration/config.html#vnc.novncproxy_base_url
17:28:56 sean-k-mooney we should really upgrade our default to default to vnc_lite.html at some point
17:28:58 noonedeadpunk yeah, so ^ is not helpful
17:29:23 sean-k-mooney how so
17:29:28 noonedeadpunk as I have that and novncproxy ends up with 404
17:29:41 noonedeadpunk openstack console url show returns expected URL though
17:30:04 noonedeadpunk ie https://domain.com/novnc/vnc_lite.html?path=%3Ftoken%3D880916e7-2e8a-4d0c-a814-9e16f6633194
17:30:12 sean-k-mooney right so to use that you need to aslo modify your reverse proxy
17:30:19 noonedeadpunk but then it's just 404 from nova-novncproxy service itself
17:30:41 noonedeadpunk with File not found
17:30:53 noonedeadpunk I'd guess I would need to do rewrite
17:31:07 sean-k-mooney yep that what i used to do with kolla ansible
17:31:12 noonedeadpunk but I'm using haproxy which can't really do rewrites
17:31:19 sean-k-mooney you could set https://docs.openstack.org/nova/latest/configuration/config.html#vnc.novncproxy_port to 80 or 443
17:31:29 noonedeadpunk it's probably easier when you have apache though
17:31:41 sean-k-mooney so i used trafix to do it
17:32:02 sean-k-mooney it was doing all my tlscert stuff with letencypt and doing the rewrite
17:32:13 noonedeadpunk I don't think that port will anyhow influence URI after it?
17:32:31 noonedeadpunk regardless on which port nova-novncproxy.service will listen
17:32:42 noonedeadpunk as long as balancer passes traffic to it - it should work right?
17:33:01 noonedeadpunk for nova-api I can do rewrites with uWSGI
17:33:12 noonedeadpunk or, using api-paste for eventlet
17:33:14 sean-k-mooney so if you want to have vnc in a sub folder
17:33:23 sean-k-mooney you need to strip that in your revirse proxy
17:33:41 sean-k-mooney api-paste is not really used for this
17:33:56 noonedeadpunk oh, well, it kind of is>
17:34:07 noonedeadpunk https://opendev.org/openstack/nova/src/branch/master/etc/nova/api-paste.ini#L20-L29
17:34:14 sean-k-mooney kind of but we dont have midelware enabled by default for rewrites
17:34:25 sean-k-mooney its better to do that in the webserver/reverse_proxy
17:34:29 noonedeadpunk ah, for this - novnc - yeah, it does not
17:35:07 noonedeadpunk so in the webserver - yeah, that would be fine. But reverse proxies not designed for rewrites, imo
17:35:09 sean-k-mooney ya so the novnc proxy is useing websockify and the eventlet webserver
17:35:30 sean-k-mooney noonedeadpunk: tell that to kubernetes
17:35:41 sean-k-mooney that what ingress is
17:35:48 noonedeadpunk I don't think k8s is good bfor lb...
17:35:55 noonedeadpunk it's nginx
17:36:06 noonedeadpunk which is technically not a reverse proxy
17:36:16 sean-k-mooney its the runciton its used for however
17:36:26 noonedeadpunk it's a web server with hugely reduced feature list that acts as a reverse proxy
17:36:32 sean-k-mooney i would consier it to be both a reverse proxy and a webserver
17:36:45 sean-k-mooney yep but even haproxy can do this too
17:36:50 noonedeadpunk can it?
17:37:09 sean-k-mooney i belive so when used as a http loadbalbnce
17:37:12 noonedeadpunk As it can do maps, sure, but it's not really rewrites
17:37:27 noonedeadpunk so it can pass /console to correct backend
17:37:39 noonedeadpunk but not alter uri. I guess
17:37:41 noonedeadpunk not 100% sure
17:38:04 sean-k-mooney ya. so that is how i would personaly do it. i generall prefer using subdomain insteda of subpaths
17:38:08 noonedeadpunk I was actually hoping to see answer in devstack, but it's jsut using port :D
17:38:21 noonedeadpunk oh, yes, sure, subdomain works nicely
17:38:43 sean-k-mooney im currently in the process of rebuildign my home lab
17:38:45 noonedeadpunk jsut decided to practise on subpaths as that's what devstack does
17:38:52 jrosser does any of this help https://www.haproxy.com/documentation/haproxy-configuration-tutorials/http-rewrites/
17:39:24 sean-k-mooney but my home openstack did everything behind traefix exposing everything over port 443
17:39:28 noonedeadpunk oh
17:40:49 sean-k-mooney openshifts defautl ingress controller(route contoler) is haproxy and it does supprot this to at least some degree
17:42:42 noonedeadpunk jrosser: I guess I tried to have a look at https://www.haproxy.com/documentation/haproxy-configuration-tutorials/http-rewrites/#set-the-url-path but failed to implement so dropped this idea a while ago
17:42:54 noonedeadpunk but maybe for consoles it's actually worth checking
17:44:25 sean-k-mooney https://www.haproxy.com/documentation/haproxy-configuration-tutorials/http-rewrites/#replace-part-of-a-header-by-using-a-regular-expression
17:44:39 sean-k-mooney you can proably use the regex replace value funtionality
17:45:00 sean-k-mooney in your case set-path
17:45:05 sean-k-mooney is proably simpler
17:45:53 noonedeadpunk I've jsut tried to place novnc actually in subfolder, but then it's also failing on `wss://domain.com/?token=4741df38-cc54-4be6-b63f-1d7b7b1b336d`
17:46:12 noonedeadpunk as somehow wss is not adjusted or trimms subpath /o\
17:47:05 noonedeadpunk and that I'm even not sure how to catch
17:57:47 noonedeadpunk so eventually what creates wss should also pass a path
17:57:59 noonedeadpunk or at least respect passed one
17:58:49 sean-k-mooney well you would need to also rewrite it
17:59:18 noonedeadpunk it's tough to rewrite just /?token given that / is serving horizon
17:59:29 noonedeadpunk but yeah
18:00:37 noonedeadpunk I'd say there should be code in place respecting passed URIs when returning wss
18:00:54 sean-k-mooney unfortuetly i dont have a config to had for that. i tought i had that working in my previous home cloud. i.e. the one i had pre 2020
18:01:19 sean-k-mooney but my current one is forwarding 6080 and everything else was using subdomains
18:02:07 noonedeadpunk yeah, I managed to get it working with subdomain jsut out of the box
18:04:36 noonedeadpunk but then it's a bit tougher with let's encrypt as for wildcards I'd need dns-01
18:15:16 sean-k-mooney yep thats what i use now although before i didnt use wildcards i added a dns entry for each serice
18:15:48 sean-k-mooney i use cloudfail as my dns provider mainly for there restapi adn the fact it supproted in a lot of things
18:16:54 sean-k-mooney *cloudflare
18:18:33 noonedeadpunk well. these are quite long-shot workarounds for smth which should be just possible to do quite simply. And I have pretty much everything working with subpaths except console...
18:20:03 sean-k-mooney honestly none of this is inscope of nova
18:20:38 sean-k-mooney noonedeadpunk: a webseocket is just a upgradded http connection

Earlier   Later