Rename Smaug Dashboard to Karbor

Smaug has been renamed to Karbor.
Adjust Dashboard accordingly.

Change-Id: I626c5937abff0f0ebdb1fbc91b72053f92f4390f
This commit is contained in:
xiangxinyong 2016-08-17 15:24:09 +08:00
parent cea109e079
commit 0914f30a04
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:
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/

View File

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

View File

@ -1,20 +1,20 @@
===============================
smaug-dashboard
karbor-dashboard
===============================
Smaug Dashboard
Karbor Dashboard
* Free software: Apache license
* Source: http://git.openstack.org/cgit/openstack/smaug-dashboard
* Bugs: http://bugs.launchpad.net/smaug-dashboard
* Source: http://git.openstack.org/cgit/openstack/karbor-dashboard
* Bugs: http://bugs.launchpad.net/karbor-dashboard
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/smaug-dashboard
git clone https://git.openstack.org/openstack/karbor-dashboard
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.)
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::
cp ../smaug-dashboard/smaug_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 ../smaug-dashboard/smaug_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 ../smaug-dashboard/smaug_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/_6000_data_protection.py openstack_dashboard/local/enabled
cp ../karbor-dashboard/karbor_dashboard/enabled/_6010_data_protection_protection_plans_panel.py openstack_dashboard/local/enabled
cp ../karbor-dashboard/karbor_dashboard/enabled/_6020_data_protection_protection_providers_panel.py openstack_dashboard/local/enabled
cp ../karbor-dashboard/karbor_dashboard/enabled/_6030_data_protection_checkpoints_panel.py openstack_dashboard/local/enabled
cp ../karbor-dashboard/karbor_dashboard/enabled/_6040_data_protection_operation_logs_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

View File

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

View File

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

View File

@ -16,4 +16,4 @@ import pbr.version
__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.utils import functions as utils
from horizon.utils.memoized import memoized
from karborclient.v1 import client as karbor_client
from openstack_dashboard.api import base
from smaugclient.v1 import client as smaug_client
LOG = logging.getLogger(__name__)
def get_smaug_endpoint(request):
def get_karbor_endpoint(request):
endpoint = ""
try:
endpoint = base.url_for(request, "data-protect")
except exceptions.ServiceCatalogException:
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))
return endpoint
@memoized
def smaugclient(request):
endpoint = get_smaug_endpoint(request)
LOG.debug('smaugclient connection created using the token "%s" and url'
def karborclient(request):
endpoint = get_karbor_endpoint(request)
LOG.debug('karborclient connection created using the token "%s" and url'
'"%s"' % (request.user.token.id, endpoint))
c = smaug_client.Client(endpoint=endpoint,
auth_url=getattr(settings,
'OPENSTACK_KEYSTONE_URL'),
token=request.user.token.id,
username=request.user.username,
project_id=request.user.tenant_id,
auth_plugin='token',
)
c = karbor_client.Client(endpoint=endpoint,
auth_url=getattr(settings,
'OPENSTACK_KEYSTONE_URL'),
token=request.user.token.id,
username=request.user.username,
project_id=request.user.tenant_id,
auth_plugin='token',
)
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):
return smaugclient(request).plans.create(name, provider_id, resources,
parameters)
return karborclient(request).plans.create(name, provider_id, resources,
parameters)
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):
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,
limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
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:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
plans = smaugclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
plans = karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
plans, has_more_data, has_prev_data = update_pagination(
plans, page_size, marker, sort_dir, sort_key, reversed_order)
else:
plans = smaugclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
plans = karborclient(request).plans.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return (plans, has_more_data, has_prev_data)
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,
operation_definition):
return smaugclient(request).scheduled_operations.create(
return karborclient(request).scheduled_operations.create(
name,
operation_type,
trigger_id,
@ -144,14 +144,14 @@ def scheduled_operation_create(request, name, operation_type, trigger_id,
def scheduled_operation_delete(request, scheduled_operation_id):
return smaugclient(request).scheduled_operations.delete(
return karborclient(request).scheduled_operations.delete(
scheduled_operation_id)
def scheduled_operation_list(request, detailed=False, search_opts=None,
marker=None, limit=None, sort_key=None,
sort_dir=None, sort=None):
return smaugclient(request).scheduled_operations.list(
return karborclient(request).scheduled_operations.list(
detailed=detailed,
search_opts=search_opts,
marker=marker,
@ -172,7 +172,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
scheduled_operations = smaugclient(request).scheduled_operations.list(
scheduled_operations = karborclient(request).scheduled_operations.list(
detailed=detailed,
search_opts=search_opts,
marker=marker,
@ -188,7 +188,7 @@ def scheduled_operation_list_paged(request, detailed=False, search_opts=None,
sort_key,
reversed_order)
else:
scheduled_operations = smaugclient(request).scheduled_operations.list(
scheduled_operations = karborclient(request).scheduled_operations.list(
detailed=detailed,
search_opts=search_opts,
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):
return smaugclient(request).scheduled_operations.get(
return karborclient(request).scheduled_operations.get(
scheduled_operation_id)
def restore_create(request, provider_id, checkpoint_id,
restore_target, parameters):
return smaugclient(request).restores.create(provider_id,
checkpoint_id,
restore_target,
parameters)
return karborclient(request).restores.create(provider_id,
checkpoint_id,
restore_target,
parameters)
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,
limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
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:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
restores = smaugclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
restores = karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
restores, has_more_data, has_prev_data = update_pagination(
restores, page_size, marker, sort_dir, sort_key, reversed_order)
else:
restores = smaugclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
restores = karborclient(request).restores.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return (restores, has_more_data, has_prev_data)
def restore_get(request, restore_id):
return smaugclient(request).restores.get(restore_id)
return karborclient(request).restores.get(restore_id)
def protectable_list(request):
return smaugclient(request).protectables.list()
return karborclient(request).protectables.list()
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,
marker=None, limit=None, sort_key=None,
sort_dir=None, sort=None):
return smaugclient(request).protectables.list_instances(
return karborclient(request).protectables.list_instances(
protectable_type=protectable_type,
search_opts=search_opts,
marker=marker,
@ -295,7 +295,7 @@ def protectable_list_instances_paged(request, protectable_type,
if reversed_order:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
instances = smaugclient(request).protectables.list_instances(
instances = karborclient(request).protectables.list_instances(
protectable_type,
search_opts=search_opts,
marker=marker,
@ -306,7 +306,7 @@ def protectable_list_instances_paged(request, protectable_type,
instances, has_more_data, has_prev_data = update_pagination(
instances, page_size, marker, sort_dir, sort_key, reversed_order)
else:
instances = smaugclient(request).protectables.list_instances(
instances = karborclient(request).protectables.list_instances(
protectable_type,
search_opts=search_opts,
marker=marker,
@ -319,18 +319,18 @@ def protectable_list_instances_paged(request, protectable_type,
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,
limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).providers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return karborclient(request).providers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
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:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
providers = smaugclient(request).providers.list(
providers = karborclient(request).providers.list(
detailed=detailed,
search_opts=search_opts,
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, page_size, marker, sort_dir, sort_key, reversed_order)
else:
providers = smaugclient(request).providers.list(
providers = karborclient(request).providers.list(
detailed=detailed,
search_opts=search_opts,
marker=marker,
@ -367,26 +367,26 @@ def provider_list_paged(request, detailed=False, search_opts=None, marker=None,
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):
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):
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,
limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).checkpoints.list(provider_id=provider_id,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return karborclient(request).checkpoints.list(provider_id=provider_id,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
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:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
checkpoints = smaugclient(request).checkpoints.list(
checkpoints = karborclient(request).checkpoints.list(
provider_id=provider_id,
search_opts=search_opts,
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, page_size, marker, sort_dir, sort_key, reversed_order)
else:
checkpoints = smaugclient(request).checkpoints.list(
checkpoints = karborclient(request).checkpoints.list(
provider_id=provider_id,
search_opts=search_opts,
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):
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):
return smaugclient(request).triggers.create(name, type, properties)
return karborclient(request).triggers.create(name, type, properties)
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,
limit=None, sort_key=None, sort_dir=None, sort=None):
return smaugclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
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:
sort_dir = 'desc' if sort_dir == 'asc' else 'asc'
page_size = utils.get_page_size(request)
triggers = smaugclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
triggers = karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=page_size + 1,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
triggers, has_more_data, has_prev_data = update_pagination(
triggers, page_size, marker, sort_dir, sort_key, reversed_order)
else:
triggers = smaugclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
triggers = karborclient(request).triggers.list(detailed=detailed,
search_opts=search_opts,
marker=marker,
limit=limit,
sort_key=sort_key,
sort_dir=sort_dir,
sort=sort)
return (triggers, has_more_data, has_prev_data)
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
import json
from smaug_dashboard.api import smaug as smaugclient
from karbor_dashboard.api import karbor as karborclient
class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
@ -35,19 +35,19 @@ class RestoreCheckpointForm(horizon_forms.SelfHandlingForm):
widget=forms.HiddenInput(attrs={"class": "provider"}))
parameters = forms.CharField(
widget=forms.HiddenInput(attrs={"class": "parameters"}))
failure_url = 'horizon:smaug:checkpoints:index'
failure_url = 'horizon:karbor:checkpoints:index'
def __init__(self, request, *args, **kwargs):
super(RestoreCheckpointForm, self).\
__init__(request, *args, **kwargs)
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)
def handle(self, request, data):
try:
new_restore = smaugclient.restore_create(
new_restore = karborclient.restore_create(
request,
provider_id=data["provider_id"],
checkpoint_id=data["checkpoint_id"],

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -14,13 +14,13 @@
# 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.
DISABLED = False
ADD_INSTALLED_APPS = [
'smaug_dashboard',
'karbor_dashboard',
]
# Automatically discover static resources in installed apps

View File

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

View File

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

View File

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

View File

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

View File

@ -15,7 +15,7 @@
PANEL = 'triggers'
PANEL_GROUP = 'default'
PANEL_DASHBOARD = 'smaug'
PANEL_DASHBOARD = 'karbor'
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 _
import horizon
from smaug_dashboard import dashboard
from karbor_dashboard import dashboard
class OperationLogs(horizon.Panel):

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -27,7 +27,7 @@ class ShowCheckpointsAction(tables.Action):
return True
def single(self, table, request, obj_id):
redirect = reverse("horizon:smaug:checkpoints:index",
redirect = reverse("horizon:karbor:checkpoints:index",
args=(obj_id,))
return http.HttpResponseRedirect(redirect)
@ -43,7 +43,7 @@ class ProtectionProviderFilterAction(tables.FilterAction):
class ProtectionProvidersTable(tables.DataTable):
name = tables.Column('name',
link="horizon:smaug:protectionproviders:detail",
link="horizon:karbor:protectionproviders:detail",
verbose_name=_('Name'))
description = tables.Column('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 tabs
from karbor_dashboard.api import karbor as karborclient
import simplejson as json
from smaug_dashboard.api import smaug as smaugclient
class OptionsSchemaTab(tabs.Tab):
@ -29,7 +29,7 @@ class OptionsSchemaTab(tabs.Tab):
def get_context_data(self, request):
try:
provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id)
provider = karborclient.provider_get(request, provider_id)
schema = {}
if provider is not None:
@ -51,7 +51,7 @@ class RestoreSchemaTab(tabs.Tab):
def get_context_data(self, request):
try:
provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id)
provider = karborclient.provider_get(request, provider_id)
schema = {}
if provider is not None:
@ -73,7 +73,7 @@ class SavedInfoSchemaTab(tabs.Tab):
def get_context_data(self, request):
try:
provider_id = self.tab_group.kwargs['provider_id']
provider = smaugclient.provider_get(request, provider_id)
provider = karborclient.provider_get(request, provider_id)
schema = {}
if provider is not None:
if 'saved_info_schema' in provider.extended_info_schema:

View File

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

View File

@ -20,9 +20,9 @@ from horizon import tables as horizon_tables
from horizon import tabs as horizon_tabs
from horizon.utils import memoized
from smaug_dashboard.api import smaug as smaugclient
from smaug_dashboard.protectionproviders import tables
from smaug_dashboard.protectionproviders import tabs
from karbor_dashboard.api import karbor as karborclient
from karbor_dashboard.protectionproviders import tables
from karbor_dashboard.protectionproviders import tabs
class IndexView(horizon_tables.DataTableView):
@ -50,7 +50,7 @@ class IndexView(horizon_tables.DataTableView):
providers = []
try:
providers, self._more, self._prev = \
smaugclient.provider_list_paged(
karborclient.provider_list_paged(
request, None,
marker=marker,
paginate=True,
@ -67,7 +67,7 @@ class IndexView(horizon_tables.DataTableView):
class DetailView(horizon_tabs.TabView):
redirect_url = "horizon:smaug:protectionproviders:index"
redirect_url = "horizon:karbor:protectionproviders:index"
tab_group_class = tabs.ProviderDetailTabs
template_name = 'protectionproviders/detail.html'
page_title = "{{ provider.name }}"
@ -81,12 +81,12 @@ class DetailView(horizon_tabs.TabView):
def get_data(self):
try:
provider_id = self.kwargs['provider_id']
provider = smaugclient.provider_get(self.request, provider_id)
provider = karborclient.provider_get(self.request, provider_id)
except Exception:
exceptions.handle(
self.request,
_('Unable to retrieve protection provider details.'),
redirect=reverse("horizon:smaug:protectionproviders:index"))
redirect=reverse("horizon:karbor:protectionproviders:index"))
return provider
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() {
var trResources = $("#checkpointRestoreResource tr[resource-id]");
var provider = $.parseJSON($(".provider").val());
var parameters = $.Smaug.getResourceDefaultParameters(provider, "restore_schema");
var parameters = $.Karbor.getResourceDefaultParameters(provider, "restore_schema");
if(trResources != null) {
trResources.each(function() {
var trResource = $(this);
@ -67,34 +67,34 @@ horizon.checkpoints_restore = {
if(schema != null) {
var exist_ui_dialogs = $("body").has(".ui-dialog");
if(exist_ui_dialogs.length == 0){
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
}
}
});
/* bind parameters dialog save button event */
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
var flag = $.Smaug.check_required($("#parametersdialog"));
var flag = $.Karbor.check_required($("#parametersdialog"));
if(flag) {
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
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 + "']")
.find(".editparameters")
.data("userdata", userdata);
$.Smaug.closeDialog("#parametersdialog");
$.Karbor.closeDialog("#parametersdialog");
}
});
/* bind parameters dialog cancel button event */
$(document).on('click', "#parametersdialog .btn.cancel", function() {
$.Smaug.closeDialog("#parametersdialog");
$.Karbor.closeDialog("#parametersdialog");
});
/* bind parameters dialog close button event */
$(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 ($) {
@ -171,7 +171,7 @@
}
}
$.Smaug = {
$.Karbor = {
/* get the default resources parameters */
getResourceDefaultParameters: function(provider, schemaname) {

View File

@ -32,7 +32,7 @@ function setProtectedResource() {
var resources = [];
var cbResources = $(".cbresource:checked");
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) {
cbResources.each(function() {
var cbResource = $(this);
@ -132,34 +132,34 @@ horizon.protectionplans_create = {
if(schema != null) {
var exist_ui_dialogs = $("body").has(".ui-dialog");
if(exist_ui_dialogs.length == 0){
var dialog_data = $.Smaug.createDialog(schema, userdata, resourceid);
$.Smaug.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
var dialog_data = $.Karbor.createDialog(schema, userdata, resourceid);
$.Karbor.openDialog(dialog_data, "#parametersdialog", "div.dialog_wrapper");
}
}
});
/* bind parameters dialog save button event */
$(document).on('click', "#parametersdialog .btn.btn-primary", function() {
var flag = $.Smaug.check_required($("#parametersdialog"));
var flag = $.Karbor.check_required($("#parametersdialog"));
if(flag) {
var resourceid = $("#parametersdialog .modal-body").attr("resourceid");
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 + "']")
.find(".editparameters")
.data("userdata", userdata);
$.Smaug.closeDialog("#parametersdialog");
$.Karbor.closeDialog("#parametersdialog");
}
});
/* bind parameters dialog cancel button event */
$(document).on('click', "#parametersdialog .btn.cancel", function() {
$.Smaug.closeDialog("#parametersdialog");
$.Karbor.closeDialog("#parametersdialog");
});
/* bind parameters dialog close button event */
$(document).on('click', "#parametersdialog a.close", function() {
$.Smaug.closeDialog("#parametersdialog");
$.Karbor.closeDialog("#parametersdialog");
});
}
};

View File

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

View File

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

View File

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

View File

@ -4,7 +4,7 @@
{% block css %}
{% compress css %}
<link rel="stylesheet" href="{% static 'smaugdashboard/css/jquery.treetable.css' %}">
<link rel="stylesheet" href="{% static 'karbordashboard/css/jquery.treetable.css' %}">
{% endcompress %}
{% 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
# 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 smaug_dashboard import api
from smaug_dashboard.test import test_data
from smaugclient.v1 import client as smaug_client
class APITestCase(helpers.APITestCase):
"""Extends the base Horizon APITestCase for smaugclient"""
"""Extends the base Horizon APITestCase for karborclient"""
def setUp(self):
super(APITestCase, self).setUp()
self._original_smaugclient = api.smaug.smaugclient
api.smaug.smaugclient = lambda request: self.stub_smaugclient()
self._original_karborclient = api.karbor.karborclient
api.karbor.karborclient = lambda request: self.stub_karborclient()
def _setup_test_data(self):
super(APITestCase, self)._setup_test_data()
@ -32,10 +32,10 @@ class APITestCase(helpers.APITestCase):
def tearDown(self):
super(APITestCase, self).tearDown()
api.smaug.smaugclient = self._original_smaugclient
api.karbor.karborclient = self._original_karborclient
def stub_smaugclient(self):
if not hasattr(self, "smaugclient"):
self.mox.StubOutWithMock(smaug_client, 'Client')
self.smaugclient = self.mox.CreateMock(smaug_client.Client)
return self.smaugclient
def stub_karborclient(self):
if not hasattr(self, "karborclient"):
self.mox.StubOutWithMock(karbor_client, 'Client')
self.karborclient = self.mox.CreateMock(karbor_client.Client)
return self.karborclient

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -16,4 +16,4 @@ import horizon
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__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE",
"smaug_dashboard.test.settings")
"karbor_dashboard.test.settings")
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.5.3 # MIT License
XStatic-Spin>=1.2.5.2 # 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_env_version=$venv/environments
with_venv=tools/with_venv.sh
included_dirs="smaug_dashboard"
included_dirs="karbor_dashboard"
always_venv=0
backup_env=0
@ -187,7 +187,7 @@ function warn_on_flake8_without_venv {
function run_pep8 {
echo "Running flake8 ..."
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 {
@ -200,13 +200,13 @@ function run_pep8_changed {
files=$(git diff --name-only $base_commit | tr '\n' ' ')
echo "Running flake8 on ${files}"
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
}
function run_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."
}
@ -340,7 +340,7 @@ function run_tests {
fi
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
if [ $selenium_headless -eq 1 ]; then
@ -360,12 +360,12 @@ function run_tests_subset {
}
function run_tests_all {
echo "Running Smaug Dashboard tests"
export NOSE_XUNIT_FILE=smaug_dashboard/nosetests.xml
echo "Running Karbor Dashboard tests"
export NOSE_XUNIT_FILE=karbor_dashboard/nosetests.xml
if [ "$NOSE_WITH_HTML_OUTPUT" = '1' ]; then
export NOSE_HTML_OUT_FILE='dashboard_nose_results.html'
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
DASHBOARD_RESULT=$?
@ -420,21 +420,21 @@ function babel_extract {
function run_makemessages {
echo -n "smaug dashboard: "
cd smaug_dashboard
echo -n "karbor dashboard: "
cd karbor_dashboard
babel_extract django
SMAUG_PY_RESULT=$?
KARBOR_PY_RESULT=$?
echo -n "smaug dashboard javascript: "
echo -n "karbor dashboard javascript: "
babel_extract djangojs
SMAUG_JS_RESULT=$?
KARBOR_JS_RESULT=$?
cd ..
if [ $check_only -eq 1 ]; then
rm smaug_dashboard/locale/django*.pot
rm karbor_dashboard/locale/django*.pot
fi
exit $(($SMAUG_PY_RESULT || $SMAUG_JS_RESULT))
exit $(($KARBOR_PY_RESULT || $KARBOR_JS_RESULT))
}
function run_compilemessages {

View File

@ -1,7 +1,7 @@
[metadata]
name = smaug-dashboard
name = karbor-dashboard
version = 0.0.1
summary = Smaug Dashboard
summary = Karbor Dashboard
description-file =
README.rst
author = OpenStack
@ -21,7 +21,7 @@ classifier =
[files]
packages =
smaug_dashboard
karbor_dashboard
[build_sphinx]
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