Skip to content
Merged

Alpha #701

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
9e5a9e0
Merge pull request #661 from EnginesOS/current
jvodan Jun 21, 2015
523e889
Merge pull request #662 from EnginesOS/current
jvodan Jun 21, 2015
23a1e11
Merge pull request #663 from EnginesOS/current
jvodan Jun 21, 2015
70a63ac
Merge pull request #664 from EnginesOS/current
jvodan Jun 21, 2015
c7fe9a8
Merge pull request #665 from EnginesOS/current
jvodan Jun 21, 2015
4cfb3c0
Merge pull request #666 from EnginesOS/current
jvodan Jun 22, 2015
d0328a9
Merge pull request #667 from EnginesOS/current
jvodan Jun 22, 2015
4ce466f
Merge pull request #668 from EnginesOS/current
jvodan Jun 22, 2015
7a1363a
Merge pull request #669 from EnginesOS/current
jvodan Jun 22, 2015
41b8b83
Merge pull request #670 from EnginesOS/current
jvodan Jun 22, 2015
a5bf83f
Merge pull request #671 from EnginesOS/current
jvodan Jun 22, 2015
d75e809
Merge pull request #672 from EnginesOS/current
jvodan Jun 22, 2015
87aa804
Merge pull request #673 from EnginesOS/current
jvodan Jun 22, 2015
47abe15
Merge pull request #674 from EnginesOS/current
jvodan Jun 22, 2015
02af33c
Merge pull request #675 from EnginesOS/current
jvodan Jun 22, 2015
27c2aca
Merge pull request #676 from EnginesOS/current
jvodan Jun 23, 2015
9bdfe8f
Merge pull request #657 from EnginesOS/alpha
jvodan Jun 23, 2015
15dacb1
Merge pull request #678 from EnginesOS/current
jvodan Jun 23, 2015
34834aa
Merge pull request #679 from EnginesOS/alpha
jvodan Jun 23, 2015
5aba11a
Merge pull request #681 from EnginesOS/current
jvodan Jun 25, 2015
f392f85
Merge pull request #682 from EnginesOS/current
jvodan Jun 25, 2015
7130c34
Merge pull request #683 from EnginesOS/current
jvodan Jun 25, 2015
8b51787
Merge pull request #684 from EnginesOS/current
jvodan Jun 25, 2015
a0099a7
Merge pull request #685 from EnginesOS/current
jvodan Jun 25, 2015
3013d8b
Merge pull request #686 from EnginesOS/current
jvodan Jun 25, 2015
1621a07
Merge pull request #687 from EnginesOS/current
jvodan Jun 25, 2015
b799d25
Merge pull request #688 from EnginesOS/current
jvodan Jun 25, 2015
931c6ab
Merge pull request #690 from EnginesOS/current
jvodan Jun 25, 2015
b05e67e
Merge pull request #693 from EnginesOS/current
jvodan Jun 26, 2015
9b862da
Merge pull request #694 from EnginesOS/current
jvodan Jun 26, 2015
8338f62
Merge pull request #695 from EnginesOS/current
jvodan Jun 26, 2015
bc55ea0
Merge pull request #699 from EnginesOS/current
jvodan Jun 27, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions etc/services/providers/EnginesSystem/database/sql/mysql.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,20 @@ service_handle_field: database_name
image_name: engines/volmanager
setup_params:
consumer_params:
full_access:
name: full_access
label: Full Database Server Access
regex_validator: true|false
tooltip: "Access to all databases includes the ability to delete"
field_type: select_single
hint: "true|false"
select_collection:
- true
- false
placeholder: "true|false"
mandatory: true
value: false
comment: "Access to all databases includes the ability to delete"
name:
name: name
label: service tag name
Expand Down
10 changes: 5 additions & 5 deletions installers/routines.sh
Original file line number Diff line number Diff line change
Expand Up @@ -244,15 +244,15 @@ mkdir -p /var/log/engines/services/email/apache2
mkdir -p /opt/engines/etc/backup/configs
mkdir -p /opt/engines/etc/ssl/imap
mkdir -p /opt/engines/etc/ssl/smtp
mkdir -p /opt/engines/etc/ssl/psql/
mkdir -p /opt/engines/etc/ssl/pgsql/
mkdir -p /opt/engines/etc/smtp
mkdir -p /opt/engines/ssh/keys/services/
cp -r /opt/engines/etc/ssl/certs /opt/engines/etc/ssl/smtp/
cp -r /opt/engines/etc/ssl/keys /opt/engines/etc/ssl/smtp/
cp -r /opt/engines/etc/ssl/certs /opt/engines/etc/ssl/imap/
cp -r /opt/engines/etc/ssl/keys /opt/engines/etc/ssl/imap/
cp -r /opt/engines/etc/ssl/certs /opt/engines/etc/ssl/psql/
cp -r /opt/engines/etc/ssl/keys /opt/engines/etc/ssl/psql/private
cp -r /opt/engines/etc/ssl/certs /opt/engines/etc/ssl/pgsql/
cp -r /opt/engines/etc/ssl/keys /opt/engines/etc/ssl/pgsql/private
}

function set_permissions {
Expand Down Expand Up @@ -280,8 +280,8 @@ echo "Setting directory and file permissions"
chown -R 22014 /var/lib/engines/imap/mail
chown -R 22013 /opt/engines/etc/ssl/imap
chmod og-rw -R /opt/engines/etc/ssl/imap
chown -R 22002 /opt/engines/etc/ssl/psql
chmod og-rw -R /opt/engines/etc/ssl/psql
chown -R 22002 /opt/engines/etc/ssl/pgsql
chmod og-rw -R /opt/engines/etc/ssl/pgsql
chown 22003 -R /opt/engines/etc/smtp
chown 22017 -R /opt/engines/ssh/keys/services/
chown 22018 -R /var/log/engines/services/nfs/
Expand Down
4 changes: 4 additions & 0 deletions lib/ruby/api/public/services_module.rb
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,10 @@ def get_managed_engine_tree
return @core_api.get_managed_engine_tree
end

def get_configurations_tree
return @core_api.get_configurations_tree
end

def managed_service_tree
return fetch_managed_service_tree
end
Expand Down
4 changes: 4 additions & 0 deletions lib/ruby/api/system/DockerApi.rb
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,10 @@ def execute_docker_cmd(cmdline,container)
clear_error
result = SystemUtils.execute_command(cmdline)
container.last_result = result[:stdout]
if container.last_result.start_with?("[") == true && (container.last_result.end_with?("]") == false || container.last_result.end_with?("]") ==false)
container.last_result+="]"

end
container.last_error = result[:stderr]
if result[:result] == 0
container.last_error = result[:result].to_s + ":" + result[:stderr].to_s
Expand Down
12 changes: 11 additions & 1 deletion lib/ruby/api/system/EnginesCore.rb
Original file line number Diff line number Diff line change
Expand Up @@ -355,6 +355,11 @@ def find_engine_services(params)
return sm.find_engine_services(params)
end

def get_configurations_tree
sm = loadServiceManager()
return sm.service_configurations_tree
end

def load_service_definition(filename)

yaml_file = File.open(filename)
Expand Down Expand Up @@ -434,6 +439,7 @@ def load_avail_services_for_type(typename)
def retrieve_service_configuration(service_param)
if service_param.has_key?(:service_name)
service = loadManagedService(service_param[:service_name])

if service != false && service != nil
retval = service.retrieve_configurator(service_param)
else
Expand All @@ -449,10 +455,14 @@ def update_service_configuration(service_param)

if service_param.has_key?(:service_name)
service = loadManagedService(service_param[:service_name])
sm = loadServiceManager()
sm.update_service_configuration(service_param)

if service != false && service != nil
retval = service.run_configurator(service_param)

if retval[:result] == 0

return true
else
@last_error = retval[:stderr]
Expand Down
7 changes: 6 additions & 1 deletion lib/ruby/containers/ManagedContainer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -156,10 +156,13 @@ def read_state()
# p caller_locations(1,1)[0].label

begin
inspect_container
if inspect_container == false
@last_error="failed to inspect container"
state="nocontainer"
else
# @res= last_result

output = JSON.parse(@last_result)
if output.is_a?(Array) == false || output.empty? == true
@last_error = "Failed to get container status"
Expand Down Expand Up @@ -192,7 +195,9 @@ def read_state()
return state

rescue Exception=>e

p :json_Str
p @last_result
# p @res
SystemUtils.log_exception(e)
return "nocontainer"
Expand Down Expand Up @@ -516,7 +521,7 @@ def stats
def inspect_container
return false if has_api? == false

if @docker_info == nil
if @docker_info == nil || @docker_info == false
@docker_info = @core_api.inspect_container self
end
return @docker_info
Expand Down
9 changes: 7 additions & 2 deletions lib/ruby/engine_builder/DockerFileBuilder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -231,7 +231,9 @@ def write_persistant_files
log_build_output("set setup_env")
src_paths = @blueprint_reader.persistant_files[:src_paths]
dest_paths = @blueprint_reader.persistant_files[:dest_paths]

if src_paths == nil
return
end
src_paths.each do |path|
# path = dest_paths[n]
p :path
Expand Down Expand Up @@ -627,6 +629,7 @@ def write_app_archives
@docker_file.puts("RUN mv " + arc_dir + " /home/app/" + arc_loc )
count_layer
set_user("$ContUser")

else
step_back=false

Expand All @@ -643,10 +646,12 @@ def write_app_archives
end

@docker_file.puts("RUN wget -O \"" + arc_name + "\" \"" + arc_src + "\" ;\\" )
if arc_extract!= nil

if arc_extract != nil && arc_extract != ""
@docker_file.puts(" " + arc_extract + " \"" + arc_name + "\" ;\\") # + "\"* 2>&1 > /dev/null ")
@docker_file.puts(" rm \"" + arc_name + "\"")
else
arc_dir=arc_name
@docker_file.puts("echo") #step past the next shell line implied by preceeding ;
end
set_user("0")
Expand Down
14 changes: 11 additions & 3 deletions lib/ruby/managed_services/ManagedService.rb
Original file line number Diff line number Diff line change
Expand Up @@ -140,14 +140,14 @@ def rm_consumer_from_service(service_hash)
end

def run_configurator(configurator_params)
cmd = "docker exec " + container_name + " /home/configurators/set_" + configurator_params[:configurator_name] + ".sh \"" + SystemUtils.service_hash_variables_as_str(configurator_params) + "\""
cmd = "docker exec " + container_name + " /home/configurators/set_" + configurator_params[:configurator_name].to_s + ".sh \"" + SystemUtils.service_hash_variables_as_str(configurator_params) + "\""
result = SystemUtils.execute_command(cmd)

return result
end

def retrieve_configurator(configurator_params)
cmd = "docker exec " + container_name + " /home/configurators/read_" + configurator_params[:configurator_name] + ".sh "
cmd = "docker exec " + container_name + " /home/configurators/read_" + configurator_params[:configurator_name].to_s + ".sh "
result = SystemUtils.execute_command(cmd)
p result
if result[:result] == 0
Expand Down Expand Up @@ -218,12 +218,20 @@ def create_service()
end
@setState="running"
if create_container() == true
#start with configurations

service_configurations = service_manager.get_service_configurations_hashes(@container_name)
if service_configurations != false
service_configurations.each do |configuration|
run_configurator(configuration)
end
end
register_with_dns()
p :service_non_persis
@core_api.load_and_attach_nonpersistant_services(self)
p :register_non_persis
@core_api.register_non_persistant_services(self)

reregister_consumers()
save_state()
return true
Expand Down
9 changes: 7 additions & 2 deletions lib/ruby/managed_services/service_manager/ServiceManager.rb
Original file line number Diff line number Diff line change
Expand Up @@ -300,9 +300,14 @@ def rm_remove_engine(params)
if params.has_key?(:parent_engine) == false
params[:parent_engine] = params[:engine_name]
end
engine_node = managed_engines_type_tree(params)[params[:parent_engine]]
engines_type_tree = managed_engines_type_tree(params)
if engines_type_tree == false
log_error_mesg("Warning Failed to find engine to remove",params)
return true
end
engine_node = engines_type_tree[params[:parent_engine]]

if engine_node == nil
if engine_node == false
log_error_mesg("Warning Failed to find engine to remove",params)
return true
end
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,22 @@ module ManagedEnginesRegistry
def find_engine_services(params)
if params == nil
log_error_mesg("find_engine_services passed nil params",params)
return nil
return false
end

engine_node = managed_engines_type_tree(params)[params[:parent_engine]]

engines_type_tree = managed_engines_type_tree(params)
if engines_type_tree == false
return false
end

engine_node = engines_type_tree[params[:parent_engine]]
if engine_node == false
return false
end
SystemUtils.debug_output( :find_engine_services_with_params, params)
if params.has_key?(:type_path) && params[:type_path] != nil
services = get_type_path_node(engine_node,params[:type_path]) #engine_node[params[:type_path]]
if services != nil && params.has_key?(:service_handle) && params[:service_handle] != nil
if services != false && params.has_key?(:service_handle) && params[:service_handle] != nil
service = services[params[:service_handle]]
return service
else
Expand All @@ -34,7 +41,7 @@ def find_engine_services_hashes(params)

engine_node = managed_engines_type_tree(params)[params[:parent_engine]]
#p get_all_leafs_service_hashes(engine_node)
if engine_node == nil
if engine_node == false
log_error_mesg("Failed to find in managed service tree",params)
end
if params.has_key?(:persistant) && params[:persistant] == true
Expand Down Expand Up @@ -62,7 +69,7 @@ def get_engine_persistance_services(params,persistance) #params is :engine_name
params[:parent_engine] = params[:engine_name]
end
services = find_engine_services(params)
if services == nil
if services == false
log_error_mesg("Failed to find engine in persistant service",params)
return leafs
end
Expand All @@ -89,9 +96,12 @@ def add_to_managed_engines_tree(service_hash)
log_error_mesg("no_parent_engine_key",service_hash)
return false
end

if managed_engines_type_tree(service_hash)[service_hash[:parent_engine]] != nil
engine_node = managed_engines_type_tree(service_hash)[ service_hash[:parent_engine] ]
engines_type_tree = managed_engines_type_tree(service_hash)
if engines_type_tree == false
return false
end
if engines_type_tree[service_hash[:parent_engine]] != nil
engine_node = engines_type_tree[ service_hash[:parent_engine] ]
else
engine_node = Tree::TreeNode.new(service_hash[:parent_engine],service_hash[:parent_engine] + " Engine Service Tree")
managed_engines_type_tree(service_hash) << engine_node
Expand All @@ -100,8 +110,8 @@ def add_to_managed_engines_tree(service_hash)
service_type_node = create_type_path_node(engine_node,service_hash[:type_path])
service_handle = get_service_handle(service_hash)
service_handle = service_hash[:service_handle]
if service_type_node == nil
log_error_mesg("nil service type node",service_hash)
if service_type_node == false
log_error_mesg("no service type node",service_hash)
return false
end
if service_handle == nil
Expand Down Expand Up @@ -130,6 +140,9 @@ def add_to_managed_engines_tree(service_hash)

#@return the appropriate tree under managedservices trees either engine or service
def managed_engines_type_tree(site_hash)
if managed_engine_tree == false
return false
end
if site_hash.has_key?(:container_type) == false
log_error_mesg("Site hash missing :container_type",site_hash)
#return false
Expand Down
10 changes: 5 additions & 5 deletions lib/ruby/managed_services/service_manager/orphaned_services.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module OrphanedServices
#@param params { :type_path , :service_handle}
def release_orphan(params)
orphan = retrieve_orphan(params)
if orphan == nil
if orphan == false
log_error_mesg("No Orphan found to release",params)
return false
end
Expand Down Expand Up @@ -56,7 +56,7 @@ def retrieve_orphan(params)
type_path = params[:type_path]

type = get_type_path_node(provider_tree,type_path)
if type == nil
if type == false
log_error_mesg("No Orphan Matching type_path",params)
return false
end
Expand Down Expand Up @@ -101,14 +101,14 @@ def get_orphaned_services_tree
#@return new service_hash
def reparent_orphan(params)
orphan = retrieve_orphan(params)
if orphan !=nil
if orphan != false
content = orphan.content
content[:variables][:parent_engine]=params[:parent_engine]
content[:parent_engine]=params[:parent_engine]
return content
else
log_error_mesg("No orphan found to reparent",params)
return nil
return false
end

end
Expand Down Expand Up @@ -151,7 +151,7 @@ def find_orphan_consumers(service_query_hash)

service_path_tree = get_type_path_node(provider_tree,service_query_hash[:type_path])

if service_path_tree == nil
if service_path_tree == false
log_error_mesg("Failed to find orphan matching service path",service_query_hash)
return false
end
Expand Down
Loading