def add_to_requires_feature(feature)
prof = @profile_name_map[@default_profile]
if self.scalable
comp_name = "proxy" if comp_name.nil?
prof = @profile_name_map[@default_profile]
cinst = ComponentInstance::find_component_in_cart(prof, self, comp_name, self.get_name_prefix)
raise OpenShift::NodeException.new("Cannot find component '#{comp_name}' in app #{self.name}.", 135, result_io) if cinst.nil?
comp,profile,cart = cinst.get_component_definition(self)
raise OpenShift::UserException.new("#{feature} already embedded in '#{@name}'", 136) if comp.depends.include? feature
fcart = self.framework
conn = OpenShift::Connection.new("#{feature}-web-#{fcart}")
conn.components = ["proxy/#{feature}", "web/#{fcart}"]
prof.add_connection(conn)
conn = OpenShift::Connection.new("#{feature}-proxy-#{fcart}")
conn.components = ["proxy/#{feature}", "proxy/#{fcart}"]
prof.add_connection(conn)
if feature == "jenkins-client-1.4"
conn = OpenShift::Connection.new("#{feature}-proxy-haproxy-1.4")
conn.components = ["proxy/#{feature}", "proxy/haproxy-1.4"]
prof.add_connection(conn)
end
comp.depends << feature
else
self.requires_feature.each { |cart|
conn = OpenShift::Connection.new("#{feature}-#{cart}")
conn.components = [cart, feature]
prof.add_connection(conn)
}
self.requires_feature << feature
end
end