Correction : vm_hosted : rule_mysql_configure : efface _puis_ configure :P
authorJulien Moutinho <julm+burette@autogeree.net>
Tue, 9 Apr 2013 15:23:55 +0000 (17:23 +0200)
committerJulien Moutinho <julm+burette@autogeree.net>
Tue, 9 Apr 2013 19:52:35 +0000 (21:52 +0200)
vm_hosted

index 3c03337..df6f6db 100755 (executable)
--- a/vm_hosted
+++ b/vm_hosted
@@ -722,18 +722,19 @@ rule_mysql_configure () {
         --system
        sudo usermod --home /home/mysql mysql
        sudo adduser mysql mysql-data
-       sudo install -m 644 -o mysql -g mysql \
-        "$tool"/etc/mysql/my.cnf \
-               /etc/mysql/my.cnf
        sudo install -d -m 751 -o mysql -g mysql \
         /home/mysql
        sudo rm -rf /etc/mysql
        sudo install -d -m 750 -o mysql -g mysql \
         /etc/mysql \
+        /etc/mysql/conf.d \
         /home/mysql/etc
        sudo ln -fns \
                    /etc/mysql \
         /home/mysql/etc/mysql
+       sudo install -m 644 -o mysql -g mysql \
+        "$tool"/etc/mysql/my.cnf \
+               /etc/mysql/my.cnf
        if sudo test ! -d /home/mysql/data
         then
                sudo install -d -m 750 -o mysql -g mysql-data \
@@ -747,9 +748,14 @@ rule_mysql_configure () {
        sudo chmod ugo-x /etc/init.d/mysql
        case $(sudo sv status mysql || true) in
         (''|run:*|*"s, normally up;"*)
-               sudo sv restart mysql
-               case $(sudo inotifywait -e create -- /run/mysqld/sock/) in
-                ("/run/mysqld/sock/ CREATE mysql")
+               rule runit_sv_restart mysql
+               while case $(sudo inotifywait -e create -- /run/mysqld/sock/) in
+                ("/run/mysqld/sock/ CREATE mysql") false;;
+                (*) true;;
+                esac
+               do true; done
+               (
+               cd /
                        # NOTE:
                        # - ajoute l'accès par socket Unix à mysql
                        # - ajoute les droits de super-utilisateur à mysql
@@ -769,8 +775,8 @@ rule_mysql_configure () {
                                DELETE FROM mysql.user WHERE user = '';
                                FLUSH PRIVILEGES;
                                EOF
-                       ;;
-                esac
+               )
+               ;;
         esac
  }
 rule_mysql_db_add () { # SYNTAX: $user $db
@@ -1062,7 +1068,7 @@ rule_php5_fpm_configure () {
                 "$tool"/etc/php5/fpm/php.ini \
                        /etc/php5/fpm/php.ini
                case $(sudo sv status php5-"$pool" || true) in
-                (''|run:*) sudo sv restart php5-"$pool"
+                (''|run:*) rule runit_sv_restart php5-"$pool"
                 esac
         done
        rule tmpfs_configure
@@ -1219,11 +1225,11 @@ rule_postgresql_configure () {
        sudo chmod ugo-x /etc/init.d/postgresql
        case $(sudo sv status postgres || true) in
         (''|run:*|*"s, normally up;"*)
-               sudo sv restart postgres
+               rule runit_sv_restart postgres
                while case $(sudo inotifywait -e create -- /run/postgresql/) in
-                        ("/run/postgresql/ CREATE .s.PGSQL.5432") true;;
-                        (*) false;;
-                        esac
+                ("/run/postgresql/ CREATE .s.PGSQL.5432") false;;
+                (*) true;;
+                esac
                do true; done
                (
                cd /
@@ -1427,17 +1433,20 @@ rule_runit_configure () { # SYNTAX: $service
                        case $sv_status in
                         ("") true;;
                         (fail:*) sleep 1 && sudo sv start "$sv";;
-                        (run:*)
-                               while true
-                                do case $(sudo sv restart "$sv") in
-                                        ("fail: $sv: runsv not running") sleep 1;;
-                                        (*) break;;
-                                        esac
-                                done
+                        (run:*) rule runit_sv_restart "$sv";;
                         esac
                 done
         done
  }
+rule_runit_sv_restart () { # SYNTAX: $sv
+       local sv="$1"
+       while true
+        do case $(sudo sv restart "$sv") in
+                ("fail: $sv: runsv not running") sleep 1;;
+                (*) break;;
+                esac
+        done
+ }
 rule_ssh_configure () {
        ssh-keygen -F "$vm_fqdn" -f "$tool"/etc/openssh/known_hosts |
        ( while IFS= read -r line