lib/boot.rb in forj-0.0.21 vs lib/boot.rb in forj-0.0.22
- old
+ new
@@ -23,61 +23,62 @@
include YamlParse
require_relative 'security.rb'
include SecurityGroup
require_relative 'repositories.rb'
include Repositories
+require_relative 'log.rb'
+include Logging
+require_relative 'helpers.rb'
+include Helpers
#
# Boot module
#
module Boot
def boot(blueprint, cloud_provider, name, build_config_dir, branch, test = false)
begin
+ initial_msg = format('booting %{blueprint} on %{cloud_provider}',
+ blueprint: blueprint , cloud_provider: cloud_provider)
+ Logging.info(initial_msg)
+ puts (initial_msg)
- puts format('booting %{blueprint} on %{cloud_provider}',
- blueprint: blueprint , cloud_provider: cloud_provider)
-
- # get definitions from yaml
forj_dir = File.expand_path(File.dirname(__FILE__))
Dir.chdir(forj_dir)
definitions = YamlParse.get_values('../lib/catalog.yaml')
- # clone the maestro repo
Repositories.clone_repo
- # create the network where maestro will land
network = Network.create_network(name)
subnet = Network.create_subnet(network.id, name)
router = Network.get_router(definitions[blueprint]['router'])
- Network::create_router_interface(subnet.id, router)
+ Network.create_router_interface(subnet.id, router)
- # create the security groups for the blueprint
- security_group = SecurityGroup::create_security_group(blueprint)
+ security_group = SecurityGroup.create_security_group(blueprint)
ports = definitions['redstone']['ports']
ports.each do|port|
Network.create_security_group_rule(security_group.id, 'tcp', port, port)
end
ENV['FORJ_HPC_NETID'] = network.id
ENV['FORJ_SECURITY_GROUP'] = security_group.name
- ENV['FORJ_KEYPAIR'] = definitions[blueprint]['keypair']
- ENV['FORJ_HPC_NOVA_KEYPUB'] = definitions[blueprint]['keypair']
+ #ENV['FORJ_KEYPAIR'] = definitions[blueprint]['keypair']
+ #ENV['FORJ_HPC_NOVA_KEYPUB'] = definitions[blueprint]['keypair']
# run build.sh to boot maestro
current_dir = Dir.pwd
- home = File.expand_path('~')
- build_path = home + '/.hpcloud/maestro/build'
+ home = Helpers.get_home_path
+ build_path = home + '/.forj/maestro/build'
Dir.chdir(build_path)
if build_config_dir
command = format('bin/build.sh --build_ID maestro.%{name} --box-name maestro --build-conf-dir %{build_config_dir} --build-config box-13.5 --gitBranch %{branch}', name: name, build_config_dir: build_config_dir, branch: branch)
- #elsif name != 'redstone'
- # command = format('bin/build.sh --build_ID %{name} --box-name maestro --build-conf-dir ~/.hpcloud/maestro/build/conf --build-config box --blueprint %{blueprint_name}', name: name, blueprint_name: blueprint)
+ elsif blueprint != 'redstone'
+ command = format('bin/build.sh --build_ID %{name} --box-name maestro --build-conf-dir ~/.forj/maestro/build/conf --build-config box --blueprint %{blueprint_name}', name: name, blueprint_name: blueprint)
else
- command = format('bin/build.sh --build_ID %{name} --box-name maestro --build-conf-dir ~/.hpcloud/maestro/build/conf --build-config box', name: name)
+ command = format('bin/build.sh --build_ID %{name} --box-name maestro --build-conf-dir ~/.forj/maestro/build/conf --build-config box', name: name)
end
Kernel.system(command)
Dir.chdir(current_dir)
@@ -87,11 +88,13 @@
Network.delete_subnet(subnet.id)
Network.delete_network(network.name)
end
rescue SystemExit, Interrupt
- puts 'process interrupted by user'
+ msg = format('%{name} interrupted by user')
+ puts msg
+ Logging.info(msg)
rescue StandardError => e
- puts e
+ Logging.error(e.message)
end
end
end