alexellis/jaas

Bug: Experimental Daemon no longer required for service logs

IkeLutra opened this issue · 4 comments

Expected Behavior

As docker service logs is no longer experimental as of Docker API v1.29, jaas shouldn't require it for --showlogs=true to work. (https://docs.docker.com/engine/reference/commandline/service_logs/)

Current Behavior

Currently experimental mode is required even on new versions of docker.

Possible Solution

Presumably this would be an easy modification of this if statement (

jaas/app.go

Line 77 in ba68947

if versionInfo.Experimental == false {
) to detect if you have a high enough version to not enable experimental mode.

Steps to Reproduce (for bugs)

  1. Run jaas -rm -image alexellis2/cows:latest --showlogs=true on a Docker Daemon without experimental mode enabled
  2. Will return error message "Experimental daemon required to display service logs, falling back to no log display."

Context

I would prefer not to enable experimental mode if possible as I assume it is less stable? Correct me if I am wrong.

Your Environment

  • Version used: b57a80e
  • Environment name and version (e.g. Docker 1.13): Docker 17.12.0-ce (API v1.35)
  • Server type and version: Azure VM
  • Operating System and version: Ubuntu 17.04

Caveat

I haven't dug into your code a lot so am unsure if you are using some experimental extensions to docker service logs that aren't yet available in the stable api. Also realise I am talking about the CLI commands rather than the API methods but I think they are both available?

Thanks for your time

Experimental mode is not less stable, it just means that APIs are enabled in the daemon whose signatures which may change over time. Thanks for flagging this, I think it's a good suggestion and if you would like to PR this I don't mind.

Otherwise I'll get to it when I can.

Out of interest - what are you running with jaas?

Ah ok thanks for clarifying about experimental mode.

I will give the PR a go.

I am writing some ETL jobs for my Company which need to run on a schedule as well as manually. I am just going to have some crons on the manager node to actually run jaas.

For ETL I'd highly recommend looking at OpenFaaS which has a large community and growing user-base as well as lots of active development and GitHub stars - www.openfaas.com

Thanks for the recommendation @alexellis.

Closing as resolved in #16