nsi list, show, create, delete
Change-Id: I0c7757cdb7a38712e8960806765a2508b0013ce6
Signed-off-by: lombardofr <lombardo@everyup.it>
diff --git a/static/src/instancehandler/instance_create.js b/static/src/instancehandler/instance_create.js
index 4273f90..3cce0c4 100644
--- a/static/src/instancehandler/instance_create.js
+++ b/static/src/instancehandler/instance_create.js
@@ -100,4 +100,66 @@
}
$('#modal_new_instance').modal('show');
+}
+function openModalCreateNSI(args) {
+ // load vim account list
+ select2_groups = $('#vimAccountIdNSI').select2({
+ placeholder: 'Select VIM',
+ width: '100%',
+ ajax: {
+ url: args.vim_list_url,
+ dataType: 'json',
+ processResults: function (data) {
+ vims = [];
+ if (data['datacenters']) {
+ for (d in data['datacenters']) {
+ var datacenter = data['datacenters'][d];
+ vims.push({ id: datacenter['_id'], text: datacenter['name'] })
+ }
+ }
+
+ return {
+ results: vims
+ };
+ }
+ }
+ });
+
+ // load nsd list
+ select2_groups = $('#nstId').select2({
+ placeholder: 'Select NST',
+ width: '100%',
+ ajax: {
+ url: args.nst_list_url,
+ dataType: 'json',
+ processResults: function (data) {
+ nst_list = [];
+
+ if (data['templates']) {
+ for (d in data['templates']) {
+ var nst = data['templates'][d];
+ nst_list.push({ id: nst['_id'], text: nst['name'] })
+ }
+ }
+
+ return {
+ results: nst_list
+ };
+ }
+ }
+ });
+
+ if (args.descriptor_id) {
+ // Set the value, creating a new option if necessary
+ if ($('#nstId').find("option[value='" + args.descriptor_id + "']").length) {
+ $('#nstId').val(args.descriptor_id).trigger('change');
+ } else {
+ // Create a DOM Option and pre-select by default
+ var newOption = new Option(args.descriptor_name, args.descriptor_id, true, true);
+ // Append it to the select
+ $('#nstId').append(newOption).trigger('change');
+ }
+ }
+
+ $('#modal_new_nsi').modal('show');
}
\ No newline at end of file
diff --git a/static/src/instancehandler/instance_list.js b/static/src/instancehandler/instance_list.js
index 88a1f57..7fa6524 100644
--- a/static/src/instancehandler/instance_list.js
+++ b/static/src/instancehandler/instance_list.js
@@ -57,9 +57,61 @@
location.reload();
}
},
- error: function (error) {
+ error: function (result) {
dialog.modal('hide');
- bootbox.alert("An error occurred.");
+ var data = result.responseJSON;
+ var title = "Error " + (data && data.code ? data.code : 'unknown');
+ var message = data && data.detail ? data.detail : 'No detail available.';
+ bootbox.alert({
+ title: title,
+ message: message
+ });
+ }
+ });
+ }
+ })
+}
+function deleteNsi(instance_name, instance_id, force) {
+ var url = '/instances/nsi/'+instance_id+'/delete';
+ bootbox.confirm("Are you sure want to delete " + instance_name + "?", function (result) {
+ if (result) {
+ if (force)
+ url = url + '?force=true';
+ var dialog = bootbox.dialog({
+ message: '<div class="text-center"><i class="fa fa-spin fa-spinner"></i> Loading...</div>',
+ closeButton: true
+ });
+ $.ajax({
+ url: url,
+ type: 'GET',
+ dataType: "json",
+ contentType: "application/json;charset=utf-8",
+ success: function (result) {
+ console.log(result)
+ if (result['error'] == true){
+ dialog.modal('hide');
+ var data = result.responseJSON;
+ var title = "Error " + (data && data.code ? data.code : 'unknown');
+ var message = data && data.detail ? data.detail : 'No detail available.';
+ bootbox.alert({
+ title: title,
+ message: message
+ });
+ }
+ else {
+ dialog.modal('hide');
+ location.reload();
+ }
+ },
+ error: function (result) {
+ dialog.modal('hide');
+ var data = result.responseJSON;
+ var title = "Error " + (data && data.code ? data.code : 'unknown');
+ var message = data && data.detail ? data.detail : 'No detail available.';
+ bootbox.alert({
+ title: title,
+ message: message
+ });
}
});
}