examples/load-balance.rb in fog-google-0.3.2 vs examples/load-balance.rb in fog-google-0.4.0
- old
+ new
@@ -1,23 +1,32 @@
+# All examples presume that you have a ~/.fog credentials file set up.
+# More info on it can be found here: http://fog.io/about/getting_started.html
+require "bundler"
+Bundler.require(:default, :development)
+# Uncomment this if you want to make real requests to GCE (you _will_ be billed!)
+# WebMock.disable!
+
def test
# Config
name = "fog-lb-test-#{Time.now.to_i}"
- zone = "us-central1-b"
- region = "us-central1"
+ zone = "europe-west1-d"
+ region = "europe-west1"
# Setup
gce = Fog::Compute.new :provider => "Google"
servers = []
+ puts "Creating instances..."
+ puts "--------------------------------"
(1..3).each do |i|
begin
disk = gce.disks.create(
:name => "#{name}-#{i}",
:size_gb => 10,
:zone_name => zone,
- :source_image => "debian-7-wheezy-v20131120"
+ :source_image => "debian-8-jessie-v20160718"
)
disk.wait_for { disk.ready? }
rescue
puts "Failed to create disk #{name}-#{i}"
end
@@ -33,29 +42,35 @@
rescue
puts "Failed to create instance #{name}-#{i}"
end
end
+ puts "Creating health checks..."
+ puts "--------------------------------"
begin
health = gce.http_health_checks.new(:name => name)
health.save
rescue
puts "Failed to create health check #{name}"
end
+ puts "Creating a target pool..."
+ puts "--------------------------------"
begin
pool = gce.target_pools.new(
:name => name,
:region => region,
- :health_checks => health.self_link,
+ :health_checks => [health.self_link],
:instances => servers.map(&:self_link)
)
pool.save
rescue
puts "Failed to create target pool #{name}"
end
+ puts "Creating forwarding rules..."
+ puts "--------------------------------"
begin
rule = gce.forwarding_rules.new(
:name => name,
:region => region,
:port_range => "1-65535",
@@ -69,10 +84,12 @@
# TODO(bensonk): Install apache, create individualized htdocs, and run some
# actual requests through the load balancer.
# Cleanup
+ puts "Cleaning up..."
+ puts "--------------------------------"
begin
rule.destroy
rescue
puts "Failed to clean up forwarding rule."
end
@@ -93,5 +110,7 @@
servers.each(&:destroy)
rescue
puts "Failed to clean up instances."
end
end
+
+test