<div dir="ltr"><div class="gmail_default" style="font-family:'times new roman',serif">What I have found is if I invoke the nova-manage program from within the Bourne shell while logged in as root</div><div class="gmail_default" style="font-family:'times new roman',serif">
<br></div><div class="gmail_default"><div class="gmail_default"><font face="courier new, monospace">sh-4.1# python /usr/bin/nova-manage db sync nova</font></div><div style="font-family:'times new roman',serif"><br>
</div></div><div class="gmail_default"><span style="font-family:'times new roman',serif">which is what I think the intent of the command </span><font face="courier new, monospace">su -s /bin -c "nova-manage db sync" nova</font><font face="times new roman, serif">  is trying to do.</font></div>
<div class="gmail_default" style="font-family:'times new roman',serif"><br></div><div class="gmail_default" style="font-family:'times new roman',serif"><pre>File "/usr/lib/python2.6/site-packages/nova/db/sqlalchemy/migration.py", line 39, in db_sync<br>
    raise exception.NovaException(_("version should be an integer"))</pre></div><div class="gmail_extra"><div class="gmail_default" style="font-family:'times new roman',serif">​The value of version is "nova" and of course that throws a ValueError because "nova" is a string that can't be converted to an integer.  I am trying to track down where it is coming from.</div>
<div class="gmail_default" style="font-family:'times new roman',serif"><br></div><div class="gmail_default" style="font-family:'times new roman',serif"><br></div><div class="gmail_default" style="font-family:'times new roman',serif">
Jeff​</div><br><br><div class="gmail_quote">On Wed, Jul 23, 2014 at 1:44 PM, Jeff Silverman <span dir="ltr"><<a href="mailto:jeff@sweetlabs.com" target="_blank">jeff@sweetlabs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><div style="font-family:'times new roman',serif">When I run nova-manage, it fails.  The message in /var/log/nova/nova-manage.log is</div><div style="font-family:'times new roman',serif">
<br></div><div style="font-family:'times new roman',serif"><div>2014-07-23 13:16:28.276 31278 CRITICAL nova [-] AttributeError: 'module' object has no attribute 'DatabaseNotControlledError'</div>
<div><br></div><div>Digging into the code with the python debugger leads me to </div></div><div style="font-family:'times new roman',serif"><br></div><div><div style="font-family:'times new roman',serif">

​<span style="font-family:arial">Traceback (most recent call last):</span></div><pre>  File "/usr/lib64/python2.6/pdb.py", line 1296, in main<br>    pdb._runscript(mainpyfile)<br>  File "/usr/lib64/python2.6/pdb.py", line 1215, in _runscript<br>

    self.run(statement)<br>  File "/usr/lib64/python2.6/bdb.py", line 372, in run<br>    exec cmd in globals, locals<br>  File "<string>", line 1, in <module><br>  File "/usr/bin/nova-manage", line 10, in <module><br>

    sys.exit(main())<br>  File "/usr/lib/python2.6/site-packages/nova/cmd/manage.py", line 1374, in main<br>    ret = fn(*fn_args, **fn_kwargs)<br>  File "/usr/lib/python2.6/site-packages/nova/cmd/manage.py", line 883, in sync<br>

    return migration.db_sync(version)<br>  File "/usr/lib/python2.6/site-packages/nova/db/migration.py", line 29, in db_sync<br>    return IMPL.db_sync(version=version)<br>  File "/usr/lib/python2.6/site-packages/nova/db/sqlalchemy/migration.py", line 41, in db_sync<br>

    current_version = db_version()<br>  <b>File "/usr/lib/python2.6/site-packages/nova/db/sqlalchemy/migration.py", line 54, in db_version</b><b><br></b><b>    except versioning_exceptions.DatabaseNotControlledError:</b><b><br>

</b></pre><div style="font-family:'times new roman',serif"><b style="font-family:arial">AttributeError: 'module' object has no attribute 'DatabaseNotControlledError'</b>​</div>
<br></div><div><div style="font-family:'times new roman',serif">​The exception is raised at ​<span style="font-family:arial">/usr/lib/python2.6/site-packages/migrate/versioning/schema.py line 51:</span></div>
<div style="font-family:'times new roman',serif"><span style="font-family:arial"><br></span></div><div><div><font face="courier new, monospace"> 38  <span style="white-space:pre-wrap">        </span>    def load(self):</font></div>

<div><font face="courier new, monospace"> 39  <span style="white-space:pre-wrap">       </span>        """Load controlled schema version info from DB"""</font></div>
<div><font face="courier new, monospace"> 40  <span style="white-space:pre-wrap">       </span>        tname = self.repository.version_table</font></div><div><font face="courier new, monospace"> 41  <span style="white-space:pre-wrap">        </span>        try:</font></div>

<div><font face="courier new, monospace"> 42  <span style="white-space:pre-wrap">       </span>            if not hasattr(self, 'table') or self.table is None:</font></div><div>
<font face="courier new, monospace"> 43  <span style="white-space:pre-wrap">  </span>                    self.table = Table(tname, self.meta, autoload=True)</font></div><div><font face="courier new, monospace"> 44  <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> 45  <span style="white-space:pre-wrap">       </span>            result = self.engine.execute(self.table.select(</font></div><div>
<font face="courier new, monospace"> 46  <span style="white-space:pre-wrap">  </span>                self.table.c.repository_id == str(<a href="http://self.repository.id" target="_blank">self.repository.id</a>)))</font></div>
<div>
<font face="courier new, monospace"> 47  <span style="white-space:pre-wrap">  </span></font></div><div><font face="courier new, monospace"> 48  <span style="white-space:pre-wrap"> </span>            data = list(result)[0]</font></div>

<div><font face="courier new, monospace"> 49  <span style="white-space:pre-wrap">       </span>        except:</font></div><div><font face="courier new, monospace"> 50  <span style="white-space:pre-wrap">      </span>            cls, exc, tb = sys.exc_info()</font></div>

<div><font face="courier new, monospace"> 51 B-><span style="white-space:pre-wrap">   </span>            raise exceptions.DatabaseNotControlledError, exc.__str__(), tb</font></div><div>
<font face="courier new, monospace"> 52  <span style="white-space:pre-wrap">  </span></font></div><div><font face="courier new, monospace"> 53  <span style="white-space:pre-wrap"> </span>        self.version = data['version']</font></div>

<div><font face="courier new, monospace"> 54  <span style="white-space:pre-wrap">       </span>        return data</font></div><div style="font-family:arial"><br></div></div><br></div><div><div style="font-family:'times new roman',serif">

​Does anybody have an insight as to what is going on, or even what the intent of this code is?</div><div style="font-family:'times new roman',serif"><br></div><div style="font-family:'times new roman',serif">

<br></div><div style="font-family:'times new roman',serif">Many thanks,</div><div style="font-family:'times new roman',serif"><br></div><div style="font-family:'times new roman',serif">
Jeff</div><div style="font-family:'times new roman',serif">​</div><span class=""><font color="#888888"><br></font></span></div><span class=""><font color="#888888"><div><br></div><div><br></div>-- <br><div dir="ltr">
<b>Jeff Silverman</b><div>Systems Engineer</div><div><a href="tel:%28253%29%20459-2318" value="+12534592318" target="_blank">(253) 459-2318</a> (c)</div>
<div><img src="https://dl.dropboxusercontent.com/u/16943296/SweetLabs-Signatures/New_2014/signature-logo.png"><br></div></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><b>Jeff Silverman</b><div>Systems Engineer</div><div>(253) 459-2318 (c)</div><div><img src="https://dl.dropboxusercontent.com/u/16943296/SweetLabs-Signatures/New_2014/signature-logo.png"><br>
</div></div>
</div></div>