Files
puppet-nova/lib/puppet/provider/nova_floating/nova_manage.rb
Aimon Bustardo 08e37e94c8 Add ability to set floating IP Pool names
- Defaults to 'nova'
  - Allows user to create multiple pools outside
    of the 'nova::manage::floating' definition.

Change-Id: Ia0482cf24a7d9b9589e9b401879268f40e397be3
2014-08-26 15:54:53 -07:00

24 lines
644 B
Ruby

Puppet::Type.type(:nova_floating).provide(:nova_manage) do
desc "Manage nova floating"
optional_commands :nova_manage => 'nova-manage'
def exists?
# Calculate num quads to grab for prefix
mask=resource[:network].sub(/.*\/([0-9][0-9]?)/, '\1').to_i
num_quads = 4 - mask / 8
prefix=resource[:network].sub(/(\.[0-9]{1,3}){#{num_quads}}(\/[0-9]{1,2})?$/, '') + "."
return nova_manage("floating", "list").match(/#{prefix}/)
end
def create
nova_manage("floating", "create", '--pool', resource[:pool], resource[:network])
end
def destroy
nova_manage("floating", "delete", resource[:network])
end
end