Exemplo n.º 1
0
def lockSubuser(user,subuserName,commit):
  """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
  from subuserlib.classes.registry import Registry
  registryAtOldCommit = Registry(user,gitReadHash=commit)
  subuserObject = registryAtOldCommit.getSubusers()[subuserName]
  subuserObject.getPermissions().save()
  subuserObject.getPermissionsTemplate().save()
  user.getRegistry().logChange("Locking subuser "+subuserName+" to commit: "+commit)
  user.getRegistry().getSubusers()[subuserName] = subuserObject
  subuserObject.setLocked(True)
  subuserlib.verify.verify(user)
  user.getRegistry().commit()
Exemplo n.º 2
0
def lockSubuser(user,subuserName,commit):
  """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
  from subuserlib.classes.registry import Registry
  registryAtOldCommit = Registry(user,gitReadHash=commit)
  subuserObject = registryAtOldCommit.getSubusers()[subuserName]
  subuserObject.getPermissions().save()
  subuserObject.getPermissionsTemplate().save()
  user.getRegistry().logChange("Locking subuser "+subuserName+" to commit: "+commit)
  user.getRegistry().getSubusers()[subuserName] = subuserObject
  subuserObject.setLocked(True)
  subuserlib.verify.verify(user)
  user.getRegistry().commit()
Exemplo n.º 3
0
def lockSubuser(user,subuser,commit):
  """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
  from subuserlib.classes.registry import Registry
  registryAtOldCommit = Registry(user,gitReadHash=commit)
  if not registryAtOldCommit.getGitRepository().doesCommitExist(commit):
    sys.exit("Commit "+commit+" does not exist. Cannot lock to commit.")
  subuser.getPermissions().save()
  subuser.getPermissionsTemplate().save()
  user.getRegistry().logChange("Locking subuser "+subuser.getName()+" to commit: "+commit)
  subuser.setLocked(True)
  subuserlib.verify.verify(user)
  user.getRegistry().commit()
Exemplo n.º 4
0
def lockSubuser(user,subuserName,commit):
  """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
  from subuserlib.classes.registry import Registry
  registryAtOldCommit = Registry(user,gitReadHash=commit)
  subuserObject = registryAtOldCommit.getSubusers()[subuserName]
  if not os.path.exists(os.path.join(user.getConfig()["user-set-permissions-dir"],subuserName,"permissions.json")):
    subuserObject.getPermissions().save()
  user.getRegistry().logChange("Locking subuser "+subuserName+" to commit: "+commit)
  user.getRegistry().getSubusers()[subuserName] = subuserObject
  subuserObject.setLocked(True)
  subuserlib.verify.verify(user)
  user.getRegistry().commit()
Exemplo n.º 5
0
def lockSubusers(operation,commit):
  """
  Lock the subusers to the images and permissions they had at a given registry commit.
  """
  user = operation.user
  from subuserlib.classes.user import User
  from subuserlib.classes.registry import Registry
  oldUser = User(name=user.name,homeDir=user.homeDir)
  oldUser.registry = Registry(oldUser,gitReadHash=commit,ignoreVersionLocks=True,initialized=True)
  if not oldUser.registry.gitRepository.doesCommitExist(commit):
    sys.exit("Commit "+commit+" does not exist. Cannot lock to commit.")
  oldSubusers = []
  for subuser in operation.subusers:
    try:
      oldSubusers.append((subuser, oldUser.registry.subusers[subuser.name]))
    except KeyError:
      sys.exit("Subuser, "+subuser.name+" did not exist yet at commit "+commit+". Cannot lock to commit.")
  for (subuser, oldSubuser) in oldSubusers:
    subuser.imageId = oldSubuser.imageId
    oldSubuser.permissions.save(_have_lock=True)
    oldSubuser.getPermissionsTemplate().save(_have_lock=True)
    subuser.locked = True
    user.registry.logChange("Locking subuser "+subuser.name+" to commit: "+commit)
    user.registry.logChange("New image id is "+subuser.imageId)
  subuserlib.verify.verify(user.operation)
  user.registry.commit()
Exemplo n.º 6
0
def lockSubuser(user, subuser, commit):
    """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
    from subuserlib.classes.user import User
    from subuserlib.classes.registry import Registry
    oldUser = User(name=user.name, homeDir=user.homeDir)
    oldUser.setRegistry(
        Registry(oldUser,
                 gitReadHash=commit,
                 ignoreVersionLocks=True,
                 initialized=True))
    if not oldUser.getRegistry().getGitRepository().doesCommitExist(commit):
        sys.exit("Commit " + commit +
                 " does not exist. Cannot lock to commit.")
    try:
        oldSubuser = oldUser.getRegistry().getSubusers()[subuser.getName()]
    except KeyError:
        sys.exit("Subuser, " + subuser.getName() +
                 " did not exist yet at commit " + commit +
                 ". Cannot lock to commit.")
    subuser.setImageId(oldSubuser.getImageId())
    oldSubuser.getPermissions().save()
    oldSubuser.getPermissionsTemplate().save()
    user.getRegistry().logChange("Locking subuser " + subuser.getName() +
                                 " to commit: " + commit)
    user.getRegistry().logChange("New image id is " + subuser.getImageId())
    subuser.setLocked(True)
    subuserlib.verify.verify(user)
    user.getRegistry().commit()
Exemplo n.º 7
0
def lockSubuser(user, subuser, commit):
    """
  Lock the subuser to the image and permissions that it had at a given registry commit.
  """
    from subuserlib.classes.registry import Registry
    registryAtOldCommit = Registry(user, gitReadHash=commit)
    if not registryAtOldCommit.getGitRepository().doesCommitExist(commit):
        sys.exit("Commit " + commit +
                 " does not exist. Cannot lock to commit.")
    subuser.getPermissions().save()
    subuser.getPermissionsTemplate().save()
    user.getRegistry().logChange("Locking subuser " + subuser.getName() +
                                 " to commit: " + commit)
    subuser.setLocked(True)
    subuserlib.verify.verify(user)
    user.getRegistry().commit()