Revision 92584f2e
Added by Imri Zvik over 8 years ago
app/models/compute_resources/foreman/model/openstack.rb | ||
---|---|---|
delegate :flavors, :to => :client
|
||
delegate :tenants, :to => :client
|
||
delegate :security_groups, :to => :client
|
||
attr_accessible :key_pair, :tenant
|
||
attr_accessible :key_pair, :tenant, :allow_external_network
|
||
|
||
validates :user, :password, :presence => true
|
||
validates :allow_external_network, inclusion: { in: [true, false] }
|
||
|
||
def provided_attributes
|
||
super.merge({ :ip => :floating_ip_address })
|
||
... | ... | |
attrs[:tenant] = name
|
||
end
|
||
|
||
def allow_external_network
|
||
Foreman::Cast.to_bool(attrs[:allow_external_network])
|
||
end
|
||
|
||
def allow_external_network=(enabled)
|
||
attrs[:allow_external_network] = Foreman::Cast.to_bool(enabled)
|
||
end
|
||
|
||
def test_connection(options = {})
|
||
super
|
||
errors[:user].empty? and errors[:password] and tenants
|
||
... | ... | |
|
||
def internal_networks
|
||
return {} if network_client.nil?
|
||
network_client.networks.all.select { |net| !net.router_external }
|
||
allow_external_network ? network_client.networks.all : network_client.networks.all.select { |net| !net.router_external }
|
||
end
|
||
|
||
def image_size(image_id)
|
Also available in: Unified diff
Fixes #12949 - Allow selection of external networks as main network in Openstack