Page tree
Skip to end of metadata
Go to start of metadata

In order to turn the tools catalog into an application that can administrator scripts running in clusters, we propose a set of changes:

Concepts:

  • Tool
    • A basic 3rd party library that is used to develop converters or extractors
  • Tool Script
    • A deployable component based on the tool’s library
    • Can be a converter or an extractor
    • Can be a Docker image or manually deployed to a VM
  • Cluster
    • A place where a Tool Script can be deployed
    • Includes a BD-Status service and a Rabbit vhost 
  • Service
    • An instance of a script running in the swarm

Deployment

As a Brown Dog Administrator I can...

  1. Select a script from the tools catalog to deploy
  2. Select a cluster to which the script will be deployed
  3. Override default values:
    1. The script's default queue name
      1. RABBITMQ_QUEUE environment variable set in the request [  BD-1835 ]
      2. RABBITMQ_URI for the vhost Exists in Polyglot and Pyclowder2 and 1
      3. Only for extractor [ BD-1837 ]
    2. Default min and max instances
      1. Passed in as labels bd.replicas.min/max [  BD-1771 ] 
      2. Memory and CPU resource requirements
      1. Passed in as resource property in request
      2. Just limits, not reservations
    3. Default Service Name
      1. construct as: Cluster name - type - queueName 
    4. Disable automated queue bindings
      1. RABBITMQ_EXCHANGE - if empty do not bind
      2. if not in environment then it will bind to default
  4. Receive an error if:
    1. Queue name is already allocated in the cluster
    2. Docker image invalid
    3. Cluster unable to allocate requested resources

Pause Deployed Service

As a Brown Dog Administrator I can...

  1. Select a cluster to view deployed services
  2. Select a service and pause processing

Delete a Deployed Service

As a Brown Dog Administrator I can...

  1. Select a cluster to view deployed services
  2. Select a service and delete it and its associated queues

Administration Authorization

As a brown dog tool administrator I can...

  1. Query tools and scripts
  2. Approve tools
  3. Revoke approval

As a brown dog deployment administrator for a cluster I can...

  1. Query tools and scripts
  2. Deploy a script to a cluster for which I am authorized
  3. Pause a service on a cluster for which I am authorized
  4. Delete a service on a cluster for which I am authorized

Manually Bind a Service to an Exchange

As a Brown Dog Administrator I can...

  1. Select a cluster to view deployed services
  2. Select a service to manage
  3. See all exchanges in the cluster to which I am authorized to manage
  4. See existing bindings (including those generated automatically)
  5. Enter a binding between exchange and the service

Manually Delete Binding Between a Service to an Exchange

As a Brown Dog Administrator I can...

  1. Select a cluster to view deployed services
  2. Select a service to manage
  3. See all exchanges in the cluster to which I am authorized to manage
  4. See existing bindings (including those generated automatically)
  5. Delete a binding
  • No labels