# Update\_ood\_portal does not work

**URL:** <https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937>\
**Category:** Get Help\
**Created:** [September 1, 2023, 11:36pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937 "2023-09-01T23:36:07Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 1, 2023, 11:36pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/1 "2023-09-01T23:36:07Z")

</div>

I have an issue very similar to this one [Update\_ood\_portal script does not work](https://discourse.openondemand.org/t/update-ood-portal-script-does-not-work/375/1)

I’m trying to setup reverse proxy and the following lines in my ood-portal.yml file  
host\_regex: ‘[\w.-]+.gsu.edu’  
node\_uri: ‘/node’  
rnode\_uri: ‘/rnode’

when i run update\_ood\_portal it complains about different checksum. If I use --force option it creates me httpd.conf file w/o any of my custom settings. It doesn’t have my ssl info or mellon authentication.

\<VirtualHost _:_\>

RewriteEngine On  
RewriteCond %{REQUEST\_URI} !/public/need\_auth.html  
RewriteRule ^.\*$ /public/need\_auth.html [R=301,L]

# Only public assets enabled in this mode.

# If you’re reading this message you need to setup authentication: [2. OOD Authentication — Open OnDemand 4.0.0 documentation](https://osc.github.io/ood-documentation/latest/authentication.html)

Alias “/public” “/var/www/ood/public”  
\<Directory “/var/www/ood/public”\>  
Options FollowSymLinks  
AllowOverride None  
Require all granted

Can you please advise.  
Sofya

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 5, 2023, 1:50pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/2 "2023-09-05T13:50:46Z")

</div>

> [@ssofya](#):
>
> when i run update\_ood\_portal it complains about different checksum. If I use --force option it creates me httpd.conf file w/o any of my custom settings. It doesn’t have my ssl info or mellon authentication.

You need to add mellon authentication before the system can proceed.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 5, 2023, 5:37pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/3 "2023-09-05T17:37:46Z")

</div>

I have mellon authentication and it’s working. I’m trying to do some other settings like revers proxy to create an interactive app.

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 5, 2023, 6:35pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/4 "2023-09-05T18:35:32Z")

</div>

OK, as long as you have something in the `auth` section - the installation/configuration can move forward. This was to force folks to setup authentication first before anything else.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 5, 2023, 7:29pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/5 "2023-09-05T19:29:04Z")

</div>

I don’t have problems with the dashboard or installation. My problem that Update\_ood\_portal script is not working. Should I just stop using it and manually edit my http conf file?

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 5, 2023, 7:34pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/6 "2023-09-05T19:34:46Z")

</div>

> [@ssofya](#):
>
> My problem that Update\_ood\_portal script is not working.

Can you share your `ood_portal.yml`? I see from the first comment there’s no `auth` section. There needs to be an `auth` section for `update_ood_portal` to present any conf file that is not the one you’re looking at.

> [@ssofya](#):
>
> Should I just stop using it and manually edit my http conf file?

No because bouncing apache is going to use this program as well.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 8, 2023, 8:55pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/7 "2023-09-08T20:55:58Z")

</div>

What I posted in the begining it’s what I get if I run update\_ood\_portal. My ood\_portal.yml is below. I removed all comments. Is spacing important? Maybe it cannot read my ood\_portal.yml file?

* * *

```
servername 'ondemand'
 ssl:
   - 'SSLCertificateFile "/etc/pki/tls/certs/ondemand.cert"'
   - 'SSLCertificateKeyFile "/etc/pki/tls/private/ondemand.key"'

logroot: '/var/log/ondemand-nginx'
errorlog: 'error.log'
accesslog: 'access.log'
frame-ancestors https://*.example.com 'self'
user_map_match: 'EXAMPLE([^@]+)\'
auth:
    - 'AuthType Mellon'
    - 'Require valid-user'
 host_regex: '[\w.-]+\.example\.com'
 node_uri: '/node'  
 rnode_uri: '/rnode'

```

I was able to modify my apache conf for reverse proxy and I can connect to VNC but I have to manually add domain at the end of the node name in the link to make it work. I’m not sure why it url generates w/o domain. Here are mine settings in cluster yml file:  
batch\_connect:

* * *

```
basic:
  script_wrapper: |
    module purge
    %s
  set_host: "host=$(hostname -A | awk '{print $1}')"
vnc:
  script_wrapper: |
    module purge
    export PATH="/opt/TurboVNC/bin:$PATH"
    export WEBSOCKIFY_CMD="/cluster/apps/websockify/run"
    %s

```

This my http conf:

* * *

```
<LocationMatch "^/node/(?<host>[\w.-]+\.example\.com)/(?<port>\d+)">
AuthType Mellon
Require valid-user

# ProxyPassReverse implementation
Header edit Location "^[^/]+//[^/]+" ""

# ProxyPassReverseCookieDomain implemenation
Header edit* Set-Cookie ";\s*(?i)Domain[^;]*" ""

# ProxyPassReverseCookiePath implementation
Header edit* Set-Cookie ";\s*(?i)Path[^;]*" ""
Header edit Set-Cookie "^([^;]+)" "$1; Path=/node/%{MATCH_HOST}e/%{MATCH_PORT}e"

LuaHookFixups node_proxy.lua node_proxy_handler

```

```
<LocationMatch "^/rnode/(?<host>[\w.-]+\.example\.com)/(?<port>\d+)(?<uri>/.*|)">
AuthType Mellon
Require valid-user

# ProxyPassReverse implementation
Header edit Location "^([^/]+//[^/]+)|(?=/)" "/rnode/%{MATCH_HOST}e/%{MATCH_PORT}e"

# ProxyPassReverseCookieDomain implemenation
Header edit* Set-Cookie ";\s*(?i)Domain[^;]*" ""

# ProxyPassReverseCookiePath implementation
Header edit* Set-Cookie ";\s*(?i)Path[^;]*" ""
Header edit Set-Cookie "^([^;]+)" "$1; Path=/rnode/%{MATCH_HOST}e/%{MATCH_PORT}e"

LuaHookFixups node_proxy.lua node_proxy_handler

```

Can you advise me how to generate link which is working but doesn’t generate automatically when I press Launch remote desktop:

[https://ht-hpc-ondemand8/pun/sys/dashboard/noVNC-1.3.0/vnc.html?autoconnect=true&path=rnode%2Fhpc-node-106.example.com%2F58970%2Fwebsockify&resize=remote&password=0BhLRp19&compressionsetting=6&qualitysetting=2&commit=Launch+Hawthorne+Desktop](https://ht-hpc-ondemand8/pun/sys/dashboard/noVNC-1.3.0/vnc.html?autoconnect=true&path=rnode%2Fhpc-node-106.example.com%2F58970%2Fwebsockify&resize=remote&password=0BhLRp19&compressionsetting=6&qualitysetting=2&commit=Launch+Hawthorne+Desktop)

vs:

which is generated automatically, but not working if I don’t append domain after node name:

[https://ht-hpc-ondemand8/pun/sys/dashboard/noVNC-1.3.0/vnc.html?autoconnect=true&path=rnode%2Fhpc-node-106%2F58970%2Fwebsockify&resize=remote&password=0BhLRp19&compressionsetting=6&qualitysetting=2&commit=Launch+Hawthorne+Desktop](https://ht-hpc-ondemand8/pun/sys/dashboard/noVNC-1.3.0/vnc.html?autoconnect=true&path=rnode%2Fhpc-node-106%2F58970%2Fwebsockify&resize=remote&password=0BhLRp19&compressionsetting=6&qualitysetting=2&commit=Launch+Hawthorne+Desktop)

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 8, 2023, 9:13pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/8 "2023-09-08T21:13:30Z")

</div>

> [@ssofya](#):
>
> `set_host: "host=$(hostname -A | awk '{print $1}')"`

This is the relevant piece for your current issue. I would get a shell session to one of your compute nodes and inspect what `hostname -A | awk '{print $1}'` returns. Modify this section in your cluster config such that the command being issued returns the FQDN (fully qualified domain name) and not the partial domain name.

and/or just hard code the rest of the domain like

```yaml
set_host: "host=$(hostname -A | awk '{print $1}').osc.edu"

```

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 8, 2023, 9:57pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/9 "2023-09-08T21:57:43Z")

</div>

This command  
`hostname -A | awk '{print $1}'`  
actually returns FQDN on the node and even if I add domain in my cluster.yml file and restart httpd VNC link still generates without domain. It seems like it get stripped somewhere somehow

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 11, 2023, 3:53pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/10 "2023-09-11T15:53:45Z")

</div>

When you issue the same command - where you on a compute node?

```bash
#!/bin/bash
# delme.sh

hostname -A | awk '{print $1}'

```

If you submit this script to your scheduler through `sbatch delme.sh` or similar - what’s the output? This command is being issued during a job’s execution on a compute node. That’s important to remember when you test for the same.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 11, 2023, 6:50pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/11 "2023-09-11T18:50:58Z")

</div>

It returns FQDN!  
Maybe something is in my Apache config is wrong? I was trying to send reverse proxy traffic through just a hostname w/o domain but that was not working either.

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 11, 2023, 7:07pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/12 "2023-09-11T19:07:50Z")

</div>

OK that’s super weird. I don’t think it has to do with apache configs.

Alright, when you start a brand new VNC application - what’s in your `connection.yml`? You can find this in the same directory with all the other logs for the job like `output.log` and so on.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 11, 2023, 8:03pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/13 "2023-09-11T20:03:18Z")

</div>

It’s what I have in connection.yml Just a hostname not FQDN

host: hpc-node-106  
port: 5901  
password: MnqBji7F  
display: 1  
websocket: 18502  
spassword: say5sEjz

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 11, 2023, 8:18pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/14 "2023-09-11T20:18:28Z")

</div>

I knew it was something obvious that I overlooked - this is what I overlooked: You need to define `set_host` in both basic and vnc sections

```yaml
basic:
  script_wrapper: |
    module purge
    %s
  set_host: "host=$(hostname -A | awk '{print $1}')"
vnc:
  script_wrapper: |
    module purge
    export PATH="/opt/TurboVNC/bin:$PATH"
    export WEBSOCKIFY_CMD="/cluster/apps/websockify/run"
    %s

  # this piece is missing and defaulting to just 'hostname'
  set_host: "host=$(hostname -A | awk '{print $1}')"

```

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 11, 2023, 8:45pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/15 "2023-09-11T20:45:35Z")

</div>

I added this line

batch\_connect:  
basic:  
script\_wrapper: |  
module purge  
%s  
set\_host: “host=$(hostname -A | awk ‘{print $1}’).spacex.corp”  
vnc:  
script\_wrapper: |  
module purge  
export PATH=“/opt/TurboVNC/bin:$PATH”  
export WEBSOCKIFY\_CMD=“/cluster/apps/websockify/run”  
%s  
set\_host: “host=$(hostname -A | awk ‘{print $1}’)”

and restated http. No luck. In my new connection.yml file I still see a hostname not FQDN

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 11, 2023, 8:47pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/16 "2023-09-11T20:47:08Z")

</div>

So you should only need to

- restart your webserver (in the help menu at the top right)
- start a brand new desktop job

The first makes sure you pick up the new configs. The second makes sure the new scripts will use the new configs.

---

<div class="post-metadata">

**Author:** ![ssofya](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/ssofya/32/1145_2.png) [@ssofya](https://discourse.openondemand.org/u/ssofya)\
**Post date:** [September 11, 2023, 9:23pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/17 "2023-09-11T21:23:35Z")

</div>

It worked! Thank you so much!

---

<div class="post-metadata">

**Author:** ![jeff.ohrstrom](https://sea1.discourse-cdn.com/flex015/user_avatar/discourse.openondemand.org/jeff.ohrstrom/32/136_2.png) [@jeff.ohrstrom](https://discourse.openondemand.org/u/jeff.ohrstrom)\
**Post date:** [September 11, 2023, 9:24pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/18 "2023-09-11T21:24:46Z")

</div>

Awesome! glad to hear it.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/osc/original/2X/b/bae70bd0ed39a3ae769c2108155f4cb3e9da8385.png) [@system](https://discourse.openondemand.org/u/system)\
**Post date:** [March 9, 2024, 9:25pm UTC](https://discourse.openondemand.org/t/update-ood-portal-does-not-work/2937/19 "2024-03-09T21:25:38Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
