Better way of calculating prefix. Fix bad sub.
This commit is contained in:
parent
5da5a28be9
commit
b6afcb94f9
|
@ -7,16 +7,10 @@ Puppet::Type.type(:nova_floating).provide(:nova_manage) do
|
|||
def exists?
|
||||
begin
|
||||
# Calculate num quads to grab for prefix
|
||||
mask=resource[:network].sub(/.*\/([1-3][0-9]?)/)
|
||||
case
|
||||
when mask <= 8
|
||||
num_quads=1
|
||||
when mask <=16
|
||||
num_quads=2
|
||||
when mask <=24
|
||||
num_quads=3
|
||||
when mask <=32
|
||||
num_quads=3
|
||||
mask=resource[:network].sub(/.*\/([0-9][0-9]?)/, '\1')
|
||||
num_quads=32/$mask
|
||||
if num_quads == 4
|
||||
num_quads=3
|
||||
end
|
||||
prefix=resource[:network].sub(/(\.[0-9]{1,3}){#{num_quads}}(\/[0-9]{1,2})?$/, '') + "."
|
||||
return nova_manage("floating", "list").match(/#{prefix}/)
|
||||
|
|
|
@ -22,7 +22,6 @@ Puppet::Type.type(:nova_network).provide(:nova_manage) do
|
|||
end.compact
|
||||
end
|
||||
|
||||
|
||||
def exists?
|
||||
begin
|
||||
network_list = nova_manage("network", "list")
|
||||
|
@ -36,7 +35,7 @@ Puppet::Type.type(:nova_network).provide(:nova_manage) do
|
|||
end
|
||||
|
||||
def create
|
||||
mask=resource[:network].sub(/.*\/([1-3][0-9]?)/)
|
||||
mask=resource[:network].sub(/.*\/([1-3][0-9]?)/, '\1')
|
||||
available_ips=2**(32-mask.to_i)
|
||||
nova_manage("network", "create", resource[:label], resource[:network], "1", available_ips, "--bridge=#{resource[:bridge]}")
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ Puppet::Type.newtype(:nova_floating) do
|
|||
ensurable
|
||||
|
||||
newparam(:network, :namevar => true) do
|
||||
desc "Network (ie, 192.168.1.0/24 or 192.168.1.128/25 etc.)"
|
||||
desc "Network (ie, 192.168.1.0/24 or 192.168.1.128/25 etc.)"
|
||||
newvalues(/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[1-9][0-9]{0,2}\/[0-9]{1,2}$/)
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue