/
uninstall_openstack.pp
82 lines (78 loc) · 2.92 KB
/
uninstall_openstack.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# == Class: contrail::openstack
# This class is used to configure software and services required
# to run openstack module of contrail software suit.
#
# === Parameters:
#
# [*contrail_logoutput*]
# Variable to specify if output of exec commands is to be logged or not.
# Values are true, false or on_failure
# (optional) - Defaults to false
#
class contrail::uninstall_openstack (
$mysql_root_password = $::contrail::params::mysql_root_password,
$host_control_ip = $::contrail::params::host_ip,
$contrail_logoutput = $::contrail::params::contrail_logoutput,
) {
include ::contrail::params
# Set all variables as needed for config file using the class parameters.
# if contrail_internal_vip is "", but internal_vip is not "", set contrail_internal_vip
# to internal_vip.
contrail::lib::report_status { 'uninstall_openstack_started':
state => 'uninstall_openstack_started',
contrail_logoutput => $contrail_logoutput }
->
class {'::contrail::delete_conductor':
conductor_idx => $conductor_idx
}
->
class {'::contrail::delete_consoleauth':
consoleauth_idx => $consoleauth_idx
}
->
class {'::contrail::delete_scheduler':
scheduler_idx => $scheduler_idx
}
->
class {'::contrail::delete_console':
console_idx => $console_idx
}
->
class {'::contrail::remove_mysql_cmon_user':
mysql_root_password => $mysql_root_password,
host_control_ip => $host_control_ip
}
->
class {'::contrail::remove_mysql_root_user':
mysql_root_password => $mysql_root_password,
host_control_ip => $host_control_ip
}
->
class {'::contrail::remove_mysql_flush_privileges':
mysql_root_password => $mysql_root_password
}
service { ['contrail-hamon','cmon', 'apache2', 'mysql'] :
ensure => false ,
enable => false,
}
->
# Ensure all needed packages are present
package { ['contrail-openstack' ,'apache2' ,'memcached','glance-api','glance-registry','cinder-api','cinder-common','cinder-scheduler','python-nova','nova-common','python-numpy','heat-common','heat-api','heat-api-cfn','openstack-dashboard','nova-api','nova-novncproxy','nova-scheduler','nova-objectstore','nova-consoleauth','nova-conductor','contrail-openstack-dashboard', 'mysql', 'keystone', 'mysql-server-wsrep','mysql-common'] :
ensure => purged,
notify => ["Exec[apt_auto_remove_openstack]"],
}
->
#if puppet provides glob use that
class {'::contrail::remove_mysql_log_files':}
->
exec { "apt_auto_remove_openstack":
command => "apt-get autoremove -y --purge",
provider => shell,
logoutput => $contrail_logoutput
}
->
contrail::lib::report_status { 'uninstall_openstack_completed':
state => 'uninstall_openstack_completed',
contrail_logoutput => $contrail_logoutput
}
}