Git Product home page Git Product logo

dcache-view's Introduction

dCache View

dCache View is a web application client for dCache storage system. Basically, it provide an interactive user interface to the end-users of dCache storage system, with the aim of making the usage of dCache effortlessly.

To see how dCache View looks like and to have a feel about the application, try our live test machine called Prometheus. This test machine is a small dCache instance running the latest development build of dCache with the latest released version of dCache View.

Table of Contents

  1. Getting Started
  2. Features
  3. How to
  4. Versioning
  5. Contributors
  6. How to contribute
  7. License
  8. Acknowledgments

Getting Started

dCache View is part of dCache's frontend service. Also, it uses the frontend's RESTful API for the namespace operations and to communication with dCache. In addition to the frontend service, dCache View uses the dCache's webDAV services for generating macaroons, to perform read and write operation etc.

A running dCache instance comes with dCache View. For instant, if you are running a system-test, all the basic functionality (that will make dCache works out of the box) were already set-up for you. It worth mentioning that, the system test have quite a few frontend services, which runs on different ports. Hence, you can view dCache View at http://localhost:3880/ and https://localhost:3881/.

NOTE: You can skip the rest of this part and jump to how to build dCache View, if you are running the system-test package.

However, if you are interested in other packages apart from the system-test, enabling dCache View is as simple as starting or adding a frontend service/door to your dCache domain. Say for example, you have a single domain called dCacheDomain, inside your layout file, which should be located at /etc/dcache/layouts/<name-of-your-layout-file>.conf. To add the frontend service just add the following: [dCacheDomain/frontend]. Also don't forget to add the WebDAV door, as pointed out earlier dCache View relies on it. Finally, restart your dCache instance. Hence, your layout file should look like this:

[dCacheDomain]
.
.
.

[dCacheDomain/webdav]
.
.
.

[dCacheDomain/frontend]

.
.
.

By default, dCache View is served from port 3880 but this is configurable (see dCache book for full details on what and how to configure all the necessary properties for both webDAV and frontend door).

Ideally, the top of all the supported branches in dCache View repository are production ready. If you are brave and want to live on the hedge or (and) fiddle around with the source code; you can run the latest version of dCache View but first you need to make sure you have the prerequisites listed here ready. Next, follow the instruction described here on how to build dCache View and lastly, deploy it to your system by doing what was highlighted here.

Prerequisites

  • A running dCache instance (see https://www.dcache.org/manuals/Book-5.0/install.shtml on how to install and start a small dCache instance)
  • Git - see https://git-scm.com/book/en/v2/Getting-Started-Installing-Git on how to install git. Your system might have git already installed, check by running the following command: git --version from the terminal. If you have it installed (or successful install), the result should look similar to:
    git version 2.10.1 (Apple Git-78)
    
  • Maven - see https://maven.apache.org/install.html on how to install maven. After installation (or before installation to check if you have maven installed already), confirm that this is successful, open a terminal and typed mvn -v. You should see something like:
    Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T17:41:47+01:00)
    Maven home: /opt/maven-3.3.9
    Java version: 1.8.0_181, vendor: Oracle Corporation
    Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/jre
    Default locale: en_GB, platform encoding: UTF-8
    OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"
    
  • Get dCache View source code, use either:
    git clone https://github.com/dCache/dcache-view.git
    
    or download the zip file here

Build

Once you've make sure all the prerequisites requirements are met, open your terminal and do the following:

  • change directory to the directory where you forked/downloaded dCache View:
    cd <path-to-directory>/dcache-view
    
  • next, build with this command
    mvn clean package
    

Ensure that the build was successful before you move to the next step, that is, update/deployment. To check if it is successful, you should something similar to what is below inside your terminal:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 58.926 s
[INFO] Finished at: 2019-01-23T15:41:07+01:00
[INFO] Final Memory: 11M/213M
[INFO] ------------------------------------------------------------------------

Update/Deployment

After a successful build, directory name target will be created inside dcache-view folder. We are interested in these following generated files/directories:

- index.html
- robots.txt
- bower_components/
- elements/
- favicons/
- scripts/
- style/

How to update (or deploy) dCache View in (or into) your dCache instance will depends on where it is. If it is a locally running dCache instance, it is as simple as copying those files/directories listed above to /usr/share/dcache/dcache-view/ or the equivalent of this path. To copy these files and directories from the target directory to /usr/share/dcache/dcache-view/, in the terminal typed:

rm -rf /usr/share/dcache/dcache-view/* && mv -v <path-to-dir>/dcache-view/target/* /usr/share/dcache/dcache-view/

Remembered, this path: /usr/share/dcache/dcache-view/ depends on your installation and the package you installed. For example, in the system test, this is equivalent to:

<path-to-dcache-directory>/packages/system-test/target/dcache/share/dcache-view/

In the case where dCache is running on a remote machine, please use one of the method described here to deploy or replaced the files listed above with the newly generated ones.

Features

dCache View comes with many features. Here we've highlighted several of these features that are already shipped. Also, a list of planned features and their progress will be provided. If you have any suggestions on our features, please submit feedback on our feature requests here.

How To

Versioning

For the versions available, see the tags on this repository for the prebuild and the nexus for the build ones.

Contributors

dCache View is part of dCache project, which is a joint venture between Deutsches Elektronen-Synchrotron, DESY, Fermi National Accelerator Laboratory, FNAL and Nordic DataGrid Facility, NDGF.

How to contribute

Please read contributing instruction for details on our code of conduct, and the process for submitting pull requests to us. Also, if you hit an unknown bug, please check here for instructions on how to report a bug.

License

The project is licensed under AGPL v3 - see the LICENSE.md file for details

Acknowledgments

The team thank Onno Zweers from surfSARA for his contributions.

dcache-view's People

Contributors

alrossi avatar dependabot[bot] avatar kofemann avatar mksahakyan avatar onnozweers avatar paulmillar avatar znikke avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dcache-view's Issues

Request: Display ownership and group

We are trying to set up dcache-view as a general file access method for Swestore. There are a few things in the web GUI that we miss.

In the interface, show the owner on the file and the group. Preferably with name.

Example:

Type   Name       Owner   Group   Creation time           File location   Size
ICON   beer.jpg   jens    ops     11/7/2019, 3:29:24 PM   Disk            86.1 KB
ICON   food.jpg   2344    ops     11/7/2019, 3:29:32 PM   Disk            92.1 KB

or possibly jens(17003) and ops(2300).

paper-* is deprecated

In the Console on a dcache-view page I get this report:

elements.html:20179 paper-header-panel is deprecated. Please use app-layout instead! elements.html:21008 paper-toolbar is deprecated. Please use app-layout instead! elements.html:23786 paper-drawer-panel is deprecated. Please use app-layout instead! elements.html:28697 paper-scroll-header-panel is deprecated. Please use app-layout instead!

I don't know if this is something new or something to worry about.

Request: allow HTML (logo, links) in page header

Hi,

When I put HTML tags in frontend.static!dcache-view.org-name, they are not parsed in the interface but instead shown exactly as tags.

Would it be possible to allow HTML tags somehow? If not in this value then somewhere else, to be able to add a logo and perhaps a link to our user documentation.

Thanks!
Onno

Doubleclicking file gives error

When doubleclicking a JPG file, the error "error is not defined" is shown.

schermafbeelding 2019-01-21 om 16 10 33

I would expect a JPG to be displayed. Or at least, to see an informative error message.

Tested in 5.1.0-shapshot (of last Friday).

Chrome OSX: redirect loop after login

Dear dCache devs,

When I log into dCache View (dCache 6.0.0 snapshot) with Chrome 75.0.3770.100 on OSX, I first get a normal window with a directory listing. However, as soon as I go into a subdir or click the "home" button, Chrome gets stuck in a redirect loop, while the login page is shown. I then have to close the browser tab.

In Firefox, I don't see this.

Any idea what could be happening in Chrome?

Cheers,
Onno

Redirect loop when returning to dCacheView with problematic certificate

I have been having trouble with my X509 for some reason ... seems that there is a CRL issue which I'm trying to get to the bottom of. But I can reproduce the redirect loop behavior as follows:

  1. go to https://:3880 (dCacheView) [here it refuses to authenticate me because of this certificate problem, and shoves me over to the login page]. I log in.
  2. Now go to https://:3880 /api/v1. I'm asked to log in again. I log in again.
  3. Now try to go back to https://:3880 (back button or put the URL into the navigation bar). That is when it goes into this infinite loop.

Closing the tab and reconnecting fixes the issue.

Request: support for macaroons (share links)

Hi,

We would very much like support for macaroons (share links) in dCache View! Now, when our users want to share data, we have to do all sorts of things (create accounts, set ACLs) to make it possible. It would be awesome if, like in ownCloud, users could easily obtain a share link themselves that they can hand out to someone they need to share data with.

We can get share links with scripts in a shell, but in dCache View it would be much more user friendly.

Thanks!
Onno

QoS: geographic placement hardcoded "DE"?

Dear dCache devs,

I've noticed that in dCache View, the geographic placement appears to be hardcoded as DE.

image

I think the piece of code where this happens is https://github.com/dCache/dcache/blob/master/modules/dcache-frontend/src/main/java/org/dcache/restful/qos/QosManagement.java#L47. I found no option to override this.

Our users may get confused when they see this; they may think that (part of) our storage falls under German jurisdiction. Are there any plans to make this value admin configurable?

Kind regards,
Onno

Request: Change group on file

We are trying to set up dcache-view as a general file access method for Swestore. There are a few things in the web GUI that we miss.

It would be very handy if a user that belongs to multiple groups would be able to change group on
a file or directory the user owns (you can’t change your ownership to someone else). If this is done on a directory, it would be nice if it would be recursive.

Request: Modify unix permissions on a file or directory

We are trying to set up dcache-view as a general file access method for Swestore. There are a few things in the web GUI that we miss.

One very requested feature is a simple way to change the permissions on a file or directory. If this is done on a directory, it would be nice if it would be recursive. Or if you could selec and change multiple files at the same time. But on the whole, this is a tricky thing to get right.

Redirect loop after OIDC session expires

Dear dCache devs,

I'm experimenting with OIDC in our test instance of dCacheView at https://dolphin12.grid.surfsara.nl:20443/. It seems to work nicely, I can authenticate in the ESCAPE IAM at CNAF/INFN and then have a fully functional session in which I can upload and download files.

After a while, I guess when the OIDC dCacheView session expires, when I click anywhere in the dCacheView, I'm thrown back into the login page, but then the browser gets stuck in an endless redirect loop. When I close the browser and start a new (private) window, the redirect is over and I can log in again. It happens in Firefox and in Chrome.

There has been a somewhat similar issue a while ago but that was fixed back then. #183

I took a log from the web console. I can send you this if you want. If you need a special log file, let me know.

Cheers,
Onno

Support direct sharing of files

When the user selects sharing a file, the returned URL is a link pointed back to dCacheView.

While this works, it is also (sometimes) helpful to provide direct access to the file. This is to allow people to download the file directly (e.g., using curl), without using dCacheView.

In other words, the URL should point to the WebDAV door with the macaroon embedded.

So, if the WebDAV link for a file is:

https://webdav.example.org/path/to/file

and the macaroon is MACAROON

then the share dialogue box should offer the user the possibility of getting a direct link to the file. For the above example, the URL would be:

https://webdav.example.org/path/to/file?Authz=MACAROON

Missing details when file is uploaded

In dCache v6.0.8, when uploading a file using dCacheView, the directory listing is updated so it includes the newly created file. However, dCacheView does not know anything about the file: right-clicking the file and selecting "View details" shows no information. The raw data shows an empty JSON Object.

A consequence is that uploading an HDF5 file does not show the HDF5 icon, The "File location" field is "unavailable".

Relisting the current directory shows all expected values.

Logging in as "name#admin" in the wrong place causes "no roles to assert"

Hi,

In the /api/v1 API, an admin should log in as name#admin for extra functionality. When I do that accidentally in the dCache View, I don't get an error, but when I go to my profile, it says "no roles to assert".

I would expect to either get an error ("Don't use #admin here") or that the #admin is ignored at every level and the role list is populated.

Kind regards,
Onno

Avatar icon does not appear, instead "busy" icon

Hi,

Using Firefox, in the "your profile" page, it seems there is a permanent "busy loading" icon where I would expect an avatar image. See screen photo:

img_e3813

When using Chrome, it works as expected: I can see an avatar icon.

Kind regards,
Onno

Admin toolbox fails, gets 401 error, API call "authorization:" header empty

Dear dCache devs,

On our test server we have 5.1 snapshot. The dCache View there has a broken admin toolbox. Whichever tool I click, I get a 401 error (unauthorized). When I copy the API link that was requested and paste it in a new browser tab, it works fine.

In the log at debug level, I noticed a "Credentials in Authorization header are not-null, but are empty". And indeed, in the Firefox Web Console, I noticed that there was a header:

authorization:

that was empty. When trying the same in our production dCache (v4.2), there was a nicely filled-in header like this:

authorization: Basic xxxxxxxxxxxxxxxxxxxxxxxxxxx.

And there the tools in the admin toolbox work fine. Otherwise our setup is pretty much the same. I have the admin role in both cases. The main difference is the software version. Could this be a bug?

This issue could be related to #169.

Kind regards
Onno

Admin role switch keeps flipping on

Hi,

I made myself member of the admin group, and when I click the "your profile" icon, I can see the switch behind the "admin" role is switched on. When I click the switch, it appears to be switched off and turns from green to red. However, when I click the "your profile" icon again, the role switch is switched back to the on position and it is green again. Is this a bug? I'm testing dCache 4.3.

Kind regards,
Onno

rename after renaming a file does not work

Right-clicking on a file to bring up the context menu and selecting the Rename command updates how the filename is shown in the directory listing so that it is now editable. The file's basename highlighted.

Typing in a new name and then pressing the Enter key triggers a rename request being sent to dCache. If successful, the filename in the directory listing is updated to reflect the new filename.

Subsequent attempts to view the file (right-click and selecting View) succeed, if it is a viewable file (e.g., .jpg).

The problem comes when attempting to rename this file again. Following the same procedure as above, (right-clicking on the file and selecting Rename) updates how the filename is shown in the directory listing so that it is editable. The first problem is that the editable filename is the original filename, not the updated filename.

If a new filename is entered, then the rename will always fail, since dCache View is attempting to rename from the original filename and not from the updated filename. After doing this, the directory listing shows the original filename, not the updated filename. This also happens if the rename operation is aborted.

Subsequent attempts to view the file (right-click, View) now fail.

As a work-around, clicking on the parent directory name in the bread-crumb path-element list forces a refresh of the directory listing. This updates the display so that it shows the correct filename. A subsequent rename operation will then succeed.

Refreshing the directory list after renaming a file is also a work-around for the first problem: the sequence Rename / refresh-dir-list / Rename works as expected.

Tested with Firefox and Chrome (both browsers show this behaviour). Tested with username+password and OIDC authentication (both show this problem).

Problem with questionmark in filename

I uploaded a file with a ? in its name (through Cyberduck & WebDAV). When I change its QoS from disk to tape, dCache View says "Error 404: not found". For other files the same operation succeeds.

schermafbeelding 2019-01-25 om 16 17 18

Kind regards,
Onno

dcache-view access issues

1- If log in using OIDC and try to upload a file. The file is not uploaded and It shows an error which is not helpful to track the problem.

2- Logging out and logging in doesn't solve the issue. It mean the dcache-view is using expired access token.
Screenshot is attached where the user is log in but dcache-view is in fetching data mode.

07012020
08012020

Status message not (entirely) visible

Hi all,

When I try to upload a file, and it goes wrong, a frame appears with a "status" indication, however, I can't see much more than the word "Status:". So it is not very helpful to find out why my upload fails. Any ideas why no error message is coming through? I'll upload a screen print to show what I mean.

When using Chrome instead of Firefox, I can see a "Status: uploading" message, then Chrome asks for my client cert for authentication; I click cancel because I want to skip towards username/password authentication, and then I get the same: a "Status:" message without any additional message.

To clarify, this issue is not about authentication in dCache View; this is about not seeing helpful status messages.

Kind regards,
Onno
screen shot 2018-08-23 at 13 06 24

Selecting WebDAV doors with a non-/ root path

As per Paul's suggestion (https://rb.dcache.org/r/11756/):

As a future extension, a non-/ root might still be useful if it is a parent of the target path.

For example:

dCacheView wants to download /dir-A/dir-B/file and the door's root is /dir-A then dCacheView can still download from this door as the file /dir-B/file.

dCacheView wants to download /dir-A/dir-B/file and the door's root is /dir-Z then dCacheView cannot fetch the file through that door.

pool enable/disable

Unlike the remote filters (alarms, e.g.) the built in filter does not automatically play with the selection box. Same problem as we had on webadmin. Needs to be fixed

undefined access in Pool plots for Space plots when no data

For all the other plots, no data just presents a blank page.

For the Space plots, however, an error results:

TypeError: undefined is not an object (evaluating 'data.groupSpaceData.total')

Need to check for defined on key of the data object

Uploading files do not show transfer progress

A progress box is shown when uploading a file into dCache, which includes a progress bar per file.

Currently these progress bars have only two states: 0% complete and 100% complete.

Instead, the progress bar should show the amount of data sent.

webdav url is set to undefined value and configured endpoint setting is ignored

Disclaimer I am no web/js developer, so my solution to this problem might be wrong but the issue nevertheless exists.

While trying to enable dcache-view on Swestore (dCache 5.2.7) we stumbled upon weird errors that turned out to be caused by our frontend.static!dcache-view.endpoints.webdav setting being ignored.

Fumbling around in the debugger and testing around we finally ended up with the following workaround:

--- scripts/dv.js.orig  2019-07-09 13:27:44.000000000 +0200
+++ scripts/dv.js       2019-11-07 12:38:47.495958633 +0100
@@ -441,7 +441,7 @@
         } else {
             throw new TypeError("Invalid path: only absolute path is accepted.");
         }
-        const arr = window.CONFIG["webdav"] ?
+        const arr = (window.CONFIG["webdav"] && window.CONFIG["webdav"][operationType] && window.CONFIG["webdav"][operationType].length > 0) ?
             window.CONFIG["webdav"][operationType] : window.CONFIG["dcache-view.endpoints.webdav"] ?
                 [window.CONFIG["dcache-view.endpoints.webdav"]] :
                 [`${window.location.protocol}//${window.location.hostname}:2880`];
@@ -728,4 +728,4 @@
     window.addEventListener('dv-namespace-close-files-viewer',(e)=>{
         app.$.filesViewerOverlay.close();
     });
-})(document);
\ No newline at end of file
+})(document);
--- elements/elements.html.orig 2019-07-09 13:29:04.000000000 +0200
+++ elements/elements.html      2019-11-07 12:38:46.479944784 +0100
@@ -11178,7 +11178,7 @@
                 } else {
                     throw new TypeError("Invalid path: only absolute path is accepted.");
                 }
-                const arr = window.CONFIG["webdav"] ?
+                const arr = (window.CONFIG["webdav"] && window.CONFIG["webdav"][operationType] && window.CONFIG["webdav"][operationType].length > 0) ?
                     window.CONFIG["webdav"][operationType] : window.CONFIG["dcache-view.endpoints.webdav"] ?
                         [window.CONFIG["dcache-view.endpoints.webdav"]] :
                         [`${window.location.protocol}//${window.location.hostname}:2880`];
@@ -77588,4 +77588,4 @@
         }
     }
     window.customElements.define(QosBackendInformation.is, QosBackendInformation);
-</script></div>
\ No newline at end of file
+</script></div>

From what we can surmise, window.CONFIG["webdav"] is filled by some stray items so the original check is insufficient. I just expanded the check to ensure that the array existed and was non-empty, which enabled the code to actually use our configured endpoint name instead of the non-helpful URL "undefined" ...

This brought us from the state "no file operation works when logged in" to "things seems to work when logged in with username/password auth", which is a step forward for us. It's strange that the original code seems to work for others, so we likely have config errors somewhere still, but this improved check shouldn't damage the cases that previously worked...

Space total for "all pools" group is computed incorrectly

By summing the totals from each pool group. This is wrong, as can be seen here:

shared

There is only one pool up, and it is shared between the two pool groups. The total is falsely doubled.

Unfortunately, the only way to fix this properly is on the service/REST end. There needs to be a default "all" group which computes the totals directly from the pools on the backend, instead of doing the summing on the frontend. Otherwise loading the pool-groups view will be much more costly from the standpoint of AJAX calls.

Incorrectly describe login method as using an "OpenID account"

The correct term is OpenID-Connect or OIDC for short. OpenID refers to earlier (and incompatible) versions of the protocol or the name of the foundation that manages AAI authentication protocols.

Therefore the message should say Login via an OpenID-Connect account.

Failed file uploading

While uploading file using dCache-View (https://dcache-demo.desy.de/) via Chrome browser, It gives 401 login failed error.[photo_attached]
This behavior was observed after logging in using username and password (user-pass) method.
After checking the logs from dCache. It's noticed that log in process was mixed up with x509 and at the end the upload process is failed.
It mean the system shows x509 credentials attempt instead of user-pass data.
On the other hand the Firefox browser is working fine and giving expected results.

401_login_failed

Requesting a "one week" macaroon fails

When selecting to share a macaroon, the user is given a choice for how long the link should remain valid (the "Expiration time")

The longest allowed time is one week. This does not work, with the frontend reporting an nondescript error back to the user.

The problem is caused by dCacheView sending a macaroon request with the duration designator P1W. This does not work. Instead, the value should be P7D.

Request: Display unix permissions on a file or directory

We are trying to set up dcache-view as a general file access method for Swestore. There are a few things in the web GUI that we miss.

In the interface, show the unix permissions on a file or directory.

Example:

Type   Name       Permissions   Creation time           File location   Size
ICON   beer.jpg   -rwxrwxr-x    11/7/2019, 3:29:24 PM   Disk            86.1 KB
ICON   food       drwxrwsr-x    11/7/2019, 3:29:32 PM   Disk            -

Request: File information improvements

We are trying to set up dcache-view as a general file access method for Swestore. There are a few things in the web GUI that we miss.

  1. Display ACL:s
  2. Edit ACL:s
  3. Make which columns are shown and the order of them configurable. We don’t need “File location” but instead the ones above. Other sites may have other needs.
  4. Also the previous point user configurable.

Do you want me to split this into separate issues?

Authentication through dcache-view fails but works through CURL/SWAGGER

I am seeing some weirdness with the most recent dcache-view in terms of role authorization.

On my testbed, admin is defined:

gplazma.roles.admin-gid=1000

dcache.kpwd contains the following for me:

mapping "/DC=org/DC=cilogon/C=US/O=Fermi National Accelerator Laboratory/OU=People/CN=Albert Rossi/CN=UID:arossi" arossi
mapping "[email protected]" arossi

login admin read-write 0 1000,0 / / /
  /DC=org/DC=cilogon/C=US/O=Fermi National Accelerator Laboratory/OU=People/CN=Albert Rossi/CN=UID:arossi
  [email protected]


# the following are the user auth records
login arossi read-write 8773 1530,1000,0 / /pnfs/fs/usr/test/arossi /
 /DC=org/DC=cilogon/C=US/O=Fermi National Accelerator Laboratory/OU=People/CN=Albert Rossi/CN=UID:arossi
#  [email protected]

# the following are the user auth records
passwd arossi ba22a191 read-write 8773 1530,1000,0 / /pnfs/fs/usr/test/arossi

The attached is what I see when I assert my admin role. Everything looks fine.

dcache-view

BUT.

When I try to disable a pool, I get a 403 back (unauthorized).

I put in a print statement where the frontend isAdmin() check is called on the RequestUser:

        if (!RequestUser.isAdmin()) {
            System.out.println(RequestUser.getSubject() + " is not admin.");
            throw new ForbiddenException("Pool command only accessible to admin users.");
        }

And this is what I see in the log:

Subject:
Principal: GidPrincipal[0]
Principal: /DC=org/DC=cilogon/C=US/O=Fermi National Accelerator Laboratory/OU=People/CN=Albert Rossi/CN=UID:arossi
Principal: UidPrincipal[8773]
Principal: Origin[131.225.82.150]
Principal: EmailAddressPrincipal[[email protected]]
Principal: GidPrincipal[1000]
Principal: UserNamePrincipal[arossi]
Principal: GidPrincipal[1530,primary]

...

is not admin.

NOTE:

It works perfectly fine using Swagger-CURL

curl-swagger

Did the internal API for communicating the role to the frontend get changed?
The code in the page has not changed:

_sendPoolModeChange(pool, rdonly, strict) {
                this.$.AjaxPatch.url
                    = this.getUrl(`pools/${pool}/usage/mode`, null);
                this.$.AjaxPatch.headers = this.getHeaders();
                this.$.AjaxPatch.body = {
                    "rdonly": rdonly, "strict": strict,
                    "resilience": "true"
                };
                this.$.AjaxPatch.generateRequest();
            }

dCacheView: use the right WebDAV door

Dear dCache devs,

We have different flavors of WebDAV doors: X509 versus username/password, redirecting versus non-redirecting, and two more with increased security settings.

We have created different flavors of dCacheView to point to these different WebDAV doors. Now we're trying to link each dCacheView to the associated WebDAV door, something like this:

(frontend -> webdav door)
dcacheview:22880 -> dcacheview:2880
dcacheview:22881 -> dcacheview:2881
dcacheview:22882 -> dcacheview:2882
dcacheview:22884 -> dcacheview:2884

For now I'm trying to configure this on a single node. But we do have loads of other WebDAV doors.

In order to tell dCacheView which door to use, I've set these tags in the layout file:

[root@dcacheview /etc/dcache/layouts]# grep tags *
frontend.protocols.tags = 2880
frontend.protocols.tags = 2881
frontend.protocols.tags = 2882
frontend.protocols.tags = 2884
webdav.loginbroker.tags=2880
webdav.loginbroker.tags=2881
webdav.loginbroker.tags=2882
webdav.loginbroker.tags=2884

But still, dCacheView is trying to connect to a WebDAV door on a completely different node, lobster16, on port 443. That door is not configured for this traffic.

I've tried this:

frontend.static!dcache-view.endpoints.webdav=https://dcacheview.grid.surfsara.nl:2880/

But that doesn't work either.

So, how can I tell dCacheView to use the correct door?

Kind regards,
Onno

Firefox: Loading failed for webcomponents-hi.js

Hi,

Last Friday, I updated our test server to the latest 5.1.0-snapshot. Now I'm testing the dCache View interface in Firefox. It remains blank. In the web console I can see this error:

Loading failed for the <script> with source “https://dolphin12.grid.surfsara.nl:20443/bower_components/webcomponentsjs/webcomponents-hi.js”.

I've removed content policy and other security headers, but the result is the same. In the Github repo for dCache View, I can see no reference for webcomponents-hi.js. Any ideas where this error comes from?

In Chrome, the page loads fine (but in the Chrome console I can't find any reference to webcomponents-hi.js).

Kind regards,
Onno

Adding a share/macaroon works but can't do anything with it

Dear dCache people,

I can add macaroons with the "Add a Shared File / Paste the macaroon here" dialogue. And the macaroons I add, appear in the list. But then I can't do anything with them. Can't view, can't view the details, and the other menu options are greyed out.

I've tried in Firefox and Chrome on OSX. I've checked the macaroon for caveats that block access but found none (and dCacheView does not report such).

What could be wrong?

Cheers,
Onno

Request: don't return 404 when URL contains (existing) path

Hi,

I'm trying out dCache View in a dCache master snapshot (using port 20443). I've noticed that when you specify a path in the URL, like this: https://dolphin12.grid.surfsara.nl:20443/users/onno, you get "HTTP ERROR 404 - Problem accessing /users/onno. Reason: Not Found".

This is probably not very intuitive to users who are used to the webdav interface. May I suggest that the dCache View just redirects the user to either the requested path or to the root dir?

Kind regards,
Onno

Admin: active mover kill

This is mainly a problem of bad error message.

500 is returned when the mover is no longer there. Should be more informative.

This is also a back-end issue.

Repeat of tool bar at bottom of Pool Group view

When you open the Pool Group view, then go back to admin icon page, and then return to Pool Group view, the title tool bar and table headers appear replicated at the bottom of the page. Refreshing the page removes them.

Login does not work

Steps to reproduce:

  • visit https://prometheus.desy.de:3880
  • click "log in" in top right
  • Choose "Login via an OpenID account"
    • This is actually OpenID Connect !
  • Choose HDF-AAI
  • Login Via HDF-AAI
  • I'm back at the login screen.
  • From now on I can repeat the steps (login via HDF-AAI) but I'm immediately returned to the page where I can choose local account vs "OpenID"

Ah, and I tried deploying an account via feudal first, but this stays in "circle" mode

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.