Exemplo n.º 1
0
 def check_filesystem_permissions(self):
     import grp
     grname = self.globalconf.root.jurt_group
     logger.debug("checking if the user is a member of the %s group" %
             (grname))
     try:
         group = grp.getgrnam(grname)
     except KeyError:
         raise SetupError, ("there is no system group '%s', please check "
                 "your jurt installation (and see jurt-setup)" %
                 (grname))
     uname, uid = su.my_username()
     if uname not in group.gr_mem:
         raise PermissionError, ("your user %s should be member of the "
                 "%s group in order to jurt work. Did you run (as root) "
                 "jurt-setup -u %s ?" % (uname, grname, uname))
     if group.gr_gid not in os.getgroups():
         raise PermissionError, ("your user is NOT effectively running as a "
                 "member of the %s group, please restart your session "
                 "before running jurt" % (grname))
     sticky = [self.targetconf.roots_path, self.targetconf.spool_dir,
             self.targetconf.logs_dir, self.targetconf.failure_dir,
             self.targetconf.success_dir]
     for path in sticky:
         logger.debug("checking write permission for %s" % (path))
         if not os.access(path, os.W_OK):
             raise PermissionError, ("%s has no write permission for "
                     "you, please check your jurt installation" %
                     (path))
Exemplo n.º 2
0
 def _latest_link_name(self, interactive):
     username, _ = my_username()
     if interactive:
         suffix = self.latestsuffix_interactive
     else:
         suffix = self.latestsuffix_build
     name = username + suffix
     return name
Exemplo n.º 3
0
 def build_user_info(self):
     if self.interactive:
         return my_username()
     else:
         if self.useruid == "any-available":
             uid = self._find_available_uid()
         else:
             uid = self.useruid
         return self.builduser, uid
Exemplo n.º 4
0
Arquivo: facade.py Projeto: gmoro/jurt
    def check_permissions(self, interactive=True):
        if not self.targets:
            raise Error, "no targets setup, you must have at least "\
                    "one setup in configuration for testing"
        try:
            for targetname in self.targets:
                if interactive:
                    yield "testing target %s.." % (targetname)
                self.targets[targetname].check_permissions(interactive)
                if interactive:
                    yield "OK"

        except su.SudoNotSetup:
            raise Error, ("the sudo helper for jurt is not setup, "
                    "please run as root: jurt-setup -u %s" %
                    (su.my_username()[0]))
Exemplo n.º 5
0
Arquivo: root.py Projeto: gmoro/jurt
 def _latest_link_name(self):
     username, _ = my_username()
     name = username + "-latest"
     return name
Exemplo n.º 6
0
Arquivo: build.py Projeto: gmoro/jurt
    def build_id(self):
        import time

        name, _ = my_username()
        id = time.strftime(self.idtimefmt) + "-" + name
        return id
Exemplo n.º 7
0
Arquivo: build.py Projeto: gmoro/jurt
 def build_user_info(self):
     if self.interactive:
         return my_username()
     else:
         return self.builduser, self.useruid