Class: Staypuft::Deployment::CinderService
Defined Under Namespace
Modules: DriverBackend, EqlxGroupName, EqlxPool, NfsUri, SanIp, SanLogin, SanPassword
Classes: Equallogic, Jail
Constant Summary
collapse
- BACKEND_TYPE_PARAMS =
:backend_eqlx, :backend_nfs, :backend_lvm, :backend_ceph
- BACKEND_PARAMS =
:nfs_uri, :rbd_secret_uuid
Instance Attribute Summary
#deployment
Class Method Summary
collapse
Instance Method Summary
collapse
#attributes=, #hostgroup, #initialize, #marked_for_destruction?
#param_attr, #param_attr_array, #param_scope
Class Method Details
.param_scope ⇒ Object
4
5
6
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 4
def self.param_scope
'cinder'
end
|
Instance Method Details
#active? ⇒ Boolean
cinder config always shows up
78
79
80
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 78
def active?
true
end
|
#backend_labels_for_layout ⇒ Object
view should use this rather than DriverBackend::LABELS to hide LVM for HA.
104
105
106
107
108
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 104
def backend_labels_for_layout
ret_list = DriverBackend::LABELS.clone
ret_list.delete(DriverBackend::LVM) if self.deployment.ha?
ret_list
end
|
#backend_types_for_layout ⇒ Object
109
110
111
112
113
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 109
def backend_types_for_layout
ret_list = DriverBackend::TYPES.clone
ret_list.delete(DriverBackend::LVM) if self.deployment.ha?
ret_list
end
|
#ceph_backend? ⇒ Boolean
90
91
92
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 90
def ceph_backend?
self.backend_ceph == "true"
end
|
#compute_eqlx_backend_names ⇒ Object
138
139
140
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 138
def compute_eqlx_backend_names
self.eqlxs.collect.with_index { |e,i| "eqlx_backend#{i+1}" }
end
|
#equallogic_backend? ⇒ Boolean
94
95
96
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 94
def equallogic_backend?
self.backend_eqlx == "true"
end
|
#lvm_backend? ⇒ Boolean
82
83
84
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 82
def lvm_backend?
!self.deployment.ha? && self.backend_lvm == "true"
end
|
#lvm_ptable ⇒ Object
122
123
124
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 122
def lvm_ptable
Ptable.find_by_name('LVM with cinder-volumes')
end
|
#multiple_backends? ⇒ Boolean
98
99
100
101
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 98
def multiple_backends?
(equallogic_backend? and self.eqlxs.length > 1) or
BACKEND_TYPE_PARAMS.select { |type| send(type.to_s) == "true" }.length > 1
end
|
#nfs_backend? ⇒ Boolean
86
87
88
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 86
def nfs_backend?
self.backend_nfs == "true"
end
|
#param_hash ⇒ Object
115
116
117
118
119
120
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 115
def param_hash
{ "backend_lvm" => backend_lvm, "backend_ceph" => backend_ceph,
"backend_nfs" => backend_nfs, "backend_eqlx" => backend_eqlx,
"nfs_uri" => nfs_uri, "rbd_secret_uuid" => rbd_secret_uuid,
"eqlxs" => self.eqlxs }
end
|
#set_defaults ⇒ Object
69
70
71
72
73
74
75
|
# File 'app/models/staypuft/deployment/cinder_service.rb', line 69
def set_defaults
self.backend_lvm = "false"
self.backend_ceph = "false"
self.backend_nfs = "false"
self.backend_eqlx = "false"
self.rbd_secret_uuid = SecureRandom.uuid
end
|