Setting up sudo passwords throws Django error


#1

I installed Vespene on a Debian box. It is proxied behind NGINX. Everything seems to be working fine, except whenever I try to set a sudo_password for a worker pool it errors. I tried changing the sudo password for the tutorial worker as well as a completely new worker. If I leave the field empty, it works, if not, it throws the following error:

DataError at /ui/worker_pools/1/edit
value too long for type character varying(100)

There's a whole Django dev error page, I can post more info if needed.

Any suggestions on what I should try?


#2

I think I know what this is.

This is a field that is symetrically encrypted, and the type is varchar(100) but it really should be text to not impose any limits. I'll take a look right now.


#3

Ok I've just pushed a change, for simplicity I bumped the field to 1024 characters.

Run "python manage.py migrate" from your checkout (with python3) and you should be good to go.

You will probably need to restart the service.

I suspect I didn't see this before because I was using too short sudo passwords in testing (bad me!).

In the future we can probably do more up front checks to validate the field before encryption, because encryption does make the field longer.


#4

Oh wow, that was incredibly fast. I'll try it out now.


#5

It worked!

Although I didn't quite know how to update, the docs were very sparse. Since it's all still very fresh I just git pulled into the temporary vespene directory and reran scripts 0 through 4 (stopped before tutorial). It migrated on its own as well. :)


#6

Referring to http://docs.vespene.io/upgrades.html ?

You're right they are a little sparse... I'll work on improving these.

Just pushing new code out to /opt/vespene and running make migrate would be all you need to do.