staypuft 0.3.6 → 0.3.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ecedbdd2ea81a9ce7287d7cdbe5382f8ce86e5a3
|
|
4
|
+
data.tar.gz: cb2332dab9ceda616c083f1a2196f13c3a7cf10f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9418075d837ba35a8be9a79a02e9aa5e5e64a4ed0b8f8c89c7ded7e47f4a61dca4a5c0ced030e14c75fa1cb63758de6ea114f97c86e661647cdc881ca42e933e
|
|
7
|
+
data.tar.gz: f5d1961cfb88f300bd0c932112125a755a7b769f3a0e7911ad0e648b0c5c692bc1cff71a7b80b6bc937df3a0de732481b86dcc51f37b26dfb17463cb754c2c32
|
|
@@ -37,33 +37,46 @@ module Staypuft
|
|
|
37
37
|
}
|
|
38
38
|
COUNT = VIP_NAMES.size
|
|
39
39
|
|
|
40
|
-
def initialize(deployment)
|
|
40
|
+
def initialize(deployment, host=nil)
|
|
41
41
|
@deployment = deployment
|
|
42
|
+
@host = host
|
|
42
43
|
end
|
|
43
44
|
|
|
44
|
-
def ip_for_host(
|
|
45
|
-
interface_hash_for_host(
|
|
45
|
+
def ip_for_host(subnet_type_name, host=@host)
|
|
46
|
+
interface_hash_for_host(subnet_type_name, host)[:ip]
|
|
46
47
|
end
|
|
47
48
|
|
|
48
|
-
def interface_for_host(
|
|
49
|
-
interface_hash_for_host(
|
|
49
|
+
def interface_for_host(subnet_type_name, host=@host)
|
|
50
|
+
interface_hash_for_host(subnet_type_name, host)[:interface]
|
|
50
51
|
end
|
|
51
52
|
|
|
52
|
-
def network_address_for_host(
|
|
53
|
-
subnet =
|
|
53
|
+
def network_address_for_host(subnet_type_name, host=@host)
|
|
54
|
+
subnet = subnet_for_host(subnet_type_name, host)
|
|
54
55
|
subnet.network_address if subnet
|
|
55
56
|
end
|
|
56
57
|
|
|
58
|
+
def subnet_for_host(subnet_type_name, host=@host)
|
|
59
|
+
interface_hash_for_host(subnet_type_name, host)[:subnet]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def gateway_subnet(host=@host)
|
|
63
|
+
gateway_hash_for_host(host)[:subnet]
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
def gateway_interface(host=@host)
|
|
67
|
+
gateway_hash_for_host(host)[:interface]
|
|
68
|
+
end
|
|
69
|
+
|
|
57
70
|
def controllers
|
|
58
71
|
@controllers ||= @deployment.controller_hostgroup.hosts.order(:id)
|
|
59
72
|
end
|
|
60
73
|
|
|
61
74
|
def controller_ips(subnet_type_name)
|
|
62
|
-
controllers.map { |controller| ip_for_host(
|
|
75
|
+
controllers.map { |controller| ip_for_host(subnet_type_name, controller) }
|
|
63
76
|
end
|
|
64
77
|
|
|
65
78
|
def controller_ip(subnet_type_name)
|
|
66
|
-
ip_for_host(controllers.tap { |v| v.size == 1 or raise('only one controller is allowed') }.first
|
|
79
|
+
ip_for_host(subnet_type_name, controllers.tap { |v| v.size == 1 or raise('only one controller is allowed') }.first)
|
|
67
80
|
end
|
|
68
81
|
|
|
69
82
|
def controller_fqdns
|
|
@@ -87,11 +100,12 @@ module Staypuft
|
|
|
87
100
|
|
|
88
101
|
class Jail < Safemode::Jail
|
|
89
102
|
allow :ip_for_host, :interface_for_host, :network_address_for_host,
|
|
90
|
-
:controller_ip, :controller_ips, :controller_fqdns, :get_vip
|
|
103
|
+
:controller_ip, :controller_ips, :controller_fqdns, :get_vip,
|
|
104
|
+
:subnet_for_host, :gateway_subnet, :gateway_interface
|
|
91
105
|
end
|
|
92
106
|
|
|
93
107
|
private
|
|
94
|
-
def interface_hash_for_host(
|
|
108
|
+
def interface_hash_for_host(subnet_type_name, host)
|
|
95
109
|
if host.nil?
|
|
96
110
|
raise ArgumentError, "no host specified"
|
|
97
111
|
end
|
|
@@ -120,5 +134,11 @@ module Staypuft
|
|
|
120
134
|
{}
|
|
121
135
|
end
|
|
122
136
|
end
|
|
137
|
+
|
|
138
|
+
def gateway_hash_for_host(host)
|
|
139
|
+
gateway_hash = interface_hash_for_host(Staypuft::SubnetType::PUBLIC_API, host)
|
|
140
|
+
gateway_hash = interface_hash_for_host(Staypuft::SubnetType::PXE, host) unless gateway_hash[:subnet]
|
|
141
|
+
gateway_hash
|
|
142
|
+
end
|
|
123
143
|
end
|
|
124
144
|
end
|
data/app/lib/staypuft/seeder.rb
CHANGED
|
@@ -209,7 +209,7 @@ module Staypuft
|
|
|
209
209
|
|
|
210
210
|
# virtual ip addresses
|
|
211
211
|
def vip_format(param_name)
|
|
212
|
-
{ :string => '<%%= @host.
|
|
212
|
+
{ :string => '<%%= @host.network_query.get_vip(:%s) %%>' % param_name }
|
|
213
213
|
end
|
|
214
214
|
|
|
215
215
|
def functional_dependencies
|
|
@@ -224,8 +224,8 @@ module Staypuft
|
|
|
224
224
|
network_num_networks = { :string => '<%= @host.deployment.nova.num_networks %>' }
|
|
225
225
|
network_fixed_range = { :string => '<%= @host.deployment.nova.private_fixed_range %>' }
|
|
226
226
|
network_floating_range = { :string => '<%= @host.deployment.nova.public_floating_range %>' }
|
|
227
|
-
network_private_iface = { :string => "<%= @host.
|
|
228
|
-
network_public_iface = { :string => "<%= @host.
|
|
227
|
+
network_private_iface = { :string => "<%= @host.network_query.interface_for_host('#{Staypuft::SubnetType::TENANT}') %>" }
|
|
228
|
+
network_public_iface = { :string => "<%= @host.network_query.interface_for_host('#{Staypuft::SubnetType::EXTERNAL}') %>" }
|
|
229
229
|
network_create_networks = true
|
|
230
230
|
|
|
231
231
|
# Neutron
|
|
@@ -295,15 +295,15 @@ module Staypuft
|
|
|
295
295
|
keystonerc = 'true'
|
|
296
296
|
|
|
297
297
|
# Ceph
|
|
298
|
-
ceph_cluster_network = { :string => "<%= @host.
|
|
298
|
+
ceph_cluster_network = { :string => "<%= @host.network_query.network_address_for_host('#{Staypuft::SubnetType::STORAGE_CLUSTERING}') %>" }
|
|
299
299
|
# FIXME: this should actually be STORAGE instead of PXE, but only after we have a reliable way of identifying DNS names
|
|
300
300
|
# on the storage network
|
|
301
|
-
ceph_public_network = { :string => "<%= @host.
|
|
301
|
+
ceph_public_network = { :string => "<%= @host.network_query.network_address_for_host('#{Staypuft::SubnetType::PXE}') %>" }
|
|
302
302
|
ceph_fsid = { :string => '<%= @host.deployment.ceph.fsid %>' }
|
|
303
303
|
ceph_images_key = { :string => '<%= @host.deployment.ceph.images_key %>' }
|
|
304
304
|
ceph_volumes_key = { :string => '<%= @host.deployment.ceph.volumes_key %>' }
|
|
305
305
|
# FIXME: this should move to STORAGE from PXE like above
|
|
306
|
-
ceph_mon_host = { :array => "<%= @host.
|
|
306
|
+
ceph_mon_host = { :array => "<%= @host.network_query.controller_ips('#{Staypuft::SubnetType::PXE}') %>" }
|
|
307
307
|
# FIXME: This is currently the hostnames (which maps to fqdns on the PXE network) -- eventually we want DNS names
|
|
308
308
|
# on the Storage network
|
|
309
309
|
ceph_mon_initial_members = { :array => "<%= @host.deployment.ceph.mon_initial_members %>" }
|
|
@@ -340,7 +340,7 @@ module Staypuft
|
|
|
340
340
|
neutron_metadata_proxy_secret = { :string => '<%= @host.deployment.passwords.neutron_metadata_proxy_secret %>' }
|
|
341
341
|
|
|
342
342
|
|
|
343
|
-
private_ip = { :string => "<%= @host.deployment.network_query.ip_for_host(
|
|
343
|
+
private_ip = { :string => "<%= @host.deployment.network_query.ip_for_host('#{Staypuft::SubnetType::MANAGEMENT}', @host) %>" }
|
|
344
344
|
# private API/management
|
|
345
345
|
amqp_host = get_host_format :amqp_vip, Staypuft::SubnetType::MANAGEMENT
|
|
346
346
|
mysql_host = get_host_format :db_vip, Staypuft::SubnetType::MANAGEMENT
|
|
@@ -355,7 +355,7 @@ module Staypuft
|
|
|
355
355
|
controller_priv_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::MANAGEMENT}') %>"}
|
|
356
356
|
controller_pub_host = { :string => "<%= d = @host.deployment; d.ha? ? nil : d.network_query.controller_ip('#{Staypuft::SubnetType::PUBLIC_API}') %>"}
|
|
357
357
|
|
|
358
|
-
fencing_type = { :string => '<%= @host.bmc_nic
|
|
358
|
+
fencing_type = { :string => '<%= (@host.bmc_nic && @host.bmc_nic.fencing_enabled?) ? @host.bmc_nic.attrs["fencing_type"] : "disabled" %>' }
|
|
359
359
|
fence_ipmilan_address = { :string => '<%= @host.bmc_nic.ip if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
|
|
360
360
|
fence_ipmilan_username = { :string => '<%= @host.bmc_nic.username if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
|
|
361
361
|
fence_ipmilan_password = { :string => '<%= @host.bmc_nic.password if @host.bmc_nic && @host.bmc_nic.fencing_enabled? %>' }
|
|
@@ -46,6 +46,15 @@ module Staypuft
|
|
|
46
46
|
n += 1
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
|
+
|
|
50
|
+
def network_query
|
|
51
|
+
@network_query || NetworkQuery.new(self.hostgroup.deployment, self)
|
|
52
|
+
end
|
|
53
|
+
|
|
49
54
|
end
|
|
50
55
|
end
|
|
51
56
|
end
|
|
57
|
+
|
|
58
|
+
class ::Host::Managed::Jail < Safemode::Jail
|
|
59
|
+
allow :network_query
|
|
60
|
+
end
|
|
@@ -91,11 +91,11 @@ module Staypuft
|
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
def tenant_iface(host)
|
|
94
|
-
deployment.network_query.interface_for_host(
|
|
94
|
+
deployment.network_query.interface_for_host(Staypuft::SubnetType::TENANT, host)
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
def external_interface_name(host)
|
|
98
|
-
deployment.network_query.interface_for_host(
|
|
98
|
+
deployment.network_query.interface_for_host(Staypuft::SubnetType::EXTERNAL, host)
|
|
99
99
|
end
|
|
100
100
|
|
|
101
101
|
def ovs_tunnel_types
|
data/lib/staypuft/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: staypuft
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Staypuft team
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-09-
|
|
11
|
+
date: 2014-09-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: foreman-tasks
|