예제 #1
0
 def setUp(self):
     """Establish a clean test environment"""
     super(TestRegistryClient, self).setUp()
     db_api.configure_db()
     self.context = context.RequestContext(is_admin=True)
     self.FIXTURES = [{
         'id': UUID1,
         'name': 'fake image #1',
         'status': 'active',
         'disk_format': 'ami',
         'container_format': 'ami',
         'is_public': False,
         'created_at': timeutils.utcnow(),
         'updated_at': timeutils.utcnow(),
         'deleted_at': None,
         'deleted': False,
         'checksum': None,
         'size': 13,
         'location': "swift://*****:*****@acct/container/obj.tar.0",
         'properties': {
             'type': 'kernel'
         }
     }, {
         'id': UUID2,
         'name': 'fake image #2',
         'status': 'active',
         'disk_format': 'vhd',
         'container_format': 'ovf',
         'is_public': True,
         'created_at': timeutils.utcnow(),
         'updated_at': timeutils.utcnow(),
         'deleted_at': None,
         'deleted': False,
         'checksum': None,
         'size': 19,
         'location': "file:///tmp/glance-tests/2",
         'properties': {}
     }]
     self.destroy_fixtures()
     self.create_fixtures()
     self.client = rclient.RegistryClient("0.0.0.0")
예제 #2
0
def seed(period_length):
    start = get_period_start(datetime.datetime.utcnow(), period_length)
    db_api.configure_db()
    session = db_api.get_session()

    print "Populating active image usages"
    usages = _get_usages(start, session)

    if usages:
        print "Saving active image images"
        active_images = map(lambda x: models.ImageUsage(**x), usages)
        models.ImageUsage.objects.bulk_create(active_images, batch_size=100)

    print "Populating image deletes"
    deletes = _get_deletes(start, session)

    if deletes:
        print "Saving image deletes"
        deleted_images = map(lambda x: models.ImageDeletes(**x), deletes)
        models.ImageDeletes.objects.bulk_create(deleted_images, batch_size=100)

    print "Seeding completed"
    return len(usages), len(deletes)
예제 #3
0
def seed(period_length):
    start = get_period_start(datetime.datetime.utcnow(), period_length)
    db_api.configure_db()
    session = db_api.get_session()

    print "Populating active image usages"
    usages = _get_usages(start, session)

    if usages:
        print "Saving active image images"
        active_images = map(lambda x: models.ImageUsage(**x), usages)
        models.ImageUsage.objects.bulk_create(active_images, batch_size=100)

    print "Populating image deletes"
    deletes = _get_deletes(start, session)

    if deletes:
        print "Saving image deletes"
        deleted_images = map(lambda x: models.ImageDeletes(**x), deletes)
        models.ImageDeletes.objects.bulk_create(deleted_images, batch_size=100)

    print "Seeding completed"
    return len(usages), len(deletes)
예제 #4
0
 def setUp(self):
     """Establish a clean test environment"""
     super(TestRegistryClient, self).setUp()
     db_api.configure_db()
     self.context = context.RequestContext(is_admin=True)
     self.FIXTURES = [
         {'id': UUID1,
          'name': 'fake image #1',
          'status': 'active',
          'disk_format': 'ami',
          'container_format': 'ami',
          'is_public': False,
          'created_at': timeutils.utcnow(),
          'updated_at': timeutils.utcnow(),
          'deleted_at': None,
          'deleted': False,
          'checksum': None,
          'size': 13,
          'location': "swift://*****:*****@acct/container/obj.tar.0",
          'properties': {'type': 'kernel'}},
         {'id': UUID2,
          'name': 'fake image #2',
          'status': 'active',
          'disk_format': 'vhd',
          'container_format': 'ovf',
          'is_public': True,
          'created_at': timeutils.utcnow(),
          'updated_at': timeutils.utcnow(),
          'deleted_at': None,
          'deleted': False,
          'checksum': None,
          'size': 19,
          'location': "file:///tmp/glance-tests/2",
          'properties': {}}]
     self.destroy_fixtures()
     self.create_fixtures()
     self.client = rclient.RegistryClient("0.0.0.0")
예제 #5
0
        cfg.BoolOpt('dry-run',
                    help='Print output but do not make db changes.'),
        cfg.StrOpt('keystone-auth-uri',
                   help='Authentication endpoint'),
        cfg.StrOpt('keystone-admin-tenant-name',
                   help='Administrative user\'s tenant name'),
        cfg.StrOpt('keystone-admin-user',
                   help='Administrative user\'s id'),
        cfg.StrOpt('keystone-admin-password',
                   help='Administrative user\'s password',
                   secret=True),
    ]
    config.register_cli_opts(extra_cli_opts)
    config(project='glance', prog='glance-registry')

    db_api.configure_db()

    context = glance.common.context.RequestContext(is_admin=True)

    auth_uri = config.keystone_auth_uri
    admin_tenant_name = config.keystone_admin_tenant_name
    admin_user = config.keystone_admin_user
    admin_password = config.keystone_admin_password

    if not (auth_uri and admin_tenant_name and admin_user and admin_password):
        LOG.critical('Missing authentication arguments')
        sys.exit(1)

    ks = keystoneclient.v2_0.client.Client(username=admin_user,
                                           password=admin_password,
                                           tenant_name=admin_tenant_name,
예제 #6
0
파일: db_client.py 프로젝트: rafoul/pytest
import nova.context as context
import nova.flags as nova_flags
import simplejson as json
import datetime
import sqlalchemy
import utils.logging_utils as logging


LOG = logging.getLogger(__name__, 'db_client.log')

#Force read configuration files
nova_flags.parse_args(['compute', '--config-file', '/etc/nova/nova.conf'], None)
glance_cfg.CONF(['glance', '--config-file', '/etc/glance/glance-api.conf'])

# setup database engine
glance_db.configure_db()

logging.setLevel('sqlalchemy.orm', "WARNING")
logging.setLevel('sqlalchemy.engine', "WARNING")
logging.setLevel(__name__, 'DEBUG')


def to_json(res, ignore_types=()):
    if not res:
        raise StandardError('res is empty')
    
    ignore_types += (datetime.datetime, 
                     sqlalchemy.orm.state.InstanceState)
    result = dict(res)
    ignored = {}
    for k in result:
if __name__ == "__main__":
    config = cfg.CONF
    extra_cli_opts = [
        cfg.BoolOpt('dry-run',
                    help='Print output but do not make db changes.'),
        cfg.StrOpt('keystone-auth-uri', help='Authentication endpoint'),
        cfg.StrOpt('keystone-admin-tenant-name',
                   help='Administrative user\'s tenant name'),
        cfg.StrOpt('keystone-admin-user', help='Administrative user\'s id'),
        cfg.StrOpt('keystone-admin-password',
                   help='Administrative user\'s password'),
    ]
    config.register_cli_opts(extra_cli_opts)
    config(project='glance', prog='glance-registry')

    db_api.configure_db()

    context = glance.common.context.RequestContext(is_admin=True)

    auth_uri = config.keystone_auth_uri
    admin_tenant_name = config.keystone_admin_tenant_name
    admin_user = config.keystone_admin_user
    admin_password = config.keystone_admin_password

    if not (auth_uri and admin_tenant_name and admin_user and admin_password):
        LOG.critical('Missing authentication arguments')
        sys.exit(1)

    ks = keystoneclient.v2_0.client.Client(username=admin_user,
                                           password=admin_password,
                                           tenant_name=admin_tenant_name,