Skip to content

Commit

Permalink
Added new attributes to BGPAsAService page
Browse files Browse the repository at this point in the history
Below attributes are added
1)AS Override
2)Loop Count
3)Use IPV4-mapped IPv6 Nexthop
4)Supress Route Advertisement

Change-Id: I38173a463a83edf57661cd11ff95518acc357bd0
Closes-bug: #1558168
  • Loading branch information
sbavanasi committed May 18, 2016
1 parent 0a98e63 commit 349ac19
Show file tree
Hide file tree
Showing 5 changed files with 156 additions and 54 deletions.
7 changes: 6 additions & 1 deletion webroot/common/api/jsonDiff.helper.js
Expand Up @@ -93,7 +93,12 @@ var configJsonModifyObj = {
'preProcessCB': {
'applyOnOldJSON': modifyConfigDataByAttrHref,
},
'optFields': ['bgpaas_session_attributes', 'autonomous_system', 'bgpaas_ip_address', 'virtual_machine_interface_refs'],
'optFields': ['bgpaas_session_attributes',
'autonomous_system',
'bgpaas_ip_address',
'virtual_machine_interface_refs',
'bgpaas_ipv4_mapped_ipv6_nexthop',
'bgpaas_suppress_route_advertisement'],
'mandateFields': ['fq_name', 'uuid', 'display_name']
},
'physical-interface': {
Expand Down
Expand Up @@ -100,7 +100,9 @@
var adminDown = getValueByJsonPath(dc,
"bgpaas_session_attributes;admin_down", "-");
if(adminDown !== "-") {
adminState = adminDown ? "False" : "True";
adminState =
adminDown.toString().toLowerCase() === "true"
? "Down" : "Up";
} else {
adminState = "-";
}
Expand Down Expand Up @@ -139,6 +141,55 @@
"bgpaas_session_attributes;loop_count", "-");
};

/*
* bgpaasASOverrideFormatter
*/
this.bgpaasASOverrideFormatter = function(r, c, v, cd, dc) {
var bgpaasASOverride = getValueByJsonPath(dc,
"bgpaas_session_attributes;as_override", "-");
if(bgpaasASOverride !== "-") {
bgpaasASOverride =
bgpaasASOverride.toString().toLowerCase() === "true" ?
"Enabled" : "Disabled";
} else {
bgpaasASOverride = "-";
}
return bgpaasASOverride;
};

/*
* ipV4MappedIPv6NexthopFormatter
*/
this.ipV4MappedIPv6NexthopFormatter = function(r, c, v, cd, dc) {
var useIpv4MppedIPv6NextHop = getValueByJsonPath(dc,
"bgpaas_ipv4_mapped_ipv6_nexthop", "-");
if(useIpv4MppedIPv6NextHop !== "-") {
useIpv4MppedIPv6NextHop =
useIpv4MppedIPv6NextHop.toString().toLowerCase() ===
"true" ? "Enabled" : "Disabled";
} else {
useIpv4MppedIPv6NextHop = "-";
}
return useIpv4MppedIPv6NextHop;
};

/*
* suppressRouteAdvtFormatter
*/
this.suppressRouteAdvtFormatter = function(r, c, v, cd, dc) {
var supressRouteAdvt = getValueByJsonPath(dc,
"bgpaas_suppress_route_advertisement", "-");
if(supressRouteAdvt !== "-") {
supressRouteAdvt =
supressRouteAdvt.toString().toLowerCase() === "true" ?
"Enabled" : "Disabled";
} else {
supressRouteAdvt = "-";
}
return supressRouteAdvt;
};


/*
* addressFamiliesFormatter
*/
Expand Down
Expand Up @@ -17,10 +17,9 @@ define([
"autonomous_system": null,
"bgpaas_session_attributes": {
"admin_down": false,
/*"passive": true,
"auth_data": null,*/
"as_override": false,
"hold_time": null,
/*"loop_count": null,*/
"loop_count": null,
"address_families": {
"family": []
}/*,
Expand All @@ -30,6 +29,8 @@ define([
"user_created_virtual_machine_interface": null,
/*"user_created_auth_key_type": "none",
"user_created_auth_key": null*/
"bgpaas_ipv4_mapped_ipv6_nexthop": false,
"bgpaas_suppress_route_advertisement": false
},

formatModelConfig : function(modelConfig) {
Expand Down Expand Up @@ -213,11 +214,11 @@ define([
newBGPAsAServiceData["bgpaas_session_attributes"]["hold_time"] =
sessionAttrs.hold_time ? Number(sessionAttrs.hold_time) : 0;

/* //loop count
//loop count
newBGPAsAServiceData["bgpaas_session_attributes"]["loop_count"] =
sessionAttrs.loop_count ? Number(sessionAttrs.loop_count) : 0;

//auth key
/*//auth key
if(newBGPAsAServiceData.user_created_auth_key_type != 'none') {
newBGPAsAServiceData["bgpaas_session_attributes"]["auth_data"] = {
key_type : newBGPAsAServiceData.user_created_auth_key_type,
Expand Down Expand Up @@ -328,13 +329,13 @@ define([
}
}
},
/*"bgpaas_session_attributes.loop_count" : function(value, attr, finalObj) {
"bgpaas_session_attributes.loop_count" : function(value, attr, finalObj) {
if(value) {
if(isNaN(value) || Number(value) < 0 || Number(value) > 16) {
return "Enter Loop count between 0-16"
}
}
},
},/*
'user_created_auth_key' : function(value, attr, finalObj){
if (finalObj['user_created_auth_key_type'] != 'none'
&& (value == null || value.trim() == '')) {
Expand Down
Expand Up @@ -201,38 +201,8 @@ define([
label : "IP Address",
class: "span6"
}
},
{
elementId: "hold_time",
view: "FormInputView",
viewConfig: {
placeholder: "Enter Hold Time",
label: "Hold Time",
dataBindValue: "bgpaas_session_attributes().hold_time",
path: "bgpaas_session_attributes.hold_time",
class: "span6"
}
}
]},{
columns: [{
elementId: "admin_down",
view: "FormCheckboxView",
viewConfig: {
label: "Admin State",
dataBindValue: "bgpaas_session_attributes().admin_down",
path: "bgpaas_session_attributes.admin_down",
class: "span6",
}
}/*,{
elementId: "passive",
view: "FormCheckboxView",
viewConfig: {
label: "Passive",
dataBindValue: "bgpaas_session_attributes().passive",
path: "bgpaas_session_attributes.passive",
class: "span6",
}
}*/]}/*,{
columns: [{
elementId: "hold_time",
view: "FormInputView",
Expand All @@ -254,6 +224,48 @@ define([
class: "span6"
}
}]},{
columns: [{
elementId: "admin_down",
view: "FormCheckboxView",
viewConfig: {
label: "Admin State",
templateId: cowc.TMPL_CHECKBOX_LABEL_RIGHT_VIEW,
dataBindValue: "bgpaas_session_attributes().admin_down",
path: "bgpaas_session_attributes.admin_down",
class: "span6",
}
},{
elementId: "as_override",
view: "FormCheckboxView",
viewConfig: {
label: "AS Override",
templateId: cowc.TMPL_CHECKBOX_LABEL_RIGHT_VIEW,
dataBindValue: "bgpaas_session_attributes().as_override",
path: "bgpaas_session_attributes.as_override",
class: "span6",
}
}]},{
columns: [{
elementId: "bgpaas_ipv4_mapped_ipv6_nexthop",
view: "FormCheckboxView",
viewConfig: {
label: "Use IPv4-mapped IPv6 Nexthop",
templateId: cowc.TMPL_CHECKBOX_LABEL_RIGHT_VIEW,
dataBindValue: "bgpaas_ipv4_mapped_ipv6_nexthop",
path: "bgpaas_ipv4_mapped_ipv6_nexthop",
class: "span6",
}
},{
elementId: "bgpaas_suppress_route_advertisement",
view: "FormCheckboxView",
viewConfig: {
label: "Suppress Route Advertisement",
templateId: cowc.TMPL_CHECKBOX_LABEL_RIGHT_VIEW,
dataBindValue: "bgpaas_suppress_route_advertisement",
path: "bgpaas_suppress_route_advertisement",
class: "span6",
}
}]}/*,{
columns : [{
elementId: 'user_created_auth_key_type',
view: 'FormDropdownView',
Expand Down
Expand Up @@ -267,13 +267,6 @@ define([
key: "uuid",
templateGenerator: "TextGenerator",
label: "UUID"
},{
key: "bgpaas_ip_address",
templateGenerator: "TextGenerator",
label: "IP Address",
templateGeneratorConfig: {
formatter: "IPAddressFormatter"
}
},{
key: "autonomous_system",
templateGenerator: "TextGenerator",
Expand All @@ -285,20 +278,48 @@ define([
templateGeneratorConfig: {
formatter: "VMIFormatter"
}
},{
key: "bgpaas_ip_address",
templateGenerator: "TextGenerator",
label: "IP Address",
templateGeneratorConfig: {
formatter: "IPAddressFormatter"
}
},{
key: "bgpaas_session_attributes.address_families",
templateGenerator: "TextGenerator",
label: "Address Family",
templateGeneratorConfig: {
formatter: "AddressFamiliesFormatter"
}
},{
key: "bgpaas_session_attributes.hold_time",
templateGenerator: "TextGenerator",
label: "Hold Time",
templateGeneratorConfig: {
formatter: "HoldTimeFormatter"
}
},{
key: "bgpaas_session_attributes.loop_count",
templateGenerator: "TextGenerator",
label: "Loop Count",
templateGeneratorConfig: {
formatter: "LoopCountFormatter"
}
},{
key: 'bgpaas_session_attributes.admin_down',
templateGenerator: 'TextGenerator',
label: 'Admin State',
templateGeneratorConfig: {
formatter: "AdminStateFormatter"
}
},{
key: 'bgpaas_session_attributes.as_override',
templateGenerator: 'TextGenerator',
label: 'AS Override',
templateGeneratorConfig: {
formatter: "ASOverrideFormatter"
}
},{
key: "bgpaas_session_attributes.passive",
templateGenerator: "TextGenerator",
Expand All @@ -307,18 +328,18 @@ define([
formatter: "PassiveFormatter"
}
},{
key: "bgpaas_session_attributes.hold_time",
templateGenerator: "TextGenerator",
label: "Hold Time",
key: 'bgpaas_ipv4_mapped_ipv6_nexthop',
templateGenerator: 'TextGenerator',
label: 'Use IPv4-mapped IPv6 Nexthop',
templateGeneratorConfig: {
formatter: "HoldTimeFormatter"
formatter: "IPv4MappedIPv6NexthopFormatter"
}
},{
key: "bgpaas_session_attributes.loop_count",
templateGenerator: "TextGenerator",
label: "Loop Count",
key: 'bgpaas_suppress_route_advertisement',
templateGenerator: 'TextGenerator',
label: 'Suppress Route Advertisement',
templateGeneratorConfig: {
formatter: "LoopCountFormatter"
formatter: "SuppressRouteAdvtFormatter"
}
},{
key: "bgpaas_session_attributes.auth_data",
Expand Down Expand Up @@ -353,6 +374,10 @@ define([
this.AdminStateFormatter = function(v, dc) {
return bgpAsAServiceFormatter.adminStateFormatter("", "", v, "", dc);
};
this.ASOverrideFormatter = function(v, dc) {
return bgpAsAServiceFormatter.
bgpaasASOverrideFormatter("", "", v, "", dc);
};
this.PassiveFormatter = function(v, dc) {
return bgpAsAServiceFormatter.passiveFormatter("", "", v, "", dc);
};
Expand All @@ -362,6 +387,14 @@ define([
this.LoopCountFormatter = function(v, dc) {
return bgpAsAServiceFormatter.loopCountFormatter("", "", v, "", dc);
};
this.IPv4MappedIPv6NexthopFormatter = function(v, dc) {
return bgpAsAServiceFormatter.
ipV4MappedIPv6NexthopFormatter("", "", v, "", dc);
};
this.SuppressRouteAdvtFormatter = function(v, dc) {
return bgpAsAServiceFormatter.
suppressRouteAdvtFormatter("", "", v, "", dc);
};
this.AddressFamiliesFormatter = function(v, dc) {
return bgpAsAServiceFormatter.addressFamiliesFormatter("", "", v, "", dc);
};
Expand Down

0 comments on commit 349ac19

Please sign in to comment.