15fe06c0a5983658998f256f016e0c6a6c8c8820
[bottlenecks.git] / testsuites / rubbos / puppet_manifests / modules / rubbos_mysql / manifests / rubbos_mysql_on.pp
1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
3 #
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Apache License, Version 2.0
6 # which accompanies this distribution, and is available at
7 # http://www.apache.org/licenses/LICENSE-2.0
8 ##############################################################################
9
10
11 class rubbos_mysql::rubbos_mysql_on {
12
13   include params::rubbos_params
14   require rubbos_common::rubbos_common_on
15
16   # Declare some variables
17   $rubbos_app           = $params::rubbos_params::rubbos_app
18   $rubbos_app_tools     = $params::rubbos_params::rubbos_app_tools
19   $rubbos_home          = $params::rubbos_params::rubbos_home
20   $mysql_user_group     = $params::rubbos_params::mysql_user_group
21   $mysql_user_name      = $params::rubbos_params::mysql_user_name
22   $mysql_user_password  = $params::rubbos_params::mysql_user_password
23
24   # Add group and user
25   group {'${mysql_user_group}':
26         name    => "${mysql_user_group}",
27         ensure  => present,
28         before  => User['${mysql_user_name}'],
29   }
30   user {'${mysql_user_name}':
31         name            => "${mysql_user_name}",
32         ensure          => present,
33         groups          => "${mysql_user_group}",
34         password        => "${mysql_user_password}",
35         before          => File['${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
36   }
37
38   # Prepare needed packages for mysql installation
39   package {'libaio-dev':
40         ensure  => installed,
41         before  => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
42   }
43   package {'libaio1':
44         ensure  => installed,
45         before  => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
46   }
47
48   # Prepare and install mysql
49   file {'${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz':
50         path    => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz",
51         ensure  => present,
52         source  => "puppet:///modules/rubbos_mysql/mysql-5.5.46-linux2.6-x86_64.tar.gz",
53         backup  => false,
54         notify  => Exec['tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
55   }
56
57   exec {'tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz':
58         cwd     => "${rubbos_app_tools}",
59         command => "tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz",
60         creates => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/scripts/mysql_install_db",
61         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
62   }
63
64   exec {'ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql':
65         cwd             => "/usr/local",
66         command         => "ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql",
67         path            => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
68         subscribe       => Exec['tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
69   }
70
71   exec {'scripts/mysql_install_db --user=${mysql_user_name}':
72         cwd     => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64",
73         command => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/scripts/mysql_install_db --user=${mysql_user_name}",
74         path    => ["/bin","/sbin","/usr/bin","/usr/sbin","/usr/local/bin","/usr/local/sbin"],
75         require => Exec['ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql'],
76   }
77
78   # Start mysql service
79   service {'mysql':
80         ensure          => running,
81         hasstatus       => false,
82         provider        => upstart,
83         status          => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/support-files/mysql.server status | grep 'MySQL running'",
84         start           => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqld_safe &",
85         stop            => "${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64/bin/mysqladmin shutdown",
86         require         => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
87   }
88
89 }