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()
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()
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()
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()
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()
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()