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