diff --git a/src/rockstor/storageadmin/views/rockon_id.py b/src/rockstor/storageadmin/views/rockon_id.py index f2af71fcf..2878b5cf2 100644 --- a/src/rockstor/storageadmin/views/rockon_id.py +++ b/src/rockstor/storageadmin/views/rockon_id.py @@ -111,6 +111,7 @@ def post(self, request, rid, command): ) containers = DContainer.objects.filter(rockon=rockon) for co in containers: + co_id = str(co.id) for sname in share_map.keys(): dest_dir = share_map[sname] if not Share.objects.filter(name=sname).exists(): @@ -177,15 +178,16 @@ def post(self, request, rid, command): cco = DCustomConfig.objects.get(rockon=rockon, key=c) cco.val = cc_map[c] cco.save() - for e in env_map.keys(): - if not DContainerEnv.objects.filter( - container=co, key=e - ).exists(): - e_msg = ("Invalid environment variable ({}).").format(e) - handle_exception(Exception(e_msg), request) - ceo = DContainerEnv.objects.get(container=co, key=e) - ceo.val = env_map[e] - ceo.save() + if co_id in env_map: + for e in env_map[co_id].keys(): + if not DContainerEnv.objects.filter( + container=co, key=e + ).exists(): + e_msg = ("Invalid environment variable ({}).").format(e) + handle_exception(Exception(e_msg), request) + ceo = DContainerEnv.objects.get(container=co, key=e) + ceo.val = env_map[co_id][e] + ceo.save() task_result_handle = install(rockon.id) rockon.taskid = task_result_handle.id rockon.state = "pending_install"