Giter VIP home page Giter VIP logo

documentation's Introduction

Rucio - Scientific Data Management

Rucio is a software framework that provides functionality to organize, manage, and access large volumes of scientific data using customisable policies. The data can be spread across globally distributed locations and across heterogeneous data centers, uniting different storage and network technologies as a single federated entity. Rucio offers advanced features such as distributed data recovery or adaptive replication, and is highly scalable, modular, and extensible. Rucio has been originally developed to meet the requirements of the high-energy physics experiment ATLAS, and is continuously extended to support LHC experiments and other diverse scientific communities.

Documentation

General information, API/REST description and guides can be found in our documentation or on our webpage.

Try it out

We provide a dockerized environment which serves both as a demo environment and a development environment. It includes all the necessary preconfigured components for multiple storage and transfers developments.

Developers

For information on how to contribute to Rucio, please refer and follow our CONTRIBUTING guidelines. We strongly recommend to use the dockerized environment for development.

Operators

To learn how to deploy and configure Rucio, consult the documentation available online.

Getting Support

If you are looking for support, please contact us via one of our official channels.

documentation's People

Contributors

actions-user avatar akselaase avatar bari12 avatar bjwhite-fnal avatar bziemons avatar davidpob99 avatar dchristidis avatar divya-mohan0209 avatar dougbenjamin avatar dynamic-entropy avatar egazzarr avatar erlingstaff avatar esilvaju avatar geogouz avatar goseind avatar jamesp-epcc avatar joeldierkes avatar jolange avatar maany avatar maatthias avatar maxnoe avatar mlassnig avatar palakyadav1807 avatar rcarpa avatar rdimaio avatar rizart avatar thephisch avatar thysk avatar vdmz avatar voetberg avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

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

documentation's Issues

Broken internal links

Several links reference to internal .html files, which are not supported anymore:

$ grep "([a-zA-Z0-9_]*.html)" docs/*.md
docs/configuration.md:You need to have a Rucio server up and running with the root account created. Please refer to [installation documentation](installing_server.html) for further information
docs/Replica-management.md:on a list of RSEs, denoted by an [RSE Expression](rse_expressions.html).
docs/Replica-management.md:[here](replication_rules_examples.html).
docs/replication_rules_examples.md:The [__RSE Expression__](rse_expressions.html) gets resolved into a set of
docs/replication_rules_examples.md:RSE Expressions [__here__](rse_expressions.html).
docs/replica-workflow.md:site to site transfer due to the creation of a [replication rule](overview_Replica_management.html).
docs/replica-workflow.md:   All files, or datasets are associated to a [scope](overview_File_Dataset_Container.html), if not specifically mentioned the client will assume the default scope of the user,
docs/Rucio_storage_element.md:section about [RSE Expressions](rse_expressions.html) for more
docs/Rucio_storage_element.md:management](overview_Replica_management.html). Explicit transfer

E.g. from docs/configuration.md to [installation documentation](installing_server.html):

Screenshot 2021-10-07 at 11 06 24

Inequalities

I'm trying to understand how inequalities work for selection of RSEs. There is something in the docs here:
https://github.com/rucio/documentation/blob/main/docs/rse_expressions.md
However the example does not show how to use the > or < operator and I can't really get it to work (but that may be because it seems like the freespace is not exposed in the RSEs we have configured in the ESCAPE data lake). Anyhow I think the example would improve from actually using the operator, but since I don't know the exact details I can't pull-request it.

(also this uses the deprecated expressions flag)

Code renders like quote-blocks and not code-blocks

Motivation

The documentation looks good with the Docusaurus theme, but currently the commands or blocks of code are being rendered as

Quotes

Instead of

Code

While this separated the inline code and the code-blocks from the rest of the text, but using a standard format to display code on Rucio's Documentation would be great for accessibility and aesthetic.

Modification

To update the Markdown Quote-Blocks used to display code on the website to Code-Blocks for better support and accessibility.

Actual Result

http://rucio.cern.ch/documentation/docs/setting-up-rucio-client
Screenshot (313)

Expected Result

https://redux.js.org/introduction/getting-started
Screenshot (312)

Error in Generating Executable Help Docs

An error occurs in the building of the docs, see here. The error message (shown below) leads to the conclusion that an outdated rucio version is used (inspecting the current rucio version in common/config.py:197 shows that this line is not part of config_get_float, but this was the case in an earlier version).

Generating the Executable Help Docs...
Traceback (most recent call last):
  File "rucio/bin/rucio", line 2521, in <module>
    oparser = get_parser()
  File "rucio/bin/rucio", line 2308, in get_parser
    selected_parser.add_argument('--transfer-timeout', dest='transfer_timeout', type=float, action='store', default=config_get_float('download', 'transfer_timeout', False, None), help='Transfer timeout (in seconds). Default: computed dynamically from --transfer-speed-timeout. If set to any value >= 0, --transfer-speed-timeout is ignored.')  # NOQA: E501
  File "/usr/local/lib/python3.8/site-packages/rucio/common/config.py", line 197, in config_get_float
    return float(config_get(
TypeError: float() argument must be a string or a number, not 'NoneType'

Further proof of this can be seen in generate_dynamic_files.sh, which pulls an outdated tag.

TASK: fix the import by pulling the appropriate tag

Upgrading to modern font

Motivation

Currently the Rucio Documentation website does not explicitly specify any font family, and uses the standard fall-back fonts for displaying the text. This leads to inconsistent look across devices since the website will only use the fall-back fonts for display. While the fall-back fonts should be present in case the primary and the secondary fonts fail to load.

Modification

Using some modern font pairing will improve the overall theme of the Rucio Documentation.

  • Preferably since the two graphical user interfaces Rucio provides use Inter font family for its typography, the same may be reflected here for consistent theming.
  • The Inter font family goes well with Rubik Font and they form a pairing. Suggested to use Inter for Headings and Rubik for overline, paragraphs, and body text.

Improve multi-VO documentation

Motivation

When setting up the multi-VO instance at RAL and talking to users, a few parts of the multi-VO overview were unclear.

Should also link to the RAL specific user guide (once that's hosted somewhere) as an example of how it can be operated in more detail.

Modification

Clarify some of the wording, and when appropriate, link to the RAL documentation.

Document how to set up command line argument completion

I just found out by looking through the source code that Rucio supports command line competition if you have argcomplete installed. It would be nice to add this to the documentation to make it easier to find. Shall I make a pull request?

Ambiguity of "developing" and "developer"

There is a general ambiguity of developing in the documentation as it stands. The distinction between "develop for Rucio" which implies contributing to https://github.com/rucio/rucio and "develop with Rucio" which would be using the Rucio clients or the REST API is not clear enough. The latter is actually another form of using Rucio among the existing CLI. There should be a more clear differentiation.

Add instructions for Mac Apple Silicon in the developer section

Rucio does not provide packages and containers for Apple Silicon.

But a Mac with Apple silicon is capable of running code compiled for the x86_64 instruction set using a translation mechanism called Rosetta 2.

In order to have rucio containers working on Apple Silicon you need to:

  • Install rosetta 2
  • Set DOCKER_DEFAULT_PLATFORM=linux/amd64

Modifications in the documentation needs to cover this steps.

Additionally some modifications on VSCode repository: https://github.com/maany/rucio-vscode-dev-env

Change the portrait of the Release Notes list

The release notes list is just a long list. It should be better portraited:

  • Having categories by minor version number. This way, a version is easier to find.
  • The sorting should be more intuitive. (1.26.11 should be after 1.26.2, not before).

Formatting / style guide

There seems to be a few formatting guidelines in Rucio that are not yet mentioned in the documentation, e.g.:

  • The SQLAlchemy query coding style mentioned here: rucio/rucio#6497 (comment)
  • Sorting imports alphabetically, separating them into sections based on whether they're internal or external dependencies

It would benefit to have a documentation page collecting these guidelines.

Documentation for RSE settings

Is there already a place where the RSE settings (as shown below) are documented? If it's missing, I can try to add it by reading the source code, but I would probably need a bit of help.

$ rucio-admin rse info IN2P3_TAPE2 
Settings:
=========
  availability: 7
  availability_delete: True
  availability_read: True
  availability_write: True
  credentials: None
  delete_protocol: 1
  deterministic: False
  domain: ['lan', 'wan']
  id: f5f6e4d01e7143b3914409ae2ec60e56
  lfn2pfn_algorithm: hash
  qos_class: None
  read_protocol: 1
  rse: IN2P3_TAPE2
  rse_type: TAPE
  sign_url: None
  staging_area: False
  third_party_copy_read_protocol: 1
  third_party_copy_write_protocol: 1
  verify_checksum: True
  volatile: False
  write_protocol: 1

bridge the gap between running rucio in demo env and full production deployment

Many people ask support questions due to the fact that there is a huge undocumented gap on how to go from a demo env
(http://rucio.cern.ch/documentation/setting_up_demo/). To a full rucio deployment.

We must have a summary guide, with a very high-level overview of rucio components/daemons. After following that guide, the user must have a fully-working rucio instance. Which can be contacted with a rucio client for all possible operations (The counters on RSEs must get correctly updated for example, so that delete-rse works correctly). Would be perfect to make the user install an external rse in the process. With webdav for example.

It's probably a good idea to start with the existing https://github.com/rucio/k8s-tutorial, and improve it.

WebUI: Improve Docs

As I am stepping down from being an active developer, I am putting my experience on the WebUI (frontend) into writing for the next person's enjoyment.

Documentation Formatting

Hello,
The documentation has some formatting errors which can be fixed. This will make the migration from the .rst to markdown based Docusaurus documentation easier.
I would like to work on the same :)
Thanks :)

Missing arrows in request state transition diagram

Missing arrows in request state transition diagram

In the web documentation: Home → OperatorTransfers → Transfers Overview, section “Lifecycle of transfer requests”. Exists a request state transition diagram, in my opinion, it is missing two arrows.


The first in the orange state “Failed (F)” which is going to the section “Failed without submission”.

Missing arrow from failed to failed without submission


The second is a long line from the condition “Less than 3 tiers” when it is “no” to the first condition “use preparer?”.

Missing arrow from less than 3 tiers, image 1

Missing arrow from less than 3 tiers, image 2


Source code:

Add Rucio QoS RSE description and instructions

Rucio now supports a quality-of-service (QoS) method for a site to administer at the RSE and therefore storage level a lifetime for its replicas. A common use case would be to decrease or increase the number of days that replicas sit in a disk buffer in front of tape storage. This feature allows an operator to set this lifetime on a Rucio RSE.

Merge contributing pages

There are three pages with similar content that should be merged:

docs/Contributing-Improvements.md
docs/New-content-contribution-guide.md
docs/types-of-pages.md

Versioning Issue in `generate_release_notes_index.py`

In one of the final steps of the build process, the python script generate_release_notes_index.py fails. This is because of the versioning scheme change (from 1.31 to 32) and because the release note titles are hardcoded. See the github action report here.

Create a server/daemon installation howto

Motivation

We don't really have a good documentation page how to install server & documentation. There are several Google docs roaming around, and some people, such as @cfenell have written a documentation page, but this needs to be properly integrated into the documentation.

Modification

Add syntax check tests

New PRs are not getting tested properly. Right now the only time an error is detected is in the main branch, when the documentation should be deployed.

Add syntax checks for all PRs (maybe commits) to capture errors early.

Make visibility of links on pages better

Currently, I do not see a difference in linked text, see

image

where the last words "Exception definition" are linked to another page.

Modification

I think it makes sense to modify the existing theme to make links differ from other text.

Update the documents to match Multi_VO changes to resolve issue #4731

In Multi_VO operation, there needs to be additional section within the rucio.cfg for the addition of certs based on each VO:
usercert = config_get('vo_certs', vo, False, usercert)

This is easily resolved by specifying the section vo_certs with the sections named after the vos, with the vo value pointing to a path to the usercert

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.