rkt: Error out when the gid is empty.

Since appc requires gid to be non-empty today (https://github.com/appc/spec/issues/623),
we have to error out when gid is empty instead of using the root gid.
pull/6/head
Yifan Gu 2016-06-10 13:43:58 -07:00
parent afc4c96b84
commit edc946e081
2 changed files with 8 additions and 3 deletions

View File

@ -554,13 +554,16 @@ func setApp(imgManifest *appcschema.ImageManifest, c *api.Container, opts *kubec
// If 'User' or 'Group' are still empty at this point,
// then apply the root UID and GID.
// TODO(yifan): Instead of using root GID, we should use
// the GID which the user is in.
// TODO(yifan): If only the GID is empty, rkt should be able to determine the GID
// using the /etc/passwd file in the image.
// See https://github.com/appc/docker2aci/issues/175.
// Maybe we can remove this check in the future.
if app.User == "" {
app.User = "0"
app.Group = "0"
}
if app.Group == "" {
app.Group = "0"
return fmt.Errorf("cannot determine the GID of the app %q", imgManifest.Name)
}
// Set working directory.

View File

@ -846,6 +846,8 @@ func generateMemoryIsolator(t *testing.T, request, limit string) appctypes.Isola
func baseApp(t *testing.T) *appctypes.App {
return &appctypes.App{
User: "0",
Group: "0",
Exec: appctypes.Exec{"/bin/foo", "bar"},
SupplementaryGIDs: []int{4, 5, 6},
WorkingDirectory: "/foo",