# -*- coding: utf-8 -*-

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

"""
util
--------------------------------

Util methods for functional tests
"""
import operator


def pick_flavor(flavors):
    """Given a flavor list pick the smallest one."""
    for flavor in sorted(
            flavors,
            key=operator.attrgetter('ram')):
        return flavor


def pick_image(images):
    for image in images:
        if image.name.startswith('cirros') and image.name.endswith('-uec'):
            return image
    for image in images:
        if image.name.lower().startswith('ubuntu'):
            return image

# -*- coding: utf-8 -*-

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.

"""
util
--------------------------------

Util methods for functional tests
"""
import operator


def pick_flavor(flavors):
    """Given a flavor list pick the smallest one."""
    # Enable running functional tests against rax - which requires
    # performance flavors be used for boot from volume
    for flavor in sorted(
            flavors,
            key=operator.attrgetter('ram')):
        if 'performance' in flavor.name:
            return flavor
    for flavor in sorted(
            flavors,
            key=operator.attrgetter('ram')):
        return flavor


def pick_image(images):
    for image in images:
        if image.name.startswith('cirros') and image.name.endswith('-uec'):
            return image
    for image in images:
        if image.name.lower().startswith('ubuntu'):
            return image
    for image in images:
        if image.name.lower().startswith('centos'):
            return image

Enable running tests against RAX and IBM
Enable running tests against RAX and IBM

Rackspace requires performance flavors be used for boot from volume. IBM
does not have Ubuntu or Cirros images in the cloud.

Change-Id: I95c15d92072311eb4aa0a4b7f551a95c4dc6e082
