1 import React
from 'react';
2 import { storiesOf
, action
} from '@kadira/storybook';
3 import CatalogCard
from '../../plugins/launchpad/src/instantiate/catalogCard.jsx'
4 import CatalogDescriptorRaw
from '../../plugins/launchpad/src/instantiate/catalogDescriptorRaw.jsx'
5 import InstantiateDescriptorPanel
from '../../plugins/launchpad/src/instantiate/instantiateDescriptorPanel.jsx'
6 import InstantiateSelectDescriptorPanel
from '../../plugins/launchpad/src/instantiate/InstantiateSelectDescriptorPanel.jsx'
7 import InstantiateInputParams
from '../../plugins/launchpad/src/instantiate/instantiateInputParams.jsx'
8 import reactToJsx
from 'react-to-jsx';
9 import InstantiateStore
from '../../plugins/launchpad/src/instantiate/instantiateStore.js';
10 import Alt
from '../../framework/widgets/skyquake_container/skyquakeAltInstance.js'
11 import {Panel
, PanelWrapper
} from '../../framework/widgets/panel/panel.jsx'
12 import '../../node_modules/open-iconic/font/css/open-iconic.css';
13 import 'style/base.scss';
14 const Store
= Alt
.createStore(InstantiateStore
)
15 // import StyleGuideItem from 'react-style-guide';
16 // import '../../node_modules/react-style-guide/node_modules/highlight.js/styles/github.css';
18 'name': 'A Sample NSD for Corp A',
19 'short-name': 'A Sample NSD',
20 description
: 'A description of the sample NSD',
25 "start-by-default": "true",
26 "member-vnf-index": 1,
27 "vnfd-id-ref": "358fe806-57f8-11e6-b7de-6cb3113b406f",
32 "start-by-default": "true",
33 "member-vnf-index": 2,
34 "vnfd-id-ref": "3bd17356-57f8-11e6-88db-6cb3113b406f",
36 "vnf-name": "trafsink"
42 "physical-network": "physnet1",
43 "overlay-type": "VLAN"
48 "short-name": "Link1",
49 "vnfd-connection-point-ref": [
51 "vnfd-connection-point-ref": "trafgen/cp0",
52 "vnfd-id-ref": "358fe806-57f8-11e6-b7de-6cb3113b406f",
53 "member-vnf-index-ref": 1
56 "vnfd-connection-point-ref": "trafsink/cp0",
57 "vnfd-id-ref": "3bd17356-57f8-11e6-88db-6cb3113b406f",
58 "member-vnf-index-ref": 2
61 "description": "Link",
62 "id": "4ef5eebc-57f8-11e6-87d1-6cb3113b406f",
76 storiesOf('Instantiate Components', module
)
77 .add('CatalogCard', () => {
79 for(let i
= 0; i
< 10; i
++) {
80 cards
.push(<CatalogCard key
={i
} clickid
={i
} descriptor
={SampleNSD
} />)
85 <div style
={{display
:'flex', flexWrap
:'wrap'}}>
88 <CatalogCard descriptor
={SampleNSD
} isSelected
={true} isActive
={true} />
98 .add('InstantiateDescriptorPanel', () => (
100 <InstantiateDescriptorPanel
101 descriptor
={returnNSD()[0]}
103 <Panel title
="Input Parameters">
107 .add('InstantiateSelectDescriptor', () => (
109 <InstantiateSelectDescriptorPanel
110 descriptors
={returnNSD()}
114 .add('Descriptor Review', () => (
116 <Panel title
="Select Descriptor">
117 <CatalogCard descriptor
={SampleNSD
} isSelected
={true} isActive
={true} />
119 <Panel title
="Descriptor Preview">
120 <CatalogDescriptorRaw descriptor
={SampleNSD
} />
124 function returnNSD() {
127 "input-parameter-xpath": [
129 "xpath": "/nsd:nsd-catalog/nsd:nsd/nsd:vendor"
134 "name": "InterVNFLink",
135 "description": "Inter VNF Link",
136 "ip-profile-params": {
137 "ip-version": "ipv4",
138 "gateway-address": "31.31.31.210",
139 "subnet-address": "31.31.31.0/24",
147 "initial-config-primitive": [
150 "name": "start traffic",
156 "user-defined-script": "start_traffic.py"
159 "name": "ping_pong_nsd",
160 "short-name": "ping_pong_nsd",
161 "id": "1b85e414-630c-11e6-9050-3eca272c7412",
162 "logo": "rift_logo.png",
163 "description": "Toy NS",
164 "constituent-vnfd": [
166 "member-vnf-index": 1,
167 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
168 "start-by-default": "true",
170 "vnf-name": "ping_vnfd"
173 "member-vnf-index": 2,
174 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
175 "start-by-default": "true",
177 "vnf-name": "pong_vnfd"
181 "placement-groups": [
185 "member-vnf-index-ref": 1,
186 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
190 "member-vnf-index-ref": 2,
191 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
196 "requirement": "Place this VM on the Kuiper belt object Orcus",
197 "strategy": "COLOCATION",
203 "member-vnf-index-ref": 1,
204 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
208 "member-vnf-index-ref": 2,
209 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
214 "requirement": "Place this VM on the Kuiper belt object Quaoar",
215 "strategy": "COLOCATION",
222 "description": "Toy VL",
224 "ip-profile-ref": "InterVNFLink",
226 "name": "ping_pong_vld",
227 "short-name": "ping_pong_vld",
228 "id": "ping_pong_vld1",
229 "vnfd-connection-point-ref": [
231 "member-vnf-index-ref": 1,
232 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
233 "vnfd-connection-point-ref": "ping_vnfd/cp0"
236 "member-vnf-index-ref": 2,
237 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
238 "vnfd-connection-point-ref": "pong_vnfd/cp0"
244 "instance-ref-count": 1
246 "ns-placement-groups": [
250 "member-vnf-index-ref": 1,
251 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
255 "member-vnf-index-ref": 2,
256 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
261 "requirement": "Place this VM on the Kuiper belt object Orcus",
262 "strategy": "COLOCATION",
268 "member-vnf-index-ref": 1,
269 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
273 "member-vnf-index-ref": 2,
274 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
279 "requirement": "Place this VM on the Kuiper belt object Quaoar",
280 "strategy": "COLOCATION",
284 "vnf-placement-groups": [
289 "member-vdu-ref": "iovdu_0"
292 "requirement": "Place this VM on the Kuiper belt object Eris",
293 "strategy": "COLOCATION",
294 "host-aggregate": [],
295 "vnf-name": "ping_vnfd",
296 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
297 "member-vnf-index": 1
303 "member-vdu-ref": "iovdu_0"
306 "requirement": "Place this VM on the Kuiper belt object Weywot",
307 "strategy": "COLOCATION",
308 "host-aggregate": [],
309 "vnf-name": "pong_vnfd",
310 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
311 "member-vnf-index": 2
316 "input-parameter-xpath": [
318 "xpath": "/nsd:nsd-catalog/nsd:nsd/nsd:vendor"
323 "name": "InterVNFLink",
324 "description": "Inter VNF Link",
325 "ip-profile-params": {
326 "ip-version": "ipv4",
327 "gateway-address": "31.31.31.210",
328 "subnet-address": "31.31.31.0/24",
336 "initial-config-primitive": [
339 "name": "start traffic",
345 "user-defined-script": "start_traffic.py"
348 "name": "a copy of pingpong",
350 "containerPositionMap": {
367 "e0d7f471-ade0-49d3-9f47-225aa724ae08": {
384 "instance-ref-count": 0
386 "short-name": "ping_pong_nsd",
387 "id": "e0d7f471-ade0-49d3-9f47-225aa724ae08",
388 "logo": "rift_logo.png",
389 "description": "Toy NS",
390 "constituent-vnfd": [
392 "member-vnf-index": 1,
393 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
394 "start-by-default": "true",
396 "vnf-name": "ping_vnfd"
399 "member-vnf-index": 2,
400 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
401 "start-by-default": "true",
403 "vnf-name": "pong_vnfd"
407 "placement-groups": [
411 "member-vnf-index-ref": 1,
412 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
416 "member-vnf-index-ref": 2,
417 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
422 "requirement": "Place this VM on the Kuiper belt object Orcus",
423 "strategy": "COLOCATION",
429 "member-vnf-index-ref": 1,
430 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
434 "member-vnf-index-ref": 2,
435 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
440 "requirement": "Place this VM on the Kuiper belt object Quaoar",
441 "strategy": "COLOCATION",
448 "description": "Toy VL",
451 "name": "ping_pong_vld",
452 "short-name": "ping_pong_vld",
453 "id": "ping_pong_vld1",
454 "vnfd-connection-point-ref": [
456 "member-vnf-index-ref": 1,
457 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
458 "vnfd-connection-point-ref": "ping_vnfd/cp0"
461 "member-vnf-index-ref": 2,
462 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
463 "vnfd-connection-point-ref": "pong_vnfd/cp0"
468 "ns-placement-groups": [
472 "member-vnf-index-ref": 1,
473 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
477 "member-vnf-index-ref": 2,
478 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
483 "requirement": "Place this VM on the Kuiper belt object Orcus",
484 "strategy": "COLOCATION",
490 "member-vnf-index-ref": 1,
491 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
495 "member-vnf-index-ref": 2,
496 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
501 "requirement": "Place this VM on the Kuiper belt object Quaoar",
502 "strategy": "COLOCATION",
506 "vnf-placement-groups": [
511 "member-vdu-ref": "iovdu_0"
514 "requirement": "Place this VM on the Kuiper belt object Eris",
515 "strategy": "COLOCATION",
516 "host-aggregate": [],
517 "vnf-name": "ping_vnfd",
518 "vnfd-id-ref": "1b84ecbc-630c-11e6-9050-3eca272c7412",
519 "member-vnf-index": 1
525 "member-vdu-ref": "iovdu_0"
528 "requirement": "Place this VM on the Kuiper belt object Weywot",
529 "strategy": "COLOCATION",
530 "host-aggregate": [],
531 "vnf-name": "pong_vnfd",
532 "vnfd-id-ref": "1b859c48-630c-11e6-9050-3eca272c7412",
533 "member-vnf-index": 2