Skip to content

Commit

Permalink
add slice creation
Browse files Browse the repository at this point in the history
  • Loading branch information
mruzicka committed Apr 26, 2012
1 parent 88e771e commit cd5ba1d
Show file tree
Hide file tree
Showing 3 changed files with 55 additions and 4 deletions.
23 changes: 22 additions & 1 deletion modules/yoxos/files/yoxos_setup_util.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,19 @@
require 'puppet/external/pson/version'
require 'puppet/external/pson/pure'

def read_data(files)
return nil if files.empty?

data = ''
files.each() do |file|
File.open(file, 'r') do |handle|
data << handle.read()
end
end

data
end

def send_request(method, request, data = nil)
method = ('request_' << method).to_sym
response = Net::HTTP.new('localhost', 8080).send(method, request, data)
Expand Down Expand Up @@ -31,7 +44,15 @@ def wait_for_completion(uri)
exit data['setup'] ? 0 : 1
when 'put'
# run the setup
data = send_request(command, request)
data = read_data(ARGV)
data = send_request(command, request, data)
data = wait_for_completion(URI(data['information']))

exit data['status'].casecmp('Ok') == 0 ? 0 : 1
when 'post'
# add the slice
data = read_data(ARGV)
data = send_request(command, request, data)
data = wait_for_completion(URI(data['information']))

exit data['status'].casecmp('Ok') == 0 ? 0 : 1
Expand Down
22 changes: 19 additions & 3 deletions modules/yoxos/manifests/init.pp
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,9 @@

$setup_util = '/usr/local/lib/yoxos_setup_util.rb'

$couchdb_admin_login_uri_escaped = uri_escape($couchdb_admin_login)
$couchdb_admin_password_uri_escaped = uri_escape($couchdb_admin_password)

exec { "create-${data_root}":
unless => "test -d \"${data_root}\"",
command => "mkdir -p \"${data_root}\"",
Expand Down Expand Up @@ -78,9 +81,6 @@
subscribe => Service['couchdb'],
}

$couchdb_admin_login_uri_escaped = uri_escape($couchdb_admin_login)
$couchdb_admin_password_uri_escaped = uri_escape($couchdb_admin_password)

exec { 'setup-yesa-documents':
unless => "ruby \"${setup_util}\" get /accountadmin/setup",
command => "ruby \"${setup_util}\" put \"/accountadmin/setup?username=${couchdb_admin_login_uri_escaped}&password=${couchdb_admin_password_uri_escaped}&overwrite=true\"",
Expand All @@ -97,4 +97,20 @@
require => [Package['apache2'], Service['tomcat6']],
notify => Service['apache2'],
}

file { "${data_root}/../slice.properties":
ensure => present,
content => template('yoxos/slice.properties.erb'),
owner => root,
group => root,
mode => 0644,
require => File[$data_root],
}

exec { 'create-yesa-slice':
# unless => "ruby \"${setup_util}\" get /accountadmin/listSlices",
command => "ruby \"${setup_util}\" post \"/accountadmin/createSlice?username=${couchdb_admin_login_uri_escaped}&password=${couchdb_admin_password_uri_escaped}\" \"${data_root}/../slice.properties\"",
path => ['/usr/local/bin', '/bin', '/usr/bin'],
require => [Exec['setup-yesa-documents'], File["${data_root}/../slice.properties"]],
}
}
14 changes: 14 additions & 0 deletions modules/yoxos/templates/slice.properties.erb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
extra.metadata.repositories=
place.id=yoxos
slice.id=3.7.2.20120309-0953
yoxos.distribution.name=
parent.slice=1.0.0.20120309-0947
locked.repositories=
metadata.repositories=http\://download.eclipse.org/eclipse/updates/3.7,http\://viplugin.com
extra.artifact.repositories=
global.whitelist=
global.blacklist=
whitelist.http\://download.eclipse.org/eclipse/updates/3.7=org.eclipse.jdt.feature.group
artifact.repositories=http\://download.eclipse.org/eclipse/updates/3.7,http\://viplugin.com
whitelist.http\://viplugin.com=com.mbartl.viplugin.eclipse.feature.group
slice.name=

0 comments on commit cd5ba1d

Please sign in to comment.