Disallow negative image sizes

Currently Glance v1 allows creation of images with negative sizes when
the source URL provided by the --location parmeter does not exist at
the time of creation.

There is already a check to verify whether or not an image size can be
converted to an int but the check doesn't verify whether or not the
resulting value is >= 0. This commit supplements that check to
disallow negative values for the size parameter.

Change-Id: I47511f3e34cf5adfdf944747d94285ecbbda4249
Closes-Bug: #1260738
Set image size after updating/adding locations

Based on current implement, the image size won't be updated if user
update/add locations against a queued image. This fix will set the
image size based on given location.

Closes-Bug: #1261624

Change-Id: I265c6a92274ab2f94e005a1ab50e01d2f0c2143e
Merge "Disallow negative image sizes"
Define sheepdog_port as an integer value

It really is an integer value, and there is no magic string
that can be set for collie either (according to the man page)

Change-Id: I9af7c4208480f92378b7f70ab54c8a1e600dd4ff
Use common Oslo database session

Use common oslo database code for work with session, connection, engines
instead of glance implementations.
Work with config options modified due to new common code config.
Removed unused glance code and tests for it.

Details:

glance/cmd/manage.py
- removed load load the glance-registry config. We load sql connection
  in common code now.

glance/db/sqlalchemy/api.py
- removed functions _wrap_db_error(), _is_db_connection_error(),
  _get_maker(), get_engine(), _ping_listener() and config
  `sql_connection_opt`. We have all these thigs in module
  `glance.openstack.common.db.sqlalchemy`.
- modified functions setup_db_env(), add_cli_options(), clear_db_env().
- functions _get_session() and get_engine() now call same functions
  from module `glance.openstack.common.db.sqlalchemy`.
- replaced sqlalchemy exception `sqlalchemy.exc.IntegrityError` to
  database duplicate exception - `db_exc.DBDuplicateEntry`.

Removed redundant tests - we use common code , so a lot of features was
already tested in Oslo.

Global variable _ENGINE was replaced by common function get_engine().

DocImpact
New database config options came from Oslo. See Table below
-------------------------------------------------------------------
Database config options ([group] option)
-----------------------------|-------------------------------------
       Glance                | Oslo
-----------------------------|-------------------------------------
[DEFAULT] sql_connection     |  [database] connection
[DEFAULT] sql_idle_timeout   |  [database] idle_timeout
[DEFAULT] sql_max_retries    |  [database] max_retries
[DEFAULT] sql_retry_interval |  [database] retry_interval
[DEFAULT] db_auto_create     |  NONE
[DEFAULT] sqlalchemy_debug   |  [database] connection_debug
[DEFAULT] use_tpool          |  [database] use_tpool
NONE                         |  [database] slave_connection
NONE                         |  [database] min_pool_size
NONE                         |  [database] max_pool_size
NONE                         |  [database] slave_connection
NONE                         |  [database] min_pool_size
NONE                         |  [database] max_pool_size
NONE                         |  [database] max_overflow
NONE                         |  [database] connection_trace
NONE                         |  [database] pool_timeout
-------------------------------------------------------------------

blueprint db-use-oslo-common-code

Change-Id: I3ff976545b1a82ff8df780e34128fcaf6f892b8c
Merge "Define sheepdog_port as an integer value"
Merge "Set image size after updating/adding locations"