1 #############################################################################
2 # Copyright (c) 2016 Huawei Technologies Co.,Ltd and others.
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 ##############################################################################
11 class rubbos_mysql::rubbos_mysql_on {
13 include params::rubbos_params
14 require rubbos_common::rubbos_common_on
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
25 group {'${mysql_user_group}':
26 name => "${mysql_user_group}",
28 before => User['${mysql_user_name}'],
30 user {'${mysql_user_name}':
31 name => "${mysql_user_name}",
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'],
38 # Prepare needed packages for mysql installation
39 package {'libaio-dev':
41 before => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
45 before => Exec['scripts/mysql_install_db --user=${mysql_user_name}'],
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",
52 source => "puppet:///modules/rubbos_mysql/mysql-5.5.46-linux2.6-x86_64.tar.gz",
54 notify => Exec['tar -xf ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64.tar.gz'],
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"],
64 exec {'ln -s ${rubbos_app_tools}/mysql-5.5.46-linux2.6-x86_64 mysql':
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'],
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'],
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}'],