CSSCorp / openstack-automation

Openstack deployment using saltstack
GNU General Public License v2.0
73 stars 44 forks source link

glance_sync step fails on debian deployment. #13

Closed arthurzenika closed 9 years ago

arthurzenika commented 10 years ago

After some tweaking for debian (will do a pull request shortly) I get a working highstate. Only exception is the following:

          ID: glance_sync
    Function: cmd.run
        Name: glance-manage db_sync
      Result: False
     Comment: Command "glance-manage db_sync" run
     Changes:   
              ----------
              pid:
                  2958
              retcode:
                  1
              stderr:
                  2014-06-19 14:47:12.420 2959 INFO glance.db.sqlalchemy.migration [-] Upgrading database to version latest
                  2014-06-19 14:47:12.434 2959 INFO migrate.versioning.api [-] 13 -> 14... 
                  2014-06-19 14:47:12.437 2959 CRITICAL glance [-] `images`
                  2014-06-19 14:47:12.437 2959 TRACE glance Traceback (most recent call last):
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/bin/glance-manage", line 10, in <module>
                  2014-06-19 14:47:12.437 2959 TRACE glance     sys.exit(main())
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/cmd/manage.py", line 127, in main
                  2014-06-19 14:47:12.437 2959 TRACE glance     CONF.command.func()
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/cmd/manage.py", line 77, in do_db_sync
                  2014-06-19 14:47:12.437 2959 TRACE glance     CONF.command.current_version)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migration.py", line 122, in db_sync
                  2014-06-19 14:47:12.437 2959 TRACE glance     upgrade(version=version)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migration.py", line 61, in upgrade
                  2014-06-19 14:47:12.437 2959 TRACE glance     return versioning_api.upgrade(sql_connection, repo_path, version)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 186, in upgrade
                  2014-06-19 14:47:12.437 2959 TRACE glance     return _migrate(url, repository, version, upgrade=True, err=err, **opts)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "<string>", line 2, in _migrate
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 159, in with_en
gine
                  2014-06-19 14:47:12.437 2959 TRACE glance     return f(*a, **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate
                  2014-06-19 14:47:12.437 2959 TRACE glance     schema.runchange(ver, change, changeset.step)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange
                  2014-06-19 14:47:12.437 2959 TRACE glance     change.run(self.engine, step)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 145, in run
                  2014-06-19 14:47:12.437 2959 TRACE glance     script_func(engine)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migrate_repo/versions/014_add_image_t
ags_table.py", line 64, in upgrade
                  2014-06-19 14:47:12.437 2959 TRACE glance     tables = [define_image_tags_table(meta)]
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migrate_repo/versions/014_add_image_t
ags_table.py", line 23, in define_image_tags_table
                  2014-06-19 14:47:12.437 2959 TRACE glance     schema.Table('images', meta, autoload=True)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 318, in __new__
                  2014-06-19 14:47:12.437 2959 TRACE glance     table._init(name, metadata, *args, **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 381, in _init
                  2014-06-19 14:47:12.437 2959 TRACE glance     self._autoload(metadata, autoload_with, include_columns)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 408, in _autoload
                  2014-06-19 14:47:12.437 2959 TRACE glance     self, include_columns, exclude_columns
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2426, in run_callable
                  2014-06-19 14:47:12.437 2959 TRACE glance     return conn.run_callable(callable_, *args, **kwargs)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1969, in run_callable
                  2014-06-19 14:47:12.437 2959 TRACE glance     return callable_(self, *args, **kwargs)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 260, in reflecttable
                  2014-06-19 14:47:12.437 2959 TRACE glance     return insp.reflecttable(table, include_columns, exclude_columns)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 350, in reflecttabl
e
                  2014-06-19 14:47:12.437 2959 TRACE glance     tbl_opts = self.get_table_options(table_name, schema, **table.kwargs)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 178, in get_table_options
                  2014-06-19 14:47:12.437 2959 TRACE glance     **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "<string>", line 1, in <lambda>
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 47, in cache
                  2014-06-19 14:47:12.437 2959 TRACE glance     ret = fn(self, con, *args, **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2057, in get_table_options
                  2014-06-19 14:47:12.437 2959 TRACE glance     parsed_state = self._parsed_state_or_create(connection, table_name, schema, **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2156, in _parsed_state_or_create
                  2014-06-19 14:47:12.437 2959 TRACE glance     info_cache=kw.get('info_cache', None)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "<string>", line 1, in <lambda>
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 47, in cache
                  2014-06-19 14:47:12.437 2959 TRACE glance     ret = fn(self, con, *args, **kw)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2181, in _setup_parser
                  2014-06-19 14:47:12.437 2959 TRACE glance     full_name=full_name)
                  2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2268, in _show_create_table
                  2014-06-19 14:47:12.437 2959 TRACE glance     raise exc.NoSuchTableError(full_name)
                  2014-06-19 14:47:12.437 2959 TRACE glance NoSuchTableError: `images`
                  2014-06-19 14:47:12.437 2959 TRACE glance
              stdout:

Went back to the install manual http://docs.openstack.org/havana/install-guide/install/apt/content/glance-install.html dropped the database and re-created from the instructions there. And the db_sync worked.

Would it be because the mysql handling is different between ubuntu and debian ? Any ideas why this would fail ?

Akilesh1597 commented 10 years ago

Thank you very much for reporting this issue. I do not believe there is any mysql difference. It has to be tested by removing

glance_sync: cmd:

and running db_sync alone manually and then checking if the db has been created properly with permissions for glance username and if the ini files have been correctly edited and service restarted after any modification.

I'll do this testing on my debian machine.

Regarding the pull request. We can not simple merge debian states into my repo currently. If you could kindly document the changes you did for debian we can edit the existing states to detect the OS using the grains data and perform the tweak.

Thank you, Ageeleshwar K

On Thu, Jun 19, 2014 at 6:50 PM, Arthur Lutz notifications@github.com wrote:

After some tweaking for debian (will do a pull request shortly) I get a working highstate. Only exception is the following:

      ID: glance_sync
Function: cmd.run
    Name: glance-manage db_sync
  Result: False
 Comment: Command "glance-manage db_sync" run
 Changes:
          ----------
          pid:
              2958
          retcode:
              1
          stderr:
              2014-06-19 14:47:12.420 2959 INFO glance.db.sqlalchemy.migration [-] Upgrading database to version latest
              2014-06-19 14:47:12.434 2959 INFO migrate.versioning.api [-] 13 -> 14...
              2014-06-19 14:47:12.437 2959 CRITICAL glance [-] `images`
              2014-06-19 14:47:12.437 2959 TRACE glance Traceback (most recent call last):
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/bin/glance-manage", line 10, in <module>
              2014-06-19 14:47:12.437 2959 TRACE glance     sys.exit(main())
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/cmd/manage.py", line 127, in main
              2014-06-19 14:47:12.437 2959 TRACE glance     CONF.command.func()
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/cmd/manage.py", line 77, in do_db_sync
              2014-06-19 14:47:12.437 2959 TRACE glance     CONF.command.current_version)
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migration.py", line 122, in db_sync
              2014-06-19 14:47:12.437 2959 TRACE glance     upgrade(version=version)
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migration.py", line 61, in upgrade
              2014-06-19 14:47:12.437 2959 TRACE glance     return versioning_api.upgrade(sql_connection, repo_path, version)
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 186, in upgrade
              2014-06-19 14:47:12.437 2959 TRACE glance     return _migrate(url, repository, version, upgrade=True, err=err, **opts)
              2014-06-19 14:47:12.437 2959 TRACE glance   File "<string>", line 2, in _migrate
              2014-06-19 14:47:12.437 2959 TRACE glance   File "/usr/lib/python2.7/dist-packages/migrate/versioning/util/__init__.py", line 159, in with_en

gine 2014-06-19 14:47:12.437 2959 TRACE glance return f(_a, _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/migrate/versioning/api.py", line 366, in _migrate 2014-06-19 14:47:12.437 2959 TRACE glance schema.runchange(ver, change, changeset.step) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/migrate/versioning/schema.py", line 91, in runchange 2014-06-19 14:47:12.437 2959 TRACE glance change.run(self.engine, step) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/migrate/versioning/script/py.py", line 145, in run 2014-06-19 14:47:12.437 2959 TRACE glance script_func(engine) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migrate_repo/versions/014_add_image_t ags_table.py", line 64, in upgrade 2014-06-19 14:47:12.437 2959 TRACE glance tables = [define_image_tags_table(meta)] 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/glance/db/sqlalchemy/migrate_repo/versions/014_add_image_t ags_table.py", line 23, in define_image_tags_table 2014-06-19 14:47:12.437 2959 TRACE glance schema.Table('images', meta, autoload=True) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 318, in new 2014-06-19 14:47:12.437 2959 TRACE glance table._init(name, metadata, _args, _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 381, in _init 2014-06-19 14:47:12.437 2959 TRACE glance self._autoload(metadata, autoload_with, include_columns) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/schema.py", line 408, in _autoload 2014-06-19 14:47:12.437 2959 TRACE glance self, include_columns, exclude_columns 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 2426, in run_callable 2014-06-19 14:47:12.437 2959 TRACE glance return conn.runcallable(callable, _args, _kwargs) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/base.py", line 1969, in runcallable 2014-06-19 14:47:12.437 2959 TRACE glance return callable(self, _args, _kwargs) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/default.py", line 260, in reflecttable 2014-06-19 14:47:12.437 2959 TRACE glance return insp.reflecttable(table, include_columns, exclude_columns) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 350, in reflecttabl e 2014-06-19 14:47:12.437 2959 TRACE glance tbl_opts = self.get_table_options(table_name, schema, _table.kwargs) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 178, in get_table_options 2014-06-19 14:47:12.437 2959 TRACE glance _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "", line 1, in 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 47, in cache 2014-06-19 14:47:12.437 2959 TRACE glance ret = fn(self, con, _args, _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2057, in get_table_options 2014-06-19 14:47:12.437 2959 TRACE glance parsed_state = self._parsed_state_or_create(connection, table_name, schema, _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2156, in _parsed_state_or_create 2014-06-19 14:47:12.437 2959 TRACE glance info_cache=kw.get('info_cache', None) 2014-06-19 14:47:12.437 2959 TRACE glance File "", line 1, in 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/engine/reflection.py", line 47, in cache 2014-06-19 14:47:12.437 2959 TRACE glance ret = fn(self, con, args, _kw) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2181, in _setup_parser 2014-06-19 14:47:12.437 2959 TRACE glance full_name=full_name) 2014-06-19 14:47:12.437 2959 TRACE glance File "/usr/lib/python2.7/dist-packages/sqlalchemy/dialects/mysql/base.py", line 2268, in _show_create_table 2014-06-19 14:47:12.437 2959 TRACE glance raise exc.NoSuchTableError(full_name) 2014-06-19 14:47:12.437 2959 TRACE glance NoSuchTableError: images 2014-06-19 14:47:12.437 2959 TRACE glance stdout:

Went back to the install manual http://docs.openstack.org/havana/install-guide/install/apt/content/glance-install.html dropped the database and re-created from the instructions there. And the db_sync worked.

Would it be because the mysql handling is different between ubuntu and debian ? Any ideas why this would fail ?

— Reply to this email directly or view it on GitHub https://github.com/CSSCorp/openstack-automation/issues/13.

arthurzenika commented 10 years ago

Am already using {% if grains['os'] == 'Debian' %} customisation if that's what you mean.

Akilesh1597 commented 10 years ago

Yes that is what I mean but that has to be done for all the tweaks. Anyway once you are done give me a pull request i'll merge it.

On Thu, Jun 19, 2014 at 7:24 PM, Arthur Lutz notifications@github.com wrote:

Am already using {% if grains['os'] == 'Debian' %} customisation if that's what you mean.

— Reply to this email directly or view it on GitHub https://github.com/CSSCorp/openstack-automation/issues/13#issuecomment-46562731 .

Akilesh1597 commented 9 years ago

closing as no update on this issue any further