Skip to content

Ensure graphdriver only loads with experimental flag#28623

Merged
vdemeester merged 1 commit intomoby:masterfrom
cpuguy83:update_graphdriver_docs
Dec 24, 2016
Merged

Ensure graphdriver only loads with experimental flag#28623
vdemeester merged 1 commit intomoby:masterfrom
cpuguy83:update_graphdriver_docs

Conversation

@cpuguy83
Copy link
Member

Also updates some of the structures being sent so plugins are getting
all the new options.

ping @thaJeztah

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Left some comments

Also /cc @mstanleyjones because I think in the new docs, every page has to be added to the menu manually

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Forgot to remove "Experimental:" from the title

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, there should be metadata added for the docs (easiest to take other documents from the docker.github.io repo as example)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean about metadata added? In the docs repo we will need to add a TOC reference for this file, but I don't understand what else you mean...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mstanleyjones oh, the metadata was added (I couldn't comment on the line where the change had to be made 😄)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be no trailing comma here

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a json language hint to the fence here, and for other JSON examples?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: we need a , in the end of this line

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto

@thaJeztah thaJeztah changed the title Moves graphdriver plugn docs out of experimental Moves graphdriver plugin docs out of experimental Nov 21, 2016
Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

found some more missing commas

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

comma here as well (thanks @AkihiroSuda )

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing comma here as well

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

missing comma

@cpuguy83
Copy link
Member Author

This is updated with comma changes.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean about metadata added? In the docs repo we will need to add a TOC reference for this file, but I don't understand what else you mean...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is an awkward wording. I don't really understand what it is talking about; Is there a driver back-end that has to be running before Docker Engine can be started?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree, I had trouble phrasing it... basically this:

$ docker plugin install myGraphDriver
$ docker plugin enable myGraphDriver
$ pkill dockerd
$ dockerd -s myGraphDriver

The daemon has to be started with the graphdriver that it is going to use. You can't use a graphdriver plugin unless the plugin is enabled before you restart the daemon.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "You need to install and enable the plugin and then restart the Docker daemon before using the plugin. See the following example for the correct ordering of steps." followed by your 4-line code block?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All of this passive voice makes this hard to understand. Maybe something like "The array of option is passed through to the plugin, but the plugin is not required to parse or honor them."

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about something like:

The response also includes a list of UID and GID mappings, structured as follows:

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe something like:

If Parent is an empty string, there is no parent layer.

StoreOpt is a map of strings which indicate storage options.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/for example/such as

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If Parent is an empty string, there is no parent.

@cpuguy83 cpuguy83 force-pushed the update_graphdriver_docs branch from 4a29a85 to 96b0c31 Compare November 22, 2016 17:29
@cpuguy83 cpuguy83 changed the title Moves graphdriver plugin docs out of experimental [WIP]Moves graphdriver plugin docs out of experimental Nov 23, 2016
@cpuguy83
Copy link
Member Author

Adding [WIP] because there's still a few kinks to work out.
Technically nothing is blocking someone from loading a plugin graphdriver on a non-experimental daemon, but moving docs over is another thing altogether.

@thaJeztah
Copy link
Member

@cpuguy83 if it remains experimental, you can add advisory: experimental to the metadata of the docs, that way it will print a warning (but you can still have the documentation published on docs.docker.com)

@cpuguy83
Copy link
Member Author

@thaJeztah Think I've worked out all the issues in any case, just blocked by #26398 at the moment.

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs LGTM

@mdlinville
Copy link
Contributor

Any thoughts on my suggestions above?

@cpuguy83
Copy link
Member Author

@mstanleyjones 👍 to the suggestions. I'll get them in.

@thaJeztah
Copy link
Member

@cpuguy83 #26398 was merged

@cpuguy83 cpuguy83 changed the title [WIP]Moves graphdriver plugin docs out of experimental [WIP] Ensure graphdriver only loads with experimental flag Dec 20, 2016
@cpuguy83 cpuguy83 force-pushed the update_graphdriver_docs branch from 96b0c31 to 8a743a6 Compare December 20, 2016 18:45
@cpuguy83
Copy link
Member Author

Ok, this is updated.
Gates loading a graphdriver via plugin by --experimental daemon flag... this is due to a few issues to deal with in the graphdriver interface, and makes sure we aren't stuck in the future because we need to support existing plugins.... and I doubt any pluggable graphdriver is really production ready at this point anyway.

ping @anusha-ragunathan

@cpuguy83 cpuguy83 force-pushed the update_graphdriver_docs branch 3 times, most recently from 3107b4e to dbcf0e1 Compare December 20, 2016 21:38
@cpuguy83
Copy link
Member Author

ping @tiborvass @aaronlehmann

@tiborvass
Copy link
Contributor

LGTM

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would add "graphdriver plugins are only..." just to be extra clear.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dockerd --experimental -s ...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets make the testRequires an ExperimentalDaemon instead. Easier to switch to stable, when its supported.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

testRequires(ExperimentalDaemon) instead?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, not sure why this test is affected?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, setupTest already sets up an ExperimentalDaemon. So this should not be necessary.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I ran into this because in order for this test to work for me, I have to manually run the make script (whereas I normally have a helper bash function) and I didn't set DOCKER_EXPERIMENTAL=1 in doing so.
Looks good to remove this when setup properly ;)

Also updates some of the structures being sent so plugins are getting
all the new options.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
@cpuguy83 cpuguy83 force-pushed the update_graphdriver_docs branch from dbcf0e1 to 677fa03 Compare December 22, 2016 20:31
@cpuguy83
Copy link
Member Author

Updated

@anusha-ragunathan
Copy link
Contributor

LGTM

@thaJeztah
Copy link
Member

Windows CI failed because a Jenkins issue, so i restarted. I'm moving this to "merge", because it has two LGTM's, and I see misty's suggestions were addressed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants