Bug #7294

Format encoding/decoding meta-bug for Faces, network, and others

Added by Nick Fagerlund about 1 year ago. Updated about 1 year ago.

Status:Accepted Start date:04/29/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Faces
Target version:2.7.x
Affected Puppet version:2.7.0rc1 Branch:
Keywords:
Votes: 0

Description

This ticket is to round up a constellation of issues around data formats. A brief overview:

  • The REST API doesn’t use recognizable MIME formats. (issue #4456)
  • This appears to be because the network formats code takes the name of a format and prepends .to_ to it. This is bad because we end up having to ask for formats like “s,” and request “pson” instead of “json.” (see also issue #7160)
  • The faces CLI uses the network formats code to render its output… except when it doesn’t. (Prettyprinted json.)
  • Requesting nonexistant formats blows up in an opaque way. (issue #7269)
  • Some faces, especially indirector faces, return odd default formats. (issue #7293, e.g.)

It would be nice to get to a place where users tend to get what they need by default; can expect the same formats to work on the REST API, the Faces API, and the Faces CLI; and have a sensible (text or text/plain instead of s, e.g.) set of formats that is either clearly documented or (better yet) introspectable.

Once folk feel we have more concrete tickets that capture all of what we want, we can close this ticket.


Related issues

related to Puppet - Bug #7293: Certificate subcommands should not return #inspect output Closed 04/29/2011
related to Puppet - Feature #7160: support 'json' format externally... Closed 04/18/2011
related to Puppet - Bug #7269: Using `--render-as` with an unsupported format has bad er... Closed 04/27/2011
related to Puppet - Bug #4456: REST doesn't know synonyms for its mime types Code Insufficient 08/03/2010

History

Updated by Daniel Pittman about 1 year ago

  • Category set to Faces
  • Status changed from Unreviewed to Needs Decision
  • Assignee set to Nigel Kersten
  • Affected Puppet version set to 2.7.0rc1

Nigel, I think this is a high priority issue, since we routinely run into problems with it. It has been around more or less forever, but has become vastly more visible to end users now that we are encouraging them to use, eg, faces built around indirected classes using the network encoding system.

Also, it is a relatively pressing faces issue, since we have a whole pile of complicated, special-case code in the puppet/application/face_base.rb library that works around some of the issues around this (and my nervousness at what flow-on effects changing this code might have at the network layer.)

Updated by Daniel Pittman about 1 year ago

On an implementation note, some of this would be vastly improved by adding ‘alias’ names to the format, and preferring the MIME tag that all formats have. So, this is mostly a matter of plumbing. I suggest we start tackling this in the 2.7.1 series.

Updated by Nigel Kersten about 1 year ago

  • Target version set to 131

Updated by Nigel Kersten about 1 year ago

  • Target version changed from 131 to 2.7.x

Updated by Nigel Kersten about 1 year ago

  • Status changed from Needs Decision to Accepted
  • Assignee deleted (Nigel Kersten)

Also available in: Atom PDF