---
bin/aeolus-configure-image | 47 ++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 47 insertions(+), 0 deletions(-)
create mode 100755 bin/aeolus-configure-image
diff --git a/bin/aeolus-configure-image b/bin/aeolus-configure-image
new file mode 100755
index 0000000..c2ff846
--- /dev/null
+++ b/bin/aeolus-configure-image
@@ -0,0 +1,47 @@
+#!/usr/bin/ruby
+# helper script to generate aeolus images
+
+image_name = ARGV[0]
+target = ARGV[1]
+template = ARGV[2]
+provider = ARGV[3]
+
+Dir.chdir '/usr/lib/ruby/gems/1.8/gems/aeolus-image-0.0.1'
+
+cmd = "/usr/bin/ruby -rrubygems \
+ /usr/lib/ruby/gems/1.8/gems/aeolus-image-0.0.1/bin/aeolus-image build \
+ --target #{target} --template #{template}"
+puts "Building image for #{target} using #{template}"
+#puts " Running build command #{cmd}"
+out = `#{cmd}`
+puts "Image build returned w/ exit code #{$?}"
+puts "Image build output: #{out}"
+
+if out =~ /^\s*Image:\s*([0-9a-zA-Z\-]*).*/
+ image = $1
+ cmd = "/usr/bin/ruby -rrubygems \
+ /usr/lib/ruby/gems/1.8/gems/aeolus-image-0.0.1/bin/aeolus-image push \
+ --provider #{provider} --id #{image}"
+
+ puts "Image #{image} built, pushing to #{provider}"
+ #puts "Running push command #{cmd}"
+ out = `#{cmd}`
+
+ puts "Image push returned w/ exit code #{$?}"
+ puts "Image push output: #{out}"
+
+ deployables_dir = '/var/www/html/deployables'
+ FileUtils.mkdir deployables_dir unless File.exist? deployables_dir
+ File.open("/var/www/html/deployables/#{image_name}.xml", "w") {
|f|
+ f.write "<deployable name='#{image_name}'>\n" +
+ " <assemblies name = '#{image_name}'>\n" +
+ " <assembly name='#{image_name}' hwp='hwp1'
>\n" +
+ " <image id='#{image}'></image>\n" +
+ " </assembly>\n" +
+ " </assemblies>\n" +
+ "</deployable>\n"
+ }
+
+ puts "Deployment definition written"
+ puts "Image building complete"
+end
--
1.7.6