Commit e8231d25 authored by Benjamin Blanc's avatar Benjamin Blanc Committed by Cédric de Saint Martin

Add scalability test support

Add new variables used in testnode software.
Add new rules to httpd, in order to make depositories accessible
by obfuscation.
parent 938c987d
...@@ -54,8 +54,9 @@ class Recipe(GenericBaseRecipe): ...@@ -54,8 +54,9 @@ class Recipe(GenericBaseRecipe):
if software_path_list: if software_path_list:
CONFIG["software_path_list"] = "[software_list]" CONFIG["software_path_list"] = "[software_list]"
CONFIG["software_path_list"] += \ CONFIG["software_path_list"] += \
"\npath_list = %s" % ",".join(software_path_list) "\npath_list = %s" % ",".join(software_path_list)
CONFIG['computer_id'] = self.buildout['slap-connection']['computer-id']
CONFIG['server_url'] = self.buildout['slap-connection']['server-url']
configuration_file = self.createFile( configuration_file = self.createFile(
self.options['configuration-file'], self.options['configuration-file'],
self.substituteTemplate( self.substituteTemplate(
...@@ -87,6 +88,8 @@ class Recipe(GenericBaseRecipe): ...@@ -87,6 +88,8 @@ class Recipe(GenericBaseRecipe):
lock_file=self.options['httpd-lock-file'], lock_file=self.options['httpd-lock-file'],
ip=self.options['httpd-ip'], ip=self.options['httpd-ip'],
port=self.options['httpd-port'], port=self.options['httpd-port'],
software_access_port=self.options['httpd-software-access-port'],
testnode_srv_directory=self.options['srv-directory'],
error_log=os.path.join(self.options['httpd-log-directory'], error_log=os.path.join(self.options['httpd-log-directory'],
'httpd-error.log'), 'httpd-error.log'),
access_log=os.path.join(self.options['httpd-log-directory'], access_log=os.path.join(self.options['httpd-log-directory'],
...@@ -94,6 +97,7 @@ class Recipe(GenericBaseRecipe): ...@@ -94,6 +97,7 @@ class Recipe(GenericBaseRecipe):
certificate=self.options['httpd-cert-file'], certificate=self.options['httpd-cert-file'],
key=self.options['httpd-key-file'], key=self.options['httpd-key-file'],
testnode_log_directory=self.options['log-directory'], testnode_log_directory=self.options['log-directory'],
testnode_software_directory=self.options['software-directory'],
) )
config_file = self.createFile(self.options['httpd-conf-file'], config_file = self.createFile(self.options['httpd-conf-file'],
self.substituteTemplate(self.getTemplateFilename('httpd.conf.in'), self.substituteTemplate(self.getTemplateFilename('httpd.conf.in'),
...@@ -107,4 +111,4 @@ class Recipe(GenericBaseRecipe): ...@@ -107,4 +111,4 @@ class Recipe(GenericBaseRecipe):
# create empty html page to not allow listing of / # create empty html page to not allow listing of /
page = open(os.path.join(self.options['log-directory'], "index.html"), "w") page = open(os.path.join(self.options['log-directory'], "index.html"), "w")
page.write("<html/>") page.write("<html/>")
page.close() page.close()
\ No newline at end of file
...@@ -2,8 +2,10 @@ ...@@ -2,8 +2,10 @@
slapos_directory = %(slapos_directory)s slapos_directory = %(slapos_directory)s
working_directory = %(working_directory)s working_directory = %(working_directory)s
test_suite_directory = %(test_suite_directory)s test_suite_directory = %(test_suite_directory)s
software_directory = %(software_directory)s
log_directory = %(log_directory)s log_directory = %(log_directory)s
run_directory = %(run_directory)s run_directory = %(run_directory)s
srv_directory = %(srv_directory)s
proxy_host = %(proxy_host)s proxy_host = %(proxy_host)s
proxy_port = %(proxy_port)s proxy_port = %(proxy_port)s
node_quantity = %(node_quantity)s node_quantity = %(node_quantity)s
...@@ -13,6 +15,9 @@ ipv6_address = %(ipv6_address)s ...@@ -13,6 +15,9 @@ ipv6_address = %(ipv6_address)s
test_suite_master_url = %(test_suite_master_url)s test_suite_master_url = %(test_suite_master_url)s
httpd_ip = %(httpd_ip)s httpd_ip = %(httpd_ip)s
httpd_port = %(httpd_port)s httpd_port = %(httpd_port)s
httpd_software_access_port = %(httpd_software_access_port)s
computer_id = %(computer_id)s
server_url = %(server_url)s
# Binaries # Binaries
git_binary = %(git_binary)s git_binary = %(git_binary)s
......
...@@ -50,12 +50,38 @@ SSLHonorCipherOrder On ...@@ -50,12 +50,38 @@ SSLHonorCipherOrder On
SSLCipherSuite RC4-SHA:HIGH:!ADH SSLCipherSuite RC4-SHA:HIGH:!ADH
SSLProxyEngine On SSLProxyEngine On
DocumentRoot "%(testnode_log_directory)s"
#DocumentRoot "%(testnode_log_directory)s"
# Directory protection # Directory protection
<Directory /> #<Directory />
Options Indexes FollowSymLinks # Options Indexes FollowSymLinks
IndexOptions FancyIndexing # IndexOptions FancyIndexing
order allow,deny # order allow,deny
Allow from All # Allow from All
</Directory> #</Directory>
\ No newline at end of file
# Directory protection
<VirtualHost *:%(port)s>
SSLEngine on
RewriteRule (.*) http://[%(ip)s]:%(port)s/VirtualHostBase/https/[%(ip)s]:%(port)s/VirtualHostRoot/$1 [L,P]
DocumentRoot "%(testnode_log_directory)s"
<Directory />
Options Indexes FollowSymLinks
IndexOptions FancyIndexing
order allow,deny
Allow from All
</Directory>
</VirtualHost>
Listen [%(ip)s]:%(software_access_port)s
<VirtualHost *:%(software_access_port)s>
SSLEngine on
RewriteRule (.*) http://[%(ip)s]:%(software_access_port)s/VirtualHostBase/https/[%(ip)s]:%(software_access_port)s/VirtualHostRoot/$1 [L,P]
DocumentRoot "%(testnode_software_directory)s"
<Directory />
Options FollowSymLinks
IndexOptions FancyIndexing
order allow,deny
Allow from All
</Directory>
</VirtualHost>
...@@ -26,13 +26,14 @@ pwgen-binary = ${pwgen:location}/bin/pwgen ...@@ -26,13 +26,14 @@ pwgen-binary = ${pwgen:location}/bin/pwgen
[testnode] [testnode]
recipe = slapos.cookbook:erp5testnode recipe = slapos.cookbook:erp5testnode
slapos-directory = $${directory:slapos} slapos-directory = $${directory:slapos}
working-directory = $${directory:testnode} working-directory = $${directory:testnode}
test-suite-directory = $${directory:test-suite} test-suite-directory = $${directory:test-suite}
proxy-host = $${slap-network-information:global-ipv6} proxy-host = $${slap-network-information:global-ipv6}
proxy-port = 5000 proxy-port = 5000
log-directory = $${directory:log} log-directory = $${directory:log}
srv-directory = $${rootdirectory:srv}
software-directory = $${directory:software}
run-directory = $${directory:run} run-directory = $${directory:run}
test-node-title = $${slap-parameter:test-node-title} test-node-title = $${slap-parameter:test-node-title}
node-quantity = $${slap-parameter:node-quantity} node-quantity = $${slap-parameter:node-quantity}
...@@ -52,8 +53,10 @@ httpd-lock-file = $${basedirectory:run}/httpd.lock ...@@ -52,8 +53,10 @@ httpd-lock-file = $${basedirectory:run}/httpd.lock
httpd-conf-file = $${rootdirectory:etc}/httpd.conf httpd-conf-file = $${rootdirectory:etc}/httpd.conf
httpd-wrapper = $${rootdirectory:bin}/httpd httpd-wrapper = $${rootdirectory:bin}/httpd
httpd-port = 9080 httpd-port = 9080
httpd-software-access-port = 9081
httpd-ip = $${slap-network-information:global-ipv6} httpd-ip = $${slap-network-information:global-ipv6}
httpd-log-directory = $${basedirectory:log} httpd-log-directory = $${basedirectory:log}
httpd-software-directory = $${directory:software}
httpd-cert-file = $${rootdirectory:etc}/httpd-public.crt httpd-cert-file = $${rootdirectory:etc}/httpd-public.crt
httpd-key-file = $${rootdirectory:etc}/httpd-private.key httpd-key-file = $${rootdirectory:etc}/httpd-private.key
...@@ -153,6 +156,7 @@ testnode = $${rootdirectory:srv}/testnode ...@@ -153,6 +156,7 @@ testnode = $${rootdirectory:srv}/testnode
test-suite = $${rootdirectory:srv}/test_suite test-suite = $${rootdirectory:srv}/test_suite
log = $${basedirectory:log}/testnode log = $${basedirectory:log}/testnode
run = $${basedirectory:run}/testnode run = $${basedirectory:run}/testnode
software = $${rootdirectory:srv}/software
shellinabox = $${rootdirectory:srv}/shellinabox shellinabox = $${rootdirectory:srv}/shellinabox
ca-dir = $${rootdirectory:srv}/ca ca-dir = $${rootdirectory:srv}/ca
......
...@@ -79,7 +79,7 @@ recipe = slapos.recipe.template ...@@ -79,7 +79,7 @@ recipe = slapos.recipe.template
url = ${:_profile_base_location_}/instance-default.cfg url = ${:_profile_base_location_}/instance-default.cfg
output = ${buildout:directory}/template-default.cfg output = ${buildout:directory}/template-default.cfg
mode = 0644 mode = 0644
md5sum = 9881aa4e567732e1c682dbe49c8f62df md5sum = 9858181c89a361ef93ede0eac8d56034
[networkcache] [networkcache]
# signature certificates of the following uploaders. # signature certificates of the following uploaders.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment