Make docker registry setting configurable per bay

Registered by FenghuaFang

Allow magnum to be configured to allow each bay to specify a different docker registry. The setting shall be in the Baymodel, and a default value for this setting shall be provided in the magnum.conf file for use when no value is specified when creating the baymodel.

According to https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/images.md the k8s native support Google Container Registry and can let user config the other registry.

In case:
1 Network access restriction, end-user can't access docker-hub etc.
2 Slow speed access network, use private-registry to speed up the docker pull/push
3 Easy to share image within the organization
4 Safety considerations, didn't want store image at public registry

Blueprint information

Status:
Complete
Approver:
Adrian Otto
Priority:
Low
Drafter:
FenghuaFang
Direction:
Approved
Assignee:
FenghuaFang
Definition:
Obsolete
Series goal:
None
Implementation:
Unknown
Milestone target:
None
Completed by
Spyros Trigazis

Related branches

Sprints

Whiteboard

--
strigazi @ Tue Mar 20 09:24:36 UTC 2018
swarm and kubernetes support the container_infra_prefix label to pull contianers from local registry since queens.
--
(hongbin) In the Vancouver Design summit, we decided to install registry v2 on each node and configure it to store container image to Swift. The details are descibed in this BP https://blueprints.launchpad.net/magnum/+spec/registryv2-in-master . Does it provide what you need here?
(mvelten) private repos with auth are supported inside the COE for k8s and swarm. However it doesn't solve the problem of adding a cache registry as default to overcome slow or restricted network.
http://kubernetes.io/docs/user-guide/secrets/#using-imagepullsecrets
https://github.com/docker/swarm/blob/master/docs/swarm-api.md#registry-authentication

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.