⚲
Project
General
Profile
Sign in
Register
Home
Projects
Help
Search
:
Rudder
All Projects
Rudder
Overview
Activity
Roadmap
Issues
Repository
Download (1.39 KB)
User story #2253
» rudder-upgrade-database-2.3-2.4-PT-names.pl
Jonathan CLARKE, 2012-02-15 10:41
#!/usr/bin/perl
use
diagnostics
;
use
strict
;
use
warnings
;
#use Modern::Perl;
use
File::
Find
;
#################
# Configuration #
#################
#use constant PT_LIBRARY => "/var/rudder/configuration-repository/policy-templates";
use
constant
PT_LIBRARY
=>
"
/home/jclarke/Documents/RUDDER/github/rudder-policy-templates/policies
";
my
$ptName
,
my
$ptVersion
;
sub
getPolicyTemplateFullName
{
(
$ptName
,
$ptVersion
)
=
@_
;
return
find
(
\
&matchPolicyTemplateDirectory
,
PT_LIBRARY
);
sub
matchPolicyTemplateDirectory
{
$
File::Find::
name
=~
/$ptName\/$ptVersion$/
&&
return
"
Found
$ptName
:
$File
::Find::name
\n
";
}
}
print
getPolicyTemplateFullName
("
common
",
"
1.0
");
print
"
\n
";
# TODO: get PostgreSQL username and password from rudder-web.properties
my
$psqlUsername
=
"
rudder
";
my
$psqlPassword
=
"
Normation
";
# Connect to database
$dbh
=
DBI
->
connect
("
dbi:Pg:dbname=rudder;host=localhost
",
$psqlUsername
,
$psqlPassword
,
{
AutoCommit
=>
1
});
# Get all Policy Template name-version couples in use
my
$ptsUsed
=
$dbh
->
prepare
("
SELECT DISTINCT policypackagename, policypackageversion FROM policyinstances WHERE PolicyTemplateHumanName IS NULL
");
$ptsUsed
->
execute
();
# Cycle through each name-version couple
while
(
my
$ptNameVersion
=
$ptsUsed
->
fetchrow_hashref
())
{
print
"
$ptNameVersion
->{'policypackagename'} is used in version
$ptNameVersion
->{'policypackageversion'}
\n
";
}
# Clean up
$dbg
->
disconnect
();
« Previous
1
2
Next »
(2-2/2)
Loading...