Skip to content
Snippets Groups Projects
Commit 4f0257e9564c authored by Vincent Hatakeyama's avatar Vincent Hatakeyama
Browse files

:pencil: handle odoo 7 mount points better to keep sessions

also cleaned up handling mount points
parent 07c327d902e5
No related branches found
No related tags found
No related merge requests found
...@@ -514,15 +514,21 @@ ...@@ -514,15 +514,21 @@
password = 'odoo' password = 'odoo'
# data volume handling # data volume handling
if odoo_type != 'odoo7': if odoo_type == 'odoo7':
data_volume_name = '{}_data'.format(project_name) _logger.debug('Only sessions volume for this odoo version')
_logger.debug('Using data volume %s', data_volume_name) # this path is in odoo code, the last part is the system user
createVolume(docker_client, data_volume_name) data_volume_path = '/tmp/oe-sessions-{}'.format('odoo')
# make sure the permission in the volume are correct else:
mount_opts = '{}:/mnt/data'.format(data_volume_name) data_volume_path = '/mnt/data'
# TODO replace by something cleaner if possible arg.append('--data-dir {}'.format(data_volume_path))
call([ data_volume_name = '{}_data'.format(project_name)
'docker', 'run', '--rm', '-v', _logger.debug('Using data volume %s', data_volume_name)
mount_opts, 'busybox', 'chmod', '-R', '777', '/mnt/data', createVolume(docker_client, data_volume_name)
]) # make sure the permission in the volume are correct
mount_opts = '{}:/mnt'.format(data_volume_name)
# TODO replace by something cleaner if possible
call([
'docker', 'run', '--rm', '-v', mount_opts, '--entrypoint',
'/bin/chown', image, 'odoo', '/mnt',
])
...@@ -528,7 +534,4 @@ ...@@ -528,7 +534,4 @@
binds.append('{}:/mnt/data'.format(data_volume_name)) binds.append('{}:{}'.format(data_volume_name, data_volume_path))
arg.append('--data-dir /mnt/data')
else:
_logger.debug('No data volume for this odoo version')
# avoid the duplication of unbind volumes with all addons # avoid the duplication of unbind volumes with all addons
...@@ -533,6 +536,24 @@ ...@@ -533,6 +536,24 @@
# avoid the duplication of unbind volumes with all addons # avoid the duplication of unbind volumes with all addons
# additionnal_addons only in odoo < 10 if odoo_type == 'odoo7':
for extra_volume in ['additional_addons', 'var', 'data']: extra_volumes = [
volume_name = '{}_opt_odoo_{}'.format(project_name, extra_volume) '/opt/odoo/additional_addons', '/opt/odoo/var',
# not used but declared as a mount point in Dockerfile :-(
'/opt/odoo/data',
]
elif odoo_type == 'odoo8':
extra_volumes = [
'/opt/odoo/additional_addons', '/opt/odoo/var', '/opt/odoo/data',
]
elif odoo_type == 'odoo10':
extra_volumes = [
'/opt/odoo/additional_addons', '/opt/odoo/var', '/opt/odoo/data',
]
else:
extra_volumes = [
'/var/lib/odoo',
]
for extra_volume in extra_volumes:
volume_name = '{}_{}'.format(
project_name, extra_volume.replace('/', '_'))
# volume = createVolume(docker_client, volume_name) # volume = createVolume(docker_client, volume_name)
...@@ -538,5 +559,5 @@ ...@@ -538,5 +559,5 @@
# volume = createVolume(docker_client, volume_name) # volume = createVolume(docker_client, volume_name)
binds.append('{}:/opt/odoo/{}'.format(volume_name, extra_volume)) binds.append('{}:{}'.format(volume_name, extra_volume))
start_py3o_stack = 'report_py3o_fusion_server' in module_list start_py3o_stack = 'report_py3o_fusion_server' in module_list
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment