+1

Ajenti-v crash when editing server blocks

Scott 5 years ago 0
Everything was working fine initially. I was migrating some sites. Partway into the process, something must have gotten corrupted. After that, I have been getting errors every time a change has required writing to nginx config files and restarting nginx.

I have noticed that some sites redirect to one another. Sites-enabled and sites-available folders are missing. 

The website configuration settings are all still correct in ajenti.
Is there some way the nginx configs can be regenerated from settings in ajenti?
What happened to the configs in the first place?

Below is the crash output:

Ajenti bug report
--------------------
Info | Value
----- | -----
Ajenti | 1.2.22.17
Platform | debian / ubuntu / Ubuntu 14.04.1 LTS
Architecture | x86_64 x86_64
Python | 2.7.6
Installation | 58479676
Debug | False
Catcher report | http://ajenti.org/catcher/view/69773
Loaded plugins | ajenti_org, codemirror, configurator, cron, dashboard, db_common, fail2ban, fm, fstab, hosts, iptables, logs, main, memcache, mysql, network, nginx, notepad, packages, plugins, power, resolv, resources, scripts, sensors, services, supervisor, taskmgr, tasks, terminal, uname, users, vh, vh-mysql, vh-nginx, vh-php-fpm, webserver_common

Library | Version
------- | -------
gevent | 1.0
greenlet | 0.4.2
reconfigure | 0.1.65
requests | 2.2.1
psutil | 1.2.1

Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/ajenti/plugins/main/main.py", line 158, in handle_message
self.ui.dispatch_event(update['uid'], update['event'], update['params'])
File "/usr/lib/pymodules/python2.7/ajenti/ui/__init__.py", line 72, in dispatch_event
self.root.dispatch_event(uid, event, params)
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 382, in dispatch_event
if child.dispatch_event(uid, event, params):
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 382, in dispatch_event
if child.dispatch_event(uid, event, params):
File "/usr/lib/pymodules/python2.7/ajenti/ui/element.py", line 388, in dispatch_event
getattr(self, k)(**(params or {}))
File "/var/lib/ajenti/plugins/vh/main.py", line 257, in save
self.manager.update_configuration()
File "/var/lib/ajenti/plugins/vh/api.py", line 301, in update_configuration
self.webserver.create_configuration(self.config)
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 154, in create_configuration
.write(self.__generate_website_config(website))
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 134, in __generate_website_config
) if not website.maintenance_mode else '',
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 133, in <genexpr>
'\n'.join(self.__generate_website_location(website, location) for location in website.locations)
File "/var/lib/ajenti/plugins/vh-nginx/nginx.py", line 49, in __generate_website_location
'autoindex': 'autoindex on;' if params['autoindex'] else '',
KeyError: 'autoindex'