示例#1
0
    def check_resource(self, resource):
        current = resource.clone(purged = False)

        if not self._io.file_exists(resource.path):
            current.purged = True

        else:
            for key,value in self._io.file_stat(resource.path).items():
                setattr(current, key, value)

        return current
示例#2
0
    def check_resource(self, resource):
        current = resource.clone(purged = False, reload = resource.reload, hash = 0)
        if not self._io.file_exists(resource.path):
            current.purged = True
            current.hash = 0
        else:
            current.hash = self._io.hash_file(resource.path)

            for key,value in self._io.file_stat(resource.path).items():
                setattr(current, key, value)
                
        return current
示例#3
0
    def check_resource(self, resource):
        current = resource.clone(purged = False)

        if not self._io.file_exists(resource.target):
            current.purged = True

        elif not self._io.is_symlink(resource.target):
            raise Exception("The target of resource %s already exists but is not a symlink." % resource)

        else:
            current.source = self._io.readlink(resource.target)

        return current
示例#4
0
    def check_resource(self, resource):
        current = resource.clone()
        exists = self._io.run("/sbin/chkconfig", ["--list", resource.name])[0]

        if re.search('error reading information on service', exists):
            raise ResourceNotFoundExcpetion("The %s service does not exist" % resource.name)

        enabled = ":on" in self._io.run("/sbin/chkconfig", ["--list", resource.name])[0]
        running = self._io.run("/sbin/service", [resource.name, "status"])[2] == 0

        current.enabled = enabled
        if running:
            current.state = "running"
        else:
            current.state = "stopped"

        return current
示例#5
0
    def check_resource(self, resource):
        current = resource.clone()

        exists = self._io.run("/usr/bin/systemctl", ["status", "%s.service" % resource.name])[0]

        if re.search('Loaded: error', exists):
            raise ResourceNotFoundExcpetion("The %s service does not exist" % resource.name)

        running = self._io.run("/usr/bin/systemctl",
                            ["is-active", "%s.service" % resource.name])[0] == "active"
        enabled = self._io.run("/usr/bin/systemctl",
                            ["is-enabled", "%s.service" % resource.name])[0] == "enabled"

        if running:
            current.state = "running"
        else:
            current.state = "stopped"

        current.enabled = enabled
        return current