mirror of
https://github.com/puppetlabs/vmpooler-provider-gce.git
synced 2026-01-26 11:28:41 -05:00
Adding the cloud DNS API library and related methods
we setup DNS when a VM is created and tear it down when a VM is deleted the DNS zone should exist already and is referenced by a provider setting the dns zone is also set in order to use it for vm_ready? instead of the global domain instances have a label that identifies which project they belong to, so it can be used for FW rules
This commit is contained in:
parent
f6ec318b2d
commit
daa55fe5b8
9 changed files with 167 additions and 12 deletions
|
|
@ -11,6 +11,7 @@ describe 'Vmpooler::PoolManager::Provider::Gce' do
|
|||
let(:metrics) { Vmpooler::Metrics::DummyStatsd.new }
|
||||
let(:poolname) { 'debian-9' }
|
||||
let(:provider_options) { { 'param' => 'value' } }
|
||||
# let(:project) { 'vmpooler-test' }
|
||||
let(:project) { 'dio-samuel-dev' }
|
||||
let(:zone) { 'us-west1-b' }
|
||||
let(:config) { YAML.load(<<-EOT
|
||||
|
|
@ -23,7 +24,10 @@ describe 'Vmpooler::PoolManager::Provider::Gce' do
|
|||
connection_pool_timeout: 1
|
||||
project: '#{project}'
|
||||
zone: '#{zone}'
|
||||
network_name: 'global/networks/default'
|
||||
network_name: global/networks/default
|
||||
# network_name: 'projects/itsysopsnetworking/global/networks/shared1'
|
||||
dns_zone_resource_name: 'example-com'
|
||||
dns_zone: 'example.com'
|
||||
:pools:
|
||||
- name: '#{poolname}'
|
||||
alias: [ 'mockpool' ]
|
||||
|
|
@ -32,13 +36,13 @@ describe 'Vmpooler::PoolManager::Provider::Gce' do
|
|||
timeout: 10
|
||||
ready_ttl: 1440
|
||||
provider: 'gce'
|
||||
network_name: 'default'
|
||||
# subnetwork_name: 'projects/itsysopsnetworking/regions/us-west1/subnetworks/vmpooler-test'
|
||||
machine_type: 'zones/#{zone}/machineTypes/e2-micro'
|
||||
EOT
|
||||
)
|
||||
}
|
||||
|
||||
let(:vmname) { 'vm16' }
|
||||
let(:vmname) { 'vm17' }
|
||||
let(:connection) { MockComputeServiceConnection.new }
|
||||
let(:redis_connection_pool) do
|
||||
Vmpooler::PoolManager::GenericConnectionPool.new(
|
||||
|
|
@ -80,11 +84,44 @@ EOT
|
|||
# result = subject.create_snapshot(poolname, vmname, "sams")
|
||||
# result = subject.revert_snapshot(poolname, vmname, "sams")
|
||||
# puts subject.get_vm(poolname, vmname)
|
||||
result = subject.create_vm(poolname, vmname)
|
||||
result = subject.destroy_vm(poolname, vmname)
|
||||
end
|
||||
|
||||
skip 'debug' do
|
||||
puts subject.purge_unconfigured_resources(['foo', '', 'blah'])
|
||||
context 'in itsysops' do
|
||||
let(:vmname) { "instance-10" }
|
||||
let(:project) { 'vmpooler-test' }
|
||||
let(:config) { YAML.load(<<-EOT
|
||||
---
|
||||
:config:
|
||||
max_tries: 3
|
||||
retry_factor: 10
|
||||
:providers:
|
||||
:gce:
|
||||
connection_pool_timeout: 1
|
||||
project: '#{project}'
|
||||
zone: '#{zone}'
|
||||
network_name: 'projects/itsysopsnetworking/global/networks/shared1'
|
||||
dns_zone_resource_name: 'test-vmpooler-puppet-net'
|
||||
dns_zone: 'test.vmpooler.puppet.net'
|
||||
:pools:
|
||||
- name: '#{poolname}'
|
||||
alias: [ 'mockpool' ]
|
||||
template: 'projects/debian-cloud/global/images/family/debian-9'
|
||||
size: 5
|
||||
timeout: 10
|
||||
ready_ttl: 1440
|
||||
provider: 'gce'
|
||||
subnetwork_name: 'projects/itsysopsnetworking/regions/us-west1/subnetworks/vmpooler-test'
|
||||
machine_type: 'zones/#{zone}/machineTypes/e2-micro'
|
||||
EOT
|
||||
) }
|
||||
skip 'gets a vm' do
|
||||
result = subject.create_vm(poolname, vmname)
|
||||
#subject.get_vm(poolname, vmname)
|
||||
#subject.dns_teardown({'name' => vmname})
|
||||
# subject.dns_setup({'name' => vmname, 'ip' => '1.2.3.5'})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue