示例#1
0
文件: redis.py 项目: nacx/kahuna
def install(version):
    """ Downloads and installs redis """
    script = []
    script.append(Statements.exec("ensure_netutils_apt"))
    script.append(Statements.exec(
        "ensure_cmd_or_install_package_apt make build-essential"))
    script.append(Statements.extractTargzAndFlattenIntoDirectory(
        URI.create("http://redis.googlecode.com/files/redis-%s.tar.gz" %
            version),
        "/usr/local/src/redis"))
    script.append(Statements.exec(
        "(cd /usr/local/src/redis && make && make install)"))
    script.append(Statements.exec("{md} /var/lib/redis"))
    script.append(Statements.exec(
        "sed -i 's/^daemonize no/daemonize yes/' "
        "/usr/local/src/redis/redis.conf"))
    script.append(Statements.exec(
        "sed -i 's/^logfile .*/logfile \/var\/log\/redis.log/' "
        "/usr/local/src/redis/redis.conf"))
    script.append(Statements.exec(
        "sed -i 's/^dbfilename .*/dbfilename redis.rdb/' "
        "/usr/local/src/redis/redis.conf"))
    script.append(Statements.exec(
        "sed -i 's/^dir .*/dir \/var\/lib\/redis/' "
        "/usr/local/src/redis/redis.conf"))
    script.append(Statements.appendFile("/etc/sysctl.conf",
        ["vm.overcommit_memory = 1"]))
    script.append(Statements.exec("sysctl vm.overcommit_memory=1"))
    script.append(Statements.exec(
        "/usr/local/bin/redis-server /usr/local/src/redis/redis.conf"))
    return script
示例#2
0
def install(version):
    """ Downloads and installs redis """
    script = []
    script.append(Statements.exec("ensure_netutils_apt"))
    script.append(
        Statements.exec(
            "ensure_cmd_or_install_package_apt make build-essential"))
    script.append(
        Statements.extractTargzAndFlattenIntoDirectory(
            URI.create("http://redis.googlecode.com/files/redis-%s.tar.gz" %
                       version), "/usr/local/src/redis"))
    script.append(
        Statements.exec("(cd /usr/local/src/redis && make && make install)"))
    script.append(Statements.exec("{md} /var/lib/redis"))
    script.append(
        Statements.exec("sed -i 's/^daemonize no/daemonize yes/' "
                        "/usr/local/src/redis/redis.conf"))
    script.append(
        Statements.exec(
            "sed -i 's/^logfile .*/logfile \/var\/log\/redis.log/' "
            "/usr/local/src/redis/redis.conf"))
    script.append(
        Statements.exec("sed -i 's/^dbfilename .*/dbfilename redis.rdb/' "
                        "/usr/local/src/redis/redis.conf"))
    script.append(
        Statements.exec("sed -i 's/^dir .*/dir \/var\/lib\/redis/' "
                        "/usr/local/src/redis/redis.conf"))
    script.append(
        Statements.appendFile("/etc/sysctl.conf",
                              ["vm.overcommit_memory = 1"]))
    script.append(Statements.exec("sysctl vm.overcommit_memory=1"))
    script.append(
        Statements.exec(
            "/usr/local/bin/redis-server /usr/local/src/redis/redis.conf"))
    return script
示例#3
0
def mount(nfs_share, mount_point):
    """ Mounts a NFS in the given mount point """
    script = []
    script.append(Statements.exec("{md} %s" % mount_point))
    script.append(
        Statements.appendFile(
            "/etc/fstab",
            ["%s %s nfs defaults 0 0" % (nfs_share, mount_point)]))
    script.append(Statements.exec("mount %s" % mount_point))
    return script