+++ /dev/null
-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