The Puppet Labs Issue Tracker has Moved: https://tickets.puppetlabs.com

Feature #4053

Dashboard should provide an API to insert and extract data

Added by Dan Bode over 4 years ago. Updated over 2 years ago.

Status:ClosedStart date:06/21/2010
Priority:HighDue date:
Assignee:-% Done:

0%

Category:-
Target version:-
Keywords: Affected URL:
Branch: Affected Dashboard version:

Description

As an example:

problem: it is cumbersome to specify initial data in the dashboard (groups, nodes, classes). linux sysadmins would rather work with configuration files (text) than GUIs

it would be great if I could write a yaml file to represent my group data and import it into the dashboard.

groups:
  a:
    x:1
    y:1
    z:1
    classes:
      - one
      - two
    b:
    x:2
classes
- one
nodes:
  node1: 
    :classes
      - one
    :groups
- two

maybe this is already at least partially solved by the restful API?


Related issues

Related to Puppet Dashboard - Feature #5243: Ability to "acknowledge" a failing host Rejected 11/09/2010
Related to Puppet Dashboard - Bug #7161: Create API in Dashboard for adding nodes to groups Closed 04/18/2011
Duplicated by Puppet Dashboard - Feature #3231: there should be a command line tool for adding nodes Duplicate 02/22/2010
Duplicated by Puppet Dashboard - Feature #7071: Dashboard should support ActiveResource Duplicate 04/12/2011

History

#1 Updated by Dan Bode over 4 years ago

  • Priority changed from Normal to High
  • Target version set to 1.1.0

#2 Updated by Jeff McCune over 4 years ago

  • Subject changed from better tools for deserializing node groups, classes, nodes from external sources to Dashboard should provide an API to insert and extract data

From the PS conversation: “There should be an API to facilitate import / export of data into and out of the dashboard.”

Additional design decision will be necessary to implement.

A third party tool, external to the dashboard will provide import export functionality using the API.

#3 Updated by James Turnbull over 4 years ago

  • Status changed from Unreviewed to Accepted

#4 Updated by Rein Henrichs over 4 years ago

  • Status changed from Accepted to Needs Decision
  • Target version changed from 1.1.0 to 1.2.0

#5 Updated by Luke Kanies over 4 years ago

  • Status changed from Needs Decision to Accepted

There should be a fixed rule to support an API for everything that’s remotely reasonable. It’s definitely one of the rules of modern web programming, and we can’t afford to get any further behind here than we already are.

#6 Updated by Peter Meier about 4 years ago

One of the first things I would like to extract is the amount of hosts with problems or hosts that didn’t report for a long time

#7 Updated by Ahmed El Gamil over 3 years ago

I can use that to get the node ‘number’ that appears in the node URL in the dashboard (http://dashboard.example.com/nodes/4 <– 4 in this example) by querying using the node hostname.

Needed that to link the puppet reports to my servers documentation.

#8 Updated by Andrew Forgue over 3 years ago

My use-case for this would be the ability to add, remove, retrieve nodes by name (not number, which isn’t currently possible) in YAML and JSON formats and the ability to eventually set/remove tags (when/if they’re implemented) (see: #5243).

Looking forward to this :)

#9 Updated by Chris Phillips over 3 years ago

I’m keen on this to be able to add a node to the environment as part of a cobbler / kickstart build process. Using external node classifiers in Puppet it seems best to keep this data in puppet dashboard as that (and puppet itself of course) is the only location where all puppet registered systems will be guaranteed to be found, and dashboard seems to be the place for dynamic node modifications to happen compared to Pupper itself. Whilst this data could be kept in Cobbler using cobbler-ext-nodes or such like, not all systems are going to be in there.

Looking forward to this :)

#10 Updated by James Turnbull over 3 years ago

Of note is ticket #7161 – Create API in Dashboard for adding nodes to groups.

#11 Updated by James Turnbull about 3 years ago

  • Target version changed from 1.2.0 to 140

#12 Updated by Dan Bode about 3 years ago

I would just like to highlight the following repo:

https://github.com/puppetlabs/puppetlabs-dashboard

It now contains a face with the following capabilities:

  • list nodes
  • list classes
  • list groups
  • create node
  • create group
  • create node
  • add classes from module to dashboard
  • download module from forge, add its classes to dashboard

#13 Updated by Michael Stahnke almost 3 years ago

  • Status changed from Accepted to Closed

The module dan lists seems to be a pretty good API and source for API usage. Better Documentation of the API might be required, but that should be a separate issue.

#14 Updated by Anonymous almost 3 years ago

  • Target version deleted (140)

Also available in: Atom PDF