Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • CTA CTA
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 121
    • Issues 121
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ctacta
  • CTACTA
  • Issues
  • #276
Closed
Open
Issue created Jan 19, 2023 by Joao Afonso@afonsoOwner8 of 11 checklist items completed8/11 checklist items

Add new physical tape library table to the CTA catalogue

For reference, check issue https://gitlab.cern.ch/cta/operations/-/issues/970.


For various reasons (mainly hardware resource planning), we need to add the concept of physical tape libraries to the the CTA catalogue.

As @vlado mentioned on https://gitlab.cern.ch/cta/operations/-/issues/970, this new table should include:

  • name (mandatory, primary key)
  • description (manufacturer, what it is used for, what kind of technology it is using)
  • URL to the GUI
  • location (building room)
  • number of physical cartridge slots (mandatory, but updateable)
  • number of physical drive slots (mandatory, but updateable)
  • comment

Each physical library can contain zero or more logical libraries.

Each logical library must belong to exactly one physical library.


The new table should:

  • Be named PHYSICAL_LIBRARY (in opposition to the already existing table LOGICAL_LIBRARY).
  • Have PHYSICAL_LIBRARY_ID as the primary key.
  • Have PHYSICAL_LIBRARY_NAME as an UNIQUE column.
  • Be referenced by the LOGICAL_LIBRARY table:
    • By adding a FOREIGN KEY column PHYSICAL_LIBRARY_ID to the LOGICAL_LIBRARY table.

It should have the following columns (to be discussed):

Column Description Required
PHYSICAL_LIBRARY_ID auto-generated number(20) sequence Yes
PHYSICAL_LIBRARY_NAME varchar(100) Yes
PHYSICAL_LIBRARY_MANUFACTURER varchar(100) Yes
PHYSICAL_LIBRARY_MODEL varchar(100) Yes
PHYSICAL_LIBRARY_TYPE varchar(100)
GUI_URL varchar(1000)
WEBCAM_URL varchar(1000)
PHYSICAL_LOCATION varchar(100)
NB_PHYSICAL_CARTRIDGE_SLOTS number(20) Yes
NB_AVAILABLE_CARTRIDGE_SLOTS number(20)
NB_PHYSICAL_DRIVE_SLOTS number(20) Yes
USER_COMMENT varchar(1000)
CREATION_LOG_USER_NAME varchar(100) Yes
CREATION_LOG_HOST_NAME varchar(100) Yes
CREATION_LOG_TIME number(20) Yes
LAST_UPDATE_USER_NAME varchar(100) Yes
LAST_UPDATE_HOST_NAME varchar(100) Yes
LAST_UPDATE_TIME number(20) Yes

Regarding the development work, I propose the following tasks:

  • Create new PHYSICAL_LIBRARY table and FOREIGN KEY in LOGICAL_LIBRARY. Include it in the future catalogue release v13.0.
  • Modify the cta-admin tool, allowing us populate/print the PHYSICAL_LIBRARY table. Include in the next code release.
    • Modify the protobuf to include pysical library data
    • Create new client side cmd cta-admin physical library add/ch/rm/ls
    • Add function with sql code for adding a pl on frontend
    • Add function with sql code for changing a pl on frontend
    • Add function with sql code for removing a pl on frontend
    • Add function with sql code for selecting a pl on frontend
  • Update the schema in production to v13.0
  • Populate the PHYSICAL_LIBRARY table. Add a physical library to all logical libraries.
  • Add NOT NULL constraint to the new FOREIGN KEY in LOGICAL_LIBRARY. Include it in the future catalogue release v14.0.
Edited May 15, 2023 by Lasse Tjernaes Wardenaer
Assignee
Assign to
Time tracking