Merge "Rename Smaug Dashboard to Karbor"

This commit is contained in:
Jenkins 2016-08-29 13:22:40 +00:00 committed by Gerrit Code Review
commit fc4e973c5e
101 changed files with 1361 additions and 1359 deletions

View File

@ -14,4 +14,4 @@ Pull requests submitted through GitHub will be ignored.
Bugs should be filed on Launchpad, not GitHub: Bugs should be filed on Launchpad, not GitHub:
https://bugs.launchpad.net/smaug-dashboard https://bugs.launchpad.net/karbor-dashboard

View File

@ -1,4 +1,4 @@
smaug-dashboard Style Commandments karbor-dashboard Style Commandments
=============================================== ===============================================
Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/ Read the OpenStack Style Commandments http://docs.openstack.org/developer/hacking/

View File

@ -3,7 +3,7 @@ include README.rst
include ChangeLog include ChangeLog
include LICENSE include LICENSE
recursive-include smaug_dashboard/templates * recursive-include karbor_dashboard/templates *
exclude .gitignore exclude .gitignore
exclude .gitreview exclude .gitreview

View File

@ -1,20 +1,20 @@
=============================== ===============================
smaug-dashboard karbor-dashboard
=============================== ===============================
Smaug Dashboard Karbor Dashboard
* Free software: Apache license * Free software: Apache license
* Source: http://git.openstack.org/cgit/openstack/smaug-dashboard * Source: http://git.openstack.org/cgit/openstack/karbor-dashboard
* Bugs: http://bugs.launchpad.net/smaug-dashboard * Bugs: http://bugs.launchpad.net/karbor-dashboard
Installation instructions Installation instructions
------------------------- -------------------------
Begin by cloning the Horizon and Smaug Dashboard repositories:: Begin by cloning the Horizon and Karbor Dashboard repositories::
git clone https://git.openstack.org/openstack/horizon git clone https://git.openstack.org/openstack/horizon
git clone https://git.openstack.org/openstack/smaug-dashboard git clone https://git.openstack.org/openstack/karbor-dashboard
Create a virtual environment and install Horizon dependencies:: Create a virtual environment and install Horizon dependencies::
@ -35,20 +35,20 @@ editor. You will want to customize several settings:
OpenStack server to change them.) OpenStack server to change them.)
Install Smaug Dashboard with all dependencies in your virtual environment:: Install Karbor Dashboard with all dependencies in your virtual environment::
tools/with_venv.sh pip install -e ../smaug-dashboard/ tools/with_venv.sh pip install -e ../karbor-dashboard/
And enable it in Horizon:: And enable it in Horizon::
cp ../smaug-dashboard/smaug_dashboard/enabled/_6000_data_protection.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6000_data_protection.py openstack_dashboard/local/enabled
cp ../smaug-dashboard/smaug_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled
cp ../smaug-dashboard/smaug_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled
cp ../smaug-dashboard/smaug_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled
cp ../smaug-dashboard/smaug_dashboard/enabled/_6040_data_protection_operation_logs_panel.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6040_data_protection_operation_logs_panel.py openstack_dashboard/local/enabled
cp ../smaug-dashboard/smaug_dashboard/enabled/_6050_data_protection_triggers_panel.py openstack_dashboard/local/enabled cp ../karbor-dashboard/karbor_dashboard/enabled/_6050_data_protection_triggers_panel.py openstack_dashboard/local/enabled
To run horizon with the newly enabled Smaug Dashboard plugin run:: To run horizon with the newly enabled Karbor Dashboard plugin run::
./run_tests.sh --runserver 0.0.0.0:8080 ./run_tests.sh --runserver 0.0.0.0:8080

View File

@ -1,23 +1,23 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# plugin.sh - DevStack plugin.sh dispatch script smaug-dashboard # plugin.sh - DevStack plugin.sh dispatch script karbor-dashboard
SMAUG_DASH_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd) KARBOR_DASH_DIR=$(cd $(dirname $BASH_SOURCE)/.. && pwd)
function install_smaug_dashboard { function install_karbor_dashboard {
setup_develop ${SMAUG_DASH_DIR} setup_develop ${KARBOR_DASH_DIR}
} }
function configure_smaug_dashboard { function configure_karbor_dashboard {
cp -a ${SMAUG_DASH_DIR}/smaug_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/ cp -a ${KARBOR_DASH_DIR}/karbor_dashboard/enabled/* ${DEST}/horizon/openstack_dashboard/local/enabled/
# NOTE: If locale directory does not exist, compilemessages will fail, # NOTE: If locale directory does not exist, compilemessages will fail,
# so check for an existence of locale directory is required. # so check for an existence of locale directory is required.
if [ -d ${SMAUG_DASH_DIR}/smaug_dashboard/locale ]; then if [ -d ${KARBOR_DASH_DIR}/karbor_dashboard/locale ]; then
(cd ${SMAUG_DASH_DIR}/smaug_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages) (cd ${KARBOR_DASH_DIR}/karbor_dashboard; DJANGO_SETTINGS_MODULE=openstack_dashboard.settings ../manage.py compilemessages)
fi fi
} }
# check for service enabled # check for service enabled
if is_service_enabled smaug-dashboard; then if is_service_enabled karbor-dashboard; then
if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
# Set up system services # Set up system services
@ -26,13 +26,13 @@ if is_service_enabled smaug-dashboard; then
elif [[ "$1" == "stack" && "$2" == "install" ]]; then elif [[ "$1" == "stack" && "$2" == "install" ]]; then
# Perform installation of service source # Perform installation of service source
echo_summary "Installing Smaug Dashboard" echo_summary "Installing Karbor Dashboard"
install_smaug_dashboard install_karbor_dashboard
elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
# Configure after the other layer 1 and 2 services have been configured # Configure after the other layer 1 and 2 services have been configured
echo_summary "Configuring Smaug Dashboard" echo_summary "Configuring Karbor Dashboard"
configure_smaug_dashboard configure_karbor_dashboard
elif [[ "$1" == "stack" && "$2" == "extra" ]]; then elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
# Initialize and start the app-catalog-ui service # Initialize and start the app-catalog-ui service

View File

@ -36,7 +36,7 @@ source_suffix = '.rst'
master_doc = 'index' master_doc = 'index'
# General information about the project. # General information about the project.
project = u'smaug-dashboard' project = u'karbor-dashboard'
copyright = u'2013, OpenStack Foundation' copyright = u'2013, OpenStack Foundation'
# If true, '()' will be appended to :func: etc. cross-reference text. # If true, '()' will be appended to :func: etc. cross-reference text.

View File

@ -16,4 +16,4 @@ import pbr.version
__version__ = pbr.version.VersionInfo( __version__ = pbr.version.VersionInfo(
'smaug-dashboard').version_string() 'karbor-dashboard').version_string()

View File

@ -19,36 +19,36 @@ from django.conf import settings
from horizon import exceptions from horizon import exceptions
from horizon.utils import functions as utils from horizon.utils import functions as utils
from horizon.utils.memoized import memoized from horizon.utils.memoized import memoized
from karborclient.v1 import client as karbor_client
from openstack_dashboard.api import base from openstack_dashboard.api import base
from smaugclient.v1 import client as smaug_client
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
def get_smaug_endpoint(request): def get_karbor_endpoint(request):
endpoint = "" endpoint = ""
try: try:
endpoint = base.url_for(request, "data-protect") endpoint = base.url_for(request, "data-protect")
except exceptions.ServiceCatalogException: except exceptions.ServiceCatalogException:
endpoint = 'http://localhost:8799' endpoint = 'http://localhost:8799'
LOG.warning('Smaug API location could not be found in Service ' LOG.warning('Karbor API location could not be found in Service '
'Catalog, using default: {0}'.format(endpoint)) 'Catalog, using default: {0}'.format(endpoint))
return endpoint return endpoint
@memoized @memoized
def smaugclient(request): def karborclient(request):
endpoint = get_smaug_endpoint(request) endpoint = get_karbor_endpoint(request)
LOG.debug('smaugclient connection created using the token "%s" and url' LOG.debug('karborclient connection created using the token "%s" and url'
'"%s"' % (request.user.token.id, endpoint)) '"%s"' % (request.user.token.id, endpoint))
c = smaug_client.Client(endpoint=endpoint, c = karbor_client.Client(endpoint=endpoint,
auth_url=getattr(settings, auth_url=getattr(settings,
'OPENSTACK_KEYSTONE_URL'), 'OPENSTACK_KEYSTONE_URL'),
token=request.user.token.id, token=request.user.token.id,
username=request.user.username, username=request.user.username,
project_id=request.user.tenant_id, project_id=request.user.tenant_id,
auth_plugin='token', auth_plugin='token',
) )
return c return c
@ -77,27 +77,27 @@ def update_pagination(entities, page_size, marker, sort_dir, sort_key,
def plan_create(request, name, provider_id, resources, parameters): def plan_create(request, name, provider_id, resources, parameters):
return smaugclient(request).plans.create(name, provider_id, resources, return karborclient(request).plans.create(name, provider_id, resources,
parameters) parameters)
def plan_delete(request, plan_id): def plan_delete(request, plan_id):
return smaugclient(request).plans.delete(plan_id) return karborclient(request).plans.delete(plan_id)
def plan_update(request, plan_id, data): def plan_update(request, plan_id, data):
return smaugclient(request).plans.update(plan_id, data) return karborclient(request).plans.update(plan_id, data)
def plan_list(request, detailed=False, search_opts=None, marker=None, def plan_list(request, detailed=False, search_opts=None, marker=None,
limit=None, sort_key=None, sort_dir=None, sort=None): limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).plans.list(detailed=detailed, return karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
def plan_list_paged(request, detailed=False, search_opts=None, marker=None, def plan_list_paged(request, detailed=False, search_opts=None, marker=None,
@ -110,33 +110,33 @@ def plan_list_paged(request, detailed=False, search_opts=None, marker=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
plans = smaugclient(request).plans.list(detailed=detailed, plans = karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=page_size + 1, limit=page_size + 1,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
plans, has_more_data, has_prev_data = update_pagination( plans, has_more_data, has_prev_data = update_pagination(
plans, page_size, marker, sort_dir, sort_key, reversed_order) plans, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
plans = smaugclient(request).plans.list(detailed=detailed, plans = karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
return (plans, has_more_data, has_prev_data) return (plans, has_more_data, has_prev_data)
def plan_get(request, plan_id): def plan_get(request, plan_id):
return smaugclient(request).plans.get(plan_id) return karborclient(request).plans.get(plan_id)
def scheduled_operation_create(request, name, operation_type, trigger_id, def scheduled_operation_create(request, name, operation_type, trigger_id,
operation_definition): operation_definition):
return smaugclient(request).scheduled_operations.create( return karborclient(request).scheduled_operations.create(
name, name,
operation_type, operation_type,
trigger_id, trigger_id,
@ -144,14 +144,14 @@ def scheduled_operation_create(request, name, operation_type, trigger_id,
def scheduled_operation_delete(request, scheduled_operation_id): def scheduled_operation_delete(request, scheduled_operation_id):
return smaugclient(request).scheduled_operations.delete( return karborclient(request).scheduled_operations.delete(
scheduled_operation_id) scheduled_operation_id)
def scheduled_operation_list(request, detailed=False, search_opts=None, def scheduled_operation_list(request, detailed=False, search_opts=None,
marker=None, limit=None, sort_key=None, marker=None, limit=None, sort_key=None,
sort_dir=None, sort=None): sort_dir=None, sort=None):
return smaugclient(request).scheduled_operations.list( return karborclient(request).scheduled_operations.list(
detailed=detailed, detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -172,7 +172,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
scheduled_operations = smaugclient(request).scheduled_operations.list( scheduled_operations = karborclient(request).scheduled_operations.list(
detailed=detailed, detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -188,7 +188,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
sort_key, sort_key,
reversed_order) reversed_order)
else: else:
scheduled_operations = smaugclient(request).scheduled_operations.list( scheduled_operations = karborclient(request).scheduled_operations.list(
detailed=detailed, detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -201,31 +201,31 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
def scheduled_operation_get(request, scheduled_operation_id): def scheduled_operation_get(request, scheduled_operation_id):
return smaugclient(request).scheduled_operations.get( return karborclient(request).scheduled_operations.get(
scheduled_operation_id) scheduled_operation_id)
def restore_create(request, provider_id, checkpoint_id, def restore_create(request, provider_id, checkpoint_id,
restore_target, parameters): restore_target, parameters):
return smaugclient(request).restores.create(provider_id, return karborclient(request).restores.create(provider_id,
checkpoint_id, checkpoint_id,
restore_target, restore_target,
parameters) parameters)
def restore_delete(request, restore_id): def restore_delete(request, restore_id):
return smaugclient(request).restores.delete(restore_id) return karborclient(request).restores.delete(restore_id)
def restore_list(request, detailed=False, search_opts=None, marker=None, def restore_list(request, detailed=False, search_opts=None, marker=None,
limit=None, sort_key=None, sort_dir=None, sort=None): limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).restores.list(detailed=detailed, return karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
def restore_list_paged(request, detailed=False, search_opts=None, marker=None, def restore_list_paged(request, detailed=False, search_opts=None, marker=None,
@ -238,43 +238,43 @@ def restore_list_paged(request, detailed=False, search_opts=None, marker=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
restores = smaugclient(request).restores.list(detailed=detailed, restores = karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=page_size + 1, limit=page_size + 1,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
restores, has_more_data, has_prev_data = update_pagination( restores, has_more_data, has_prev_data = update_pagination(
restores, page_size, marker, sort_dir, sort_key, reversed_order) restores, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
restores = smaugclient(request).restores.list(detailed=detailed, restores = karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
return (restores, has_more_data, has_prev_data) return (restores, has_more_data, has_prev_data)
def restore_get(request, restore_id): def restore_get(request, restore_id):
return smaugclient(request).restores.get(restore_id) return karborclient(request).restores.get(restore_id)
def protectable_list(request): def protectable_list(request):
return smaugclient(request).protectables.list() return karborclient(request).protectables.list()
def protectable_get(request, protectable_type): def protectable_get(request, protectable_type):
return smaugclient(request).protectables.get(protectable_type) return karborclient(request).protectables.get(protectable_type)
def protectable_list_instances(request, protectable_type, search_opts=None, def protectable_list_instances(request, protectable_type, search_opts=None,
marker=None, limit=None, sort_key=None, marker=None, limit=None, sort_key=None,
sort_dir=None, sort=None): sort_dir=None, sort=None):
return smaugclient(request).protectables.list_instances( return karborclient(request).protectables.list_instances(
protectable_type=protectable_type, protectable_type=protectable_type,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -295,7 +295,7 @@ def protectable_list_instances_paged(request, protectable_type,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
instances = smaugclient(request).protectables.list_instances( instances = karborclient(request).protectables.list_instances(
protectable_type, protectable_type,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -306,7 +306,7 @@ def protectable_list_instances_paged(request, protectable_type,
instances, has_more_data, has_prev_data = update_pagination( instances, has_more_data, has_prev_data = update_pagination(
instances, page_size, marker, sort_dir, sort_key, reversed_order) instances, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
instances = smaugclient(request).protectables.list_instances( instances = karborclient(request).protectables.list_instances(
protectable_type, protectable_type,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -319,18 +319,18 @@ def protectable_list_instances_paged(request, protectable_type,
def protectable_get_instance(request, type, id): def protectable_get_instance(request, type, id):
return smaugclient(request).protectables.get_instance(type, id) return karborclient(request).protectables.get_instance(type, id)
def provider_list(request, detailed=False, search_opts=None, marker=None, def provider_list(request, detailed=False, search_opts=None, marker=None,
limit=None, sort_key=None, sort_dir=None, sort=None): limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).providers.list(detailed=detailed, return karborclient(request).providers.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
def provider_list_paged(request, detailed=False, search_opts=None, marker=None, def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
@ -343,7 +343,7 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
providers = smaugclient(request).providers.list( providers = karborclient(request).providers.list(
detailed=detailed, detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -354,7 +354,7 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
providers, has_more_data, has_prev_data = update_pagination( providers, has_more_data, has_prev_data = update_pagination(
providers, page_size, marker, sort_dir, sort_key, reversed_order) providers, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
providers = smaugclient(request).providers.list( providers = karborclient(request).providers.list(
detailed=detailed, detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -367,26 +367,26 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
def provider_get(request, provider_id): def provider_get(request, provider_id):
return smaugclient(request).providers.get(provider_id) return karborclient(request).providers.get(provider_id)
def checkpoint_create(request, provider_id, plan_id): def checkpoint_create(request, provider_id, plan_id):
return smaugclient(request).checkpoints.create(provider_id, plan_id) return karborclient(request).checkpoints.create(provider_id, plan_id)
def checkpoint_delete(request, provider_id, checkpoint_id): def checkpoint_delete(request, provider_id, checkpoint_id):
return smaugclient(request).checkpoints.delete(provider_id, checkpoint_id) return karborclient(request).checkpoints.delete(provider_id, checkpoint_id)
def checkpoint_list(request, provider_id=None, search_opts=None, marker=None, def checkpoint_list(request, provider_id=None, search_opts=None, marker=None,
limit=None, sort_key=None, sort_dir=None, sort=None): limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).checkpoints.list(provider_id=provider_id, return karborclient(request).checkpoints.list(provider_id=provider_id,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
def checkpoint_list_paged(request, provider_id=None, search_opts=None, def checkpoint_list_paged(request, provider_id=None, search_opts=None,
@ -400,7 +400,7 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
checkpoints = smaugclient(request).checkpoints.list( checkpoints = karborclient(request).checkpoints.list(
provider_id=provider_id, provider_id=provider_id,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -411,7 +411,7 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
checkpoints, has_more_data, has_prev_data = update_pagination( checkpoints, has_more_data, has_prev_data = update_pagination(
checkpoints, page_size, marker, sort_dir, sort_key, reversed_order) checkpoints, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
checkpoints = smaugclient(request).checkpoints.list( checkpoints = karborclient(request).checkpoints.list(
provider_id=provider_id, provider_id=provider_id,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
@ -424,26 +424,26 @@ def checkpoint_list_paged(request, provider_id=None, search_opts=None,
def checkpoint_get(request, provider_id, checkpoint_id): def checkpoint_get(request, provider_id, checkpoint_id):
return smaugclient(request).checkpoints.get(provider_id, checkpoint_id) return karborclient(request).checkpoints.get(provider_id, checkpoint_id)
def trigger_create(request, name, type, properties): def trigger_create(request, name, type, properties):
return smaugclient(request).triggers.create(name, type, properties) return karborclient(request).triggers.create(name, type, properties)
def trigger_delete(request, trigger_id): def trigger_delete(request, trigger_id):
return smaugclient(request).triggers.delete(trigger_id) return karborclient(request).triggers.delete(trigger_id)
def trigger_list(request, detailed=False, search_opts=None, marker=None, def trigger_list(request, detailed=False, search_opts=None, marker=None,
limit=None, sort_key=None, sort_dir=None, sort=None): limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).triggers.list(detailed=detailed, return karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
def trigger_list_paged(request, detailed=False, search_opts=None, marker=None, def trigger_list_paged(request, detailed=False, search_opts=None, marker=None,
@ -456,26 +456,26 @@ def trigger_list_paged(request, detailed=False, search_opts=None, marker=None,
if reversed_order: if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc' sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request) page_size = utils.get_page_size(request)
triggers = smaugclient(request).triggers.list(detailed=detailed, triggers = karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=page_size + 1, limit=page_size + 1,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
triggers, has_more_data, has_prev_data = update_pagination( triggers, has_more_data, has_prev_data = update_pagination(
triggers, page_size, marker, sort_dir, sort_key, reversed_order) triggers, page_size, marker, sort_dir, sort_key, reversed_order)
else: else:
triggers = smaugclient(request).triggers.list(detailed=detailed, triggers = karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts, search_opts=search_opts,
marker=marker, marker=marker,
limit=limit, limit=limit,
sort_key=sort_key, sort_key=sort_key,
sort_dir=sort_dir, sort_dir=sort_dir,
sort=sort) sort=sort)
return (triggers, has_more_data, has_prev_data) return (triggers, has_more_data, has_prev_data)
def trigger_get(request, trigger_id): def trigger_get(request, trigger_id):
return smaugclient(request).triggers.get(trigger_id) return karborclient(request).triggers.get(trigger_id)

View File

@ -20,7 +20,7 @@ from horizon import forms as horizon_forms
from horizon import messages from horizon import messages
import json import json
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
class RestoreCheckpointForm(horizon_forms.SelfHandlingForm): class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
@ -35,19 +35,19 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
widget=forms.HiddenInput(attrs={"class": "provider"})) widget=forms.HiddenInput(attrs={"class": "provider"}))
parameters = forms.CharField( parameters = forms.CharField(
widget=forms.HiddenInput(attrs={"class": "parameters"})) widget=forms.HiddenInput(attrs={"class": "parameters"}))
failure_url = 'horizon:smaug:checkpoints:index' failure_url = 'horizon:karbor:checkpoints:index'
def __init__(self, request, *args, **kwargs): def __init__(self, request, *args, **kwargs):
super(RestoreCheckpointForm, self).\ super(RestoreCheckpointForm, self).\
__init__(request, *args, **kwargs) __init__(request, *args, **kwargs)
provider_id = str(kwargs["initial"]["provider_id"]) provider_id = str(kwargs["initial"]["provider_id"])
provider = smaugclient.provider_get(request, provider_id) provider = karborclient.provider_get(request, provider_id)
self.fields['provider'].initial = json.dumps(provider._info) self.fields['provider'].initial = json.dumps(provider._info)
def handle(self, request, data): def handle(self, request, data):
try: try:
new_restore = smaugclient.restore_create( new_restore = karborclient.restore_create(
request, request,
provider_id=data["provider_id"], provider_id=data["provider_id"],
checkpoint_id=data["checkpoint_id"], checkpoint_id=data["checkpoint_id"],

View File

@ -15,7 +15,7 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import horizon import horizon
from smaug_dashboard import dashboard from karbor_dashboard import dashboard
class Checkpoints(horizon.Panel): class Checkpoints(horizon.Panel):

View File

@ -18,13 +18,13 @@ from django.utils.translation import ungettext_lazy
from horizon import tables from horizon import tables
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
class RestoreCheckpointLink(tables.LinkAction): class RestoreCheckpointLink(tables.LinkAction):
name = "restore" name = "restore"
verbose_name = _("Restore Checkpoint") verbose_name = _("Restore Checkpoint")
url = "horizon:smaug:checkpoints:restore" url = "horizon:karbor:checkpoints:restore"
classes = ("ajax-modal",) classes = ("ajax-modal",)
icon = "plus" icon = "plus"
@ -55,14 +55,14 @@ class DeleteCheckpointsAction(tables.DeleteAction):
def delete(self, request, obj_id): def delete(self, request, obj_id):
datum = self.table.get_object_by_id(obj_id) datum = self.table.get_object_by_id(obj_id)
provider_id = datum.provider_id provider_id = datum.provider_id
smaugclient.checkpoint_delete(request, karborclient.checkpoint_delete(request,
provider_id=provider_id, provider_id=provider_id,
checkpoint_id=obj_id) checkpoint_id=obj_id)
def get_provider_link(checkpoint): def get_provider_link(checkpoint):
"""url Two args""" """url Two args"""
return reverse("horizon:smaug:checkpoints:detail", return reverse("horizon:karbor:checkpoints:detail",
args=(checkpoint.provider_id, checkpoint.id)) args=(checkpoint.provider_id, checkpoint.id))

View File

@ -13,7 +13,7 @@
# under the License. # under the License.
from django.conf.urls import url from django.conf.urls import url
from smaug_dashboard.checkpoints import views from karbor_dashboard.checkpoints import views
urlpatterns = [ urlpatterns = [

View File

@ -26,11 +26,11 @@ from horizon import forms as horizon_forms
from horizon import tables as horizon_tables from horizon import tables as horizon_tables
from horizon.utils import memoized from horizon.utils import memoized
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.checkpoints import forms from karbor_dashboard.checkpoints import forms
from smaug_dashboard.checkpoints import tables from karbor_dashboard.checkpoints import tables
from smaug_dashboard.checkpoints import utils from karbor_dashboard.checkpoints import utils
from smaugclient.v1 import protectables from karborclient.v1 import protectables
class IndexView(horizon_tables.DataTableView): class IndexView(horizon_tables.DataTableView):
@ -40,11 +40,11 @@ class IndexView(horizon_tables.DataTableView):
@memoized.memoized_method @memoized.memoized_method
def get_provider_list(self): def get_provider_list(self):
return smaugclient.provider_list(self.request) return karborclient.provider_list(self.request)
@memoized.memoized_method @memoized.memoized_method
def get_plan_list(self): def get_plan_list(self):
return smaugclient.plan_list(self.request) return karborclient.plan_list(self.request)
@memoized.memoized_method @memoized.memoized_method
def get_filter_list(self): def get_filter_list(self):
@ -81,7 +81,7 @@ class IndexView(horizon_tables.DataTableView):
context["plan_list"] = self.get_plan_list() context["plan_list"] = self.get_plan_list()
context["date_list"] = utils.DATE_CHOICES context["date_list"] = utils.DATE_CHOICES
context["url"] = reverse("horizon:smaug:checkpoints:index") context["url"] = reverse("horizon:karbor:checkpoints:index")
context = dict(context, **self.get_filter_list()) context = dict(context, **self.get_filter_list())
return context return context
@ -151,7 +151,7 @@ class IndexView(horizon_tables.DataTableView):
raise Exception() raise Exception()
checkpoints, self._more, self._prev = \ checkpoints, self._more, self._prev = \
smaugclient.checkpoint_list_paged( karborclient.checkpoint_list_paged(
self.request, self.request,
provider_id=provider_id, provider_id=provider_id,
search_opts=search_opts, search_opts=search_opts,
@ -161,7 +161,7 @@ class IndexView(horizon_tables.DataTableView):
sort_key='name', sort_key='name',
reversed_order=reversed_order) reversed_order=reversed_order)
for checkpoint in checkpoints: for checkpoint in checkpoints:
provider = smaugclient.provider_get( provider = karborclient.provider_get(
self.request, self.request,
checkpoint.protection_plan['provider_id'] checkpoint.protection_plan['provider_id']
) )
@ -181,8 +181,8 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
form_id = "restore_checkpoint_form" form_id = "restore_checkpoint_form"
form_class = forms.RestoreCheckpointForm form_class = forms.RestoreCheckpointForm
submit_label = _("Restore Checkpoint") submit_label = _("Restore Checkpoint")
submit_url = 'horizon:smaug:checkpoints:restore' submit_url = 'horizon:karbor:checkpoints:restore'
success_url = reverse_lazy('horizon:smaug:checkpoints:index') success_url = reverse_lazy('horizon:karbor:checkpoints:index')
page_title = _("Restore Checkpoint") page_title = _("Restore Checkpoint")
def get_initial(self): def get_initial(self):
@ -207,9 +207,9 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
try: try:
provider_id = self.kwargs['provider_id'] provider_id = self.kwargs['provider_id']
checkpoint_id = self.kwargs['checkpoint_id'] checkpoint_id = self.kwargs['checkpoint_id']
checkpoint = smaugclient.checkpoint_get(self.request, checkpoint = karborclient.checkpoint_get(self.request,
provider_id, provider_id,
checkpoint_id) checkpoint_id)
graphnodes = utils.deserialize_resource_graph( graphnodes = utils.deserialize_resource_graph(
checkpoint.resource_graph) checkpoint.resource_graph)
self.get_results(graphnodes, None, results) self.get_results(graphnodes, None, results)
@ -217,7 +217,7 @@ class CheckpointsRestoreView(horizon_forms.ModalFormView):
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve checkpoint details.'), _('Unable to retrieve checkpoint details.'),
redirect=reverse("horizon:smaug:checkpoints:index")) redirect=reverse("horizon:karbor:checkpoints:index"))
return results return results
def get_results(self, graphnodes, showparentid, results): def get_results(self, graphnodes, showparentid, results):
@ -249,9 +249,9 @@ class DetailView(horizon_tables.DataTableView):
try: try:
provider_id = self.kwargs['provider_id'] provider_id = self.kwargs['provider_id']
checkpoint_id = self.kwargs['checkpoint_id'] checkpoint_id = self.kwargs['checkpoint_id']
checkpoint = smaugclient.checkpoint_get(self.request, checkpoint = karborclient.checkpoint_get(self.request,
provider_id, provider_id,
checkpoint_id) checkpoint_id)
except Exception: except Exception:
checkpoint = [] checkpoint = []
msg = _('checkpoint list can not be retrieved.') msg = _('checkpoint list can not be retrieved.')
@ -263,10 +263,10 @@ class DetailView(horizon_tables.DataTableView):
checkpoint = self.get_checkpoint_data() checkpoint = self.get_checkpoint_data()
context["checkpoint"] = checkpoint context["checkpoint"] = checkpoint
provider_id = self.kwargs['provider_id'] provider_id = self.kwargs['provider_id']
provider = smaugclient.provider_get(self.request, provider_id) provider = karborclient.provider_get(self.request, provider_id)
context["provider_name"] = provider.name context["provider_name"] = provider.name
context["resources"] = self.get_resources() context["resources"] = self.get_resources()
context["url"] = reverse("horizon:smaug:protectionplans:index") context["url"] = reverse("horizon:karbor:protectionplans:index")
return context return context
@memoized.memoized_method @memoized.memoized_method
@ -275,9 +275,9 @@ class DetailView(horizon_tables.DataTableView):
try: try:
provider_id = self.kwargs['provider_id'] provider_id = self.kwargs['provider_id']
checkpoint_id = self.kwargs['checkpoint_id'] checkpoint_id = self.kwargs['checkpoint_id']
checkpoint = smaugclient.checkpoint_get(self.request, checkpoint = karborclient.checkpoint_get(self.request,
provider_id, provider_id,
checkpoint_id) checkpoint_id)
graphnodes = utils.deserialize_resource_graph( graphnodes = utils.deserialize_resource_graph(
checkpoint.resource_graph) checkpoint.resource_graph)
self.get_results(graphnodes, None, results) self.get_results(graphnodes, None, results)
@ -285,7 +285,7 @@ class DetailView(horizon_tables.DataTableView):
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve checkpoint details.'), _('Unable to retrieve checkpoint details.'),
redirect=reverse("horizon:smaug:checkpoints:index")) redirect=reverse("horizon:karbor:checkpoints:index"))
return results return results
def get_results(self, graphnodes, showparentid, results): def get_results(self, graphnodes, showparentid, results):

View File

@ -15,12 +15,12 @@
import horizon import horizon
# Load the api rest services into Horizon # Load the api rest services into Horizon
import smaug_dashboard.api.rest # noqa import karbor_dashboard.api.rest # noqa
class DataProtection(horizon.Dashboard): class DataProtection(horizon.Dashboard):
name = "Data Protection" name = "Data Protection"
slug = "smaug" slug = "karbor"
default_panel = "protectionplans" default_panel = "protectionplans"

View File

@ -14,13 +14,13 @@
# The name of the dashboard to be added to HORIZON['dashboards']. Required. # The name of the dashboard to be added to HORIZON['dashboards']. Required.
DASHBOARD = 'smaug' DASHBOARD = 'karbor'
# If set to True, this dashboard will not be added to the settings. # If set to True, this dashboard will not be added to the settings.
DISABLED = False DISABLED = False
ADD_INSTALLED_APPS = [ ADD_INSTALLED_APPS = [
'smaug_dashboard', 'karbor_dashboard',
] ]
# Automatically discover static resources in installed apps # Automatically discover static resources in installed apps

View File

@ -15,7 +15,7 @@
PANEL = 'protectionplans' PANEL = 'protectionplans'
PANEL_GROUP = 'default' PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug' PANEL_DASHBOARD = 'karbor'
ADD_PANEL = \ ADD_PANEL = \
'smaug_dashboard.protectionplans.panel.ProtectionPlans' 'karbor_dashboard.protectionplans.panel.ProtectionPlans'

View File

@ -15,7 +15,7 @@
PANEL = 'protectionproviders' PANEL = 'protectionproviders'
PANEL_GROUP = 'default' PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug' PANEL_DASHBOARD = 'karbor'
ADD_PANEL = \ ADD_PANEL = \
'smaug_dashboard.protectionproviders.panel.ProtectionProviders' 'karbor_dashboard.protectionproviders.panel.ProtectionProviders'

View File

@ -15,7 +15,7 @@
PANEL = 'checkpoints' PANEL = 'checkpoints'
PANEL_GROUP = 'default' PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug' PANEL_DASHBOARD = 'karbor'
ADD_PANEL = \ ADD_PANEL = \
'smaug_dashboard.checkpoints.panel.Checkpoints' 'karbor_dashboard.checkpoints.panel.Checkpoints'

View File

@ -15,7 +15,7 @@
PANEL = 'operationlogs' PANEL = 'operationlogs'
PANEL_GROUP = 'default' PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug' PANEL_DASHBOARD = 'karbor'
ADD_PANEL = \ ADD_PANEL = \
'smaug_dashboard.operationlogs.panel.OperationLogs' 'karbor_dashboard.operationlogs.panel.OperationLogs'

View File

@ -15,7 +15,7 @@
PANEL = 'triggers' PANEL = 'triggers'
PANEL_GROUP = 'default' PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug' PANEL_DASHBOARD = 'karbor'
ADD_PANEL = \ ADD_PANEL = \
'smaug_dashboard.triggers.panel.Triggers' 'karbor_dashboard.triggers.panel.Triggers'

View File

@ -15,7 +15,7 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import horizon import horizon
from smaug_dashboard import dashboard from karbor_dashboard import dashboard
class OperationLogs(horizon.Panel): class OperationLogs(horizon.Panel):

View File

@ -19,7 +19,7 @@ from horizon import tables
class OperationLogsProtectTable(tables.DataTable): class OperationLogsProtectTable(tables.DataTable):
id = tables.Column('id', id = tables.Column('id',
link="horizon:smaug:operationlogs:detail", link="horizon:karbor:operationlogs:detail",
verbose_name=_('ID')) verbose_name=_('ID'))
name = tables.Column('name', name = tables.Column('name',
verbose_name=_('Name')) verbose_name=_('Name'))
@ -63,7 +63,7 @@ class OperationLogsRestoreTable(tables.DataTable):
class OperationLogsDeleteTable(tables.DataTable): class OperationLogsDeleteTable(tables.DataTable):
id = tables.Column('id', id = tables.Column('id',
link="horizon:smaug:operationlogs:detail", link="horizon:karbor:operationlogs:detail",
verbose_name=_('ID')) verbose_name=_('ID'))
name = tables.Column('name', name = tables.Column('name',
verbose_name=_('Name')) verbose_name=_('Name'))

View File

@ -13,7 +13,7 @@
# under the License. # under the License.
from django.conf.urls import url from django.conf.urls import url
from smaug_dashboard.operationlogs import views from karbor_dashboard.operationlogs import views
urlpatterns = [ urlpatterns = [

View File

@ -18,9 +18,9 @@ from django.utils.translation import ugettext_lazy as _
from horizon import exceptions from horizon import exceptions
from horizon import tables as horizon_tables from horizon import tables as horizon_tables
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.operationlogs import tables from karbor_dashboard.operationlogs import tables
from smaug_dashboard.operationlogs import utils from karbor_dashboard.operationlogs import utils
class IndexView(horizon_tables.DataTableView): class IndexView(horizon_tables.DataTableView):
@ -59,7 +59,7 @@ class IndexView(horizon_tables.DataTableView):
context = super(IndexView, self).get_context_data(**kwargs) context = super(IndexView, self).get_context_data(**kwargs)
context["type_list"] = utils.OPERATION_TYPE_CHOICES context["type_list"] = utils.OPERATION_TYPE_CHOICES
context["status_list"] = utils.OPERATION_STATUS_CHOICES context["status_list"] = utils.OPERATION_STATUS_CHOICES
context["url"] = reverse("horizon:smaug:operationlogs:index") context["url"] = reverse("horizon:karbor:operationlogs:index")
context = dict(context, **self.get_filter_list()) context = dict(context, **self.get_filter_list())
return context return context
@ -123,7 +123,7 @@ class IndexView(horizon_tables.DataTableView):
# Get restore operation logs # Get restore operation logs
logs, self._more, self._prev = \ logs, self._more, self._prev = \
smaugclient.restore_list_paged( karborclient.restore_list_paged(
self.request, self.request,
search_opts=filter_opts, search_opts=filter_opts,
marker=marker, marker=marker,
@ -133,11 +133,11 @@ class IndexView(horizon_tables.DataTableView):
reversed_order=reversed_order) reversed_order=reversed_order)
for log in logs: for log in logs:
checkpoint = smaugclient.checkpoint_get(self.request, checkpoint = karborclient.checkpoint_get(self.request,
log.provider_id, log.provider_id,
log.checkpoint_id) log.checkpoint_id)
provider = smaugclient.provider_get(self.request, provider = karborclient.provider_get(self.request,
log.provider_id) log.provider_id)
setattr(log, "name", checkpoint.protection_plan["name"]) setattr(log, "name", checkpoint.protection_plan["name"])
setattr(log, "type", setattr(log, "type",
utils.OPERATION_TYPE_DICT[ utils.OPERATION_TYPE_DICT[

View File

@ -20,7 +20,7 @@ from horizon import forms as horizon_forms
from horizon import messages from horizon import messages
import json import json
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm): class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
@ -44,7 +44,7 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
__init__(request, *args, **kwargs) __init__(request, *args, **kwargs)
result = [] result = []
providers = smaugclient.provider_list(request) providers = karborclient.provider_list(request)
self.fields['providers'].initial = \ self.fields['providers'].initial = \
json.dumps([f._info for f in providers]) json.dumps([f._info for f in providers])
@ -56,11 +56,11 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
def handle(self, request, data): def handle(self, request, data):
try: try:
new_plan = smaugclient.plan_create(request, new_plan = karborclient.plan_create(request,
data["name"], data["name"],
data["provider_id"], data["provider_id"],
json.loads(data["resources"]), json.loads(data["resources"]),
json.loads(data["parameters"])) json.loads(data["parameters"]))
messages.success(request, messages.success(request,
_("Protection Plan created successfully.")) _("Protection Plan created successfully."))
@ -70,8 +70,8 @@ class CreateProtectionPlanForm(horizon_forms.SelfHandlingForm):
return self.next_view.as_view()(request, return self.next_view.as_view()(request,
plan_id=new_plan.id) plan_id=new_plan.id)
elif data["actionmode"] == "now": elif data["actionmode"] == "now":
smaugclient.checkpoint_create(request, new_plan.provider_id, karborclient.checkpoint_create(request, new_plan.provider_id,
new_plan.id) new_plan.id)
messages.success(request, _("Protect now successfully.")) messages.success(request, _("Protect now successfully."))
return new_plan return new_plan
except Exception: except Exception:
@ -85,13 +85,13 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
widget=forms.HiddenInput) widget=forms.HiddenInput)
trigger_id = horizon_forms.DynamicChoiceField( trigger_id = horizon_forms.DynamicChoiceField(
label=_("Associate with Trigger"), label=_("Associate with Trigger"),
add_item_link="horizon:smaug:triggers:create") add_item_link="horizon:karbor:triggers:create")
def __init__(self, request, *args, **kwargs): def __init__(self, request, *args, **kwargs):
super(ScheduleProtectForm, self).__init__(request, *args, **kwargs) super(ScheduleProtectForm, self).__init__(request, *args, **kwargs)
result = [] result = []
triggers = smaugclient.trigger_list(request) triggers = karborclient.trigger_list(request)
if triggers: if triggers:
result = [(e.id, e.name) for e in triggers] result = [(e.id, e.name) for e in triggers]
@ -101,11 +101,11 @@ class ScheduleProtectForm(horizon_forms.SelfHandlingForm):
try: try:
operation_definition = dict(provider_id=data["provider_id"], operation_definition = dict(provider_id=data["provider_id"],
plan_id=data["id"]) plan_id=data["id"])
smaugclient.scheduled_operation_create(request, karborclient.scheduled_operation_create(request,
data["name"], data["name"],
"protect", "protect",
data["trigger_id"], data["trigger_id"],
operation_definition) operation_definition)
messages.success(request, _("Schedule protect successfully.")) messages.success(request, _("Schedule protect successfully."))
return True return True
except Exception: except Exception:

View File

@ -15,7 +15,7 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import horizon import horizon
from smaug_dashboard import dashboard from karbor_dashboard import dashboard
class ProtectionPlans(horizon.Panel): class ProtectionPlans(horizon.Panel):

View File

@ -19,13 +19,13 @@ from horizon import exceptions
from horizon import messages from horizon import messages
from horizon import tables from horizon import tables
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
class CreateProtectionPlanLink(tables.LinkAction): class CreateProtectionPlanLink(tables.LinkAction):
name = "create" name = "create"
verbose_name = _("Create Protection Plan") verbose_name = _("Create Protection Plan")
url = "horizon:smaug:protectionplans:create" url = "horizon:karbor:protectionplans:create"
classes = ("ajax-modal",) classes = ("ajax-modal",)
icon = "plus" icon = "plus"
@ -36,7 +36,7 @@ class CreateProtectionPlanLink(tables.LinkAction):
class ScheduleProtectLink(tables.LinkAction): class ScheduleProtectLink(tables.LinkAction):
name = "scheduleprotect" name = "scheduleprotect"
verbose_name = _("Schedule Protect") verbose_name = _("Schedule Protect")
url = "horizon:smaug:protectionplans:scheduleprotect" url = "horizon:karbor:protectionplans:scheduleprotect"
classes = ("ajax-modal",) classes = ("ajax-modal",)
def allowed(self, request, plan): def allowed(self, request, plan):
@ -58,9 +58,9 @@ class ProtectNowLink(tables.Action):
try: try:
datum = self.table.get_object_by_id(datum_id) datum = self.table.get_object_by_id(datum_id)
provider_id = datum.provider_id provider_id = datum.provider_id
new_checkpoint = smaugclient.checkpoint_create(request, new_checkpoint = karborclient.checkpoint_create(request,
provider_id, provider_id,
datum_id) datum_id)
messages.success(request, _("Protect now successfully.")) messages.success(request, _("Protect now successfully."))
return new_checkpoint return new_checkpoint
except Exception: except Exception:
@ -88,7 +88,7 @@ class DeleteProtectionPlansAction(tables.DeleteAction):
return True return True
def delete(self, request, obj_id): def delete(self, request, obj_id):
smaugclient.plan_delete(request, obj_id) karborclient.plan_delete(request, obj_id)
class ProtectionPlanFilterAction(tables.FilterAction): class ProtectionPlanFilterAction(tables.FilterAction):
@ -101,7 +101,7 @@ class ProtectionPlanFilterAction(tables.FilterAction):
class ProtectionPlansTable(tables.DataTable): class ProtectionPlansTable(tables.DataTable):
name = tables.Column('name', name = tables.Column('name',
link="horizon:smaug:protectionplans:detail", link="horizon:karbor:protectionplans:detail",
verbose_name=_('Name')) verbose_name=_('Name'))
status = tables.Column('status', status = tables.Column('status',

View File

@ -13,7 +13,7 @@
# under the License. # under the License.
from django.conf.urls import url from django.conf.urls import url
from smaug_dashboard.protectionplans import views from karbor_dashboard.protectionplans import views
urlpatterns = [ urlpatterns = [

View File

@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
from horizon.utils import memoized from horizon.utils import memoized
from horizon import views as horizon_views from horizon import views as horizon_views
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.protectionplans import forms from karbor_dashboard.protectionplans import forms
from smaug_dashboard.protectionplans import tables from karbor_dashboard.protectionplans import tables
from smaugclient.v1 import protectables from karborclient.v1 import protectables
import uuid import uuid
@ -53,7 +53,7 @@ class IndexView(horizon_tables.DataTableView):
reversed_order = prev_marker is not None reversed_order = prev_marker is not None
plans = [] plans = []
try: try:
plans, self._more, self._prev = smaugclient.plan_list_paged( plans, self._more, self._prev = karborclient.plan_list_paged(
request, None, request, None,
marker=marker, marker=marker,
paginate=True, paginate=True,
@ -74,8 +74,8 @@ class CreateView(horizon_forms.ModalFormView):
form_id = "create_protectionplan_form" form_id = "create_protectionplan_form"
form_class = forms.CreateProtectionPlanForm form_class = forms.CreateProtectionPlanForm
submit_label = _("Create Protection Plan") submit_label = _("Create Protection Plan")
submit_url = reverse_lazy("horizon:smaug:protectionplans:create") submit_url = reverse_lazy("horizon:karbor:protectionplans:create")
success_url = reverse_lazy('horizon:smaug:protectionplans:index') success_url = reverse_lazy('horizon:karbor:protectionplans:index')
page_title = _("Create Protection Plan") page_title = _("Create Protection Plan")
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@ -91,7 +91,7 @@ class CreateView(horizon_forms.ModalFormView):
@memoized.memoized_method @memoized.memoized_method
def get_object(self): def get_object(self):
try: try:
instances = smaugclient.protectable_list_instances( instances = karborclient.protectable_list_instances(
self.request, "OS::Keystone::Project") self.request, "OS::Keystone::Project")
results = [] results = []
self.get_results(instances, None, results) self.get_results(instances, None, results)
@ -100,7 +100,7 @@ class CreateView(horizon_forms.ModalFormView):
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to create protection plan.'), _('Unable to create protection plan.'),
redirect=reverse("horizon:smaug:protectionplans:index")) redirect=reverse("horizon:karbor:protectionplans:index"))
def get_results(self, instances, showparentid, results): def get_results(self, instances, showparentid, results):
for instance in instances: for instance in instances:
@ -116,7 +116,7 @@ class CreateView(horizon_forms.ModalFormView):
for dependent_resource in instance.dependent_resources: for dependent_resource in instance.dependent_resources:
if dependent_resource is not None: if dependent_resource is not None:
dependent = smaugclient.protectable_get_instance( dependent = karborclient.protectable_get_instance(
self.request, self.request,
dependent_resource["type"], dependent_resource["type"],
dependent_resource["id"]) dependent_resource["id"])
@ -129,19 +129,19 @@ class ScheduleProtectView(horizon_forms.ModalFormView):
form_id = "scheduleprotect_form" form_id = "scheduleprotect_form"
form_class = forms.ScheduleProtectForm form_class = forms.ScheduleProtectForm
submit_label = _("Schedule Protect") submit_label = _("Schedule Protect")
submit_url = "horizon:smaug:protectionplans:scheduleprotect" submit_url = "horizon:karbor:protectionplans:scheduleprotect"
success_url = reverse_lazy('horizon:smaug:protectionplans:index') success_url = reverse_lazy('horizon:karbor:protectionplans:index')
page_title = _("Schedule Protect") page_title = _("Schedule Protect")
@memoized.memoized_method @memoized.memoized_method
def get_object(self): def get_object(self):
try: try:
return smaugclient.plan_get(self.request, self.kwargs['plan_id']) return karborclient.plan_get(self.request, self.kwargs['plan_id'])
except Exception: except Exception:
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to schedule protect.'), _('Unable to schedule protect.'),
redirect=reverse("horizon:smaug:protectionplans:index")) redirect=reverse("horizon:karbor:protectionplans:index"))
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
context = super(ScheduleProtectView, self).get_context_data(**kwargs) context = super(ScheduleProtectView, self).get_context_data(**kwargs)
@ -168,31 +168,31 @@ class DetailView(horizon_views.HorizonTemplateView):
context["plan"] = plan context["plan"] = plan
context["provider"] = self.get_provider(plan.provider_id) context["provider"] = self.get_provider(plan.provider_id)
context["instances"] = self.get_instances(plan.resources) context["instances"] = self.get_instances(plan.resources)
context["url"] = reverse("horizon:smaug:protectionplans:index") context["url"] = reverse("horizon:karbor:protectionplans:index")
context["actions"] = table.render_row_actions(plan) context["actions"] = table.render_row_actions(plan)
return context return context
@memoized.memoized_method @memoized.memoized_method
def get_data(self): def get_data(self):
try: try:
return smaugclient.plan_get(self.request, self.kwargs['plan_id']) return karborclient.plan_get(self.request, self.kwargs['plan_id'])
except Exception: except Exception:
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve protection plan details.'), _('Unable to retrieve protection plan details.'),
redirect=reverse("horizon:smaug:protectionplans:index")) redirect=reverse("horizon:karbor:protectionplans:index"))
@memoized.memoized_method @memoized.memoized_method
def get_provider(self, provider_id): def get_provider(self, provider_id):
provider = None provider = None
if provider_id: if provider_id:
try: try:
provider = smaugclient.provider_get(self.request, provider_id) provider = karborclient.provider_get(self.request, provider_id)
except Exception: except Exception:
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve protection provider details.'), _('Unable to retrieve protection provider details.'),
redirect=reverse("horizon:smaug:protectionplans:index")) redirect=reverse("horizon:karbor:protectionplans:index"))
return provider return provider
@memoized.memoized_method @memoized.memoized_method
@ -202,7 +202,7 @@ class DetailView(horizon_views.HorizonTemplateView):
for instance in instances: for instance in instances:
instance["showid"] = str(uuid.uuid4()) instance["showid"] = str(uuid.uuid4())
result.append(protectables.Instances(self, instance)) result.append(protectables.Instances(self, instance))
detail_instance = smaugclient.protectable_get_instance( detail_instance = karborclient.protectable_get_instance(
self.request, self.request,
instance["type"].strip(), instance["type"].strip(),
instance["id"].strip()) instance["id"].strip())
@ -218,4 +218,4 @@ class DetailView(horizon_views.HorizonTemplateView):
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to get instances.'), _('Unable to get instances.'),
redirect=reverse("horizon:smaug:protectionplans:index")) redirect=reverse("horizon:karbor:protectionplans:index"))

View File

@ -15,7 +15,7 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import horizon import horizon
from smaug_dashboard import dashboard from karbor_dashboard import dashboard
class ProtectionProviders(horizon.Panel): class ProtectionProviders(horizon.Panel):

View File

@ -27,7 +27,7 @@ class ShowCheckpointsAction(tables.Action):
return True return True
def single(self, table, request, obj_id): def single(self, table, request, obj_id):
redirect = reverse("horizon:smaug:checkpoints:index", redirect = reverse("horizon:karbor:checkpoints:index",
args=(obj_id,)) args=(obj_id,))
return http.HttpResponseRedirect(redirect) return http.HttpResponseRedirect(redirect)
@ -43,7 +43,7 @@ class ProtectionProviderFilterAction(tables.FilterAction):
class ProtectionProvidersTable(tables.DataTable): class ProtectionProvidersTable(tables.DataTable):
name = tables.Column('name', name = tables.Column('name',
link="horizon:smaug:protectionproviders:detail", link="horizon:karbor:protectionproviders:detail",
verbose_name=_('Name')) verbose_name=_('Name'))
description = tables.Column('description', description = tables.Column('description',
verbose_name=_('Description')) verbose_name=_('Description'))

View File

@ -17,8 +17,8 @@ from django.utils.translation import ugettext_lazy as _
from horizon import exceptions from horizon import exceptions
from horizon import tabs from horizon import tabs
from karbor_dashboard.api import karbor as karborclient
import simplejson as json import simplejson as json
from smaug_dashboard.api import smaug as smaugclient
class OptionsSchemaTab(tabs.Tab): class OptionsSchemaTab(tabs.Tab):
@ -29,7 +29,7 @@ class OptionsSchemaTab(tabs.Tab):
def get_context_data(self, request): def get_context_data(self, request):
try: try:
provider_id = self.tab_group.kwargs['provider_id'] provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id) provider = karborclient.provider_get(request, provider_id)
schema = {} schema = {}
if provider is not None: if provider is not None:
@ -51,7 +51,7 @@ class RestoreSchemaTab(tabs.Tab):
def get_context_data(self, request): def get_context_data(self, request):
try: try:
provider_id = self.tab_group.kwargs['provider_id'] provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id) provider = karborclient.provider_get(request, provider_id)
schema = {} schema = {}
if provider is not None: if provider is not None:
@ -73,7 +73,7 @@ class SavedInfoSchemaTab(tabs.Tab):
def get_context_data(self, request): def get_context_data(self, request):
try: try:
provider_id = self.tab_group.kwargs['provider_id'] provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id) provider = karborclient.provider_get(request, provider_id)
schema = {} schema = {}
if provider is not None: if provider is not None:
if 'saved_info_schema' in provider.extended_info_schema: if 'saved_info_schema' in provider.extended_info_schema:

View File

@ -13,7 +13,7 @@
# under the License. # under the License.
from django.conf.urls import url from django.conf.urls import url
from smaug_dashboard.protectionproviders import views from karbor_dashboard.protectionproviders import views
urlpatterns = [ urlpatterns = [

View File

@ -20,9 +20,9 @@ from horizon import tables as horizon_tables
from horizon import tabs as horizon_tabs from horizon import tabs as horizon_tabs
from horizon.utils import memoized from horizon.utils import memoized
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.protectionproviders import tables from karbor_dashboard.protectionproviders import tables
from smaug_dashboard.protectionproviders import tabs from karbor_dashboard.protectionproviders import tabs
class IndexView(horizon_tables.DataTableView): class IndexView(horizon_tables.DataTableView):
@ -50,7 +50,7 @@ class IndexView(horizon_tables.DataTableView):
providers = [] providers = []
try: try:
providers, self._more, self._prev = \ providers, self._more, self._prev = \
smaugclient.provider_list_paged( karborclient.provider_list_paged(
request, None, request, None,
marker=marker, marker=marker,
paginate=True, paginate=True,
@ -67,7 +67,7 @@ class IndexView(horizon_tables.DataTableView):
class DetailView(horizon_tabs.TabView): class DetailView(horizon_tabs.TabView):
redirect_url = "horizon:smaug:protectionproviders:index" redirect_url = "horizon:karbor:protectionproviders:index"
tab_group_class = tabs.ProviderDetailTabs tab_group_class = tabs.ProviderDetailTabs
template_name = 'protectionproviders/detail.html' template_name = 'protectionproviders/detail.html'
page_title = "{{ provider.name }}" page_title = "{{ provider.name }}"
@ -81,12 +81,12 @@ class DetailView(horizon_tabs.TabView):
def get_data(self): def get_data(self):
try: try:
provider_id = self.kwargs['provider_id'] provider_id = self.kwargs['provider_id']
provider = smaugclient.provider_get(self.request, provider_id) provider = karborclient.provider_get(self.request, provider_id)
except Exception: except Exception:
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve protection provider details.'), _('Unable to retrieve protection provider details.'),
redirect=reverse("horizon:smaug:protectionproviders:index")) redirect=reverse("horizon:karbor:protectionproviders:index"))
return provider return provider
def get_tabs(self, request, *args, **kwargs): def get_tabs(self, request, *args, **kwargs):

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 850 B

After

Width:  |  Height:  |  Size: 850 B

View File

@ -17,7 +17,7 @@
function setRestoredResource() { function setRestoredResource() {
var trResources = $("#checkpointRestoreResource tr[resource-id]"); var trResources = $("#checkpointRestoreResource tr[resource-id]");
var provider = $.parseJSON($(".provider").val()); var provider = $.parseJSON($(".provider").val());
var parameters = $.Smaug.getResourceDefaultParameters(provider, "restore_schema"); var parameters = $.Karbor.getResourceDefaultParameters(provider, "restore_schema");
if(trResources != null) { if(trResources != null) {
trResources.each(function() { trResources.each(function() {
var trResource = $(this); var trResource = $(this);
@ -67,34 +67,34 @@ horizon.checkpoints_restore = {
if(schema != null) { if(schema != null) {
var exist_ui_dialogs = $("body").has(".ui-dialog"); var exist_ui_dialogs = $("body").has(".ui-dialog");
if(exist_ui_dialogs.length == 0){ if(exist_ui_dialogs.length == 0){
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid); var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper"); $.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
} }
} }
}); });
/* bind parameters dialog save button event */ /* bind parameters dialog save button event */
$(document).on('click', "#parametersdialog .btn.btn-primary", function() { $(document).on('click', "#parametersdialog .btn.btn-primary", function() {
var flag = $.Smaug.check_required($("#parametersdialog")); var flag = $.Karbor.check_required($("#parametersdialog"));
if(flag) { if(flag) {
var resourceid = $("#parametersdialog .modal-body").attr("resourceid"); var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
var form_controls = $("#parametersdialog .modal-body .form-control"); var form_controls = $("#parametersdialog .modal-body .form-control");
var userdata = $.Smaug.getDynamicValue(form_controls); var userdata = $.Karbor.getDynamicValue(form_controls);
$("#checkpointRestoreResource").find("tr[resource-id='" + resourceid + "']") $("#checkpointRestoreResource").find("tr[resource-id='" + resourceid + "']")
.find(".editparameters") .find(".editparameters")
.data("userdata", userdata); .data("userdata", userdata);
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
} }
}); });
/* bind parameters dialog cancel button event */ /* bind parameters dialog cancel button event */
$(document).on('click', "#parametersdialog .btn.cancel", function() { $(document).on('click', "#parametersdialog .btn.cancel", function() {
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
}); });
/* bind parameters dialog close button event */ /* bind parameters dialog close button event */
$(document).on('click', "#parametersdialog a.close", function() { $(document).on('click', "#parametersdialog a.close", function() {
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
}); });
} }
}; };

View File

@ -1,5 +1,5 @@
/* /*
* jQuery Smaug Function * jQuery Karbor Function
*/ */
(function ($) { (function ($) {
@ -171,7 +171,7 @@
} }
} }
$.Smaug = { $.Karbor = {
/* get the default resources parameters */ /* get the default resources parameters */
getResourceDefaultParameters: function(provider, schemaname) { getResourceDefaultParameters: function(provider, schemaname) {

View File

@ -32,7 +32,7 @@ function setProtectedResource() {
var resources = []; var resources = [];
var cbResources = $(".cbresource:checked"); var cbResources = $(".cbresource:checked");
var provider = getProvider($("select[name='provider_id']").val()); var provider = getProvider($("select[name='provider_id']").val());
var parameters = $.Smaug.getResourceDefaultParameters(provider, "options_schema"); var parameters = $.Karbor.getResourceDefaultParameters(provider, "options_schema");
if(cbResources != null) { if(cbResources != null) {
cbResources.each(function() { cbResources.each(function() {
var cbResource = $(this); var cbResource = $(this);
@ -132,34 +132,34 @@ horizon.protectionplans_create = {
if(schema != null) { if(schema != null) {
var exist_ui_dialogs = $("body").has(".ui-dialog"); var exist_ui_dialogs = $("body").has(".ui-dialog");
if(exist_ui_dialogs.length == 0){ if(exist_ui_dialogs.length == 0){
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid); var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper"); $.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
} }
} }
}); });
/* bind parameters dialog save button event */ /* bind parameters dialog save button event */
$(document).on('click', "#parametersdialog .btn.btn-primary", function() { $(document).on('click', "#parametersdialog .btn.btn-primary", function() {
var flag = $.Smaug.check_required($("#parametersdialog")); var flag = $.Karbor.check_required($("#parametersdialog"));
if(flag) { if(flag) {
var resourceid = $("#parametersdialog .modal-body").attr("resourceid"); var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
var form_controls = $("#parametersdialog .modal-body .form-control"); var form_controls = $("#parametersdialog .modal-body .form-control");
var userdata = $.Smaug.getDynamicValue(form_controls); var userdata = $.Karbor.getDynamicValue(form_controls);
$("#protectionplanCreateResource").find("tr[resource-id='" + resourceid + "']") $("#protectionplanCreateResource").find("tr[resource-id='" + resourceid + "']")
.find(".editparameters") .find(".editparameters")
.data("userdata", userdata); .data("userdata", userdata);
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
} }
}); });
/* bind parameters dialog cancel button event */ /* bind parameters dialog cancel button event */
$(document).on('click', "#parametersdialog .btn.cancel", function() { $(document).on('click', "#parametersdialog .btn.cancel", function() {
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
}); });
/* bind parameters dialog close button event */ /* bind parameters dialog close button event */
$(document).on('click', "#parametersdialog a.close", function() { $(document).on('click', "#parametersdialog a.close", function() {
$.Smaug.closeDialog("#parametersdialog"); $.Karbor.closeDialog("#parametersdialog");
}); });
} }
}; };

View File

@ -4,7 +4,7 @@
{% block css %} {% block css %}
{% compress css %} {% compress css %}
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}"> <link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
{% endcompress %} {% endcompress %}
{% endblock %} {% endblock %}

View File

@ -7,7 +7,7 @@
{% block css %} {% block css %}
{% compress css %} {% compress css %}
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}"> <link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
{% endcompress %} {% endcompress %}
{% endblock %} {% endblock %}

View File

@ -7,7 +7,7 @@
{% block css %} {% block css %}
{% compress css %} {% compress css %}
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}"> <link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
{% endcompress %} {% endcompress %}
{% endblock %} {% endblock %}

View File

@ -4,7 +4,7 @@
{% block css %} {% block css %}
{% compress css %} {% compress css %}
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}"> <link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
{% endcompress %} {% endcompress %}
{% endblock %} {% endblock %}

View File

@ -0,0 +1,994 @@
# Copyright (c) 2016 Huawei, Inc.
#
# 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.
from django.conf import settings
from django.test.utils import override_settings
from karbor_dashboard.api import karbor
from karbor_dashboard.test import helpers as test
class karborApiTests(test.APITestCase):
def test_plan_get(self):
plan = self.plans.first()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.get(plan["id"]).AndReturn(plan)
self.mox.ReplayAll()
ret_plan = karbor.plan_get(self.request,
plan_id='fake_plan_id1')
self.assertEqual(plan["id"], ret_plan["id"])
def test_plan_create(self):
plan = self.plans.first()
fake_resources = plan["resources"]
fake_parameters = plan["parameters"]
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.create(plan["name"], plan["provider_id"],
plan["resources"],
plan["parameters"]).AndReturn(plan)
self.mox.ReplayAll()
ret_plan = karbor.plan_create(self.request,
name="fake_name_1",
provider_id="fake_provider_id1",
resources=fake_resources,
parameters=fake_parameters)
self.assertEqual(len(plan), len(ret_plan))
def test_plan_delete(self):
plan = self.plans.first()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.delete(plan["id"])
self.mox.ReplayAll()
karbor.plan_delete(self.request,
plan_id="fake_plan_id1")
def test_plan_update(self):
plan = self.plans.first()
plan2 = self.plans.list()[0]
data = {"name": "fake_name_new"}
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.update(plan["id"], data).AndReturn(plan2)
self.mox.ReplayAll()
ret_plan = karbor.plan_update(self.request,
plan_id="fake_plan_id1",
data=data)
self.assertEqual(plan["name"], ret_plan["name"])
def test_plan_list(self):
plans = self.plans.list()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plans)
self.mox.ReplayAll()
ret_list = karbor.plan_list(self.request)
self.assertEqual(len(plans), len(ret_list))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_plan_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
plan = self.plans.list()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_plan_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
plan = self.plans.list()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
self.request, paginate=True)
self.assertEqual(len(plan), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_plan_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
plan = self.plans.list()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.plan_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_plan_list_paged_false(self):
plans = self.plans.list()
karborclient = self.stub_karborclient()
karborclient.plans = self.mox.CreateMockAnything()
karborclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plans)
self.mox.ReplayAll()
plans, has_more_data, has_prev_data = karbor.plan_list_paged(
self.request)
self.assertEqual(len(plans), len(plans))
def test_scheduled_operation_create(self):
scheduled_operation = self.scheduled_operations.first()
operation_definition = {"trigger_id": "fake_trigger_id1",
"plan_id": "fake_plan_id"}
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.create(
"My-scheduled-operation",
"protect",
"fake_trigger_id1",
operation_definition).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_so = karbor.scheduled_operation_create(
self.request,
name="My-scheduled-operation",
operation_type="protect",
trigger_id="fake_trigger_id1",
operation_definition=operation_definition)
self.assertEqual(scheduled_operation["id"], ret_so["id"])
def test_scheduled_operation_delete(self):
scheduled_operation = self.scheduled_operations.first()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.delete(scheduled_operation["id"])
self.mox.ReplayAll()
karbor.scheduled_operation_delete(self.request,
scheduled_operation["id"])
def test_scheduled_operation_list(self):
scheduled_operation = self.scheduled_operations.list()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val = karbor.scheduled_operation_list(self.request)
self.assertEqual(len(scheduled_operation), len(ret_val))
def test_scheduled_operation_list_false(self):
scheduled_operation = self.scheduled_operations.list()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.scheduled_operation_list_paged(self.request, paginate=False)
self.assertEqual(len(scheduled_operation), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_scheduled_operation_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
scd_operation = self.scheduled_operations.list()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_scheduled_operation_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
scd_operation = self.scheduled_operations.list()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(len(scd_operation), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_scheduled_operation_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
scd_operation = self.scheduled_operations.list()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_scheduled_operation_get(self):
scheduled_operation = self.scheduled_operations.first()
karborclient = self.stub_karborclient()
karborclient.scheduled_operations = self.mox.CreateMockAnything()
karborclient.scheduled_operations.get(
scheduled_operation["id"]).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val = karbor.scheduled_operation_get(self.request,
"fake_scheduled_operation_1")
self.assertEqual(scheduled_operation["id"], ret_val["id"])
def test_restore_create(self):
restore = self.restores.first()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.create(restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"]).AndReturn(restore)
self.mox.ReplayAll()
ret_val = karbor.restore_create(self.request,
restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"])
self.assertEqual(restore["id"], ret_val["id"])
def test_restore_delete(self):
restore = self.restores.first()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.delete(restore["id"]).AndReturn(restore)
self.mox.ReplayAll()
karbor.restore_delete(self.request, restore["id"])
def test_restore_list(self):
restores = self.restores.list()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restores)
self.mox.ReplayAll()
ret_val = karbor.restore_list(self.request)
self.assertEqual(len(restores), len(ret_val))
def test_restore_list_false(self):
restores = self.restores.list()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restores)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
self.request, paginate=False)
self.assertEqual(len(restores), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_restore_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
restore_list = self.restores.list()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_restore_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
restore_list = self.restores.list()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
self.request, paginate=True)
self.assertEqual(len(restore_list), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_restore_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
restore_list = self.restores.list()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.restore_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_restore_get(self):
restore = self.restores.first()
karborclient = self.stub_karborclient()
karborclient.restores = self.mox.CreateMockAnything()
karborclient.restores.get(restore["id"]).AndReturn(restore)
self.mox.ReplayAll()
ret_val = karbor.restore_get(self.request, restore["id"])
self.assertEqual(restore["id"], ret_val["id"])
def test_protectable_list(self):
protectables_list = self.protectables_list.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list().AndReturn(protectables_list)
self.mox.ReplayAll()
ret_val = karbor.protectable_list(self.request)
self.assertEqual(len(protectables_list), len(ret_val))
def test_protectable_get(self):
protectable = self.protectables_show.list()[0]
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.get("OS::Nova::Server"
).AndReturn(protectable)
self.mox.ReplayAll()
ret_val = karbor.protectable_get(self.request,
protectable_type="OS::Nova::Server")
self.assertEqual(protectable["name"], ret_val["name"])
def test_protectable_get_instance(self):
protectable = self.protectables_ins.list()[1]
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.get_instance("OS::Nova::Server",
protectable["id"]
).AndReturn(protectable)
self.mox.ReplayAll()
ret_val = karbor.protectable_get_instance(self.request,
"OS::Nova::Server",
protectable["id"]
)
self.assertEqual(protectable["name"], ret_val["name"])
def test_protectable_list_instances(self):
protectable = self.protectables_ins.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list_instances(
protectable_type="OS::Nova::Server",
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(protectable)
self.mox.ReplayAll()
ret_val = karbor.protectable_list_instances(
self.request, protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable), len(ret_val))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_protectable_list_instances_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
protectable_list = self.protectables_ins.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list_instances("OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None,
).AndReturn(protectable_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_protectable_list_instances_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
protectable_list = self.protectables_ins.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list_instances("OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None,
).AndReturn(protectable_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable_list), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_protectable_list_instances_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
protectable_list = self.protectables_ins.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list_instances(
"OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None
).AndReturn(protectable_list[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_protectable_list_instances_false(self):
protectable = self.protectables_ins.list()
karborclient = self.stub_karborclient()
karborclient.protectables = self.mox.CreateMockAnything()
karborclient.protectables.list_instances(
"OS::Nova::Server",
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None
).AndReturn(protectable)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
karbor.protectable_list_instances_paged(
self.request,
protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
def test_provider_list(self):
providers = self.providers.list()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val = karbor.provider_list(self.request)
self.assertEqual(len(providers), len(ret_val))
def test_provider_list_paged_false(self):
providers = self.providers.list()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
self.request, paginate=False)
self.assertEqual(len(providers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_provider_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
providers = self.providers.list()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_provider_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
providers = self.providers.list()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
self.request, paginate=True)
self.assertEqual(len(providers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_provider_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
providers = self.providers.list()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.provider_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_provider_get(self):
provider = self.providers.first()
karborclient = self.stub_karborclient()
karborclient.providers = self.mox.CreateMockAnything()
karborclient.providers.get(provider["id"]).AndReturn(provider)
self.mox.ReplayAll()
ret_provider = karbor.provider_get(self.request,
provider_id="fake_provider_id")
self.assertEqual(provider["name"], ret_provider["name"])
def test_checkpoint_create(self):
checkpoint = self.checkpoints.first()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.create(
checkpoint["provider_id"],
checkpoint["plan"]["plan_id"]).AndReturn(checkpoint)
self.mox.ReplayAll()
ret_checkpoint = karbor.checkpoint_create(
self.request,
provider_id="fake_provider_id",
plan_id="fake_plan_id")
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
def test_checkpoint_delete(self):
checkpoint = self.checkpoints.first()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.delete(checkpoint["provider_id"],
checkpoint["id"])
self.mox.ReplayAll()
karbor.checkpoint_delete(self.request,
provider_id="fake_provider_id",
checkpoint_id="fake_checkpoint_id")
def test_checkpoint_list(self):
checkpoints = self.checkpoints.list()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_checkpoints = karbor.checkpoint_list(self.request)
self.assertEqual(len(checkpoints), len(ret_checkpoints))
def test_checkpoint_list_paged_false(self):
checkpoints = self.checkpoints.list()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
self.request, paginate=False)
self.assertEqual(len(checkpoints), len(ret_val))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_checkpoint_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
checkpoints = self.checkpoints.list()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_checkpoint_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
checkpoints = self.checkpoints.list()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(len(checkpoints), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_checkpoint_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
checkpoint2 = self.checkpoints.list()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.list(
provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoint2[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_checkpoint_get(self):
checkpoint = self.checkpoints.first()
karborclient = self.stub_karborclient()
karborclient.checkpoints = self.mox.CreateMockAnything()
karborclient.checkpoints.get(checkpoint["provider_id"],
checkpoint["id"]).AndReturn(checkpoint)
self.mox.ReplayAll()
ret_checkpoint = karbor.checkpoint_get(
self.request,
provider_id="fake_provider_id",
checkpoint_id="fake_checkpoint_id")
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
def test_trigger_create(self):
trigger = self.triggers.first()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.create(trigger["name"],
trigger["type"],
trigger["properties"]).AndReturn(trigger)
self.mox.ReplayAll()
ret_trigger = karbor.trigger_create(self.request,
trigger["name"],
trigger["type"],
trigger["properties"])
self.assertEqual(trigger["id"], ret_trigger["id"])
def test_trigger_delete(self):
trigger = self.triggers.first()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.delete(trigger["id"])
self.mox.ReplayAll()
karbor.trigger_delete(self.request, trigger["id"])
def test_trigger_list(self):
ret_triggers = self.triggers.list()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.list(detailed=False,
limit=None,
marker=None,
search_opts=None,
sort=None,
sort_dir=None,
sort_key=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val = karbor.trigger_list(self.request)
self.assertEqual(len(ret_triggers), len(ret_val))
def test_trigger_list_paged_false(self):
ret_triggers = self.triggers.list()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
self.request)
self.assertEqual(len(ret_triggers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_trigger_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
ret_triggers = self.triggers.list()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_trigger_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
ret_triggers = self.triggers.list()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(len(ret_triggers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_trigger_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
trigger2 = self.triggers.list()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(trigger2[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = karbor.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_trigger_get(self):
trigger = self.triggers.first()
karborclient = self.stub_karborclient()
karborclient.triggers = self.mox.CreateMockAnything()
karborclient.triggers.get(trigger["id"]).AndReturn(trigger)
self.mox.ReplayAll()
ret_trigger = karbor.trigger_get(self.request,
trigger_id="fake_trigger_id")
self.assertEqual(trigger["id"], ret_trigger["id"])

View File

@ -12,19 +12,19 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
from karbor_dashboard import api
from karbor_dashboard.test import test_data
from karborclient.v1 import client as karbor_client
from openstack_dashboard.test import helpers from openstack_dashboard.test import helpers
from smaug_dashboard import api
from smaug_dashboard.test import test_data
from smaugclient.v1 import client as smaug_client
class APITestCase(helpers.APITestCase): class APITestCase(helpers.APITestCase):
"""Extends the base Horizon APITestCase for smaugclient""" """Extends the base Horizon APITestCase for karborclient"""
def setUp(self): def setUp(self):
super(APITestCase, self).setUp() super(APITestCase, self).setUp()
self._original_smaugclient = api.smaug.smaugclient self._original_karborclient = api.karbor.karborclient
api.smaug.smaugclient = lambda request: self.stub_smaugclient() api.karbor.karborclient = lambda request: self.stub_karborclient()
def _setup_test_data(self): def _setup_test_data(self):
super(APITestCase, self)._setup_test_data() super(APITestCase, self)._setup_test_data()
@ -32,10 +32,10 @@ class APITestCase(helpers.APITestCase):
def tearDown(self): def tearDown(self):
super(APITestCase, self).tearDown() super(APITestCase, self).tearDown()
api.smaug.smaugclient = self._original_smaugclient api.karbor.karborclient = self._original_karborclient
def stub_smaugclient(self): def stub_karborclient(self):
if not hasattr(self, "smaugclient"): if not hasattr(self, "karborclient"):
self.mox.StubOutWithMock(smaug_client, 'Client') self.mox.StubOutWithMock(karbor_client, 'Client')
self.smaugclient = self.mox.CreateMock(smaug_client.Client) self.karborclient = self.mox.CreateMock(karbor_client.Client)
return self.smaugclient return self.karborclient

View File

@ -33,7 +33,7 @@ STATIC_URL = '/static/'
SECRET_KEY = secret_key.generate_or_read_from_file( SECRET_KEY = secret_key.generate_or_read_from_file(
os.path.join(TEST_DIR, '.secret_key_store')) os.path.join(TEST_DIR, '.secret_key_store'))
ROOT_URLCONF = 'smaug_dashboard.test.urls' ROOT_URLCONF = 'karbor_dashboard.test.urls'
TEMPLATE_DIRS = ( TEMPLATE_DIRS = (
os.path.join(TEST_DIR, 'templates'), os.path.join(TEST_DIR, 'templates'),
) )
@ -80,7 +80,7 @@ from openstack_dashboard.utils import settings
dashboard_module_names = [ dashboard_module_names = [
'openstack_dashboard.enabled', 'openstack_dashboard.enabled',
'openstack_dashboard.local.enabled', 'openstack_dashboard.local.enabled',
'smaug_dashboard.enabled', 'karbor_dashboard.enabled',
] ]
dashboard_modules = [] dashboard_modules = []
# All dashboards must be enabled for the namespace to get registered, which is # All dashboards must be enabled for the namespace to get registered, which is
@ -151,7 +151,7 @@ LOGGING['loggers']['selenium'] = {
'propagate': False, 'propagate': False,
} }
LOGGING['loggers']['smaug_dashboard'] = { LOGGING['loggers']['karbor_dashboard'] = {
'handlers': ['test'], 'handlers': ['test'],
'propagate': False, 'propagate': False,
} }

View File

@ -19,8 +19,8 @@ from horizon import exceptions
from horizon import forms as horizon_forms from horizon import forms as horizon_forms
from horizon import messages from horizon import messages
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.triggers import utils from karbor_dashboard.triggers import utils
class CreateTriggerForm(horizon_forms.SelfHandlingForm): class CreateTriggerForm(horizon_forms.SelfHandlingForm):
@ -66,10 +66,10 @@ class CreateTriggerForm(horizon_forms.SelfHandlingForm):
def handle(self, request, data): def handle(self, request, data):
try: try:
data_properties = utils.CrontabUtil.convert_to_crontab(data) data_properties = utils.CrontabUtil.convert_to_crontab(data)
new_trigger = smaugclient.trigger_create(request, new_trigger = karborclient.trigger_create(request,
data["name"], data["name"],
data["type"], data["type"],
data_properties) data_properties)
messages.success(request, _("Trigger created successfully.")) messages.success(request, _("Trigger created successfully."))
return new_trigger return new_trigger

View File

@ -15,7 +15,7 @@
from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ugettext_lazy as _
import horizon import horizon
from smaug_dashboard import dashboard from karbor_dashboard import dashboard
class Triggers(horizon.Panel): class Triggers(horizon.Panel):

View File

@ -17,13 +17,13 @@ from django.utils.translation import ungettext_lazy
from horizon import tables from horizon import tables
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
class CreateTriggerLink(tables.LinkAction): class CreateTriggerLink(tables.LinkAction):
name = "create" name = "create"
verbose_name = _("Create Trigger") verbose_name = _("Create Trigger")
url = "horizon:smaug:triggers:create" url = "horizon:karbor:triggers:create"
classes = ("ajax-modal",) classes = ("ajax-modal",)
icon = "plus" icon = "plus"
@ -48,7 +48,7 @@ class DeleteTriggersAction(tables.DeleteAction):
return True return True
def delete(self, request, obj_id): def delete(self, request, obj_id):
smaugclient.trigger_delete(request, obj_id) karborclient.trigger_delete(request, obj_id)
class TriggerFilterAction(tables.FilterAction): class TriggerFilterAction(tables.FilterAction):
@ -61,7 +61,7 @@ class TriggerFilterAction(tables.FilterAction):
class TriggersTable(tables.DataTable): class TriggersTable(tables.DataTable):
name = tables.Column('name', name = tables.Column('name',
link="horizon:smaug:triggers:detail", link="horizon:karbor:triggers:detail",
verbose_name=_('Name')) verbose_name=_('Name'))
type = tables.Column('type', type = tables.Column('type',
verbose_name=_('Type')) verbose_name=_('Type'))

View File

@ -13,7 +13,7 @@
# under the License. # under the License.
from django.conf.urls import url from django.conf.urls import url
from smaug_dashboard.triggers import views from karbor_dashboard.triggers import views
urlpatterns = [ urlpatterns = [

View File

@ -22,10 +22,10 @@ from horizon import tables as horizon_tables
from horizon.utils import memoized from horizon.utils import memoized
from horizon import views as horizon_views from horizon import views as horizon_views
from smaug_dashboard.api import smaug as smaugclient from karbor_dashboard.api import karbor as karborclient
from smaug_dashboard.triggers import forms from karbor_dashboard.triggers import forms
from smaug_dashboard.triggers import tables from karbor_dashboard.triggers import tables
from smaug_dashboard.triggers import utils from karbor_dashboard.triggers import utils
class IndexView(horizon_tables.DataTableView): class IndexView(horizon_tables.DataTableView):
@ -52,7 +52,7 @@ class IndexView(horizon_tables.DataTableView):
reversed_order = prev_marker is not None reversed_order = prev_marker is not None
triggers = [] triggers = []
try: try:
triggers, self._more, self._prev = smaugclient.trigger_list_paged( triggers, self._more, self._prev = karborclient.trigger_list_paged(
request, None, request, None,
marker=marker, marker=marker,
paginate=True, paginate=True,
@ -73,8 +73,8 @@ class CreateView(horizon_forms.ModalFormView):
form_id = "create_trigger_form" form_id = "create_trigger_form"
form_class = forms.CreateTriggerForm form_class = forms.CreateTriggerForm
submit_label = _("Create Trigger") submit_label = _("Create Trigger")
submit_url = reverse_lazy("horizon:smaug:triggers:create") submit_url = reverse_lazy("horizon:karbor:triggers:create")
success_url = reverse_lazy('horizon:smaug:triggers:index') success_url = reverse_lazy('horizon:karbor:triggers:index')
page_title = _("Create Trigger") page_title = _("Create Trigger")
@ -96,7 +96,7 @@ class DetailView(horizon_views.HorizonTemplateView):
setattr(trigger, key, value) setattr(trigger, key, value)
context["trigger"] = trigger context["trigger"] = trigger
context["url"] = reverse("horizon:smaug:triggers:index") context["url"] = reverse("horizon:karbor:triggers:index")
context["actions"] = table.render_row_actions(trigger) context["actions"] = table.render_row_actions(trigger)
return context return context
@ -104,10 +104,10 @@ class DetailView(horizon_views.HorizonTemplateView):
def get_data(self): def get_data(self):
try: try:
trigger_id = self.kwargs['trigger_id'] trigger_id = self.kwargs['trigger_id']
trigger = smaugclient.trigger_get(self.request, trigger_id) trigger = karborclient.trigger_get(self.request, trigger_id)
except Exception: except Exception:
exceptions.handle( exceptions.handle(
self.request, self.request,
_('Unable to retrieve trigger details.'), _('Unable to retrieve trigger details.'),
redirect=reverse("horizon:smaug:triggers:index")) redirect=reverse("horizon:karbor:triggers:index"))
return trigger return trigger

View File

@ -16,5 +16,5 @@
from pbr import version from pbr import version
version_info = version.VersionInfo('smaug-dashboard') version_info = version.VersionInfo('karbor-dashboard')
__version__ = version_info.cached_version_string() __version__ = version_info.cached_version_string()

View File

@ -16,4 +16,4 @@ import horizon
def get_user_home(user): def get_user_home(user):
return horizon.get_dashboard('smaug').get_absolute_url() return horizon.get_dashboard('karbor').get_absolute_url()

View File

@ -19,5 +19,5 @@ from django.core.management import execute_from_command_line # noqa
if __name__ == "__main__": if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"smaug_dashboard.test.settings") "karbor_dashboard.test.settings")
execute_from_command_line(sys.argv) execute_from_command_line(sys.argv)

View File

@ -36,4 +36,3 @@ XStatic-Rickshaw>=1.5.0 # BSD License (prior)
XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License XStatic-smart-table!=1.4.13.0,>=1.4.5.3 # MIT License
XStatic-Spin>=1.2.5.2 # MIT License XStatic-Spin>=1.2.5.2 # MIT License
XStatic-term.js>=0.0.4 # MIT License XStatic-term.js>=0.0.4 # MIT License
python-smaugclient>=0.0.5 # Apache-2.0

View File

@ -57,7 +57,7 @@ root=`pwd -P`
venv=$root/.venv venv=$root/.venv
venv_env_version=$venv/environments venv_env_version=$venv/environments
with_venv=tools/with_venv.sh with_venv=tools/with_venv.sh
included_dirs="smaug_dashboard" included_dirs="karbor_dashboard"
always_venv=0 always_venv=0
backup_env=0 backup_env=0
@ -187,7 +187,7 @@ function warn_on_flake8_without_venv {
function run_pep8 { function run_pep8 {
echo "Running flake8 ..." echo "Running flake8 ..."
warn_on_flake8_without_venv warn_on_flake8_without_venv
DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} flake8 DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} flake8
} }
function run_pep8_changed { function run_pep8_changed {
@ -200,13 +200,13 @@ function run_pep8_changed {
files=$(git diff --name-only $base_commit | tr '\n' ' ') files=$(git diff --name-only $base_commit | tr '\n' ' ')
echo "Running flake8 on ${files}" echo "Running flake8 on ${files}"
warn_on_flake8_without_venv warn_on_flake8_without_venv
diff -u --from-file /dev/null ${files} | DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} flake8 --diff diff -u --from-file /dev/null ${files} | DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} flake8 --diff
exit exit
} }
function run_sphinx { function run_sphinx {
echo "Building sphinx..." echo "Building sphinx..."
DJANGO_SETTINGS_MODULE=smaug_dashboard.test.settings ${command_wrapper} python setup.py build_sphinx DJANGO_SETTINGS_MODULE=karbor_dashboard.test.settings ${command_wrapper} python setup.py build_sphinx
echo "Build complete." echo "Build complete."
} }
@ -340,7 +340,7 @@ function run_tests {
fi fi
if [ $with_selenium -eq 0 -a $integration -eq 0 ]; then if [ $with_selenium -eq 0 -a $integration -eq 0 ]; then
testopts="$testopts --exclude-dir=smaug_dashboard/test/integration_tests" testopts="$testopts --exclude-dir=karbor_dashboard/test/integration_tests"
fi fi
if [ $selenium_headless -eq 1 ]; then if [ $selenium_headless -eq 1 ]; then
@ -360,12 +360,12 @@ function run_tests_subset {
} }
function run_tests_all { function run_tests_all {
echo "Running Smaug Dashboard tests" echo "Running Karbor Dashboard tests"
export NOSE_XUNIT_FILE=smaug_dashboard/nosetests.xml export NOSE_XUNIT_FILE=karbor_dashboard/nosetests.xml
if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then
export NOSE_HTML_OUT_FILE='dashboard_nose_results.html' export NOSE_HTML_OUT_FILE='dashboard_nose_results.html'
fi fi
${command_wrapper} ${coverage_run} $root/manage.py test smaug_dashboard --settings=openstack_dashboard.test.settings $testopts ${command_wrapper} ${coverage_run} $root/manage.py test karbor_dashboard --settings=openstack_dashboard.test.settings $testopts
# get results of the openstack_dashboard tests # get results of the openstack_dashboard tests
DASHBOARD_RESULT=$? DASHBOARD_RESULT=$?
@ -420,21 +420,21 @@ function babel_extract {
function run_makemessages { function run_makemessages {
echo -n "smaug dashboard: " echo -n "karbor dashboard: "
cd smaug_dashboard cd karbor_dashboard
babel_extract django babel_extract django
SMAUG_PY_RESULT=$? KARBOR_PY_RESULT=$?
echo -n "smaug dashboard javascript: " echo -n "karbor dashboard javascript: "
babel_extract djangojs babel_extract djangojs
SMAUG_JS_RESULT=$? KARBOR_JS_RESULT=$?
cd .. cd ..
if [ $check_only -eq 1 ]; then if [ $check_only -eq 1 ]; then
rm smaug_dashboard/locale/django*.pot rm karbor_dashboard/locale/django*.pot
fi fi
exit $(($SMAUG_PY_RESULT || $SMAUG_JS_RESULT)) exit $(($KARBOR_PY_RESULT || $KARBOR_JS_RESULT))
} }
function run_compilemessages { function run_compilemessages {

View File

@ -1,7 +1,7 @@
[metadata] [metadata]
name = smaug-dashboard name = karbor-dashboard
version = 0.0.1 version = 0.0.1
summary = Smaug Dashboard summary = Karbor Dashboard
description-file = description-file =
README.rst README.rst
author = OpenStack author = OpenStack
@ -21,7 +21,7 @@ classifier =
[files] [files]
packages = packages =
smaug_dashboard karbor_dashboard
[build_sphinx] [build_sphinx]
source-dir = doc/source source-dir = doc/source

View File

@ -1,993 +0,0 @@
# Copyright (c) 2016 Huawei, Inc.
#
# 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.
from django.conf import settings
from django.test.utils import override_settings
from smaug_dashboard.api import smaug
from smaug_dashboard.test import helpers as test
class SmaugApiTests(test.APITestCase):
def test_plan_get(self):
plan = self.plans.first()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.get(plan["id"]).AndReturn(plan)
self.mox.ReplayAll()
ret_plan = smaug.plan_get(self.request,
plan_id='fake_plan_id1')
self.assertEqual(plan["id"], ret_plan["id"])
def test_plan_create(self):
plan = self.plans.first()
fake_resources = plan["resources"]
fake_parameters = plan["parameters"]
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.create(plan["name"], plan["provider_id"],
plan["resources"],
plan["parameters"]).AndReturn(plan)
self.mox.ReplayAll()
ret_plan = smaug.plan_create(self.request,
name="fake_name_1",
provider_id="fake_provider_id1",
resources=fake_resources,
parameters=fake_parameters)
self.assertEqual(len(plan), len(ret_plan))
def test_plan_delete(self):
plan = self.plans.first()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.delete(plan["id"])
self.mox.ReplayAll()
smaug.plan_delete(self.request,
plan_id="fake_plan_id1")
def test_plan_update(self):
plan = self.plans.first()
plan2 = self.plans.list()[0]
data = {"name": "fake_name_new"}
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.update(plan["id"], data).AndReturn(plan2)
self.mox.ReplayAll()
ret_plan = smaug.plan_update(self.request,
plan_id="fake_plan_id1",
data=data)
self.assertEqual(plan["name"], ret_plan["name"])
def test_plan_list(self):
plans = self.plans.list()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plans)
self.mox.ReplayAll()
ret_list = smaug.plan_list(self.request)
self.assertEqual(len(plans), len(ret_list))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_plan_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
plan = self.plans.list()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_plan_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
plan = self.plans.list()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
self.request, paginate=True)
self.assertEqual(len(plan), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_plan_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
plan = self.plans.list()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plan[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.plan_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_plan_list_paged_false(self):
plans = self.plans.list()
smaugclient = self.stub_smaugclient()
smaugclient.plans = self.mox.CreateMockAnything()
smaugclient.plans.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(plans)
self.mox.ReplayAll()
plans, has_more_data, has_prev_data = smaug.plan_list_paged(
self.request)
self.assertEqual(len(plans), len(plans))
def test_scheduled_operation_create(self):
scheduled_operation = self.scheduled_operations.first()
operation_definition = {"trigger_id": "fake_trigger_id1",
"plan_id": "fake_plan_id"}
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.create(
"My-scheduled-operation",
"protect",
"fake_trigger_id1",
operation_definition).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_so = smaug.scheduled_operation_create(
self.request,
name="My-scheduled-operation",
operation_type="protect",
trigger_id="fake_trigger_id1",
operation_definition=operation_definition)
self.assertEqual(scheduled_operation["id"], ret_so["id"])
def test_scheduled_operation_delete(self):
scheduled_operation = self.scheduled_operations.first()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.delete(scheduled_operation["id"])
self.mox.ReplayAll()
smaug.scheduled_operation_delete(self.request,
scheduled_operation["id"])
def test_scheduled_operation_list(self):
scheduled_operation = self.scheduled_operations.list()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val = smaug.scheduled_operation_list(self.request)
self.assertEqual(len(scheduled_operation), len(ret_val))
def test_scheduled_operation_list_false(self):
scheduled_operation = self.scheduled_operations.list()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.scheduled_operation_list_paged(self.request, paginate=False)
self.assertEqual(len(scheduled_operation), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_scheduled_operation_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
scd_operation = self.scheduled_operations.list()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_scheduled_operation_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
scd_operation = self.scheduled_operations.list()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(len(scd_operation), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_scheduled_operation_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
scd_operation = self.scheduled_operations.list()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(scd_operation[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.scheduled_operation_list_paged(self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_scheduled_operation_get(self):
scheduled_operation = self.scheduled_operations.first()
smaugclient = self.stub_smaugclient()
smaugclient.scheduled_operations = self.mox.CreateMockAnything()
smaugclient.scheduled_operations.get(
scheduled_operation["id"]).AndReturn(scheduled_operation)
self.mox.ReplayAll()
ret_val = smaug.scheduled_operation_get(self.request,
"fake_scheduled_operation_1")
self.assertEqual(scheduled_operation["id"], ret_val["id"])
def test_restore_create(self):
restore = self.restores.first()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.create(restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"]).AndReturn(restore)
self.mox.ReplayAll()
ret_val = smaug.restore_create(self.request,
restore["provider_id"],
restore["checkpoint_id"],
restore["restore_target"],
restore["parameters"])
self.assertEqual(restore["id"], ret_val["id"])
def test_restore_delete(self):
restore = self.restores.first()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.delete(restore["id"]).AndReturn(restore)
self.mox.ReplayAll()
smaug.restore_delete(self.request, restore["id"])
def test_restore_list(self):
restores = self.restores.list()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restores)
self.mox.ReplayAll()
ret_val = smaug.restore_list(self.request)
self.assertEqual(len(restores), len(ret_val))
def test_restore_list_false(self):
restores = self.restores.list()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restores)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
self.request, paginate=False)
self.assertEqual(len(restores), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_restore_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
restore_list = self.restores.list()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_restore_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
restore_list = self.restores.list()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
self.request, paginate=True)
self.assertEqual(len(restore_list), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_restore_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
restore_list = self.restores.list()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(restore_list[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.restore_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_restore_get(self):
restore = self.restores.first()
smaugclient = self.stub_smaugclient()
smaugclient.restores = self.mox.CreateMockAnything()
smaugclient.restores.get(restore["id"]).AndReturn(restore)
self.mox.ReplayAll()
ret_val = smaug.restore_get(self.request, restore["id"])
self.assertEqual(restore["id"], ret_val["id"])
def test_protectable_list(self):
protectables_list = self.protectables_list.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list().AndReturn(protectables_list)
self.mox.ReplayAll()
ret_val = smaug.protectable_list(self.request)
self.assertEqual(len(protectables_list), len(ret_val))
def test_protectable_get(self):
protectable = self.protectables_show.list()[0]
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.get("OS::Nova::Server").AndReturn(protectable)
self.mox.ReplayAll()
ret_val = smaug.protectable_get(self.request,
protectable_type="OS::Nova::Server")
self.assertEqual(protectable["name"], ret_val["name"])
def test_protectable_get_instance(self):
protectable = self.protectables_ins.list()[1]
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.get_instance("OS::Nova::Server",
protectable["id"]
).AndReturn(protectable)
self.mox.ReplayAll()
ret_val = smaug.protectable_get_instance(self.request,
"OS::Nova::Server",
protectable["id"]
)
self.assertEqual(protectable["name"], ret_val["name"])
def test_protectable_list_instances(self):
protectable = self.protectables_ins.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list_instances(
protectable_type="OS::Nova::Server",
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(protectable)
self.mox.ReplayAll()
ret_val = smaug.protectable_list_instances(
self.request, protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable), len(ret_val))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_protectable_list_instances_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
protectable_list = self.protectables_ins.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list_instances("OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None,
).AndReturn(protectable_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_protectable_list_instances_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
protectable_list = self.protectables_ins.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list_instances("OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None,
).AndReturn(protectable_list)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable_list), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_protectable_list_instances_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
protectable_list = self.protectables_ins.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list_instances(
"OS::Nova::Server",
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None
).AndReturn(protectable_list[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.protectable_list_instances_paged(
self.request,
paginate=True,
protectable_type="OS::Nova::Server")
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_protectable_list_instances_false(self):
protectable = self.protectables_ins.list()
smaugclient = self.stub_smaugclient()
smaugclient.protectables = self.mox.CreateMockAnything()
smaugclient.protectables.list_instances(
"OS::Nova::Server",
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None
).AndReturn(protectable)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = \
smaug.protectable_list_instances_paged(
self.request,
protectable_type="OS::Nova::Server")
self.assertEqual(len(protectable), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
def test_provider_list(self):
providers = self.providers.list()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val = smaug.provider_list(self.request)
self.assertEqual(len(providers), len(ret_val))
def test_provider_list_paged_false(self):
providers = self.providers.list()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
self.request, paginate=False)
self.assertEqual(len(providers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_provider_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
providers = self.providers.list()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_provider_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
providers = self.providers.list()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
self.request, paginate=True)
self.assertEqual(len(providers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_provider_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
providers = self.providers.list()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(providers[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.provider_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_provider_get(self):
provider = self.providers.first()
smaugclient = self.stub_smaugclient()
smaugclient.providers = self.mox.CreateMockAnything()
smaugclient.providers.get(provider["id"]).AndReturn(provider)
self.mox.ReplayAll()
ret_provider = smaug.provider_get(self.request,
provider_id="fake_provider_id")
self.assertEqual(provider["name"], ret_provider["name"])
def test_checkpoint_create(self):
checkpoint = self.checkpoints.first()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.create(
checkpoint["provider_id"],
checkpoint["plan"]["plan_id"]).AndReturn(checkpoint)
self.mox.ReplayAll()
ret_checkpoint = smaug.checkpoint_create(
self.request,
provider_id="fake_provider_id",
plan_id="fake_plan_id")
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
def test_checkpoint_delete(self):
checkpoint = self.checkpoints.first()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.delete(checkpoint["provider_id"],
checkpoint["id"])
self.mox.ReplayAll()
smaug.checkpoint_delete(self.request,
provider_id="fake_provider_id",
checkpoint_id="fake_checkpoint_id")
def test_checkpoint_list(self):
checkpoints = self.checkpoints.list()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_checkpoints = smaug.checkpoint_list(self.request)
self.assertEqual(len(checkpoints), len(ret_checkpoints))
def test_checkpoint_list_paged_false(self):
checkpoints = self.checkpoints.list()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
self.request, paginate=False)
self.assertEqual(len(checkpoints), len(ret_val))
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_checkpoint_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
checkpoints = self.checkpoints.list()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_checkpoint_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
checkpoints = self.checkpoints.list()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.list(provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoints)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(len(checkpoints), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_checkpoint_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
checkpoint2 = self.checkpoints.list()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.list(
provider_id=None,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(checkpoint2[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.checkpoint_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_checkpoint_get(self):
checkpoint = self.checkpoints.first()
smaugclient = self.stub_smaugclient()
smaugclient.checkpoints = self.mox.CreateMockAnything()
smaugclient.checkpoints.get(checkpoint["provider_id"],
checkpoint["id"]).AndReturn(checkpoint)
self.mox.ReplayAll()
ret_checkpoint = smaug.checkpoint_get(
self.request,
provider_id="fake_provider_id",
checkpoint_id="fake_checkpoint_id")
self.assertEqual(checkpoint["id"], ret_checkpoint["id"])
def test_trigger_create(self):
trigger = self.triggers.first()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.create(trigger["name"],
trigger["type"],
trigger["properties"]).AndReturn(trigger)
self.mox.ReplayAll()
ret_trigger = smaug.trigger_create(self.request,
trigger["name"],
trigger["type"],
trigger["properties"])
self.assertEqual(trigger["id"], ret_trigger["id"])
def test_trigger_delete(self):
trigger = self.triggers.first()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.delete(trigger["id"])
self.mox.ReplayAll()
smaug.trigger_delete(self.request, trigger["id"])
def test_trigger_list(self):
ret_triggers = self.triggers.list()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.list(detailed=False,
limit=None,
marker=None,
search_opts=None,
sort=None,
sort_dir=None,
sort_key=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val = smaug.trigger_list(self.request)
self.assertEqual(len(ret_triggers), len(ret_val))
def test_trigger_list_paged_false(self):
ret_triggers = self.triggers.list()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=None,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
self.request)
self.assertEqual(len(ret_triggers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=4)
def test_trigger_list_paged_equal_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 4)
ret_triggers = self.triggers.list()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=20)
def test_trigger_list_paged_less_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 20)
ret_triggers = self.triggers.list()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.list(detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(ret_triggers)
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(len(ret_triggers), len(ret_val))
self.assertFalse(has_more_data)
self.assertFalse(has_prev_data)
@override_settings(API_RESULT_PAGE_SIZE=1)
def test_trigger_list_paged_more_page_size(self):
page_size = getattr(settings, 'API_RESULT_PAGE_SIZE', 1)
trigger2 = self.triggers.list()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.list(
detailed=False,
search_opts=None,
marker=None,
limit=page_size + 1,
sort_key=None,
sort_dir=None,
sort=None).AndReturn(trigger2[:page_size + 1])
self.mox.ReplayAll()
ret_val, has_more_data, has_prev_data = smaug.trigger_list_paged(
self.request, paginate=True)
self.assertEqual(page_size, len(ret_val))
self.assertTrue(has_more_data)
self.assertFalse(has_prev_data)
def test_trigger_get(self):
trigger = self.triggers.first()
smaugclient = self.stub_smaugclient()
smaugclient.triggers = self.mox.CreateMockAnything()
smaugclient.triggers.get(trigger["id"]).AndReturn(trigger)
self.mox.ReplayAll()
ret_trigger = smaug.trigger_get(self.request,
trigger_id="fake_trigger_id")
self.assertEqual(trigger["id"], ret_trigger["id"])

Some files were not shown because too many files have changed in this diff Show More