From 508a9692c97df3f0436ecdbac2dffb88e1a5b288 Mon Sep 17 00:00:00 2001 From: Jeremy Mordkoff Date: Mon, 4 Apr 2016 12:51:41 -0400 Subject: [PATCH] added explicit license to MANY files removed a few superfluous files Signed-off-by: Jeremy Mordkoff --- CMakeLists.txt | 15 +- Makefile | 15 +- Makefile.env | 15 +- Makefile.top | 15 +- bin/make_etsi_packages | 14 + bin/pip-install | 13 + bin/pip3-install | 14 +- bin/pip3-kilo-install | 13 + modules/core/mano/CMakeLists.txt | 17 +- modules/core/mano/Makefile | 17 +- modules/core/mano/common/CMakeLists.txt | 17 +- .../core/mano/common/plugins/CMakeLists.txt | 17 +- .../plugins/rwcntmgrtasklet/CMakeLists.txt | 16 +- .../common/plugins/rwcntmgrtasklet/Makefile | 17 +- .../mano/common/plugins/yang/CMakeLists.txt | 17 +- .../common/plugins/yang/rw-cloud.tailf.yang | 13 +- .../mano/common/plugins/yang/rw-cloud.yang | 13 +- .../plugins/yang/rw-config-agent.taif.yang | 13 +- .../common/plugins/yang/rw-config-agent.yang | 13 +- .../common/plugins/yang/rw-sdn.tailf.yang | 13 +- .../core/mano/common/plugins/yang/rw-sdn.yang | 13 +- .../core/mano/common/python/CMakeLists.txt | 16 +- modules/core/mano/confd_client/CMakeLists.txt | 17 +- modules/core/mano/confd_client/Makefile | 17 +- modules/core/mano/examples/CMakeLists.txt | 17 +- modules/core/mano/examples/Makefile | 17 +- .../mano/examples/ping_pong_ns/CMakeLists.txt | 17 +- .../core/mano/examples/ping_pong_ns/Makefile | 17 +- modules/core/mano/foss.txt | 1 - modules/core/mano/models/CMakeLists.txt | 17 +- .../core/mano/models/openmano/CMakeLists.txt | 17 +- .../mano/models/openmano/bin/CMakeLists.txt | 16 +- .../models/openmano/python/CMakeLists.txt | 16 +- .../mano/models/openmano/src/CMakeLists.txt | 17 +- .../core/mano/models/plugins/CMakeLists.txt | 17 +- .../mano/models/plugins/yang/CMakeLists.txt | 17 +- .../core/mano/models/plugins/yang/Makefile | 17 +- .../plugins/yang/ietf-l2-topology.tailf.yang | 40 - .../models/plugins/yang/ietf-l2-topology.yang | 578 ----- .../yang/ietf-network-topology.tailf.yang | 34 - .../plugins/yang/ietf-network-topology.yang | 257 --- .../plugins/yang/ietf-network.tailf.yang | 31 - .../models/plugins/yang/ietf-network.yang | 157 -- .../mano/models/plugins/yang/nsd.tailf.yang | 14 +- .../core/mano/models/plugins/yang/nsd.yang | 14 +- .../mano/models/plugins/yang/nsr.tailf.yang | 14 +- .../core/mano/models/plugins/yang/nsr.yang | 14 +- .../plugins/yang/odl-network-topology.yang | 13 +- .../core/mano/models/plugins/yang/pnfd.yang | 14 +- .../models/plugins/yang/rw-nsd.tailf.yang | 13 +- .../core/mano/models/plugins/yang/rw-nsd.yang | 13 +- .../models/plugins/yang/rw-nsr.tailf.yang | 13 +- .../core/mano/models/plugins/yang/rw-nsr.yang | 13 +- .../plugins/yang/rw-topology.tailf.yang | 13 +- .../mano/models/plugins/yang/rw-topology.yang | 13 +- .../models/plugins/yang/rw-vld.tailf.yang | 13 +- .../core/mano/models/plugins/yang/rw-vld.yang | 13 +- .../models/plugins/yang/rw-vlr.tailf.yang | 13 +- .../core/mano/models/plugins/yang/rw-vlr.yang | 13 +- .../models/plugins/yang/rw-vnfd.tailf.yang | 13 +- .../mano/models/plugins/yang/rw-vnfd.yang | 13 +- .../models/plugins/yang/rw-vnfr.tailf.yang | 13 +- .../mano/models/plugins/yang/rw-vnfr.yang | 13 +- .../mano/models/plugins/yang/vld.tailf.yang | 13 +- .../core/mano/models/plugins/yang/vld.yang | 13 +- .../mano/models/plugins/yang/vlr.tailf.yang | 13 +- .../core/mano/models/plugins/yang/vlr.yang | 13 +- .../mano/models/plugins/yang/vnfd.tailf.yang | 13 +- .../core/mano/models/plugins/yang/vnfd.yang | 13 +- .../core/mano/models/plugins/yang/vnffgd.yang | 13 +- .../mano/models/plugins/yang/vnfr.tailf.yang | 13 +- .../core/mano/models/plugins/yang/vnfr.yang | 13 +- modules/core/mano/rwcm/CMakeLists.txt | 17 +- modules/core/mano/rwcm/plugins/CMakeLists.txt | 17 +- .../mano/rwcm/plugins/rwconman/CMakeLists.txt | 17 +- .../mano/rwcm/plugins/yang/CMakeLists.txt | 17 +- .../rwcm/plugins/yang/rw-conman.tailf.yang | 19 +- .../mano/rwcm/plugins/yang/rw-conman.yang | 15 +- modules/core/mano/rwcm/test/CMakeLists.txt | 17 +- modules/core/mano/rwlaunchpad/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/CMakeLists.txt | 17 +- .../rwlaunchpad/plugins/rwiwp/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/rwiwp/Makefile | 17 +- .../plugins/rwlaunchpadtasklet/CMakeLists.txt | 17 +- .../plugins/rwlaunchpadtasklet/Makefile | 17 +- .../plugins/rwmonitor/CMakeLists.txt | 17 +- .../rwlaunchpad/plugins/rwmonitor/Makefile | 17 +- .../rwlaunchpad/plugins/rwnsm/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/rwnsm/Makefile | 17 +- .../plugins/rwresmgr/CMakeLists.txt | 17 +- .../rwlaunchpad/plugins/rwresmgr/Makefile | 17 +- .../rwlaunchpad/plugins/rwvnfm/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/rwvnfm/Makefile | 17 +- .../rwlaunchpad/plugins/rwvns/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/rwvns/Makefile | 17 +- .../plugins/rwvns/vala/CMakeLists.txt | 17 +- .../rwvns/vala/rwsdn-python/CMakeLists.txt | 17 +- .../rwlaunchpad/plugins/rwvns/vala/rwsdn.vala | 15 + .../rwvns/vala/rwsdn_mock/CMakeLists.txt | 17 +- .../rwvns/vala/rwsdn_odl/CMakeLists.txt | 17 +- .../rwvns/vala/rwsdn_sim/CMakeLists.txt | 17 +- .../plugins/rwvns/yang/CMakeLists.txt | 17 +- .../rwlaunchpad/plugins/rwvns/yang/Makefile | 17 +- .../plugins/rwvns/yang/rwsdn.tailf.yang | 13 +- .../rwlaunchpad/plugins/rwvns/yang/rwsdn.yang | 13 +- .../rwlaunchpad/plugins/vala/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/vala/Makefile | 17 +- .../plugins/vala/rwos_ma_nfvo/CMakeLists.txt | 17 +- .../vala/rwos_ma_nfvo/rwos_ma_nfvo.vala | 17 +- .../rwos_ma_nfvo_rest/CMakeLists.txt | 18 +- .../rwos_ma_nfvo/rwos_ma_nfvo_rest/Makefile | 17 +- .../plugins/vala/rwve_vnfm_em/CMakeLists.txt | 17 +- .../vala/rwve_vnfm_em/rwve_vnfm_em.vala | 15 + .../rwve_vnfm_em_rest/CMakeLists.txt | 17 +- .../rwve_vnfm_em/rwve_vnfm_em_rest/Makefile | 17 +- .../plugins/vala/rwve_vnfm_vnf/CMakeLists.txt | 17 +- .../vala/rwve_vnfm_vnf/rwve_vnfm_vnf.vala | 15 + .../rwve_vnfm_vnf_rest/CMakeLists.txt | 17 +- .../rwve_vnfm_vnf/rwve_vnfm_vnf_rest/Makefile | 17 +- .../rwlaunchpad/plugins/yang/CMakeLists.txt | 17 +- .../mano/rwlaunchpad/plugins/yang/Makefile | 17 +- .../plugins/yang/rw-iwp.tailf.yang | 13 +- .../mano/rwlaunchpad/plugins/yang/rw-iwp.yang | 15 +- .../plugins/yang/rw-launchpad-log.yang | 15 +- .../plugins/yang/rw-launchpad.yang | 13 +- .../plugins/yang/rw-monitor.tailf.yang | 13 +- .../rwlaunchpad/plugins/yang/rw-monitor.yang | 15 +- .../mano/rwlaunchpad/plugins/yang/rw-nsm.yang | 15 +- .../plugins/yang/rw-resource-mgr.tailf.yang | 13 +- .../plugins/yang/rw-resource-mgr.yang | 15 +- .../rwlaunchpad/plugins/yang/rw-vnfm.yang | 15 +- .../plugins/yang/rw-vns.tailf.yang | 13 +- .../mano/rwlaunchpad/plugins/yang/rw-vns.yang | 15 +- .../core/mano/rwlaunchpad/ra/CMakeLists.txt | 15 +- .../ra/launchpad_longevity_systest | 15 + .../rwlaunchpad/ra/pingpong_longevity_systest | 15 + .../ra/pingpong_lp_standalone_systest | 15 + .../rwlaunchpad/ra/pingpong_records_systest | 15 + .../ra/pingpong_vnf_reload_systest | 15 + .../mano/rwlaunchpad/ra/pingpong_vnf_systest | 15 + .../ra/pytest/test_pingpong_vnf.py | 2 +- .../core/mano/rwlaunchpad/test/CMakeLists.txt | 17 +- modules/core/mano/rwmc/CMakeLists.txt | 17 +- modules/core/mano/rwmc/Makefile | 17 +- modules/core/mano/rwmc/plugins/CMakeLists.txt | 17 +- modules/core/mano/rwmc/plugins/Makefile | 17 +- .../rwmc/plugins/rwmctasklet/CMakeLists.txt | 2 - .../mano/rwmc/plugins/rwmctasklet/Makefile | 17 +- .../mano/rwmc/plugins/yang/CMakeLists.txt | 17 +- modules/core/mano/rwmc/plugins/yang/Makefile | 17 +- .../mano/rwmc/plugins/yang/rw-mc.tailf.yang | 13 +- .../core/mano/rwmc/plugins/yang/rw-mc.yang | 15 +- modules/core/mano/rwmc/ra/CMakeLists.txt | 15 +- .../rwmc/ra/mission_control_delete_systest | 15 + ...ion_control_negative_cloud_account_systest | 15 + ...ssion_control_negative_mgmt_domain_systest | 15 + .../rwmc/ra/mission_control_negative_systest | 15 + .../mission_control_negative_vmpool_systest | 15 + .../rwmc/ra/mission_control_reload_systest | 15 + .../core/mano/rwmc/ra/mission_control_systest | 15 + modules/core/mano/rwmc/test/CMakeLists.txt | 17 +- modules/core/rwvx/rwcal/CMakeLists.txt | 17 +- modules/core/rwvx/rwcal/Makefile | 17 +- .../core/rwvx/rwcal/plugins/CMakeLists.txt | 16 +- .../plugins/rwcalproxytasklet/CMakeLists.txt | 17 +- .../rwvx/rwcal/plugins/vala/CMakeLists.txt | 16 +- modules/core/rwvx/rwcal/plugins/vala/Makefile | 17 +- .../plugins/vala/rwcal_aws/CMakeLists.txt | 17 +- .../rwcal/plugins/vala/rwcal_aws/Makefile | 17 +- .../vala/rwcal_cloudsim/CMakeLists.txt | 17 +- .../plugins/vala/rwcal_cloudsim/Makefile | 17 +- .../vala/rwcal_cloudsimproxy/CMakeLists.txt | 18 +- .../plugins/vala/rwcal_cloudsimproxy/Makefile | 17 +- .../plugins/vala/rwcal_mock/CMakeLists.txt | 17 +- .../rwcal/plugins/vala/rwcal_mock/Makefile | 17 +- .../vala/rwcal_openmano/CMakeLists.txt | 17 +- .../plugins/vala/rwcal_openmano/Makefile | 17 +- .../vala/rwcal_openstack/CMakeLists.txt | 17 +- .../plugins/vala/rwcal_openstack/Makefile | 17 +- .../plugins/vala/rwcal_vsphere/CMakeLists.txt | 17 +- .../rwcal/plugins/vala/rwcal_vsphere/Makefile | 17 +- .../plugins/vala/rwcal_zk/CMakeLists.txt | 17 +- .../rwvx/rwcal/plugins/yang/CMakeLists.txt | 16 +- modules/core/rwvx/rwcal/plugins/yang/Makefile | 17 +- .../core/rwvx/rwcal/plugins/yang/rwcal.yang | 12 +- modules/core/rwvx/rwcal/src/CMakeLists.txt | 15 +- modules/core/rwvx/rwcal/src/Makefile | 17 +- modules/core/rwvx/rwcal/test/CMakeLists.txt | 17 +- .../rwcal/test/cal_module_test/CMakeLists.txt | 17 +- modules/ui/composer/CMakeLists.txt | 16 + modules/ui/composer/foss.txt | 0 modules/ui/composer/scripts/.install.sh.swp | Bin 12288 -> 0 bytes modules/ui/composer/webapp/.yo-rc.json | 3 +- modules/ui/composer/webapp/README.md | 14 + .../ui/composer/webapp/license-flat-icon.pdf | Bin 38247 -> 0 bytes modules/ui/composer/webapp/license-info.txt | 2 - modules/ui/composer/webapp/package.json | 1 + modules/ui/composer/webapp/src/README.md | 13 + .../src/assets/big-honking-catalog.json | 1901 ----------------- .../webapp/src/assets/empty-nsd-catalog.json | 290 --- .../webapp/src/assets/favicons/manifest.json | 1 + .../src/assets/favicons/safari-pinned-tab.svg | 15 + .../webapp/src/assets/juju-catalog.json | 936 -------- .../webapp/src/assets/ping-pong-catalog.json | 767 ------- .../src/assets/ping-vrouter-pong-catalog.json | 504 ----- .../src/images/default-catalog-icon.svg | 15 + .../webapp/src/images/default-icon-white.svg | 15 + .../webapp/src/images/default-icon.svg | 15 + .../test-clean-input-output-model.json | 583 ----- .../webapp/test/uploadServer/package.json | 1 + modules/ui/rw.ui/CMakeLists.txt | 16 + modules/ui/rw.ui/foss.txt | 0 modules/ui/rw.ui/webapp/README.md | 14 + .../webapp/app/assets/favicons/manifest.json | 1 + .../app/assets/favicons/safari-pinned-tab.svg | 15 + .../webapp/app/assets/img/catalog-default.svg | 15 + .../assets/img/svg/launch-fleet-icn-close.svg | 15 + .../assets/img/svg/launch-fleet-icn-edit.svg | 15 + .../svg/launch-fleet-network-01-active.svg | 15 + .../svg/launch-fleet-network-01-inactive.svg | 15 + .../svg/launch-fleet-network-02-active.svg | 15 + .../svg/launch-fleet-network-02-inactive.svg | 15 + .../svg/launch-fleet-network-03-active.svg | 15 + .../svg/launch-fleet-network-03-inactive.svg | 15 + .../svg/launch-fleet-network-04-active.svg | 15 + .../svg/launch-fleet-network-04-inactive.svg | 15 + .../svg/launch-fleet-network-05-active.svg | 15 + .../svg/launch-fleet-network-05-inactive.svg | 15 + .../svg/launch-fleet-network-06-active.svg | 15 + .../svg/launch-fleet-network-06-inactive.svg | 15 + .../svg/launch-fleet-network-07-active.svg | 15 + .../svg/launch-fleet-network-07-inactive.svg | 15 + .../svg/launch-fleet-network-08-active.svg | 15 + .../svg/launch-fleet-network-08-inactive.svg | 15 + .../svg/launch-fleet-network-09-active.svg | 15 + .../svg/launch-fleet-network-09-inactive.svg | 15 + .../svg/launch-fleet-network-10-active.svg | 15 + .../svg/launch-fleet-network-10-inactive.svg | 15 + .../svg/launch-fleet-network-11-active.svg | 15 + .../svg/launch-fleet-network-11-inactive.svg | 15 + .../img/svg/launch-fleet-pool-01-active.svg | 15 + .../img/svg/launch-fleet-pool-01-inactive.svg | 15 + .../img/svg/launch-fleet-pool-02-active.svg | 15 + .../img/svg/launch-fleet-pool-02-inactive.svg | 15 + ...launchpad-icn-create-environment-large.svg | 15 + .../assets/img/svg/launchpad-icn-newTab.svg | 15 + .../app/assets/img/svg/launchpad-icn-play.svg | 15 + .../assets/img/svg/launchpad-icn-sliders.svg | 15 + .../app/assets/img/viewport-sla-graph.svg | 15 + .../webapp/app/assets/img/viewport-vnf-10.svg | 15 + .../webapp/app/assets/img/viewport-vnf-50.svg | 15 + .../webapp/app/assets/js/n3-line-chart.js | 1808 ---------------- .../rw.ui/webapp/app/modules/about/about.jsx | 16 + .../components/carousel/carousel-react.jsx | 15 + .../dashboard_card/dashboardCardHeader.jsx | 15 + .../dashboard_card/dashboard_card.jsx | 15 + .../app/modules/components/filter/filter.jsx | 15 + .../app/modules/components/header/header.jsx | 16 + .../input-range-slider/input-range-slider.jsx | 15 + .../loading-indicator/loadingIndicator.jsx | 15 + .../monitoringParamsCarousel.jsx | 15 + .../nfvi-metric-bars/nfviMetricBars.jsx | 15 + .../launchpadOperationalStatus.jsx | 15 + .../components/screen-loader/screenLoader.jsx | 15 + .../components/topology/topologyL2Graph.jsx | 15 + .../components/topology/topologyTree.jsx | 15 + .../transmit-receive/transmit-receive.jsx | 15 + .../app/modules/components/uptime/uptime.jsx | 15 + .../rw.ui/webapp/app/modules/debug/crash.jsx | 15 + .../account_sidebar/accountSidebar.jsx | 16 + .../launchpad/launchpad-dashboard.html.orig | 15 + .../app/modules/launchpad/launchpad.jsx | 15 + .../launchpad/launchpadBreadcrumbs.jsx | 16 + .../launchpad_card/launchpadCard.jsx | 15 + .../launchpadCardCloudAccount.jsx | 15 + .../launchpadCardMgmtInterfaces.jsx | 15 + .../launchpad_card/launchpadControls.jsx | 15 + .../launchpad_card/launchpadHeader.jsx | 15 + .../launchpad_card/launchpadNSInfo.jsx | 15 + .../launchpad_card/nsrConfigPrimitives.jsx | 15 + .../launchpadCloudAccount.jsx | 16 + .../configAgentAccount.jsx | 16 + .../launchpadConfigAgentAccount.jsx | 16 + .../launchpadSdnAccount.jsx | 16 + .../launchpad_sdn_account/sdnAccount.jsx | 16 + .../launchpad/monitoring-params-filter.jsx | 15 + .../network_service_launcher/catalogItems.jsx | 15 + .../launchNetworkService.jsx | 15 + .../launchNetworkServiceSource.js.orig | 15 + .../selectDescriptor.jsx | 15 + .../specifySLAParameters.jsx | 15 + .../launchpad/recordViewer/recordCard.jsx | 15 + .../launchpad/recordViewer/recordDetails.jsx | 15 + .../recordViewer/recordNavigator.jsx | 15 + .../launchpad/recordViewer/recordView.jsx | 15 + .../launchpad/topologyL2View/detailView.jsx | 16 + .../topologyL2View/topologyL2View.jsx | 15 + .../launchpad/topologyView/topologyView.jsx | 15 + .../app/modules/launchpad/vnfr/vnfrCard.jsx | 15 + .../launchpad/vnfr/vnfrCardNfviMetrics.jsx | 15 + .../app/modules/launchpad/vnfr/vnfrView.jsx | 15 + .../rw.ui/webapp/app/modules/login/login.jsx | 16 + .../account_sidebar/accountSidebar.jsx | 16 + .../cloud_account/cloudAccount.jsx | 16 + .../cloud_account/cloudAccountWrapper.jsx | 16 + .../management_domain/managementDomain.jsx | 16 + .../managementDomainCard.jsx | 15 + .../managementDomainCardHeader.jsx | 15 + .../missionControlDashboard.jsx | 15 + .../app/modules/missioncontrol/pool/pool.jsx | 16 + .../missioncontrol/sdn_account/sdnAccount.jsx | 16 + .../public/assets/less/accents/corners.less | 15 + .../public/assets/less/accents/states.less | 15 + .../public/assets/less/base/palette.less | 15 + .../webapp/public/assets/less/base/type.less | 15 + .../webapp/public/assets/less/base/utils.less | 15 + .../webapp/public/assets/less/base/vars.less | 15 + .../assets/less/components/config-viewer.less | 15 + .../assets/less/components/dropdowns.less | 15 + .../assets/less/components/fleet-card.less | 15 + .../assets/less/components/nav-panels.less | 15 + .../assets/less/components/progress-bars.less | 15 + .../public/assets/less/controls/buttons.less | 15 + .../public/assets/less/controls/slider.less | 15 + .../public/assets/less/controls/splitter.less | 15 + .../assets/less/controls/step-control.less | 15 + .../assets/less/controls/toggle-control.less | 15 + .../rw.ui/webapp/public/assets/less/core.less | 15 + .../less/launchpad/launchpad-dashboard.less | 15 + .../public/assets/less/layout/app-body.less | 15 + .../public/assets/less/layout/footer.less | 15 + .../public/assets/less/layout/header.less | 15 + .../public/assets/less/layout/layout.less | 15 + .../webapp/public/assets/less/login.less | 15 + .../public/assets/less/mixins/flexbox.less | 15 + .../assets/less/screens/create-fleet.less | 15 + .../public/assets/less/screens/launchpad.less | 15 + .../assets/less/screens/viewport-dash.less | 15 + .../assets/less/screens/viewport-so.less | 15 + .../assets/less/screens/viewport-vim.less | 15 + .../assets/less/screens/viewport-vnf.less | 15 + .../public/assets/less/screens/wag.less | 15 + .../webapp/public/assets/less/slider.less | 15 + .../webapp/public/assets/less/temp-png.less | 15 + rift-bashrc | 15 +- rift-prompt | 17 +- rift-shell | 15 +- rift_env.py | 2 +- scripts/vm_image/mkvmimg | 15 +- scripts/vm_image/riftware-release.repo | 14 + 350 files changed, 4639 insertions(+), 8231 deletions(-) delete mode 100644 modules/core/mano/foss.txt delete mode 100644 modules/core/mano/models/plugins/yang/ietf-l2-topology.tailf.yang delete mode 100755 modules/core/mano/models/plugins/yang/ietf-l2-topology.yang delete mode 100644 modules/core/mano/models/plugins/yang/ietf-network-topology.tailf.yang delete mode 100755 modules/core/mano/models/plugins/yang/ietf-network-topology.yang delete mode 100644 modules/core/mano/models/plugins/yang/ietf-network.tailf.yang delete mode 100755 modules/core/mano/models/plugins/yang/ietf-network.yang delete mode 100644 modules/ui/composer/foss.txt delete mode 100644 modules/ui/composer/scripts/.install.sh.swp delete mode 100755 modules/ui/composer/webapp/license-flat-icon.pdf delete mode 100644 modules/ui/composer/webapp/license-info.txt delete mode 100644 modules/ui/composer/webapp/src/assets/big-honking-catalog.json delete mode 100644 modules/ui/composer/webapp/src/assets/empty-nsd-catalog.json delete mode 100644 modules/ui/composer/webapp/src/assets/juju-catalog.json delete mode 100644 modules/ui/composer/webapp/src/assets/ping-pong-catalog.json delete mode 100644 modules/ui/composer/webapp/src/assets/ping-vrouter-pong-catalog.json delete mode 100644 modules/ui/composer/webapp/test/helpers/test-clean-input-output-model.json delete mode 100644 modules/ui/rw.ui/foss.txt delete mode 100644 modules/ui/rw.ui/webapp/app/assets/js/n3-line-chart.js diff --git a/CMakeLists.txt b/CMakeLists.txt index 26e045e..9dd56eb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,16 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 8/29/2013 diff --git a/Makefile b/Makefile index aec746b..ffeb96e 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,16 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf / Anil Gunturu # Creation Date: 11/18/2013 diff --git a/Makefile.env b/Makefile.env index 9642724..ea1e1f5 100644 --- a/Makefile.env +++ b/Makefile.env @@ -1,5 +1,16 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 05/22/2014 diff --git a/Makefile.top b/Makefile.top index c28cc10..215dabd 100644 --- a/Makefile.top +++ b/Makefile.top @@ -1,5 +1,18 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/18/2013 diff --git a/bin/make_etsi_packages b/bin/make_etsi_packages index d6b0a38..6856307 100755 --- a/bin/make_etsi_packages +++ b/bin/make_etsi_packages @@ -1,4 +1,18 @@ #!/bin/bash -xe +# +# Copyright 2016 RIFT.IO 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. cd $(dirname $0) cd .. diff --git a/bin/pip-install b/bin/pip-install index 25f3409..9f8de84 100755 --- a/bin/pip-install +++ b/bin/pip-install @@ -1,4 +1,17 @@ #!/usr/bin/bash +# Copyright 2016 RIFT.IO 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. if [ "$1" == "ALL" ]; then diff --git a/bin/pip3-install b/bin/pip3-install index 6b3742a..bc135f2 100755 --- a/bin/pip3-install +++ b/bin/pip3-install @@ -1,5 +1,17 @@ #!/usr/bin/bash - +# Copyright 2016 RIFT.IO 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. if [ "$1" == "ALL" ]; then set -- -r /usr/rift/scripts/setup/PIP3 diff --git a/bin/pip3-kilo-install b/bin/pip3-kilo-install index c03266a..1d26b07 100755 --- a/bin/pip3-kilo-install +++ b/bin/pip3-kilo-install @@ -1,4 +1,17 @@ #!/usr/bin/bash +# Copyright 2016 RIFT.IO 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. progs="/bin/pip3 /bin/python3-pip" diff --git a/modules/core/mano/CMakeLists.txt b/modules/core/mano/CMakeLists.txt index 7c6b207..354fc95 100644 --- a/modules/core/mano/CMakeLists.txt +++ b/modules/core/mano/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 03/26/2014 diff --git a/modules/core/mano/Makefile b/modules/core/mano/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/Makefile +++ b/modules/core/mano/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/common/CMakeLists.txt b/modules/core/mano/common/CMakeLists.txt index 2cb4f42..904b432 100644 --- a/modules/core/mano/common/CMakeLists.txt +++ b/modules/core/mano/common/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/common/plugins/CMakeLists.txt b/modules/core/mano/common/plugins/CMakeLists.txt index 95fb6af..f477a63 100644 --- a/modules/core/mano/common/plugins/CMakeLists.txt +++ b/modules/core/mano/common/plugins/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/common/plugins/rwcntmgrtasklet/CMakeLists.txt b/modules/core/mano/common/plugins/rwcntmgrtasklet/CMakeLists.txt index 18eb9c1..1488dba 100644 --- a/modules/core/mano/common/plugins/rwcntmgrtasklet/CMakeLists.txt +++ b/modules/core/mano/common/plugins/rwcntmgrtasklet/CMakeLists.txt @@ -1,5 +1,17 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/common/plugins/rwcntmgrtasklet/Makefile b/modules/core/mano/common/plugins/rwcntmgrtasklet/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/common/plugins/rwcntmgrtasklet/Makefile +++ b/modules/core/mano/common/plugins/rwcntmgrtasklet/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/common/plugins/yang/CMakeLists.txt b/modules/core/mano/common/plugins/yang/CMakeLists.txt index 8e29677..a1aec89 100644 --- a/modules/core/mano/common/plugins/yang/CMakeLists.txt +++ b/modules/core/mano/common/plugins/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 2015/11/20 diff --git a/modules/core/mano/common/plugins/yang/rw-cloud.tailf.yang b/modules/core/mano/common/plugins/yang/rw-cloud.tailf.yang index d7dc559..36d8f3f 100644 --- a/modules/core/mano/common/plugins/yang/rw-cloud.tailf.yang +++ b/modules/core/mano/common/plugins/yang/rw-cloud.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-cloud-annotation diff --git a/modules/core/mano/common/plugins/yang/rw-cloud.yang b/modules/core/mano/common/plugins/yang/rw-cloud.yang index c3fb1c7..318a6d4 100755 --- a/modules/core/mano/common/plugins/yang/rw-cloud.yang +++ b/modules/core/mano/common/plugins/yang/rw-cloud.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-cloud diff --git a/modules/core/mano/common/plugins/yang/rw-config-agent.taif.yang b/modules/core/mano/common/plugins/yang/rw-config-agent.taif.yang index cd72eea..48455b8 100644 --- a/modules/core/mano/common/plugins/yang/rw-config-agent.taif.yang +++ b/modules/core/mano/common/plugins/yang/rw-config-agent.taif.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-config-agent-annotation diff --git a/modules/core/mano/common/plugins/yang/rw-config-agent.yang b/modules/core/mano/common/plugins/yang/rw-config-agent.yang index e97d419..e58961c 100755 --- a/modules/core/mano/common/plugins/yang/rw-config-agent.yang +++ b/modules/core/mano/common/plugins/yang/rw-config-agent.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-config-agent diff --git a/modules/core/mano/common/plugins/yang/rw-sdn.tailf.yang b/modules/core/mano/common/plugins/yang/rw-sdn.tailf.yang index 3cf4beb..b943bfb 100644 --- a/modules/core/mano/common/plugins/yang/rw-sdn.tailf.yang +++ b/modules/core/mano/common/plugins/yang/rw-sdn.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-sdn-annotation diff --git a/modules/core/mano/common/plugins/yang/rw-sdn.yang b/modules/core/mano/common/plugins/yang/rw-sdn.yang index 41bc4a8..3e77375 100644 --- a/modules/core/mano/common/plugins/yang/rw-sdn.yang +++ b/modules/core/mano/common/plugins/yang/rw-sdn.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-sdn diff --git a/modules/core/mano/common/python/CMakeLists.txt b/modules/core/mano/common/python/CMakeLists.txt index a390627..94c5407 100644 --- a/modules/core/mano/common/python/CMakeLists.txt +++ b/modules/core/mano/common/python/CMakeLists.txt @@ -1,5 +1,19 @@ +# +# Copyright 2016 RIFT.IO 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. +# # Creation Date: 2016/1/12 -# RIFT_IO_STANDARD_CMAKE_COPYRIGHT_HEADER(END) cmake_minimum_required(VERSION 2.8) diff --git a/modules/core/mano/confd_client/CMakeLists.txt b/modules/core/mano/confd_client/CMakeLists.txt index 5de8f0a..3d81e27 100644 --- a/modules/core/mano/confd_client/CMakeLists.txt +++ b/modules/core/mano/confd_client/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 2014/04/30 diff --git a/modules/core/mano/confd_client/Makefile b/modules/core/mano/confd_client/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/confd_client/Makefile +++ b/modules/core/mano/confd_client/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/examples/CMakeLists.txt b/modules/core/mano/examples/CMakeLists.txt index ce7be69..a59be46 100644 --- a/modules/core/mano/examples/CMakeLists.txt +++ b/modules/core/mano/examples/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 03/26/2014 diff --git a/modules/core/mano/examples/Makefile b/modules/core/mano/examples/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/examples/Makefile +++ b/modules/core/mano/examples/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/examples/ping_pong_ns/CMakeLists.txt b/modules/core/mano/examples/ping_pong_ns/CMakeLists.txt index 5a2d6f9..06b5960 100644 --- a/modules/core/mano/examples/ping_pong_ns/CMakeLists.txt +++ b/modules/core/mano/examples/ping_pong_ns/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 03/26/2014 diff --git a/modules/core/mano/examples/ping_pong_ns/Makefile b/modules/core/mano/examples/ping_pong_ns/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/examples/ping_pong_ns/Makefile +++ b/modules/core/mano/examples/ping_pong_ns/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/foss.txt b/modules/core/mano/foss.txt deleted file mode 100644 index 6d1ef78..0000000 --- a/modules/core/mano/foss.txt +++ /dev/null @@ -1 +0,0 @@ -RIFT.core, rwmc/mock/node_modules/autobahn, AutobahnJS, MIT, https://github.com/crossbario/autobahn-js diff --git a/modules/core/mano/models/CMakeLists.txt b/modules/core/mano/models/CMakeLists.txt index cc9bed6..ea751c3 100644 --- a/modules/core/mano/models/CMakeLists.txt +++ b/modules/core/mano/models/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 2014/12/11 diff --git a/modules/core/mano/models/openmano/CMakeLists.txt b/modules/core/mano/models/openmano/CMakeLists.txt index 296dc6d..7e7028a 100644 --- a/modules/core/mano/models/openmano/CMakeLists.txt +++ b/modules/core/mano/models/openmano/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 2014/12/11 diff --git a/modules/core/mano/models/openmano/bin/CMakeLists.txt b/modules/core/mano/models/openmano/bin/CMakeLists.txt index 07472ff..daecb9e 100644 --- a/modules/core/mano/models/openmano/bin/CMakeLists.txt +++ b/modules/core/mano/models/openmano/bin/CMakeLists.txt @@ -1,5 +1,19 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # # Author(s): Austin Cormier # Creation Date: 1/11/2015 diff --git a/modules/core/mano/models/openmano/python/CMakeLists.txt b/modules/core/mano/models/openmano/python/CMakeLists.txt index abbf139..a99e025 100644 --- a/modules/core/mano/models/openmano/python/CMakeLists.txt +++ b/modules/core/mano/models/openmano/python/CMakeLists.txt @@ -1,5 +1,19 @@ +# +# Copyright 2016 RIFT.IO 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. +# # Creation Date: 2016/1/12 -# RIFT_IO_STANDARD_CMAKE_COPYRIGHT_HEADER(END) cmake_minimum_required(VERSION 2.8) diff --git a/modules/core/mano/models/openmano/src/CMakeLists.txt b/modules/core/mano/models/openmano/src/CMakeLists.txt index 486a9df..fc9bc2c 100644 --- a/modules/core/mano/models/openmano/src/CMakeLists.txt +++ b/modules/core/mano/models/openmano/src/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 2014/12/11 diff --git a/modules/core/mano/models/plugins/CMakeLists.txt b/modules/core/mano/models/plugins/CMakeLists.txt index e26729f..baeeec7 100644 --- a/modules/core/mano/models/plugins/CMakeLists.txt +++ b/modules/core/mano/models/plugins/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 2014/12/11 diff --git a/modules/core/mano/models/plugins/yang/CMakeLists.txt b/modules/core/mano/models/plugins/yang/CMakeLists.txt index 145a5e4..f71c599 100644 --- a/modules/core/mano/models/plugins/yang/CMakeLists.txt +++ b/modules/core/mano/models/plugins/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 10/15/2014 diff --git a/modules/core/mano/models/plugins/yang/Makefile b/modules/core/mano/models/plugins/yang/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/models/plugins/yang/Makefile +++ b/modules/core/mano/models/plugins/yang/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/models/plugins/yang/ietf-l2-topology.tailf.yang b/modules/core/mano/models/plugins/yang/ietf-l2-topology.tailf.yang deleted file mode 100644 index d09e914..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-l2-topology.tailf.yang +++ /dev/null @@ -1,40 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-l2-topology-annotation -{ - namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology"; - prefix "ietf-l2-topology-ann"; - - import tailf-common { - prefix tailf; - } - - import rw-base { - prefix rwbase; - } - - import ietf-network { - prefix nd; - } - - import ietf-network-topology { - prefix nt; - } - - import ietf-l2-topology { - prefix lt; - } - - tailf:annotate "/nd:network" { - tailf:callpoint base_show; - } - - tailf:annotate "/nd:network/nd:server-provided" { - tailf:callpoint base_show; - } - -} diff --git a/modules/core/mano/models/plugins/yang/ietf-l2-topology.yang b/modules/core/mano/models/plugins/yang/ietf-l2-topology.yang deleted file mode 100755 index 9f572cb..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-l2-topology.yang +++ /dev/null @@ -1,578 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-l2-topology { - yang-version 1; - namespace "urn:ietf:params:xml:ns:yang:ietf-l2-topology"; - prefix "l2t"; - - import ietf-network { - prefix "nw"; - } - - import ietf-network-topology { - prefix "nt"; - } - - import ietf-inet-types { - prefix "inet"; - } - - import ietf-yang-types { - prefix "yang"; - } - - organization "TBD"; - contact "I-D Editor: jie.dong@huawei.com"; - - description - "This module defines a basic model for - the layer-2 topology of a network"; - - revision "2015-06-23" { - description "Initial revision"; - reference "draft-ietf-i2rs-l2-network-topology-01"; - } - - /* - * Typedefs - */ - - typedef vlan { - type uint16 { - range "0..4095"; - } - description "VLAN ID"; - } - - typedef trill-nickname { - type uint16; - description "TRILL Nickname"; - } - - typedef flag-type { - type identityref { - base "flag-identity"; - } - description "Base type for flags"; - } - - typedef l2-network-event-type { - type enumeration { - enum "add" { - value 0; - description "An L2 node or link or termination-point - has been added"; - } - enum "remove" { - value 1; - description "An L2 node or link or termination-point - has been removed"; - } - enum "update" { - value 2; - description "An L2 node or link or termination-point - has been updated"; - } - } - description "l2 network event type for notifications"; - } // l2-topology-event-type - - - /* - * Features - */ - - feature VLAN { - description - "Indicates that the system supports the - vlan functions"; - } - - feature QinQ { - description - "Indicates that the system supports the - qinq functions"; - } - - feature PBB { - description - "Indicates that the device supports the - provider-backbone-bridging functions"; - } - - feature VPLS { - description - "Indicates that the device supports the - VPLS functions"; - reference "RFC 4761, RFC 4762"; - } - - feature TRILL { - description - "Indicates that the device supports the - TRILL functions"; - reference "RFC 6325"; - } - - feature VXLAN { - description - "Indicates that the device supports the - VXLAN functions"; - reference "RFC 7348"; - } - - /* - * Identities - */ - identity flag-identity { - description "Base type for flags"; - } - - identity encapsulation-type { - description - "Base identity from which specific encapsulation - types are derived."; - } - - identity eth-encapsulation-type { - base encapsulation-type; - description - "Base identity from which specific ethernet - encapsulation types are derived."; - - } - - identity ethernet { - base eth-encapsulation-type; - description - "native ethernet encapsulation"; - } - - identity vlan { - base eth-encapsulation-type; - description - "vlan encapsulation"; - } - - identity qinq { - base eth-encapsulation-type; - description - "qinq encapsulation"; - } - - identity pbb { - base eth-encapsulation-type; - description - "pbb encapsulation"; - } - - identity trill { - base eth-encapsulation-type; - description - "trill encapsulation"; - } - - identity vpls { - base eth-encapsulation-type; - description - "vpls encapsulation"; - } - - identity vxlan { - base eth-encapsulation-type; - description - "vxlan encapsulation"; - } - - identity frame-relay { - base encapsulation-type; - description - "Frame Relay encapsulation"; - } - - identity ppp { - base encapsulation-type; - description - "PPP encapsulation"; - } - - identity hdlc { - base encapsulation-type; - description - "HDLC encapsulation"; - } - - identity atm { - base encapsulation-type; - description - "Base identity from which specific ATM - encapsulation types are derived."; - - } - - identity pwe3 { - base encapsulation-type; - description - "Base identity from which specific pw - encapsulation types are derived."; - } - - - /* - * Groupings - */ - - - grouping l2-network-type { - description "Identify the topology type to be L2."; - container l2-network { - presence "indicates L2 Network"; - description - "The presence of the container node indicates - L2 Topology"; - } - } - - grouping l2-network-attributes { - description "L2 Topology scope attributes"; - container l2-network-attributes { - description "Containing L2 network attributes"; - leaf name { - type string; - description "Name of the L2 network"; - } - - leaf-list flag { - type flag-type; - description "L2 network flags"; - } - } - } - - grouping l2-node-attributes { - description "L2 node attributes"; - container l2-node-attributes { - description "Containing L2 node attributes"; - leaf name { - type string; - description "Node name"; - } - leaf description { - type string; - description "Node description"; - } - leaf-list management-address { - type inet:ip-address; - description "System management address"; - } - leaf management-vid { - if-feature VLAN; - type vlan; - description "System management VID"; - } - leaf-list nick-name { - if-feature TRILL; - type trill-nickname; - description "Nickname of the RBridge"; - } - leaf-list flag { - type flag-type; - description "Node operational flags"; - } - } - } // grouping l2-node-attributes - - - grouping l2-link-attributes { - description "L2 link attributes"; - container l2-link-attributes { - description "Containing L2 link attributes"; - leaf name { - type string; - description "Link name"; - } - leaf-list flag { - type flag-type; - description "Link flags"; - } - leaf rate { - type decimal64 { - fraction-digits 2; - } - description "Link rate"; - - } - leaf delay { - type uint32; - description "Link delay in microseconds"; - } - leaf-list srlg { - type uint32; - description - "List of Shared Risk Link Groups - this link belongs to."; - } - } - } // grouping l2-link-attributes - - grouping l2-termination-point-attributes { - description "L2 termination point attributes"; - container l2-termination-point-attributes { - description "Containing L2 TP attributes"; - leaf description { - type string; - description "Port description"; - } - - leaf maximum-frame-size { - type uint32; - description "Maximum frame size"; - } - - choice l2-termination-point-type { - description - "Indicates termination-point type - specific attributes"; - case ethernet { - leaf mac-address { - type yang:mac-address; - description "Interface MAC address"; - } - - leaf eth-encapsulation { - type identityref { - base eth-encapsulation-type; - } - description - "Encapsulation type of this - ternimation point."; - } - - leaf port-vlan-id { - if-feature VLAN; - type vlan; - description "Port VLAN ID"; - } - - list vlan-id-name { - if-feature VLAN; - key "vlan-id"; - description "Interface configured VLANs"; - leaf vlan-id { - type vlan; - description "VLAN ID"; - } - leaf vlan-name { - type string; - description "VLAN Name"; - } - } - } //case ethernet - - case legacy { - leaf encapsulation { - type identityref { - base encapsulation-type; - } - description - "Encapsulation type of this termination point."; - } - } //case legacy - - } //choice termination-point-type - - leaf tp-state { - type enumeration { - enum in-use { - value 0; - description - "the termination point is in forwarding state"; - } - enum blocking { - value 1; - description - "the termination point is in blocking state"; - } - enum down { - value 2; - description - "the termination point is in down state"; - } - enum others { - value 3; - description - "the termination point is in other state"; - } - } - config false; - description "State of the termination point"; - } - } - } // grouping l2-termination-point-attributes - -/*** grouping of network/node/link/tp leaf-refs ***/ - - grouping network-ref { - description - "Grouping for an absolute reference to a network topology - instance."; - leaf network-ref { - type leafref { - path "/nw:network/nw:network-id"; - } - description - "An absolute reference to a network topology instance."; - } - } - - grouping link-ref { - description - "Grouping for an absolute reference to a link instance."; - uses network-ref; - leaf link-ref { - type leafref { - path "/nw:network" - +"[nw:network-id = current()/../network-ref]" - +"/nt:link/nt:link-id"; - } - description - "An absolute reference to a link instance."; - } - } - - grouping node-ref { - description - "Grouping for an absolute reference to a node instance."; - uses network-ref; - leaf node-ref { - type leafref { - path "/nw:network" - +"[nw:network-id = current()/../network-ref]" - +"/nw:node/nw:node-id"; - } - description - "An absolute reference to a node instance."; - } - } - - grouping tp-ref { - description - "Grouping for an absolute reference to a termination point."; - uses node-ref; - leaf tp-ref { - type leafref { - path "/nw:network" - +"[nw:network-id = current()/../network-ref]" - +"/nw:node[nw:node-id = current()/../node-ref]" - +"/nt:termination-point/nt:tp-id"; - } - description - "Grouping for an absolute reference to a TP."; - } - } - - - /* - * Data nodes - */ - augment "/nw:network/nw:network-types" { - description - "Introduce new network type for L2 topology"; - uses l2-network-type; - } - - augment "/nw:network" { - /* RIFT-Change: when not to be used yet - when "nw:network-types/l2-network" { - description - "Augmentation parameters apply only for networks - with L2 topology"; - } - */ - description - "Configuration parameters for the L2 network - as a whole"; - uses l2-network-attributes; - } - - augment "/nw:network/nw:node" { - /* RIFT-Change: when not to be used yet - when "../nw:network-types/l2-network" { - description - "Augmentation parameters apply only for networks - with L2 topology"; - } - */ - description - "Configuration parameters for L2 at the node - level"; - uses l2-node-attributes; - } - - augment "/nw:network/nt:link" { - /* RIFT-Change: when not to be used yet - when "/nw:network/nw:network-types/l2-network" { - description - "Augmentation parameters apply only for networks - with L2 topology"; - } - */ - description "Augment L2 topology link information"; - uses l2-link-attributes; - } - - augment "/nw:network/nw:node/nt:termination-point" { - /* RIFT-Change: when not to be used yet - when "/nw:network/nw:network-types/l2-network" { - description - "Augmentation parameters apply only for networks - with L2 topology"; - } - */ - description - "Augment L2 topology termination point configuration"; - uses l2-termination-point-attributes; - } - - /* - * Notifications - */ - - notification l2-node-event { - description "Notification event for L2 node"; - leaf event-type { - type l2-network-event-type; - description "Event type"; - } - uses node-ref; - uses l2-network-type; - uses l2-node-attributes; - } - - notification l2-link-event { - description "Notification event for L2 link"; - leaf event-type { - type l2-network-event-type; - description "Event type"; - } - uses link-ref; - uses l2-network-type; - uses l2-link-attributes; - } - - notification l2-termination-point-event { - description "Notification event for L2 termination point"; - leaf event-type { - type l2-network-event-type; - description "Event type"; - } - uses tp-ref; - uses l2-network-type; - uses l2-termination-point-attributes; - } - -} // module l2-topology diff --git a/modules/core/mano/models/plugins/yang/ietf-network-topology.tailf.yang b/modules/core/mano/models/plugins/yang/ietf-network-topology.tailf.yang deleted file mode 100644 index 26868e5..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-network-topology.tailf.yang +++ /dev/null @@ -1,34 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-network-topology-annotation -{ - namespace "urn:ietf:params:xml:ns:yang:ietf-network-topology"; - prefix "ietf-network-topology-ann"; - - import tailf-common { - prefix tailf; - } - - import rw-base { - prefix rwbase; - } - - import ietf-network { - prefix nd; - } - - import ietf-network-topology { - prefix nt; - } - - tailf:annotate "/nd:network" { - tailf:callpoint base_show; - } - tailf:annotate "/nd:network/nd:server-provided" { - tailf:callpoint base_show; - } -} diff --git a/modules/core/mano/models/plugins/yang/ietf-network-topology.yang b/modules/core/mano/models/plugins/yang/ietf-network-topology.yang deleted file mode 100755 index e8f7c79..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-network-topology.yang +++ /dev/null @@ -1,257 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-network-topology { - yang-version 1; - namespace "urn:ietf:params:xml:ns:yang:ietf-network-topology"; - prefix lnk; - - import ietf-inet-types { - prefix inet; - } - import ietf-network { - prefix nd; - } - - organization "TBD"; - contact - "WILL-BE-DEFINED-LATER"; - description - "This module defines a common base model for network topology, - augmenting the base network model with links to connect nodes, - as well as termination points to terminate links on nodes."; - - revision 2015-06-08 { - description - "Initial revision."; - reference "draft-ietf-i2rs-yang-network-topo-01"; - } - - typedef link-id { - type inet:uri; - description - "An identifier for a link in a topology. - The identifier may be opaque. - The identifier SHOULD be chosen such that the same link in a - real network topology will always be identified through the - same identifier, even if the model is instantiated in - separate datastores. An implementation MAY choose to capture - semantics in the identifier, for example to indicate the type - of link and/or the type of topology that the link is a part - of."; - } - - typedef tp-id { - type inet:uri; - description - "An identifier for termination points on a node. - The identifier may be opaque. - The identifier SHOULD be chosen such that the same TP in a - real network topology will always be identified through the - same identifier, even if the model is instantiated in - separate datastores. An implementation MAY choose to capture - semantics in the identifier, for example to indicate the type - of TP and/or the type of node and topology that the TP is a - part of."; - } - - grouping link-ref { - description - "References a link in a specific network."; - leaf link-ref { - type leafref { - path "/nd:network[nd:network-id=current()/../"+ - "nd:network-ref]/link/link-id"; - } - description - "A type for an absolute reference a link instance. - (This type should not be used for relative references. - In such a case, a relative path should be used instead.)"; - } - uses nd:network-ref; - } - - grouping tp-ref { - description - "References a termination point in a specific node."; - leaf tp-ref { - type leafref { - path "/nd:network[nd:network-id=current()/../"+ - "nd:network-ref]/nd:node[nd:node-id=current()/../"+ - "nd:node-ref]/termination-point/tp-id"; - } - description - "A type for an absolute reference to a termination point. - (This type should not be used for relative references. - In such a case, a relative path should be used instead.)"; - } - uses nd:node-ref; - } - - augment "/nd:network" { - description - "Add links to the network model."; - list link { - key "link-id"; - - description - "A Network Link connects a by Local (Source) node and - a Remote (Destination) Network Nodes via a set of the - nodes' termination points. - As it is possible to have several links between the same - source and destination nodes, and as a link could - potentially be re-homed between termination points, to - ensure that we would always know to distinguish between - links, every link is identified by a dedicated link - identifier. - Note that a link models a point-to-point link, not a - multipoint link. - Layering dependencies on links in underlay topologies are - not represented as the layering information of nodes and of - termination points is sufficient."; - container source { - description - "This container holds the logical source of a particular - link."; - leaf source-node { - type leafref { - // RIFT change: - path "../../../../nd:network/nd:node/nd:node-id"; - } - mandatory true; - description - "Source node identifier, must be in same topology."; - } - leaf source-tp { - type leafref { - // RIFT change: - path "../../../../nd:network/nd:node[nd:node-id=current()/../"+ - "source-node]/termination-point/tp-id"; - } - description - "Termination point within source node that terminates - the link."; - } - } - container destination { - description - "This container holds the logical destination of a - particular link."; - leaf dest-node { - type leafref { - // RIFT change - path "../../../../nd:network/nd:node/nd:node-id"; - } - mandatory true; - description - "Destination node identifier, must be in the same - network."; - } - leaf dest-tp { - type leafref { - // RIFT change: - path "../../../../nd:network/nd:node[nd:node-id=current()/../"+ - "dest-node]/termination-point/tp-id"; - } - description - "Termination point within destination node that - terminates the link."; - } - } - leaf link-id { - type link-id; - description - "The identifier of a link in the topology. - A link is specific to a topology to which it belongs."; - } - list supporting-link { - key "network-ref link-ref"; - description - "Identifies the link, or links, that this link - is dependent on."; - leaf network-ref { - type leafref { - // RIFT change: - path "../../../../nd:network/nd:supporting-network/nd:network-ref"; - } - description - "This leaf identifies in which underlay topology - supporting link is present."; - } - leaf link-ref { - type leafref { - path "/nd:network[nd:network-id=current()/.."+ - "/network-ref]/link/link-id"; - } - description - "This leaf identifies a link which is a part - of this link's underlay. Reference loops, in which - a link identifies itself as its underlay, either - directly or transitively, are not allowed."; - } - } - } - } - augment "/nd:network/nd:node" { - description - "Augment termination points which terminate links. - Termination points can ultimately be mapped to interfaces."; - list termination-point { - key "tp-id"; - description - "A termination point can terminate a link. - Depending on the type of topology, a termination point - could, for example, refer to a port or an interface."; - leaf tp-id { - type tp-id; - description - "Termination point identifier."; - } - list supporting-termination-point { - key "network-ref node-ref tp-ref"; - description - "The leaf list identifies any termination points that - the termination point is dependent on, or maps onto. - Those termination points will themselves be contained - in a supporting node. - This dependency information can be inferred from - the dependencies between links. For this reason, - this item is not separately configurable. Hence no - corresponding constraint needs to be articulated. - The corresponding information is simply provided by the - implementing system."; - leaf network-ref { - type leafref { - // RIFT change: - path "/nd:network/nd:node/nd:supporting-node/nd:network-ref"; - } - description - "This leaf identifies in which topology the - supporting termination point is present."; - } - leaf node-ref { - type leafref { - // RIFT change: - path "/nd:network/nd:node/nd:supporting-node/nd:node-ref"; - } - description - "This leaf identifies in which node the supporting - termination point is present."; - } - leaf tp-ref { - type leafref { - path "/nd:network[nd:network-id=current()/../"+ - "network-ref]/nd:node[nd:node-id=current()/../"+ - "node-ref]/termination-point/tp-id"; - } - description - "Reference to the underlay node, must be in a - different topology"; - } - } - } - } -} diff --git a/modules/core/mano/models/plugins/yang/ietf-network.tailf.yang b/modules/core/mano/models/plugins/yang/ietf-network.tailf.yang deleted file mode 100644 index 705842a..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-network.tailf.yang +++ /dev/null @@ -1,31 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-network-annotation -{ - namespace "urn:ietf:params:xml:ns:yang:ietf-network"; - prefix "ietf-network-ann"; - - import tailf-common { - prefix tailf; - } - - import rw-base { - prefix rwbase; - } - - import ietf-network { - prefix nd; - } - - tailf:annotate "/nd:network" { - tailf:callpoint base_show; - } - - tailf:annotate "/nd:network/nd:server-provided" { - tailf:callpoint base_show; - } -} diff --git a/modules/core/mano/models/plugins/yang/ietf-network.yang b/modules/core/mano/models/plugins/yang/ietf-network.yang deleted file mode 100755 index a059e94..0000000 --- a/modules/core/mano/models/plugins/yang/ietf-network.yang +++ /dev/null @@ -1,157 +0,0 @@ - -/* - * NO RW COPYRIGHT - * - */ - -module ietf-network { - yang-version 1; - namespace "urn:ietf:params:xml:ns:yang:ietf-network"; - prefix nd; - - import ietf-inet-types { - prefix inet; - } - - import rw-pb-ext { - prefix "rwpb"; - } - - organization "TBD"; - contact - "WILL-BE-DEFINED-LATER"; - description - "This module defines a common base model for a collection - of nodes in a network. Node definitions s are further used - in network topologies and inventories."; - - revision 2015-06-08 { - description - "Initial revision."; - reference "draft-ietf-i2rs-yang-network-topo-01"; - } - - typedef node-id { - type inet:uri; - description - "Identifier for a node."; - } - - typedef network-id { - type inet:uri; - description - "Identifier for a network."; - } - - grouping network-ref { - description - "Contains the information necessary to reference a network, - for example an underlay network."; - leaf network-ref { - type leafref { - path "/network/network-id"; - } - description - "Used to reference a network, for example an underlay - network."; - } - } - - grouping node-ref { - description - "Contains the information necessary to reference a node."; - leaf node-ref { - type leafref { - path "/network[network-id=current()/../network-ref]"+ - "/node/node-id"; - } - description - "Used to reference a node. - Nodes are identified relative to the network they are - contained in."; - } - uses network-ref; - } - - list network { - config false; - key "network-id"; - description - "Describes a network. - A network typically contains an inventory of nodes, - topological information (augmented through - network-topology model), as well as layering - information."; - container network-types { - description - "Serves as an augmentation target. - The network type is indicated through corresponding - presence containers augmented into this container."; - } - leaf network-id { - type network-id; - description - "Identifies a network."; - } - leaf server-provided { - type boolean; - config false; - description - "Indicates whether the information concerning this - particular network is populated by the server - (server-provided true, the general case for network - information discovered from the server), - or whether it is configured by a client - (server-provided true, possible e.g. for - service overlays managed through a controller)."; - } - list supporting-network { - key "network-ref"; - description - "An underlay network, used to represent layered network - topologies."; - - leaf network-ref { - type leafref { - path "/network/network-id"; - } - description - "References the underlay network."; - } - } - list node { - key "node-id"; - description - "The inventory of nodes of this network."; - leaf node-id { - type node-id; - description - "Identifies a node uniquely within the containing - network."; - } - list supporting-node { - key "network-ref node-ref"; - description - "Represents another node, in an underlay network, that - this node is supported by. Used to represent layering - structure."; - leaf network-ref { - type leafref { - path "../../../supporting-network/network-ref"; - } - description - "References the underlay network that the - underlay node is part of."; - } - leaf node-ref { - type leafref { - path "/network/node/node-id"; - } - description - "References the underlay node itself."; - } - } - } - } -} - diff --git a/modules/core/mano/models/plugins/yang/nsd.tailf.yang b/modules/core/mano/models/plugins/yang/nsd.tailf.yang index 80711c3..0c6a9b7 100644 --- a/modules/core/mano/models/plugins/yang/nsd.tailf.yang +++ b/modules/core/mano/models/plugins/yang/nsd.tailf.yang @@ -1,9 +1,17 @@ - /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module nsd-annotation diff --git a/modules/core/mano/models/plugins/yang/nsd.yang b/modules/core/mano/models/plugins/yang/nsd.yang index 328ac0c..88c6030 100755 --- a/modules/core/mano/models/plugins/yang/nsd.yang +++ b/modules/core/mano/models/plugins/yang/nsd.yang @@ -1,9 +1,17 @@ - /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module nsd diff --git a/modules/core/mano/models/plugins/yang/nsr.tailf.yang b/modules/core/mano/models/plugins/yang/nsr.tailf.yang index 8fca452..54ce608 100644 --- a/modules/core/mano/models/plugins/yang/nsr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/nsr.tailf.yang @@ -1,9 +1,17 @@ - /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module nsr-annotation diff --git a/modules/core/mano/models/plugins/yang/nsr.yang b/modules/core/mano/models/plugins/yang/nsr.yang index 6d7816e..495155b 100755 --- a/modules/core/mano/models/plugins/yang/nsr.yang +++ b/modules/core/mano/models/plugins/yang/nsr.yang @@ -1,9 +1,17 @@ - /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module nsr diff --git a/modules/core/mano/models/plugins/yang/odl-network-topology.yang b/modules/core/mano/models/plugins/yang/odl-network-topology.yang index ed15585..ab18b89 100644 --- a/modules/core/mano/models/plugins/yang/odl-network-topology.yang +++ b/modules/core/mano/models/plugins/yang/odl-network-topology.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module odl-network-topology { diff --git a/modules/core/mano/models/plugins/yang/pnfd.yang b/modules/core/mano/models/plugins/yang/pnfd.yang index 077af1e..e6314c4 100755 --- a/modules/core/mano/models/plugins/yang/pnfd.yang +++ b/modules/core/mano/models/plugins/yang/pnfd.yang @@ -1,11 +1,19 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - module pnfd { namespace "urn:ietf:params:xml:ns:yang:nfvo:pnfd"; diff --git a/modules/core/mano/models/plugins/yang/rw-nsd.tailf.yang b/modules/core/mano/models/plugins/yang/rw-nsd.tailf.yang index d4a7c1e..bb479d8 100644 --- a/modules/core/mano/models/plugins/yang/rw-nsd.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-nsd.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-nsd-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-nsd.yang b/modules/core/mano/models/plugins/yang/rw-nsd.yang index b53a627..d29b2b3 100755 --- a/modules/core/mano/models/plugins/yang/rw-nsd.yang +++ b/modules/core/mano/models/plugins/yang/rw-nsd.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-nsd diff --git a/modules/core/mano/models/plugins/yang/rw-nsr.tailf.yang b/modules/core/mano/models/plugins/yang/rw-nsr.tailf.yang index c3bb827..d2a926d 100644 --- a/modules/core/mano/models/plugins/yang/rw-nsr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-nsr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-nsr-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-nsr.yang b/modules/core/mano/models/plugins/yang/rw-nsr.yang index 4231e80..10be622 100755 --- a/modules/core/mano/models/plugins/yang/rw-nsr.yang +++ b/modules/core/mano/models/plugins/yang/rw-nsr.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-nsr diff --git a/modules/core/mano/models/plugins/yang/rw-topology.tailf.yang b/modules/core/mano/models/plugins/yang/rw-topology.tailf.yang index de33abe..2118b4b 100644 --- a/modules/core/mano/models/plugins/yang/rw-topology.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-topology.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-topology-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-topology.yang b/modules/core/mano/models/plugins/yang/rw-topology.yang index e2276ae..8406c85 100755 --- a/modules/core/mano/models/plugins/yang/rw-topology.yang +++ b/modules/core/mano/models/plugins/yang/rw-topology.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-topology { diff --git a/modules/core/mano/models/plugins/yang/rw-vld.tailf.yang b/modules/core/mano/models/plugins/yang/rw-vld.tailf.yang index 30840fd..d117191 100644 --- a/modules/core/mano/models/plugins/yang/rw-vld.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-vld.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vld-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-vld.yang b/modules/core/mano/models/plugins/yang/rw-vld.yang index 4525a6f..131e965 100755 --- a/modules/core/mano/models/plugins/yang/rw-vld.yang +++ b/modules/core/mano/models/plugins/yang/rw-vld.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vld diff --git a/modules/core/mano/models/plugins/yang/rw-vlr.tailf.yang b/modules/core/mano/models/plugins/yang/rw-vlr.tailf.yang index bbd4238..4208718 100644 --- a/modules/core/mano/models/plugins/yang/rw-vlr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-vlr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vlr-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-vlr.yang b/modules/core/mano/models/plugins/yang/rw-vlr.yang index 4d5c125..ee15c42 100755 --- a/modules/core/mano/models/plugins/yang/rw-vlr.yang +++ b/modules/core/mano/models/plugins/yang/rw-vlr.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vlr diff --git a/modules/core/mano/models/plugins/yang/rw-vnfd.tailf.yang b/modules/core/mano/models/plugins/yang/rw-vnfd.tailf.yang index 58049ee..addbb8f 100644 --- a/modules/core/mano/models/plugins/yang/rw-vnfd.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-vnfd.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vnfd-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-vnfd.yang b/modules/core/mano/models/plugins/yang/rw-vnfd.yang index f5c0947..0fa9540 100755 --- a/modules/core/mano/models/plugins/yang/rw-vnfd.yang +++ b/modules/core/mano/models/plugins/yang/rw-vnfd.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vnfd diff --git a/modules/core/mano/models/plugins/yang/rw-vnfr.tailf.yang b/modules/core/mano/models/plugins/yang/rw-vnfr.tailf.yang index a3d2756..01f2a98 100644 --- a/modules/core/mano/models/plugins/yang/rw-vnfr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/rw-vnfr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vnfr-annotation diff --git a/modules/core/mano/models/plugins/yang/rw-vnfr.yang b/modules/core/mano/models/plugins/yang/rw-vnfr.yang index df67ce5..57deeba 100755 --- a/modules/core/mano/models/plugins/yang/rw-vnfr.yang +++ b/modules/core/mano/models/plugins/yang/rw-vnfr.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vnfr diff --git a/modules/core/mano/models/plugins/yang/vld.tailf.yang b/modules/core/mano/models/plugins/yang/vld.tailf.yang index 4d772e8..51d793b 100644 --- a/modules/core/mano/models/plugins/yang/vld.tailf.yang +++ b/modules/core/mano/models/plugins/yang/vld.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vld-annotation diff --git a/modules/core/mano/models/plugins/yang/vld.yang b/modules/core/mano/models/plugins/yang/vld.yang index 9608dfa..98a4895 100755 --- a/modules/core/mano/models/plugins/yang/vld.yang +++ b/modules/core/mano/models/plugins/yang/vld.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vld diff --git a/modules/core/mano/models/plugins/yang/vlr.tailf.yang b/modules/core/mano/models/plugins/yang/vlr.tailf.yang index b12a2d7..33ffa65 100644 --- a/modules/core/mano/models/plugins/yang/vlr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/vlr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vlr-annotation diff --git a/modules/core/mano/models/plugins/yang/vlr.yang b/modules/core/mano/models/plugins/yang/vlr.yang index 89a3299..3524ca5 100755 --- a/modules/core/mano/models/plugins/yang/vlr.yang +++ b/modules/core/mano/models/plugins/yang/vlr.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vlr diff --git a/modules/core/mano/models/plugins/yang/vnfd.tailf.yang b/modules/core/mano/models/plugins/yang/vnfd.tailf.yang index 760d78c..117e0c8 100644 --- a/modules/core/mano/models/plugins/yang/vnfd.tailf.yang +++ b/modules/core/mano/models/plugins/yang/vnfd.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vnfd-annotation diff --git a/modules/core/mano/models/plugins/yang/vnfd.yang b/modules/core/mano/models/plugins/yang/vnfd.yang index fe627ff..df51988 100755 --- a/modules/core/mano/models/plugins/yang/vnfd.yang +++ b/modules/core/mano/models/plugins/yang/vnfd.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vnfd diff --git a/modules/core/mano/models/plugins/yang/vnffgd.yang b/modules/core/mano/models/plugins/yang/vnffgd.yang index b297569..c27c52d 100755 --- a/modules/core/mano/models/plugins/yang/vnffgd.yang +++ b/modules/core/mano/models/plugins/yang/vnffgd.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vnffgd diff --git a/modules/core/mano/models/plugins/yang/vnfr.tailf.yang b/modules/core/mano/models/plugins/yang/vnfr.tailf.yang index a1f83aa..47053af 100644 --- a/modules/core/mano/models/plugins/yang/vnfr.tailf.yang +++ b/modules/core/mano/models/plugins/yang/vnfr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vnfr-annotation diff --git a/modules/core/mano/models/plugins/yang/vnfr.yang b/modules/core/mano/models/plugins/yang/vnfr.yang index b38ba21..6de0a3d 100755 --- a/modules/core/mano/models/plugins/yang/vnfr.yang +++ b/modules/core/mano/models/plugins/yang/vnfr.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module vnfr diff --git a/modules/core/mano/rwcm/CMakeLists.txt b/modules/core/mano/rwcm/CMakeLists.txt index 2fe5d3c..ec1a9d3 100644 --- a/modules/core/mano/rwcm/CMakeLists.txt +++ b/modules/core/mano/rwcm/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Manish Patel # Creation Date: 10/28/2015 diff --git a/modules/core/mano/rwcm/plugins/CMakeLists.txt b/modules/core/mano/rwcm/plugins/CMakeLists.txt index a5203ce..32ffbe0 100644 --- a/modules/core/mano/rwcm/plugins/CMakeLists.txt +++ b/modules/core/mano/rwcm/plugins/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Manish Patel # Creation Date: 10/29/2015 diff --git a/modules/core/mano/rwcm/plugins/rwconman/CMakeLists.txt b/modules/core/mano/rwcm/plugins/rwconman/CMakeLists.txt index b72dee7..66b4039 100644 --- a/modules/core/mano/rwcm/plugins/rwconman/CMakeLists.txt +++ b/modules/core/mano/rwcm/plugins/rwconman/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Manish Patel # Creation Date: 10/28/2015 diff --git a/modules/core/mano/rwcm/plugins/yang/CMakeLists.txt b/modules/core/mano/rwcm/plugins/yang/CMakeLists.txt index 9e814b7..c926c76 100644 --- a/modules/core/mano/rwcm/plugins/yang/CMakeLists.txt +++ b/modules/core/mano/rwcm/plugins/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Manish Patel # Creation Date: 10/28/2015 diff --git a/modules/core/mano/rwcm/plugins/yang/rw-conman.tailf.yang b/modules/core/mano/rwcm/plugins/yang/rw-conman.tailf.yang index ab34dbd..c0e0123 100644 --- a/modules/core/mano/rwcm/plugins/yang/rw-conman.tailf.yang +++ b/modules/core/mano/rwcm/plugins/yang/rw-conman.tailf.yang @@ -1,3 +1,20 @@ + +/* + * Copyright 2016 RIFT.IO 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. + */ + module rw-conman-annotation { namespace "http://riftio.com/ns/riftware-1.0/rw-conman-annotation"; @@ -19,4 +36,4 @@ module rw-conman-annotation tailf:callpoint base_show; } -} \ No newline at end of file +} diff --git a/modules/core/mano/rwcm/plugins/yang/rw-conman.yang b/modules/core/mano/rwcm/plugins/yang/rw-conman.yang index a7a6fc2..b546926 100755 --- a/modules/core/mano/rwcm/plugins/yang/rw-conman.yang +++ b/modules/core/mano/rwcm/plugins/yang/rw-conman.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-conman.yang * @author Manish Patel diff --git a/modules/core/mano/rwcm/test/CMakeLists.txt b/modules/core/mano/rwcm/test/CMakeLists.txt index baebe67..5edbc96 100644 --- a/modules/core/mano/rwcm/test/CMakeLists.txt +++ b/modules/core/mano/rwcm/test/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Manish Patel # Creation Date: 10/28/2015 diff --git a/modules/core/mano/rwlaunchpad/CMakeLists.txt b/modules/core/mano/rwlaunchpad/CMakeLists.txt index 59695f7..1c52244 100644 --- a/modules/core/mano/rwlaunchpad/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/rwlaunchpad/plugins/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/CMakeLists.txt index 71a1d91..9a7ca57 100644 --- a/modules/core/mano/rwlaunchpad/plugins/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/rwlaunchpad/plugins/rwiwp/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwiwp/CMakeLists.txt index 7aa112a..43924f3 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwiwp/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwiwp/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwiwp/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwiwp/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwiwp/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwiwp/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/CMakeLists.txt index 5a0afe7..2e4d798 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwlaunchpadtasklet/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwmonitor/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwmonitor/CMakeLists.txt index 9abde92..222413d 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwmonitor/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwmonitor/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Creation Date: 2015/10/30 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwmonitor/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwmonitor/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwmonitor/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwmonitor/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwnsm/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwnsm/CMakeLists.txt index 9265ce1..695cae7 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwnsm/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwnsm/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwnsm/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwnsm/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwnsm/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwnsm/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwresmgr/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwresmgr/CMakeLists.txt index 7cd388f..b0867c3 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwresmgr/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwresmgr/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwresmgr/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwresmgr/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwresmgr/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwresmgr/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvnfm/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvnfm/CMakeLists.txt index 97aa0ca..c792b16 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvnfm/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvnfm/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvnfm/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwvnfm/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvnfm/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwvnfm/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/CMakeLists.txt index 55a29e9..1c99b41 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwvns/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/CMakeLists.txt index 3e17eb5..3e60267 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Creation Date: 10/28/2015 # diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn-python/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn-python/CMakeLists.txt index 261e82f..04b13cd 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn-python/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn-python/CMakeLists.txt @@ -1,8 +1,19 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # - +# Copyright 2016 RIFT.IO 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. +# include(rift_plugin) rift_install_python_plugin(rwsdn-plugin rwsdn-plugin.py) diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn.vala b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn.vala index a79f5a7..d7e8321 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn.vala +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn.vala @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ namespace RwSdn { public interface Topology: GLib.Object { diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_mock/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_mock/CMakeLists.txt index 1588ddf..29e0dc0 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_mock/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_mock/CMakeLists.txt @@ -1,7 +1,20 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # +# Copyright 2016 RIFT.IO 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. +# +# include(rift_plugin) diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_odl/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_odl/CMakeLists.txt index ffa8dec..1f3c9c8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_odl/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_odl/CMakeLists.txt @@ -1,7 +1,20 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # +# Copyright 2016 RIFT.IO 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. +# +# include(rift_plugin) diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_sim/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_sim/CMakeLists.txt index 726abde..f673f87 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_sim/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/vala/rwsdn_sim/CMakeLists.txt @@ -1,8 +1,19 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # - +# Copyright 2016 RIFT.IO 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. +# include(rift_plugin) rift_install_python_plugin(rwsdn_sim rwsdn_sim.py) diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/CMakeLists.txt index 0183de2..597a568 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/Makefile b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.tailf.yang b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.tailf.yang index 9733eb6..c1cd363 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.tailf.yang +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rwsdn-annotation diff --git a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang index 6994633..1bbd821 100644 --- a/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang +++ b/modules/core/mano/rwlaunchpad/plugins/rwvns/yang/rwsdn.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rwsdn diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/CMakeLists.txt index 06917d0..0afa513 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 10/31/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/Makefile b/modules/core/mano/rwlaunchpad/plugins/vala/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/vala/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/CMakeLists.txt index 5355ead..edaa7be 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 10/31/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo.vala b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo.vala index 63e4601..2d6f54d 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo.vala +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo.vala @@ -1,5 +1,20 @@ -namespace RwOsMaNfvo { +/* + * Copyright 2016 RIFT.IO 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. + */ +namespace RwOsMaNfvo { public interface Orchestrator: GLib.Object { /* * Init routine diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/CMakeLists.txt index bf9c897..473c54e 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/CMakeLists.txt @@ -1,8 +1,18 @@ - -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # - +# Copyright 2016 RIFT.IO 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. +# include(rift_plugin) rift_install_python_plugin(rwos_ma_nfvo_rest rwos_ma_nfvo_rest.py) diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/Makefile b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwos_ma_nfvo/rwos_ma_nfvo_rest/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/CMakeLists.txt index 517f480..5655997 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 10/31/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em.vala b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em.vala index 3da25f9..232efe0 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em.vala +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em.vala @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ namespace RwVeVnfmEm { public interface ElementManager: GLib.Object { diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/CMakeLists.txt index 58f5d7f..04b40e1 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/CMakeLists.txt @@ -1,8 +1,19 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # - +# Copyright 2016 RIFT.IO 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. +# include(rift_plugin) rift_install_python_plugin(rwve_vnfm_em_rest rwve_vnfm_em_rest.py) diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/Makefile b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_em/rwve_vnfm_em_rest/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/CMakeLists.txt index 0b0082b..5cff03c 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 10/31/2015 diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf.vala b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf.vala index 6b5e84e..ac938fe 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf.vala +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf.vala @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ namespace RwVeVnfmVnf { public interface Vnf: GLib.Object { diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/CMakeLists.txt index 2d1ca9e..98b8803 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/CMakeLists.txt @@ -1,8 +1,19 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # - +# Copyright 2016 RIFT.IO 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. +# include(rift_plugin) rift_install_python_plugin(rwve_vnfm_vnf_rest rwve_vnfm_vnf_rest.py) diff --git a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/Makefile b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/vala/rwve_vnfm_vnf/rwve_vnfm_vnf_rest/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/CMakeLists.txt b/modules/core/mano/rwlaunchpad/plugins/yang/CMakeLists.txt index ba7166b..9bde524 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/plugins/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tom Seidenberg # Creation Date: 2014/04/08 diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/Makefile b/modules/core/mano/rwlaunchpad/plugins/yang/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/Makefile +++ b/modules/core/mano/rwlaunchpad/plugins/yang/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.tailf.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.tailf.yang index df8df03..b395a3f 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.tailf.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-iwp-annotation diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.yang index 2ed608d..aa36f73 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-iwp.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-iwp.yang * @author Austin Cormier diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad-log.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad-log.yang index 2fd7197..3259a3a 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad-log.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad-log.yang @@ -1,11 +1,20 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /**0 * @file rw-launchpad-log.yang * @author Rift.IO diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad.yang index efc48db..679f111 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-launchpad.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.tailf.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.tailf.yang index 7c68c50..d4b73a8 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.tailf.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-monitor-annotation diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.yang index bea73a6..bdcad46 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-monitor.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-monitor.yang * @author Joshua Downer diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-nsm.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-nsm.yang index fe06c3e..971257f 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-nsm.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-nsm.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-nsm.yang * @author Rajesh Velandy diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.tailf.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.tailf.yang index 339bed4..86c0c62 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.tailf.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-resource-mgr-annotation diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.yang index 7bc65b8..a38c3ee 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-resource-mgr.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - module rw-resource-mgr { namespace "http://riftio.com/ns/riftware-1.0/rw-resource-mgr"; diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vnfm.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vnfm.yang index e254b26..210d8fd 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vnfm.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vnfm.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-vnfm.yang * @author Rajesh Velandy diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.tailf.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.tailf.yang index 722a185..e535d64 100644 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.tailf.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-vns-annotation diff --git a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.yang b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.yang index b8ecef8..107e660 100755 --- a/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.yang +++ b/modules/core/mano/rwlaunchpad/plugins/yang/rw-vns.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-vns.yang * @author Austin Cormier diff --git a/modules/core/mano/rwlaunchpad/ra/CMakeLists.txt b/modules/core/mano/rwlaunchpad/ra/CMakeLists.txt index 81f567d..4ed533b 100644 --- a/modules/core/mano/rwlaunchpad/ra/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/ra/CMakeLists.txt @@ -1,5 +1,18 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Paul Laidler # Creation Date: 09/16/2015 diff --git a/modules/core/mano/rwlaunchpad/ra/launchpad_longevity_systest b/modules/core/mano/rwlaunchpad/ra/launchpad_longevity_systest index de00966..e93f54a 100755 --- a/modules/core/mano/rwlaunchpad/ra/launchpad_longevity_systest +++ b/modules/core/mano/rwlaunchpad/ra/launchpad_longevity_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwlaunchpad/ra/pingpong_longevity_systest b/modules/core/mano/rwlaunchpad/ra/pingpong_longevity_systest index 687b62c..f8c69e4 100755 --- a/modules/core/mano/rwlaunchpad/ra/pingpong_longevity_systest +++ b/modules/core/mano/rwlaunchpad/ra/pingpong_longevity_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwlaunchpad/ra/pingpong_lp_standalone_systest b/modules/core/mano/rwlaunchpad/ra/pingpong_lp_standalone_systest index 8ebf68b..03df84b 100755 --- a/modules/core/mano/rwlaunchpad/ra/pingpong_lp_standalone_systest +++ b/modules/core/mano/rwlaunchpad/ra/pingpong_lp_standalone_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Varun Prasad diff --git a/modules/core/mano/rwlaunchpad/ra/pingpong_records_systest b/modules/core/mano/rwlaunchpad/ra/pingpong_records_systest index 36aa4f9..3310464 100755 --- a/modules/core/mano/rwlaunchpad/ra/pingpong_records_systest +++ b/modules/core/mano/rwlaunchpad/ra/pingpong_records_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_reload_systest b/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_reload_systest index 954d387..d6be6fa 100755 --- a/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_reload_systest +++ b/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_reload_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Varun Prasad diff --git a/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_systest b/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_systest index 91635a1..b6e0c35 100755 --- a/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_systest +++ b/modules/core/mano/rwlaunchpad/ra/pingpong_vnf_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwlaunchpad/ra/pytest/test_pingpong_vnf.py b/modules/core/mano/rwlaunchpad/ra/pytest/test_pingpong_vnf.py index 6f182ba..1ae0a52 100755 --- a/modules/core/mano/rwlaunchpad/ra/pytest/test_pingpong_vnf.py +++ b/modules/core/mano/rwlaunchpad/ra/pytest/test_pingpong_vnf.py @@ -447,4 +447,4 @@ class TestPingPongTeardown(object): vnfd_proxy.delete_config(xpath) vnfds = vnfd_proxy.get("/vnfd-catalog/vnfd", list_obj=True) - assert vnfds is None or len(vnfds.vnfd) == 0 \ No newline at end of file + assert vnfds is None or len(vnfds.vnfd) == 0 diff --git a/modules/core/mano/rwlaunchpad/test/CMakeLists.txt b/modules/core/mano/rwlaunchpad/test/CMakeLists.txt index 64017c2..845c9a5 100644 --- a/modules/core/mano/rwlaunchpad/test/CMakeLists.txt +++ b/modules/core/mano/rwlaunchpad/test/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Creation Date: 10/01/2015 diff --git a/modules/core/mano/rwmc/CMakeLists.txt b/modules/core/mano/rwmc/CMakeLists.txt index f1a5c92..9714197 100644 --- a/modules/core/mano/rwmc/CMakeLists.txt +++ b/modules/core/mano/rwmc/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/rwmc/Makefile b/modules/core/mano/rwmc/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwmc/Makefile +++ b/modules/core/mano/rwmc/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwmc/plugins/CMakeLists.txt b/modules/core/mano/rwmc/plugins/CMakeLists.txt index dd64b02..590096c 100644 --- a/modules/core/mano/rwmc/plugins/CMakeLists.txt +++ b/modules/core/mano/rwmc/plugins/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/mano/rwmc/plugins/Makefile b/modules/core/mano/rwmc/plugins/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwmc/plugins/Makefile +++ b/modules/core/mano/rwmc/plugins/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwmc/plugins/rwmctasklet/CMakeLists.txt b/modules/core/mano/rwmc/plugins/rwmctasklet/CMakeLists.txt index 72b5aa7..39c3524 100644 --- a/modules/core/mano/rwmc/plugins/rwmctasklet/CMakeLists.txt +++ b/modules/core/mano/rwmc/plugins/rwmctasklet/CMakeLists.txt @@ -1,5 +1,3 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # # Author(s): Austin Cormier # Creation Date: 05/15/2015 diff --git a/modules/core/mano/rwmc/plugins/rwmctasklet/Makefile b/modules/core/mano/rwmc/plugins/rwmctasklet/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwmc/plugins/rwmctasklet/Makefile +++ b/modules/core/mano/rwmc/plugins/rwmctasklet/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwmc/plugins/yang/CMakeLists.txt b/modules/core/mano/rwmc/plugins/yang/CMakeLists.txt index 41bbba1..64b0b39 100644 --- a/modules/core/mano/rwmc/plugins/yang/CMakeLists.txt +++ b/modules/core/mano/rwmc/plugins/yang/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Austin Cormier # Creation Date: 2015/08/01 diff --git a/modules/core/mano/rwmc/plugins/yang/Makefile b/modules/core/mano/rwmc/plugins/yang/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/mano/rwmc/plugins/yang/Makefile +++ b/modules/core/mano/rwmc/plugins/yang/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/mano/rwmc/plugins/yang/rw-mc.tailf.yang b/modules/core/mano/rwmc/plugins/yang/rw-mc.tailf.yang index d527230..020158d 100644 --- a/modules/core/mano/rwmc/plugins/yang/rw-mc.tailf.yang +++ b/modules/core/mano/rwmc/plugins/yang/rw-mc.tailf.yang @@ -1,9 +1,18 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ module rw-mc-annotation diff --git a/modules/core/mano/rwmc/plugins/yang/rw-mc.yang b/modules/core/mano/rwmc/plugins/yang/rw-mc.yang index a16a08e..ddd59a3 100755 --- a/modules/core/mano/rwmc/plugins/yang/rw-mc.yang +++ b/modules/core/mano/rwmc/plugins/yang/rw-mc.yang @@ -1,12 +1,21 @@ /* - * - * (c) Copyright RIFT.io, 2013-2016, All Rights Reserved + * Copyright 2016 RIFT.IO 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. */ - /** * @file rw-mc.yang * @author Austin Cormier diff --git a/modules/core/mano/rwmc/ra/CMakeLists.txt b/modules/core/mano/rwmc/ra/CMakeLists.txt index fe900b1..32aece0 100644 --- a/modules/core/mano/rwmc/ra/CMakeLists.txt +++ b/modules/core/mano/rwmc/ra/CMakeLists.txt @@ -1,5 +1,18 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Paul Laidler # Creation Date: 09/16/2015 diff --git a/modules/core/mano/rwmc/ra/mission_control_delete_systest b/modules/core/mano/rwmc/ra/mission_control_delete_systest index 9c7d177..bd1be36 100755 --- a/modules/core/mano/rwmc/ra/mission_control_delete_systest +++ b/modules/core/mano/rwmc/ra/mission_control_delete_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/ra/mission_control_negative_cloud_account_systest b/modules/core/mano/rwmc/ra/mission_control_negative_cloud_account_systest index 5536e08..d3d9b4a 100755 --- a/modules/core/mano/rwmc/ra/mission_control_negative_cloud_account_systest +++ b/modules/core/mano/rwmc/ra/mission_control_negative_cloud_account_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/ra/mission_control_negative_mgmt_domain_systest b/modules/core/mano/rwmc/ra/mission_control_negative_mgmt_domain_systest index 174f05c..500c6c0 100755 --- a/modules/core/mano/rwmc/ra/mission_control_negative_mgmt_domain_systest +++ b/modules/core/mano/rwmc/ra/mission_control_negative_mgmt_domain_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/ra/mission_control_negative_systest b/modules/core/mano/rwmc/ra/mission_control_negative_systest index 407f3b7..c0d01f3 100755 --- a/modules/core/mano/rwmc/ra/mission_control_negative_systest +++ b/modules/core/mano/rwmc/ra/mission_control_negative_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/ra/mission_control_negative_vmpool_systest b/modules/core/mano/rwmc/ra/mission_control_negative_vmpool_systest index 0f21832..a237828 100755 --- a/modules/core/mano/rwmc/ra/mission_control_negative_vmpool_systest +++ b/modules/core/mano/rwmc/ra/mission_control_negative_vmpool_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/ra/mission_control_reload_systest b/modules/core/mano/rwmc/ra/mission_control_reload_systest index 54f5df8..fe85f16 100755 --- a/modules/core/mano/rwmc/ra/mission_control_reload_systest +++ b/modules/core/mano/rwmc/ra/mission_control_reload_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Varun Prasad diff --git a/modules/core/mano/rwmc/ra/mission_control_systest b/modules/core/mano/rwmc/ra/mission_control_systest index 2bbd951..3d8378f 100755 --- a/modules/core/mano/rwmc/ra/mission_control_systest +++ b/modules/core/mano/rwmc/ra/mission_control_systest @@ -1,4 +1,19 @@ #!/bin/bash +# +# Copyright 2016 RIFT.IO 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. +# # # # Author(s): Paul Laidler diff --git a/modules/core/mano/rwmc/test/CMakeLists.txt b/modules/core/mano/rwmc/test/CMakeLists.txt index 47b7219..7bcae03 100644 --- a/modules/core/mano/rwmc/test/CMakeLists.txt +++ b/modules/core/mano/rwmc/test/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Joshua Downer # Author(s): Austin Cormier diff --git a/modules/core/rwvx/rwcal/CMakeLists.txt b/modules/core/rwvx/rwcal/CMakeLists.txt index 9816a7d..6599afa 100644 --- a/modules/core/rwvx/rwcal/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 2014/05/22 diff --git a/modules/core/rwvx/rwcal/Makefile b/modules/core/rwvx/rwcal/Makefile index f68ec52..470d776 100644 --- a/modules/core/rwvx/rwcal/Makefile +++ b/modules/core/rwvx/rwcal/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 05/22/2013 diff --git a/modules/core/rwvx/rwcal/plugins/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/CMakeLists.txt index c009235..a1d6022 100644 --- a/modules/core/rwvx/rwcal/plugins/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/CMakeLists.txt @@ -1,5 +1,19 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # # Author(s): Tim Mortsolf # Creation Date: 2014/05/22 diff --git a/modules/core/rwvx/rwcal/plugins/rwcalproxytasklet/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/rwcalproxytasklet/CMakeLists.txt index 8107df4..4520198 100644 --- a/modules/core/rwvx/rwcal/plugins/rwcalproxytasklet/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/rwcalproxytasklet/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/CMakeLists.txt index c095d97..e96d629 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/CMakeLists.txt @@ -1,5 +1,19 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # # Author(s): Tim Mortsolf / Anil Gunturu # Creation Date: 05/22/2014 diff --git a/modules/core/rwvx/rwcal/plugins/vala/Makefile b/modules/core/rwvx/rwcal/plugins/vala/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/CMakeLists.txt index 3289100..880deb5 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_aws/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/CMakeLists.txt index 06925d9..bbe3066 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsim/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/CMakeLists.txt index 36da9dc..a1cee0e 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/CMakeLists.txt @@ -1,6 +1,18 @@ - -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_cloudsimproxy/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/CMakeLists.txt index 35b9141..05b1c7d 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_mock/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/CMakeLists.txt index 3f58d6e..b0f6421 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openmano/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/CMakeLists.txt index 912a0b3..e3937be 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_openstack/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/CMakeLists.txt index 775586d..7b25473 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/Makefile b/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/Makefile +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_vsphere/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/vala/rwcal_zk/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/vala/rwcal_zk/CMakeLists.txt index 78529f3..25c21a9 100644 --- a/modules/core/rwvx/rwcal/plugins/vala/rwcal_zk/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/vala/rwcal_zk/CMakeLists.txt @@ -1,6 +1,19 @@ - # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # include(rift_plugin) diff --git a/modules/core/rwvx/rwcal/plugins/yang/CMakeLists.txt b/modules/core/rwvx/rwcal/plugins/yang/CMakeLists.txt index f242298..b42daa2 100644 --- a/modules/core/rwvx/rwcal/plugins/yang/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/plugins/yang/CMakeLists.txt @@ -1,5 +1,19 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. +# # # diff --git a/modules/core/rwvx/rwcal/plugins/yang/Makefile b/modules/core/rwvx/rwcal/plugins/yang/Makefile index 345c5f3..68d7fc8 100644 --- a/modules/core/rwvx/rwcal/plugins/yang/Makefile +++ b/modules/core/rwvx/rwcal/plugins/yang/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 11/25/2013 diff --git a/modules/core/rwvx/rwcal/plugins/yang/rwcal.yang b/modules/core/rwvx/rwcal/plugins/yang/rwcal.yang index 043ba51..778e3b1 100755 --- a/modules/core/rwvx/rwcal/plugins/yang/rwcal.yang +++ b/modules/core/rwvx/rwcal/plugins/yang/rwcal.yang @@ -1,8 +1,18 @@ /* - * + * Copyright 2016 RIFT.IO 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. */ module rwcal diff --git a/modules/core/rwvx/rwcal/src/CMakeLists.txt b/modules/core/rwvx/rwcal/src/CMakeLists.txt index 1d3b58a..82fdb92 100644 --- a/modules/core/rwvx/rwcal/src/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/src/CMakeLists.txt @@ -1,5 +1,18 @@ # -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 05/22/2014 diff --git a/modules/core/rwvx/rwcal/src/Makefile b/modules/core/rwvx/rwcal/src/Makefile index f68ec52..470d776 100644 --- a/modules/core/rwvx/rwcal/src/Makefile +++ b/modules/core/rwvx/rwcal/src/Makefile @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Tim Mortsolf # Creation Date: 05/22/2013 diff --git a/modules/core/rwvx/rwcal/test/CMakeLists.txt b/modules/core/rwvx/rwcal/test/CMakeLists.txt index 36c574d..3f6c75c 100644 --- a/modules/core/rwvx/rwcal/test/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/test/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Anil Gunturu # Creation Date: 06/27/2014 diff --git a/modules/core/rwvx/rwcal/test/cal_module_test/CMakeLists.txt b/modules/core/rwvx/rwcal/test/cal_module_test/CMakeLists.txt index a565b51..409648c 100644 --- a/modules/core/rwvx/rwcal/test/cal_module_test/CMakeLists.txt +++ b/modules/core/rwvx/rwcal/test/cal_module_test/CMakeLists.txt @@ -1,5 +1,18 @@ -# -# (c) Copyright RIFT.io, 2013-2016, All Rights Reserved +# +# +# Copyright 2016 RIFT.IO 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. # # Author(s): Varun Prasad # Creation Date: 21/01/2016 diff --git a/modules/ui/composer/CMakeLists.txt b/modules/ui/composer/CMakeLists.txt index 2331bd0..4b7e4c6 100644 --- a/modules/ui/composer/CMakeLists.txt +++ b/modules/ui/composer/CMakeLists.txt @@ -1,3 +1,19 @@ +# +# Copyright 2016 RIFT.IO 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. +# + # # (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # diff --git a/modules/ui/composer/foss.txt b/modules/ui/composer/foss.txt deleted file mode 100644 index e69de29..0000000 diff --git a/modules/ui/composer/scripts/.install.sh.swp b/modules/ui/composer/scripts/.install.sh.swp deleted file mode 100644 index 96fed75253b19bee5e95b539c8e6e2c806a049dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&Jx;?g7zW_4%(Ni5KnhtHQuj}Es+f_0jY>?&and$QnnZR|#x6+QgG(?WcDMi> zfD^z0_)_%;P}PA6&}-?H72Ap9XN&T=_1^KR)v2|K+cwcb=dAZ|b4|}jL}4h+P)1=f zwXW%_B=t=uRp<c!mtUe(&&IbXdD zqY!`q1Rwwb2tWV=5P-nH6v)yNP55LRv(uGled$|2yF>>82tWV=5P$##AOHafKmY;| zfWRLVkRH)}g{Zv6FVFw~=imSDeEr6G<-Bm7IFFn=&Mjxcx!|-p6;5&gCI<}y5P$## zAOHafKmY;|fB*y_@cRW+YB?vmZ`mfvwel~$U{QT;*&f%p7bCQ46_>JSmhCF3hSS?V yFVguB9<|tQ6!M;ylYV*na&WPZmYa9&7R|@Ic9WK;>Dmph{jCZ&h=t45{qzB5Nt8?g diff --git a/modules/ui/composer/webapp/.yo-rc.json b/modules/ui/composer/webapp/.yo-rc.json index fc40714..2822dad 100644 --- a/modules/ui/composer/webapp/.yo-rc.json +++ b/modules/ui/composer/webapp/.yo-rc.json @@ -4,5 +4,6 @@ "architecture": "flux", "styles-language": "scss", "component-suffix": "js" - } + }, + "license": "Apache-2.0" } \ No newline at end of file diff --git a/modules/ui/composer/webapp/README.md b/modules/ui/composer/webapp/README.md index 94bbe81..ec56c27 100644 --- a/modules/ui/composer/webapp/README.md +++ b/modules/ui/composer/webapp/README.md @@ -1,3 +1,17 @@ +[//]: # Copyright 2016 RIFT.IO 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. + RIFT.io UI === Currently this repo only contains one module. diff --git a/modules/ui/composer/webapp/license-flat-icon.pdf b/modules/ui/composer/webapp/license-flat-icon.pdf deleted file mode 100755 index 4969d07aadc015615d3536f07c1d6589e9b4cbea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38247 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 bF#Oos0VC\n \n trafgen\n 0\n \n trafgen-lb\n \n N1TenGi-1\n \n trafgen_vnfd/cp0\n \n \n \n vlan200\n \n trafgen_vnfd/cp0\n 200\n \n \n
200.1.1.1/24
\n
\n
\n
\n \n trafgen_vnfd/cp0\n \n \n rw_trafgen\n rw_trafgen\n \n 2\n 200\n \n \n direct\n \n \n \n 10\n \n \n \n \n \n \n \n 200.1.1.2\n \n \n \n 200.1.1.1\n 200.1.1.1\n 200.1.1.1\n 1\n \n \n 50.1.1.1\n 50.1.1.1\n 50.1.1.1\n 1\n \n \n 10000\n 10000\n 10128\n 1\n \n \n 5678\n 5678\n 5678\n 1\n \n \n 1024\n 1024\n 1024\n 1\n \n \n 200\n 200\n 200\n 1\n \n \n \n \n
\n \n \n \n syslog\n \n 514\n \n \n ", - "input-params": { - "config-delay": 180, - "config-priority": 1 - }, - "netconf": { - "target": "running", - "port": 2022 - } - }, - "vnfd-id-ref": "2544951a-d6b5-11e5-9bb7-001b21b98a89", - "member-vnf-index": 1 - }, - { - "vnf-configuration": { - "input-params": { - "config-delay": 0, - "config-priority": 2 - }, - "config-type": "script", - "config-template": "\n#!/usr/bin/expect -f\nset login \"root\"\nset addr \nset pw \"6windos\"\nspawn ssh -1 $login@$addr\n\nset timeout 60\n\nexpect \"yes/no\" {\n send \"yes\\r\"\n expect \"*?assword:\" { send \"$pw\\r\" }\n } \"*?assword:\" { send \"$pw\\r\" }\n\nexpect \"# \"\nsend \"cli\\r\"\nexpect \"{}\"\nsend \"edit conf running\\r\"\nexpect \"ing}\"\n\n# Setup eth1 config\nsend \"eth1\\r\"\nexpect \"eth1}\"\nsend \"ipaddress dhcpv4\\r\"\nexpect \"dhcpv4}\"\nsend \"dhcp enable\\r\"\nexpect \"dhcpv4}\"\nsend \"exit\\r\"\nexpect \"eth1}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n# Setup eth2 config\nsend \"eth2\\r\"\nexpect \"eth2}\"\nsend \"ipaddress dhcpv4\\r\"\nexpect \"dhcpv4}\"\nsend \"dhcp enable\\r\"\nexpect \"dhcpv4}\"\nsend \"exit\\r\"\nexpect \"eth2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup loopback\nsend \"loopback0\\r\"\nexpect \"back0}\"\nsend \"ipaddress 2.2.2.2/32\\r\"\nexpect \"back0}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup VRF 2\nsend \"vrf2\\r\"\nexpect \"vrf2}\"\nsend \"forwarding ipv4 enable\\r\"\nexpect \"vrf2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Applyconfig\nsend \"addrunning\\r\"\nexpect \"ing}\"\nsend \"exit\\r\"\nexpect \"{}\"\n\n# Get MAC of eth2\nsend \"show interface eth2\\r\"\nexpect -re {ether (\\S+)}\nset macaddr $expect_out(1,string)\nputs $macaddr\n\n# Enter into edit config mode again\nsend \"edit conf running\\r\"\n\n#Setup route for GRE tunnel\nsend \"rtg\\r\"\nexpect \"rtg}\"\nsend \"route 3.3.3.3/32 100.0.108.60\\r\"\nexpect \"rtg}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup VLAN on eth2 and vrf2\nsend \"vlan2\\r\"\nexpect \"vlan2}\"\nsend \"bind eth2 id 200\\r\"\nexpect \"vlan2}\"\nsend \"mac-address $macaddr\\r\"\nexpect \"vlan2}\"\nsend \"ipaddress 200.1.1.2/24\\r\"\nexpect \"vlan2}\"\nsend \"vrf-id 2\\r\"\nexpect \"vlan2}\"\nsend \"interface up\\r\"\nexpect \"vlan2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup GRE on vrf2\nsend \"gre2\\r\"\nexpect \"gre2}\"\nsend \"bind 2.2.2.2 3.3.3.3 \\r\"\nexpect \"gre2}\"\nsend \"endpoints 5.1.1.1 5.1.1.2\\r\"\nexpect \"gre2}\"\nsend \"vrf-id 2\\r\"\nexpect \"gre2}\"\nsend \"checksum-input disable\\r\"\nexpect \"gre2}\"\nsend \"interface up\\r\"\nexpect \"gre2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup routing in VRF2 for VLAN2 traffic\nsend \"rtg\\r\"\nexpect \"rtg}\"\nsend \"route 50.1.1.1/32 5.1.1.2 vrf-id 2\\r\"\nexpect \"rtg}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Applyconfig\nsend \"addrunning\\r\"\nexpect \"ing}\"\nsend \"exit\\r\"\nexpect \"{}\"\n ", - "script": { - "script-type": "expect" - } - }, - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89", - "member-vnf-index": 2 - }, - { - "vnf-configuration": { - "input-params": { - "config-delay": 0, - "config-priority": 0 - } - }, - "vnfd-id-ref": "2407d7a2-d6b5-11e5-95d4-001b21b98a89", - "member-vnf-index": 3 - }, - { - "vnfd-id-ref": "23095c22-d6b5-11e5-9e33-001b21b98a89", - "member-vnf-index": 4 - }, - { - "vnfd-id-ref": "2329d470-d6b5-11e5-98fb-001b21b98a89", - "member-vnf-index": 5 - } - ], - "short-name": "Vpn_Provider_Site_CorpA_nsd", - "vld": [ - { - "description": "Corporate LAN for A,SRIOV based", - "type": "ELAN", - "version": 1, - "provider-network": { - "physical-network": "physnet3", - "overlay-type": "FLAT" - }, - "short-name": "Corp-A Prov-link", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "trafgen_vnfd/cp0", - "vnfd-id-ref": "2544951a-d6b5-11e5-9bb7-001b21b98a89" - }, - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "turborouter_vnfd/cp0", - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89" - }, - { - "member-vnf-index-ref": 3, - "vnfd-connection-point-ref": "cwims_vnfd/cp0", - "vnfd-id-ref": "2407d7a2-d6b5-11e5-95d4-001b21b98a89" - }, - { - "member-vnf-index-ref": 4, - "vnfd-connection-point-ref": "Riverbed_SteelHead_vnfd/cp0", - "vnfd-id-ref": "23095c22-d6b5-11e5-9e33-001b21b98a89" - }, - { - "member-vnf-index-ref": 5, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp0", - "vnfd-id-ref": "2329d470-d6b5-11e5-98fb-001b21b98a89" - } - ], - "name": "Corp-A Prov-link", - "vendor": "RIFT.io", - "id": "28b2c8a2-d6b5-11e5-9a50-001b21b98a89" - }, - { - "description": "HA link between BigIPs", - "type": "ELAN", - "version": 1, - "short-name": "Corp-A HA-link", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 5, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp1", - "vnfd-id-ref": "2329d470-d6b5-11e5-98fb-001b21b98a89" - } - ], - "name": "Corp-A HA-link", - "vendor": "RIFT.io", - "id": "28b329be-d6b5-11e5-9a50-001b21b98a89" - }, - { - "description": "Egress link between BigIPs", - "type": "ELAN", - "version": 1, - "short-name": "Corp-A Egress-link", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 5, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp2", - "vnfd-id-ref": "2329d470-d6b5-11e5-98fb-001b21b98a89" - } - ], - "name": "Corp-A Egress-link", - "vendor": "RIFT.io", - "id": "28b33d32-d6b5-11e5-9a50-001b21b98a89" - }, - { - "description": "External network VIRTIO based", - "type": "ELAN", - "version": 1, - "short-name": "multisite", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "turborouter_vnfd/cp1", - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89" - } - ], - "name": "multisite", - "vendor": "RIFT.io", - "id": "28b350ce-d6b5-11e5-9a50-001b21b98a89" - } - ], - "name": "Vpn_Provider_Site_CorpA_nsd", - "vendor": "RIFT.io", - "id": "28922610-d6b5-11e5-9a50-001b21b98a89", - "meta": { - "instance-ref-count": 0 - } - }, - { - "description": "VPNaaS Provider NSD for Corporation X", - "version": 1, - "constituent-vnfd": [ - { - "vnf-configuration": { - "config-type": "netconf", - "config-template": "\n \n \n trafgen\n 0\n \n trafgen-lb\n \n N1TenGi-1\n \n trafgen_vnfd/cp0\n \n \n \n vlan200\n \n trafgen_vnfd/cp0\n 200\n \n \n
200.1.1.1/24
\n
\n
\n
\n \n trafgen_vnfd/cp0\n \n \n rw_trafgen\n rw_trafgen\n \n 2\n 200\n \n \n direct\n \n \n \n 10\n \n \n \n \n \n \n \n 200.1.1.2\n \n \n \n 200.1.1.1\n 200.1.1.1\n 200.1.1.1\n 1\n \n \n 50.1.1.1\n 50.1.1.1\n 50.1.1.1\n 1\n \n \n 10000\n 10000\n 10128\n 1\n \n \n 5678\n 5678\n 5678\n 1\n \n \n 1024\n 1024\n 1024\n 1\n \n \n 200\n 200\n 200\n 1\n \n \n \n \n
\n
\n \n \n syslog\n \n 514\n \n \n ", - "input-params": { - "config-delay": 180, - "config-priority": 1 - }, - "netconf": { - "target": "running", - "port": 2022 - } - }, - "vnfd-id-ref": "2544951a-d6b5-11e5-9bb7-001b21b98a89", - "member-vnf-index": 1 - }, - { - "vnf-configuration": { - "input-params": { - "config-delay": 0, - "config-priority": 2 - }, - "config-type": "script", - "config-template": "\n#!/usr/bin/expect -f\nset login \"root\"\nset addr \nset pw \"6windos\"\nspawn ssh -1 $login@$addr\n\nset timeout 60\n\nexpect \"yes/no\" {\n send \"yes\\r\"\n expect \"*?assword:\" { send \"$pw\\r\" }\n } \"*?assword:\" { send \"$pw\\r\" }\n\nexpect \"# \"\nsend \"cli\\r\"\nexpect \"{}\"\nsend \"edit conf running\\r\"\nexpect \"ing}\"\n\n# Setup eth1 config\nsend \"eth1\\r\"\nexpect \"eth1}\"\nsend \"ipaddress dhcpv4\\r\"\nexpect \"dhcpv4}\"\nsend \"dhcp enable\\r\"\nexpect \"dhcpv4}\"\nsend \"exit\\r\"\nexpect \"eth1}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n# Setup eth2 config\nsend \"eth2\\r\"\nexpect \"eth2}\"\nsend \"ipaddress dhcpv4\\r\"\nexpect \"dhcpv4}\"\nsend \"dhcp enable\\r\"\nexpect \"dhcpv4}\"\nsend \"exit\\r\"\nexpect \"eth2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup loopback\nsend \"loopback0\\r\"\nexpect \"back0}\"\nsend \"ipaddress 2.2.2.2/32\\r\"\nexpect \"back0}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup VRF 2\nsend \"vrf2\\r\"\nexpect \"vrf2}\"\nsend \"forwarding ipv4 enable\\r\"\nexpect \"vrf2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Applyconfig\nsend \"addrunning\\r\"\nexpect \"ing}\"\nsend \"exit\\r\"\nexpect \"{}\"\n\n# Get MAC of eth2\nsend \"show interface eth2\\r\"\nexpect -re {ether (\\S+)}\nset macaddr $expect_out(1,string)\nputs $macaddr\n\n# Enter into edit config mode again\nsend \"edit conf running\\r\"\n\n#Setup route for GRE tunnel\nsend \"rtg\\r\"\nexpect \"rtg}\"\nsend \"route 3.3.3.3/32 100.0.108.60\\r\"\nexpect \"rtg}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup VLAN on eth2 and vrf2\nsend \"vlan2\\r\"\nexpect \"vlan2}\"\nsend \"bind eth2 id 200\\r\"\nexpect \"vlan2}\"\nsend \"mac-address $macaddr\\r\"\nexpect \"vlan2}\"\nsend \"ipaddress 200.1.1.2/24\\r\"\nexpect \"vlan2}\"\nsend \"vrf-id 2\\r\"\nexpect \"vlan2}\"\nsend \"interface up\\r\"\nexpect \"vlan2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup GRE on vrf2\nsend \"gre2\\r\"\nexpect \"gre2}\"\nsend \"bind 2.2.2.2 3.3.3.3 \\r\"\nexpect \"gre2}\"\nsend \"endpoints 5.1.1.1 5.1.1.2\\r\"\nexpect \"gre2}\"\nsend \"vrf-id 2\\r\"\nexpect \"gre2}\"\nsend \"checksum-input disable\\r\"\nexpect \"gre2}\"\nsend \"interface up\\r\"\nexpect \"gre2}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Setup routing in VRF2 for VLAN2 traffic\nsend \"rtg\\r\"\nexpect \"rtg}\"\nsend \"route 50.1.1.1/32 5.1.1.2 vrf-id 2\\r\"\nexpect \"rtg}\"\nsend \"exit\\r\"\nexpect \"ing}\"\n\n#Applyconfig\nsend \"addrunning\\r\"\nexpect \"ing}\"\nsend \"exit\\r\"\nexpect \"{}\"\n ", - "script": { - "script-type": "expect" - } - }, - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89", - "member-vnf-index": 2 - }, - { - "vnf-configuration": { - "input-params": { - "config-delay": 0, - "config-priority": 0 - } - }, - "vnfd-id-ref": "2407d7a2-d6b5-11e5-95d4-001b21b98a89", - "member-vnf-index": 3 - } - ], - "short-name": "Vpn_Provider_Site_CorpB_nsd", - "vld": [ - { - "description": "Corporate LAN for B,SRIOV based", - "type": "ELAN", - "version": 1, - "provider-network": { - "physical-network": "physnet4", - "overlay-type": "FLAT" - }, - "short-name": "Corp-B Prov-link", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "trafgen_vnfd/cp0", - "vnfd-id-ref": "2544951a-d6b5-11e5-9bb7-001b21b98a89" - }, - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "turborouter_vnfd/cp0", - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89" - }, - { - "member-vnf-index-ref": 3, - "vnfd-connection-point-ref": "cwims_vnfd/cp0", - "vnfd-id-ref": "2407d7a2-d6b5-11e5-95d4-001b21b98a89" - } - ], - "name": "Corp-B Prov-link", - "vendor": "RIFT.io", - "id": "29405438-d6b5-11e5-a599-001b21b98a89" - }, - { - "description": "External network VIRTIO based", - "type": "ELAN", - "version": 1, - "short-name": "multisite", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "turborouter_vnfd/cp1", - "vnfd-id-ref": "23028096-d6b5-11e5-8e3f-001b21b98a89" - } - ], - "name": "multisite", - "vendor": "RIFT.io", - "id": "2940a00a-d6b5-11e5-a599-001b21b98a89" - } - ], - "name": "Vpn_Provider_Site_CorpB_nsd", - "vendor": "RIFT.io", - "id": "29212fb8-d6b5-11e5-a599-001b21b98a89", - "meta": { - "instance-ref-count": 0 - } - }, - { - "description": "NS Vrouter-Trafsink", - "version": 1, - "constituent-vnfd": [ - { - "vnf-configuration": { - "config-type": "netconf", - "config-template": "\n \n \n trafsink\n 0\n \n lb-trafsink\n \n N3TenGigi-1\n \n trafsink_vnfd/cp0\n \n \n
50.1.1.1/24
\n
\n
\n
\n \n trafsink_vnfd/cp0\n \n \n rw_trafgen\n rw_trafgen\n \n 2\n \n \n direct\n \n \n \n \n \n \n \n \n \n
\n
\n \n \n syslog\n \n 514\n \n \n\n ", - "input-params": { - "config-delay": 180, - "config-priority": 1 - }, - "netconf": { - "target": "running", - "port": 2022 - }, - "config-access": { - "password": "admin", - "username": "admin" - } - }, - "vnfd-id-ref": "26a08568-d6b5-11e5-a5c6-001b21b98a89", - "member-vnf-index": 1 - }, - { - "vnf-configuration": { - "input-params": { - "config-delay": 0, - "config-priority": 2 - }, - "config-type": "script", - "config-template": "\n#!/usr/bin/expect -f\nset login \"vyatta\"\nset addr \nset pw \"vyatta\"\nspawn ssh $login@$addr\n\nset timeout 60\n\nexpect \"yes/no\" {\n send \"yes\n\"\n expect \"*?assword:\" { send \"$pw\n\" }\n } \"*?assword:\" { send \"$pw\n\" }\n\nexpect \"$ \"\nsend \"configure\n\"\nexpect \"# \"\nsend \"set protocols static interface-route 50.1.1.0/24 next-hop-interface dp0s6\n\"\nexpect \"# \"\nsend \"set protocols static route 2.2.2.2/32 next-hop 100.0.108.5\n\"\nexpect \"# \"\nsend \"set interfaces loopback lo1 address 3.3.3.3/32\n\"\nexpect \"# \"\nsend \"set interfaces tunnel tun0 address 5.1.1.2/24\n\"\nexpect \"# \"\nsend \"set interfaces tunnel tun0 encapsulation gre\n\"\nexpect \"# \"\nsend \"set interfaces tunnel tun0 local-ip 3.3.3.3\n\"\nexpect \"# \"\nsend \"set interfaces tunnel tun0 remote-ip 2.2.2.2\n\"\nexpect \"# \"\nsend \"set protocols static route 200.1.1.1/32 next-hop 5.1.1.1\n\"\nexpect \"# \"\nsend \"commit\n\"\nexpect \"# \"\nsend \"exit \n\"\nexpect \"$ \"\n ", - "script": { - "script-type": "expect" - } - }, - "vnfd-id-ref": "a6ce0f96-d6cc-11e5-9540-001b21b98a89", - "member-vnf-index": 2 - } - ], - "short-name": "Vpn_Remote_Site_nsd", - "vld": [ - { - "description": "Corporate LAN for X,SRIOV based", - "type": "ELAN", - "version": 1, - "provider-network": { - "physical-network": "physnet3", - "overlay-type": "FLAT" - }, - "short-name": "Corp-X Remote Site link", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "trafsink_vnfd/cp0", - "vnfd-id-ref": "26a08568-d6b5-11e5-a5c6-001b21b98a89" - }, - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "vrouter_vnfd/cp0", - "vnfd-id-ref": "a6ce0f96-d6cc-11e5-9540-001b21b98a89" - } - ], - "name": "Corp-X Remote Site link", - "vendor": "RIFT.io", - "id": "b83bb668-d6cf-11e5-99d1-001b21b98a89" - }, - { - "description": "External network VIRTIO based", - "type": "ELAN", - "version": 1, - "short-name": "multisite", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "vrouter_vnfd/cp1", - "vnfd-id-ref": "a6ce0f96-d6cc-11e5-9540-001b21b98a89" - } - ], - "name": "multisite", - "vendor": "RIFT.io", - "id": "b83bff92-d6cf-11e5-99d1-001b21b98a89" - } - ], - "name": "Vpn_Remote_Site_nsd", - "vendor": "RIFT.io", - "id": "b81198ec-d6cf-11e5-99d1-001b21b98a89", - "meta": { - "instance-ref-count": 0 - } - }, - { - "description": "6wind turborouter only", - "version": 1, - "constituent-vnfd": [ - { - "vnf-configuration": { - "initial-config-primitive": [ - { - "parameter": [ - { - "name": "pass", - "value": "6windos" - }, - { - "name": "user", - "value": "root" - }, - { - "name": "vpe-router", - "value": "" - } - ], - "name": "config", - "seq": 1 - }, - { - "parameter": [ - { - "name": "cidr", - "value": "10.10.10.2/30" - }, - { - "name": "iface-name", - "value": "eth1" - } - ], - "name": "configure-interface", - "seq": 2 - } - ], - "config-type": "juju", - "input-params": { - "config-delay": 0, - "config-priority": 0 - }, - "juju": { - "charm": "vpe-router" - } - }, - "vnfd-id-ref": "c49db92a-d6d8-11e5-9537-6cb3113b406f", - "member-vnf-index": 1 - } - ], - "short-name": "tr_juju_nsd", - "vld": [ - { - "description": "Link from TR to ELAN", - "type": "ELAN", - "version": 1, - "short-name": "Link1", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "turborouter_vnfd/cp0", - "vnfd-id-ref": "c49db92a-d6d8-11e5-9537-6cb3113b406f" - } - ], - "name": "Link1", - "vendor": "RIFT.io", - "id": "c4f9dc50-d6d8-11e5-864f-6cb3113b406f" - } - ], - "config-primitive": [ - { - "parameter": [ - { - "data-type": "string", - "name": "Corporation Name", - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Tunnel Key", - "default-value": 1, - "mandatory": "true" - } - ], - "name": "Add Corporation", - "parameter-group": [ - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.1.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.1.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth3", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 101, - "mandatory": "true" - } - ], - "name": "PE1", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.2.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.2.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth3", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 102, - "mandatory": "true" - } - ], - "name": "PE2", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.4.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.4.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth4", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 108, - "mandatory": "true" - } - ], - "name": "PE3", - "mandatory": "false" - } - ], - "user-defined-script": "/home/rift/.install/usr/bin/add_corporation.py" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "Corporation Name", - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Tunnel Key", - "default-value": 10, - "mandatory": "true" - } - ], - "name": "Add SP Test Corporation", - "parameter-group": [ - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.1.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.1.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth3", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 3000, - "mandatory": "true" - } - ], - "name": "PE1", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.2.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.2.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth3", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 3000, - "mandatory": "true" - } - ], - "name": "PE2", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "Corp. Gateway", - "default-value": "10.0.3.1", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Corp. Network", - "default-value": "10.0.3.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Interface Name", - "default-value": "eth3", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network", - "default-value": "10.255.255.0/24", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "Local Network Area", - "default-value": 0, - "mandatory": "true" - }, - { - "data-type": "integer", - "name": "Vlan ID", - "default-value": 3000, - "mandatory": "true" - } - ], - "name": "PE3", - "mandatory": "false" - } - ], - "user-defined-script": "/home/rift/.install/usr/bin/add_corporation.py" - } - ], - "name": "tr_juju_nsd", - "vendor": "6Wind", - "id": "c4f7fb6a-d6d8-11e5-864f-6cb3113b406f", - "meta": { - "instance-ref-count": 0 - } - }, - { - "description": "NS Clearewater IMS only", - "input-parameter-xpath": [ - { - "label": "net-corp-vlan", - "default-value": 55, - "xpath": "/nsd:nsd-catalog/nsd:nsd[nsd:id=c719e6ba-d6d8-11e5-8962-6cb3113b406f]/nsd:vld[nsd:id=c71b347a-d6d8-11e5-8962-6cb3113b406f]/nsd:provider-network/manotypes:segmentation_id" - } - ], - "version": 1, - "constituent-vnfd": [ - { - "vnf-configuration": { - "config-primitive": [ - { - "parameter": [ - { - "data-type": "string", - "name": "base_number" - }, - { - "data-type": "string", - "name": "home_domain" - }, - { - "data-type": "integer", - "name": "number_count" - }, - { - "data-type": "string", - "name": "password" - } - ], - "name": "config" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "number", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "password", - "mandatory": "true" - } - ], - "name": "create-update-user" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "number", - "mandatory": "true" - } - ], - "name": "delete-user" - } - ], - "config-type": "juju", - "initial-config-primitive": [ - { - "parameter": [ - { - "name": "proxied_ip", - "value": "" - } - ], - "name": "config", - "seq": 1 - } - ], - "input-params": { - "config-delay": 0, - "config-priority": 1 - }, - "juju": { - "charm": "clearwater-aio-proxy" - } - }, - "vnfd-id-ref": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f", - "member-vnf-index": 1 - } - ], - "short-name": "cwims_juju_nsd", - "vld": [ - { - "description": "Link from cwims to ELAN", - "type": "ELAN", - "version": 1, - "provider-network": { - "physical-network": "physnet1", - "overlay-type": "VLAN" - }, - "short-name": "net-corp", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "cwims_vnfd/cp0", - "vnfd-id-ref": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f" - } - ], - "name": "net-corp", - "vendor": "RIFT.io", - "id": "c71b347a-d6d8-11e5-8962-6cb3113b406f" - } - ], - "config-primitive": [ - { - "name": "Add User", - "vnf-primitive-group": [ - { - "vnfd-name": "cwims_vnfd", - "member-vnf-index-ref": 1, - "vnfd-id-ref": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f", - "primitive": [ - { - "index": 1, - "name": "create-update-user" - } - ] - } - ] - }, - { - "name": "Delete User", - "vnf-primitive-group": [ - { - "vnfd-name": "cwims_vnfd", - "member-vnf-index-ref": 1, - "vnfd-id-ref": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f", - "primitive": [ - { - "index": 1, - "name": "delete-user" - } - ] - } - ] - }, - { - "name": "Update Domain", - "vnf-primitive-group": [ - { - "vnfd-name": "cwims_vnfd", - "member-vnf-index-ref": 1, - "vnfd-id-ref": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f", - "primitive": [ - { - "index": 1, - "name": "config" - } - ] - } - ] - } - ], - "name": "cwims_juju_nsd", - "vendor": "RIFT.io", - "id": "c719e6ba-d6d8-11e5-8962-6cb3113b406f", - "meta": { - "instance-ref-count": 0 - } - } - ] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "meta": { - "icon-svg": "data:image/svg+xml, " - }, - "descriptors": [ - { - "description": "This is a Benu ClientSim VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "clientsim_vnfd/cp0" - }, - { - "name": "eth2", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "clientsim_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 8192, - "storage-gb": 80, - "vcpu-count": 2 - }, - "name": "master", - "image": "clientsim-benu.qcow2", - "id": "19550ac8-c51c-11e5-b578-001b21b98a89", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, start, --no-block, ngnix.service ]\n - [ systemctl, start, --no-block, php-fpm.service ]\n" - } - ], - "connection-point": [ - { - "name": "clientsim_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "clientsim_vnfd/cp1", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "19550ac8-c51c-11e5-b578-001b21b98a89", - "dashboard-params": { - "port": 8008, - "path": "/" - }, - "port": 2022 - }, - "version": 1, - "short-name": "clientsim_vnfd", - "name": "clientsim_vnfd", - "vendor": "RIFT.io", - "id": "1953f58e-c51c-11e5-b578-001b21b98a89" - }, - { - "description": "This is a 6Wind TurboRouter VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "turborouter_vnfd/cp0" - }, - { - "name": "eth2", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "turborouter_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "turbo-router-riftio-4-sriov.img.qcow2", - "id": "2302e4c8-d6b5-11e5-8e3f-001b21b98a89", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "turborouter_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "turborouter_vnfd/cp1", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "2302e4c8-d6b5-11e5-8e3f-001b21b98a89", - "port": 80 - }, - "version": 1, - "short-name": "turborouter_vnfd", - "name": "turborouter_vnfd", - "vendor": "6Wind", - "id": "23028096-d6b5-11e5-8e3f-001b21b98a89" - }, - { - "description": "This is a Riverbed Steelhead VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "Riverbed_SteelHead_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "riverbedimg", - "id": "2309cf5e-d6b5-11e5-9e33-001b21b98a89", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "Riverbed_SteelHead_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "2309cf5e-d6b5-11e5-9e33-001b21b98a89", - "dashboard-params": { - "port": 80, - "path": "/" - }, - "port": 80 - }, - "version": 1, - "short-name": "Riverbed_SteelHead_vnfd", - "name": "Riverbed_SteelHead_vnfd", - "vendor": "Riverbed", - "http-endpoint": [ - { - "password": "password", - "polling_interval_secs": 2, - "path": "rest/info", - "username": "admin" - } - ], - "id": "23095c22-d6b5-11e5-9e33-001b21b98a89" - }, - { - "description": "This is a F5 Big-IP load balancer VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp0" - }, - { - "name": "eth2", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp1" - }, - { - "name": "eth3", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "F5_BigIP_vnfd/cp2" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "BIGIP-11.6.0.6.146.442.qcow2", - "id": "232a52ba-d6b5-11e5-98fb-001b21b98a89", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "F5_BigIP_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "F5_BigIP_vnfd/cp1", - "type": "VPORT" - }, - { - "name": "F5_BigIP_vnfd/cp2", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "232a52ba-d6b5-11e5-98fb-001b21b98a89", - "dashboard-params": { - "https": "true", - "port": 443, - "path": "/" - }, - "port": 80 - }, - "version": 1, - "short-name": "F5_BigIP_vnfd", - "name": "F5_BigIP_vnfd", - "vendor": "F5 Networks", - "http-endpoint": [ - { - "password": "password", - "polling_interval_secs": 2, - "path": "rest/info", - "username": "admin" - } - ], - "id": "2329d470-d6b5-11e5-98fb-001b21b98a89" - }, - { - "description": "This is a Clearwater IMS VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "cwims_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "cw-aio.qcow2", - "id": "2408452a-d6b5-11e5-95d4-001b21b98a89", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "cwims_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "2408452a-d6b5-11e5-95d4-001b21b98a89", - "dashboard-params": { - "port": 80, - "path": "/" - }, - "port": 80 - }, - "version": 1, - "short-name": "cwims_vnfd", - "name": "cwims_vnfd", - "vendor": "Clearwater", - "http-endpoint": [ - { - "password": "vyatta", - "polling_interval_secs": 2, - "path": "rest/app/gui/dashboard/sysinfo", - "username": "vyatta" - } - ], - "id": "2407d7a2-d6b5-11e5-95d4-001b21b98a89" - }, - { - "description": "This is a RIFT.ware Trafgen VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "trafgen_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 16384, - "storage-gb": 32, - "vcpu-count": 4 - }, - "name": "iovdu", - "image": "rift-root-latest-trafgen-k2.qcow2", - "id": "2545bca6-d6b5-11e5-9bb7-001b21b98a89", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, trafgen.service ]\n - [ systemctl, start, --no-block, trafgen.service ]\n" - } - ], - "connection-point": [ - { - "name": "trafgen_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "2545bca6-d6b5-11e5-9bb7-001b21b98a89", - "port": 2022 - }, - "version": 1, - "short-name": "trafgen_vnfd", - "name": "trafgen_vnfd", - "vendor": "RIFT.io", - "http-endpoint": [ - { - "polling_interval_secs": 3, - "headers": [ - { - "key": "Accept", - "value": "json" - }, - { - "key": "Content-type", - "value": "application/vnd.yang.data+json" - } - ], - "port": 8008, - "password": "fedora", - "path": "api/operational/vnf-opdata/vnf/trafgen,0/port-state", - "username": "fedora" - } - ], - "id": "2544951a-d6b5-11e5-9bb7-001b21b98a89", - "monitoring-param": [ - { - "json-query-params": { - "object-path": "$..*[@.portname is 'trafgen_vnfd/cp0'].counters.'tx-rate-mbps'" - }, - "description": "Outgoing byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Tx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 1000 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/trafgen,0/port-state", - "id": 1, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..*[@.portname is 'trafgen_vnfd/cp0'].counters.'rx-rate-mbps'" - }, - "description": "Incoming byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Rx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 1000 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/trafgen,0/port-state", - "id": 2, - "json-query-method": "OBJECTPATH" - } - ] - }, - { - "description": "This is a RIFT.ware Trafsink VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "trafsink_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 16384, - "storage-gb": 32, - "vcpu-count": 4 - }, - "name": "iovdu", - "image": "rift-root-latest-trafgen-j.qcow2", - "id": "26a19e3a-d6b5-11e5-a5c6-001b21b98a89", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, trafsink.service ]\n - [ systemctl, start, --no-block, trafsink.service ]\n" - } - ], - "connection-point": [ - { - "name": "trafsink_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "26a19e3a-d6b5-11e5-a5c6-001b21b98a89", - "port": 2022 - }, - "version": 1, - "short-name": "trafsink_vnfd", - "name": "trafsink_vnfd", - "vendor": "RIFT.io", - "http-endpoint": [ - { - "polling_interval_secs": 3, - "headers": [ - { - "key": "Accept", - "value": "json" - }, - { - "key": "Content-type", - "value": "application/vnd.yang.data+json" - } - ], - "port": 8008, - "password": "fedora", - "path": "api/operational/vnf-opdata/vnf/trafsink,0/port-state", - "username": "fedora" - } - ], - "id": "26a08568-d6b5-11e5-a5c6-001b21b98a89", - "monitoring-param": [ - { - "json-query-params": { - "object-path": "$..*[@.portname is 'trafsink_vnfd/cp0'].counters.'tx-rate-mbps'" - }, - "description": "Outgoing bytes at interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Tx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 1000 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/trafsink,0/port-state", - "id": 1, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..*[@.portname is 'trafsink_vnfd/cp0'].counters.'rx-rate-mbps'" - }, - "description": "Incoming bytes at interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Rx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 1000 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/trafsink,0/port-state", - "id": 2, - "json-query-method": "OBJECTPATH" - } - ] - }, - { - "description": "This is a Benu SSC VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "ssc_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 8192, - "storage-gb": 48, - "vcpu-count": 2 - }, - "name": "master", - "image": "ssc-benu.qcow2", - "id": "2e981d3a-d00c-11e5-ab30-625662870761", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ service, startssc, start ]\n" - } - ], - "connection-point": [ - { - "name": "ssc_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "2e981d3a-d00c-11e5-ab30-625662870761", - "dashboard-params": { - "port": 80, - "path": "/" - }, - "port": 2022 - }, - "version": 1, - "short-name": "ssc_vnfd", - "name": "ssc_vnfd", - "vendor": "RIFT.io", - "id": "2e9819f2-d00c-11e5-ab30-625662870761" - }, - { - "description": "This is a Brocade vRouter VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth0", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "vrouter_vnfd/cp0" - }, - { - "name": "eth1", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "vrouter_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 8192, - "storage-gb": 40, - "vcpu-count": 4 - }, - "name": "iovdu", - "image": "vyatta-7.qcow2", - "id": "a6cf9a28-d6cc-11e5-9540-001b21b98a89", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "vrouter_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "vrouter_vnfd/cp1", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "a6cf9a28-d6cc-11e5-9540-001b21b98a89", - "dashboard-params": { - "port": 80, - "path": "/" - }, - "port": 80 - }, - "version": 1, - "short-name": "vrouter_vnfd", - "name": "vrouter_vnfd", - "vendor": "Brocade", - "http-endpoint": [ - { - "password": "vyatta", - "polling_interval_secs": 3, - "port": 80, - "path": "rest/app/gui/dashboard/interfaces", - "username": "vyatta" - }, - { - "password": "vyatta", - "polling_interval_secs": 3, - "port": 80, - "path": "rest/app/gui/dashboard/sysinfo", - "username": "vyatta" - } - ], - "id": "a6ce0f96-d6cc-11e5-9540-001b21b98a89", - "monitoring-param": [ - { - "json-query-params": { - "json-path": "$.system.mem_total" - }, - "description": "Memory usage of vrouter", - "widget-type": "COUNTER", - "group-tag": "Group1", - "units": "KB", - "value-type": "INT", - "name": "Total memory", - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "id": 1, - "json-query-method": "JSONPATH" - }, - { - "json-query-params": { - "json-path": "$.system.mem" - }, - "description": "Memory utilization of vrouter", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "%", - "value-type": "DECIMAL", - "name": "Memory utilization", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "id": 2, - "json-query-method": "JSONPATH" - }, - { - "json-query-params": { - "json-path": "$.system.cpu[0].usage" - }, - "description": "CPU utilization (all) of vrouter", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "%", - "value-type": "DECIMAL", - "name": "CPU utilization", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "id": 3, - "json-query-method": "JSONPATH" - }, - { - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s6']['in']" - }, - "description": "Incoming bytes at interface", - "widget-type": "COUNTER", - "group-tag": "Group2", - "units": "bytes", - "value-type": "INT", - "name": "Interface[dp0s6] Rx", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "id": 4, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s6']['out']" - }, - "description": "Outgoing bytes at interface", - "widget-type": "COUNTER", - "group-tag": "Group2", - "units": "bytes", - "value-type": "INT", - "name": "Interface[dp0s6] Tx", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "id": 5, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..interfaces[@.name is 'tun0']['in']" - }, - "description": "Incoming bytes at interface", - "widget-type": "COUNTER", - "group-tag": "Group2", - "units": "bytes", - "value-type": "INT", - "name": "Interface[tun0] Rx", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "id": 6, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..interfaces[@.name is 'tun0']['out']" - }, - "description": "Outgoing bytes at interface", - "widget-type": "COUNTER", - "group-tag": "Group2", - "units": "bytes", - "value-type": "INT", - "name": "Interface[tun0] Tx", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "id": 7, - "json-query-method": "OBJECTPATH" - } - ] - }, - { - "description": "This is a Benu VSE-SI VNF", - "vdu": [ - { - "count": 1, - "vm-flavor": { - "memory-mb": 16384, - "storage-gb": 64, - "vcpu-count": 4 - }, - "name": "RW.VM.MASTER", - "image": "Benu_VSE_Image_02_09.qcow2", - "id": "c1bb1a92-aa48-4908-89b2-5a78ff324953", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nwrite_files:\n - path: /opt/rift/.vnf_start_conf\n content: |\n VNFNAME=\"vsesi\"\n VDUNAME={{ vdu.name }}\n MASTERIP= \nruncmd: \n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, multivmvnf.service ]\n - [ systemctl, start, --no-block, multivmvnf.service ]\n" - }, - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "vsesi_vnfd/cp0" - }, - { - "name": "eth2", - "virtual-interface": { - "type": "SR-IOV" - }, - "vnfd-connection-point-ref": "vsesi_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 32768, - "storage-gb": 128, - "vcpu-count": 4 - }, - "name": "RW.VM.FASTPATH.LEAD", - "image": "Benu_VSE_Image_02_09.qcow2", - "id": "d1bb1a92-aa48-4908-89b2-5a78ff324953", - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False } \nssh_pwauth: True\nwrite_files:\n - path: /opt/rift/.vnf_start_conf\n content: |\n VNFNAME=\"vsesi\"\n VDUNAME={{ vdu.name }}\n MASTERIP= {{ vdu[c1bb1a92-aa48-4908-89b2-5a78ff324953].mgmt.ip }}\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, multivmvnf.service ]\n - [ systemctl, start, --no-block, multivmvnf.service ]\n - [ systemctl, enable, benuvnf.service ]\n - [ systemctl, start, --no-block, benuvnf.service ]\n" - } - ], - "connection-point": [ - { - "name": "vsesi_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "vsesi_vnfd/cp1", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "c1bb1a92-aa48-4908-89b2-5a78ff324953", - "port": 2022 - }, - "version": 1, - "short-name": "vsesi_vnfd", - "name": "vsesi_vnfd", - "vendor": "Benu", - "http-endpoint": [ - { - "polling_interval_secs": 3, - "headers": [ - { - "key": "Accept", - "value": "json" - }, - { - "key": "Content-type", - "value": "application/vnd.yang.data+json" - } - ], - "port": 8008, - "password": "fedora", - "path": "api/operational/vnf-opdata/vnf/vsesi,0/port-state", - "username": "fedora" - } - ], - "id": "b1633f8c-ce8c-11e5-a62b-001b21b98a89", - "monitoring-param": [ - { - "json-query-params": { - "object-path": "$..*[@.portname is 'vsesi/1/1'].counters.'tx-rate-mbps'" - }, - "description": "Outgoing byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Tx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/vsesi,0/port-state", - "id": 1, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..*[@.portname is 'vsesi/1/1'].counters.'rx-rate-mbps'" - }, - "description": "Incoming byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group1", - "units": "mbps", - "value-type": "INT", - "name": "Cp0 Rx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/vsesi,0/port-state", - "id": 2, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..*[@.portname is 'vsesi/1/2'].counters.'tx-rate-mbps'" - }, - "description": "Outgoing byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group2", - "units": "mbps", - "value-type": "INT", - "name": "Cp1 Tx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/vsesi,0/port-state", - "id": 3, - "json-query-method": "OBJECTPATH" - }, - { - "json-query-params": { - "object-path": "$..*[@.portname is 'vsesi/1/2'].counters.'rx-rate-mbps'" - }, - "description": "Incoming byte rate of interface", - "widget-type": "GAUGE", - "group-tag": "Group2", - "units": "mbps", - "value-type": "INT", - "name": "Cp1 Rx Rate", - "numeric-constraints": { - "min-value": 0, - "max-value": 100 - }, - "http-endpoint-ref": "api/operational/vnf-opdata/vnf/vsesi,0/port-state", - "id": 4, - "json-query-method": "OBJECTPATH" - } - ] - }, - { - "description": "This is a 6Wind TurboRouter VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "turborouter_vnfd/cp0" - }, - { - "name": "eth2", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "turborouter_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "turbo-router-riftio-5.img.qcow2", - "id": "c49dffe8-d6d8-11e5-9537-6cb3113b406f", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "turborouter_vnfd/cp0", - "type": "VPORT" - }, - { - "name": "turborouter_vnfd/cp1", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "c49dffe8-d6d8-11e5-9537-6cb3113b406f", - "port": 80 - }, - "version": 1, - "short-name": "turborouter_vnfd", - "name": "turborouter_vnfd", - "vendor": "6Wind", - "id": "c49db92a-d6d8-11e5-9537-6cb3113b406f" - }, - { - "description": "This is a Clearwater IMS VNF", - "vdu": [ - { - "count": 1, - "external-interface": [ - { - "name": "eth1", - "virtual-interface": { - "type": "VIRTIO" - }, - "vnfd-connection-point-ref": "cwims_vnfd/cp0" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "storage-gb": 40, - "vcpu-count": 2 - }, - "name": "iovdu", - "image": "cw-aio.qcow2", - "id": "c66438c4-d6d8-11e5-9f1a-6cb3113b406f", - "cloud-init": "#cloud-config\n" - } - ], - "connection-point": [ - { - "name": "cwims_vnfd/cp0", - "type": "VPORT" - } - ], - "mgmt-interface": { - "vdu-id": "c66438c4-d6d8-11e5-9f1a-6cb3113b406f", - "dashboard-params": { - "port": 80, - "path": "/" - }, - "port": 80 - }, - "version": 1, - "short-name": "cwims_vnfd", - "name": "cwims_vnfd", - "vendor": "Clearwater", - "http-endpoint": [ - { - "password": "vyatta", - "polling_interval_secs": 2, - "path": "rest/app/gui/dashboard/sysinfo", - "username": "vyatta" - } - ], - "id": "c663ea54-d6d8-11e5-9f1a-6cb3113b406f" - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "meta": { - "icon-svg": "data:image/svg+xml, " - }, - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/assets/empty-nsd-catalog.json b/modules/ui/composer/webapp/src/assets/empty-nsd-catalog.json deleted file mode 100644 index db379d6..0000000 --- a/modules/ui/composer/webapp/src/assets/empty-nsd-catalog.json +++ /dev/null @@ -1,290 +0,0 @@ -[ - { - "id": "GUID-1", - "name": "RIFT.ware™ NS Descriptors Catalog", - "short-name": "rift.ware-nsd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "nsd", - "descriptors": [] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "descriptors": [ - { - "id": "ba145e82-626b-11e5-998d-6cb3113b406f", - "name": "ping-vnfd", - "short-name": "ping-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "internal-vld": [ - { - "id": "ba1478fe-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN" - } - ], - "connection-point": [ - { - "name": "ping-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "ping-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "ba14a504-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba153744-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba15577e-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba153744-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba15577e-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "ping-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "ping-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - }, - { - "id": "ba1947da-626b-11e5-998d-6cb3113b406f", - "name": "pong-vnfd", - "short-name": "pong-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "internal-vld": [ - { - "id": "ba195068-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN" - } - ], - "connection-point": [ - { - "name": "pong-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "pong-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "ba1960ee-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba197a98-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba198696-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba197a98-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba198696-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "pong-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "pong-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/assets/favicons/manifest.json b/modules/ui/composer/webapp/src/assets/favicons/manifest.json index 74798cf..9d1d45c 100644 --- a/modules/ui/composer/webapp/src/assets/favicons/manifest.json +++ b/modules/ui/composer/webapp/src/assets/favicons/manifest.json @@ -1,5 +1,6 @@ { "name": "RIFT.ware", + "license": "Apache-2.0", "icons": [ { "src": "\/android-chrome-36x36.png", diff --git a/modules/ui/composer/webapp/src/assets/favicons/safari-pinned-tab.svg b/modules/ui/composer/webapp/src/assets/favicons/safari-pinned-tab.svg index fa3c696..1095e1a 100644 --- a/modules/ui/composer/webapp/src/assets/favicons/safari-pinned-tab.svg +++ b/modules/ui/composer/webapp/src/assets/favicons/safari-pinned-tab.svg @@ -1,6 +1,21 @@ + diff --git a/modules/ui/composer/webapp/src/assets/juju-catalog.json b/modules/ui/composer/webapp/src/assets/juju-catalog.json deleted file mode 100644 index 9fe0ceb..0000000 --- a/modules/ui/composer/webapp/src/assets/juju-catalog.json +++ /dev/null @@ -1,936 +0,0 @@ -[ - { - "id": "GUID-1", - "name": "RIFT.ware™ NS Descriptors Catalog", - "short-name": "rift.ware-nsd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "nsd", - "descriptors": [ - { - "id": "9c450720-d670-11e5-a5c7-6cb3113b406f", - "config-primitive": [ - { - "vnf-primitive-group": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "primitive": [ - { - "name": "create-update-user", - "index": 1 - } - ], - "vnfd-name": "cwims_vnfd" - } - ], - "name": "Add User" - }, - { - "vnf-primitive-group": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "primitive": [ - { - "name": "delete-user", - "index": 1 - } - ], - "vnfd-name": "cwims_vnfd" - } - ], - "name": "Delete User" - }, - { - "vnf-primitive-group": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "primitive": [ - { - "name": "config", - "index": 1 - } - ], - "vnfd-name": "cwims_vnfd" - } - ], - "name": "Update Domain" - } - ], - "description": "NS Clearewater IMS only", - "vendor": "RIFT.io", - "name": "cwims_juju_nsd", - "input-parameter-xpath": [ - { - "label": "net-corp-vlan", - "default-value": 55, - "xpath": "/nsd:nsd-catalog/nsd:nsd[nsd:id=9c450720-d670-11e5-a5c7-6cb3113b406f]/nsd:vld[nsd:id=9c4646c6-d670-11e5-a5c7-6cb3113b406f]/nsd:provider-network/manotypes:segmentation_id" - } - ], - "version": 1, - "short-name": "cwims_juju_nsd", - "vld": [ - { - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "vnfd-connection-point-ref": "cwims_vnfd/cp0" - } - ], - "id": "9c4646c6-d670-11e5-a5c7-6cb3113b406f", - "provider-network": { - "overlay-type": "VLAN", - "physical-network": "physnet1" - }, - "description": "Link from cwims to ELAN", - "vendor": "RIFT.io", - "name": "net-corp", - "version": 1, - "short-name": "net-corp", - "type": "ELAN" - } - ], - "constituent-vnfd": [ - { - "vnf-configuration": { - "config-type": "juju", - "initial-config-primitive": [ - { - "parameter": [ - { - "value": "", - "name": "proxied_ip" - } - ], - "seq": 1, - "name": "config" - } - ], - "juju": { - "charm": "clearwater-aio-proxy" - }, - "config-primitive": [ - { - "parameter": [ - { - "data-type": "string", - "name": "base_number" - }, - { - "data-type": "string", - "name": "home_domain" - }, - { - "data-type": "integer", - "name": "number_count" - }, - { - "data-type": "string", - "name": "password" - } - ], - "name": "config" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "number", - "mandatory": "true" - }, - { - "data-type": "string", - "name": "password", - "mandatory": "true" - } - ], - "name": "create-update-user" - }, - { - "parameter": [ - { - "data-type": "string", - "name": "number", - "mandatory": "true" - } - ], - "name": "delete-user" - } - ], - "input-params": { - "config-priority": 1, - "config-delay": 0 - } - }, - "vnfd-id-ref": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "member-vnf-index": 1 - } - ], - "meta": "{\"instance-ref-count\": 5}" - }, - { - "id": "9d887e58-d50f-11e5-80c8-6cb3113b406f", - "config-primitive": [ - { - "user-defined-script": "/home/rift/.install/usr/bin/add_corporation.py", - "parameter": [ - { - "data-type": "string", - "name": "Corporation Name", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 1, - "name": "Tunnel Key", - "mandatory": "true" - } - ], - "name": "Add Corporation", - "parameter-group": [ - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.1.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.1.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth3", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 101, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE1", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.2.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.2.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth3", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 102, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE2", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.4.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.4.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth4", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 108, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE3", - "mandatory": "false" - } - ] - }, - { - "user-defined-script": "/home/rift/.install/usr/bin/add_corporation.py", - "parameter": [ - { - "data-type": "string", - "name": "Corporation Name", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 10, - "name": "Tunnel Key", - "mandatory": "true" - } - ], - "name": "Add SP Test Corporation", - "parameter-group": [ - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.1.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.1.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth3", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 3000, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE1", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.2.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.2.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth3", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 3000, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE2", - "mandatory": "false" - }, - { - "parameter": [ - { - "data-type": "string", - "default-value": "10.0.3.1", - "name": "Corp. Gateway", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.0.3.0/24", - "name": "Corp. Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "eth3", - "name": "Interface Name", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": "10.255.255.0/24", - "name": "Local Network", - "mandatory": "true" - }, - { - "data-type": "string", - "default-value": 0, - "name": "Local Network Area", - "mandatory": "true" - }, - { - "data-type": "integer", - "default-value": 3000, - "name": "Vlan ID", - "mandatory": "true" - } - ], - "name": "PE3", - "mandatory": "false" - } - ] - } - ], - "description": "6wind turborouter only", - "vendor": "6Wind", - "name": "tr_juju_nsd", - "version": 1, - "short-name": "tr_juju_nsd", - "vld": [ - { - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b14795b0-d34c-11e5-8e51-6cb3113b406f", - "vnfd-connection-point-ref": "turborouter_vnfd/cp0" - } - ], - "id": "9d8a7b4a-d50f-11e5-80c8-6cb3113b406f", - "description": "Link from TR to ELAN", - "vendor": "RIFT.io", - "name": "Link1", - "version": 1, - "short-name": "Link1", - "type": "ELAN" - } - ], - "constituent-vnfd": [ - { - "vnf-configuration": { - "config-type": "juju", - "initial-config-primitive": [ - { - "parameter": [ - { - "value": "6windos", - "name": "pass" - }, - { - "value": "root", - "name": "user" - }, - { - "value": "", - "name": "vpe-router" - } - ], - "seq": 1, - "name": "config" - }, - { - "parameter": [ - { - "value": "10.10.10.2/30", - "name": "cidr" - }, - { - "value": "eth1", - "name": "iface-name" - } - ], - "seq": 2, - "name": "configure-interface" - } - ], - "juju": { - "charm": "vpe-router" - }, - "input-params": { - "config-priority": 0, - "config-delay": 0 - } - }, - "vnfd-id-ref": "b14795b0-d34c-11e5-8e51-6cb3113b406f", - "member-vnf-index": 1 - } - ], - "meta": { - "instance-ref-count": 4 - } - }, - { - "id": "b53910e0-d34c-11e5-b34f-6cb3113b406f", - "description": "NS Vrouter-only", - "vendor": "RIFT.io", - "name": "vrouter_nsd", - "version": 1, - "short-name": "vrouter_nsd", - "vld": [ - { - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b3ebcd0e-d34c-11e5-b72f-6cb3113b406f", - "vnfd-connection-point-ref": "vrouter_vnfd/cp0" - } - ], - "id": "b5505bb0-d34c-11e5-b34f-6cb3113b406f", - "description": "Link from Vrouter to ELAN", - "vendor": "RIFT.io", - "name": "Link1", - "version": 1, - "short-name": "Link1", - "type": "ELAN" - }, - { - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "b3ebcd0e-d34c-11e5-b72f-6cb3113b406f", - "vnfd-connection-point-ref": "vrouter_vnfd/cp1" - } - ], - "id": "b5508324-d34c-11e5-b34f-6cb3113b406f", - "description": "Link from Vrouter to ELAN", - "vendor": "RIFT.io", - "name": "Link2", - "version": 1, - "short-name": "Link2", - "type": "ELAN" - } - ], - "constituent-vnfd": [ - { - "vnfd-id-ref": "b3ebcd0e-d34c-11e5-b72f-6cb3113b406f", - "member-vnf-index": 1 - } - ] - } - ] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "meta": { - "icon-svg": "data:image/svg+xml, " - }, - "descriptors": [ - { - "id": "b14795b0-d34c-11e5-8e51-6cb3113b406f", - "description": "This is a 6Wind TurboRouter VNF", - "vendor": "6Wind", - "name": "turborouter_vnfd", - "version": 1, - "short-name": "turborouter_vnfd", - "vdu": [ - { - "id": "b1481ec2-d34c-11e5-8e51-6cb3113b406f", - "count": 1, - "name": "iovdu", - "vm-flavor": { - "memory-mb": 4096, - "vcpu-count": 2, - "storage-gb": 40 - }, - "image": "turbo-router-riftio-5.img.qcow2", - "external-interface": [ - { - "vnfd-connection-point-ref": "turborouter_vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth1" - }, - { - "vnfd-connection-point-ref": "turborouter_vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth2" - } - ], - "cloud-init": "#cloud-config\n" - } - ], - "mgmt-interface": { - "vdu-id": "b1481ec2-d34c-11e5-8e51-6cb3113b406f", - "port": 80 - }, - "connection-point": [ - { - "type": "VPORT", - "name": "turborouter_vnfd/cp0" - }, - { - "type": "VPORT", - "name": "turborouter_vnfd/cp1" - } - ], - "monitoring-param": [ - { - "id": 1, - "units": "KB", - "description": "Memory usage of turborouter", - "name": "Total memory", - "group-tag": "Group1", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/info", - "value-type": "INT", - "json-query-method": "JSONPATH", - "json-query-params": { - "json-path": "$.system.mem_total" - } - } - ], - "http-endpoint": [ - { - "username": "root", - "polling_interval_secs": 3, - "password": "6windos", - "path": "rest/info", - "port": 80 - } - ] - }, - { - "id": "b152c2e6-d34c-11e5-8463-6cb3113b406f", - "description": "This is a Clearwater IMS VNF", - "vendor": "Clearwater", - "name": "cwims_vnfd", - "version": 1, - "short-name": "cwims_vnfd", - "vdu": [ - { - "id": "b1530f76-d34c-11e5-8463-6cb3113b406f", - "count": 1, - "name": "iovdu", - "vm-flavor": { - "memory-mb": 4096, - "vcpu-count": 2, - "storage-gb": 40 - }, - "image": "cw-aio.qcow2", - "external-interface": [ - { - "vnfd-connection-point-ref": "cwims_vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth1" - } - ], - "cloud-init": "#cloud-config\n" - } - ], - "mgmt-interface": { - "vdu-id": "b1530f76-d34c-11e5-8463-6cb3113b406f", - "dashboard-params": { - "path": "/", - "port": 80 - }, - "port": 80 - }, - "connection-point": [ - { - "type": "VPORT", - "name": "cwims_vnfd/cp0" - } - ], - "http-endpoint": [ - { - "username": "vyatta", - "password": "vyatta", - "path": "rest/app/gui/dashboard/sysinfo", - "polling_interval_secs": 2 - } - ] - }, - { - "id": "b3ebcd0e-d34c-11e5-b72f-6cb3113b406f", - "description": "This is a Brocade vRouter VNF", - "vendor": "Brocade", - "name": "vrouter_vnfd", - "version": 1, - "short-name": "vrouter_vnfd", - "vdu": [ - { - "id": "b3ecbd5e-d34c-11e5-b72f-6cb3113b406f", - "count": 1, - "name": "iovdu", - "vm-flavor": { - "memory-mb": 8192, - "vcpu-count": 4, - "storage-gb": 40 - }, - "image": "vyatta-7.qcow2", - "external-interface": [ - { - "vnfd-connection-point-ref": "vrouter_vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0" - }, - { - "vnfd-connection-point-ref": "vrouter_vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth1" - } - ], - "cloud-init": "#cloud-config\n" - } - ], - "mgmt-interface": { - "vdu-id": "b3ecbd5e-d34c-11e5-b72f-6cb3113b406f", - "dashboard-params": { - "path": "/", - "port": 80 - }, - "port": 80 - }, - "connection-point": [ - { - "type": "VPORT", - "name": "vrouter_vnfd/cp0" - }, - { - "type": "VPORT", - "name": "vrouter_vnfd/cp1" - } - ], - "monitoring-param": [ - { - "id": 1, - "units": "KB", - "description": "Memory usage of vrouter", - "name": "Total memory", - "group-tag": "Group1", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "value-type": "INT", - "json-query-method": "JSONPATH", - "json-query-params": { - "json-path": "$.system.mem_total" - } - }, - { - "id": 2, - "units": "%", - "description": "Memory utilization of vrouter", - "name": "Memory utilization", - "numeric-constraints": { - "max-value": 100, - "min-value": 0 - }, - "group-tag": "Group1", - "widget-type": "GAUGE", - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "value-type": "DECIMAL", - "json-query-method": "JSONPATH", - "json-query-params": { - "json-path": "$.system.mem" - } - }, - { - "id": 3, - "units": "%", - "description": "CPU utilization (all) of vrouter", - "name": "CPU utilization", - "numeric-constraints": { - "max-value": 100, - "min-value": 0 - }, - "group-tag": "Group1", - "widget-type": "GAUGE", - "http-endpoint-ref": "rest/app/gui/dashboard/sysinfo", - "value-type": "DECIMAL", - "json-query-method": "JSONPATH", - "json-query-params": { - "json-path": "$.system.cpu[0].usage" - } - }, - { - "id": 4, - "units": "bytes", - "description": "Incoming bytes at interface", - "name": "Interface[dp0s4] Rx", - "group-tag": "Group2", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "value-type": "INT", - "json-query-method": "OBJECTPATH", - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s4']['in']" - } - }, - { - "id": 5, - "units": "bytes", - "description": "Outgoing bytes at interface", - "name": "Interface[dp0s4] Tx", - "group-tag": "Group2", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "value-type": "INT", - "json-query-method": "OBJECTPATH", - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s4']['out']" - } - }, - { - "id": 6, - "units": "bytes", - "description": "Incoming bytes at interface", - "name": "Interface[dp0s5] Rx", - "group-tag": "Group3", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "value-type": "INT", - "json-query-method": "OBJECTPATH", - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s5']['in']" - } - }, - { - "id": 7, - "units": "bytes", - "description": "Outgoing bytes at interface", - "name": "Interface[dp0s5] Tx", - "group-tag": "Group3", - "widget-type": "COUNTER", - "http-endpoint-ref": "rest/app/gui/dashboard/interfaces", - "value-type": "INT", - "json-query-method": "OBJECTPATH", - "json-query-params": { - "object-path": "$..interfaces[@.name is 'dp0s5']['out']" - } - } - ], - "http-endpoint": [ - { - "username": "vyatta", - "polling_interval_secs": 3, - "password": "vyatta", - "path": "rest/app/gui/dashboard/interfaces", - "port": 80 - }, - { - "username": "vyatta", - "polling_interval_secs": 3, - "password": "vyatta", - "path": "rest/app/gui/dashboard/sysinfo", - "port": 80 - } - ] - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "meta": { - "icon-svg": "data:image/svg+xml, " - }, - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/assets/ping-pong-catalog.json b/modules/ui/composer/webapp/src/assets/ping-pong-catalog.json deleted file mode 100644 index 7ae2e35..0000000 --- a/modules/ui/composer/webapp/src/assets/ping-pong-catalog.json +++ /dev/null @@ -1,767 +0,0 @@ -[ - { - "id": "GUID-1", - "name": "RIFT.ware™ NS Descriptors Catalog", - "short-name": "rift.ware-nsd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "nsd", - "descriptors": [ - { - "id": "ba1dfbcc-626b-11e5-998d-6cb3113b406f", - "name": "ping-pong-nsd", - "short-name": "ping-pong-nsd", - "vendor": "RIFT.io", - "description": "Toy NS", - "version": "1.0", - "logo": "data:image/png;base64,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", - "connection-point": [ - { - "name": "ping-pong-nsd/cp0" - }, - { - "name": "ping-pong-nsd/cp1" - } - ], - "vld": [ - { - "id": "ba1c03a8-626b-11e5-998d-6cb3113b406f", - "name": "ping-pong-vld", - "short-name": "ping-pong-vld", - "vendor": "RIFT.io", - "description": "Toy VL", - "version": "1.0", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "ping-vnfd/cp1" - }, - { - "member-vnf-index-ref": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "pong-vnfd/cp1" - } - ], - "provider-network": { - "name": "physnet1", - "overlay-type": "VLAN" - } - } - ], - "constituent-vnfd": [ - { - "member-vnf-index": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f" - }, - { - "member-vnf-index": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f" - } - ], - "vnffgd": [ - { - "id": "e733efb1-6d52-4d97-839e-90c063239d6a", - "name": "vnffgd-2", - "short-name": "FG-1", - "vendor": "", - "description": "", - "version": "", - "rsp": [ - { - "id": "d671ee1d-0076-40a4-b83d-ef5abf000322", - "name": "rsp-1" - } - ], - "classifier": [ - { - "id": "387b9233-7fc3-4e69-9172-597d630a7345", - "name": "classifier-2", - "rsp-id-ref": "d671ee1d-0076-40a4-b83d-ef5abf000322", - "member-vnf-index-ref": "", - "vnfd-id-ref": "", - "vnfd-connection-point-ref": "", - "match-attributes": [ - { - "id": "5d8ed8f9-f6b7-4edb-938a-7b14748c3e52", - "ip-proto": "111", - "source-ip-address": "222", - "destination-ip-address": "333", - "source-port": "444", - "destination-port": "555" - } - ] - } - ] - } - ] - }, - { - "id": "test1-626b-11e5-998d-6cb3113b406f", - "name": "TEST ping-pong-nsd", - "short-name": "test-ping-pong-nsd", - "vendor": "RIFT.io", - "description": "TEST NS", - "version": "1.0", - "meta": "{\"instance-ref-count\": 4}", - "connection-point": [ - { - "name": "ping-pong-nsd/cp0" - }, - { - "name": "ping-pong-nsd/cp1" - } - ], - "vld": [ - { - "id": "test1-ba1c03a8-626b-11e5-998d-6cb3113b406f", - "name": "test1-ping-pong-vld", - "short-name": "test1-ping-pong-vld", - "vendor": "RIFT.io", - "description": "test1 VL", - "version": "1.0", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "ping-vnfd/cp1" - }, - { - "member-vnf-index-ref": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "pong-vnfd/cp1" - } - ], - "provider-network": { - "name": "physnet1", - "overlay-type": "VLAN" - } - } - ], - "constituent-vnfd": [ - { - "member-vnf-index": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f" - }, - { - "member-vnf-index": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f" - } - ] - } - ] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "descriptors": [ - { - "id": "ba145e82-626b-11e5-998d-6cb3113b406f", - "name": "ping-vnfd", - "short-name": "ping-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "logo": "data:image/png;base64,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", - "internal-vld": [ - { - "id": "ba1478fe-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN" - } - ], - "connection-point": [ - { - "name": "ping-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "ping-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "ba14a504-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba153744-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba15577e-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba153744-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba15577e-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "ping-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "ping-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - }, - { - "id": "ba1947da-626b-11e5-998d-6cb3113b406f", - "name": "pong-vnfd", - "short-name": "pong-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "logo": "data:image/png;base64,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", - "internal-vld": [ - { - "id": "ba195068-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN", - "internal-connection-point-ref": [ - "ba197a98-626b-11e5-998d-6cb3113b406f", - "ba198696-626b-11e5-998d-6cb3113b406f" - ] - } - ], - "connection-point": [ - { - "name": "pong-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "pong-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "1-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba197a98-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba198696-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba197a98-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba198696-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "pong-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "pong-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - }, - { - "id": "2-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "21-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "22-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "21-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "22-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "pong-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "pong-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - }, - { - "id": "c55e8e6d-ed13-465f-809d-838878c70d1d", - "name": "vnfd-2", - "short-name": "SF Aware", - "vendor": "", - "logo": "", - "description": "A simple VNF descriptor w/ one VDU", - "version": "0.1.0", - "service-function-chain": "SF", - "service-function-type": "", - "meta": "{\"containerPositionMap\":{}}", - "mgmt-interface": { - "port": "", - "dashboard-params": { - "path": "", - "https": "", - "port": "" - } - }, - "connection-point": [ - { - "name": "ping-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "ping-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "7ea4bb66-82ff-453c-a0db-96099a797d25", - "name": "vdu-2", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "009a6284-523b-4630-a050-dcf4937c0658", - "type": "VPORT" - }, - { - "id": "99d5fd31-de1f-457d-ac39-80dfb4c33b2f", - "type": "VPORT" - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "ping-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "ping-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - }, - { - "id": "776c0ec7-ce00-465d-a837-667975353183", - "name": "vnfd-3", - "short-name": "Classifier", - "vendor": "", - "logo": "", - "description": "A simple VNF descriptor w/ one VDU", - "version": "0.1.0", - "service-function-chain": "CLASSIFIER", - "service-function-type": "", - "meta": "{\"containerPositionMap\":{}}", - "mgmt-interface": { - "port": "", - "dashboard-params": { - "path": "", - "https": "", - "port": "" - } - }, - "connection-point": [ - { - "name": "ping-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "ping-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "7f9d96e7-37b5-46d2-91b1-8d670db72d0b", - "name": "vdu-3", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "38ef6b13-f4cc-4153-a662-dc7b804ef202", - "type": "VPORT" - }, - { - "id": "5c07545e-94d0-4551-a704-a8e47ab28fa5", - "type": "VPORT" - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "ping-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "ping-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/assets/ping-vrouter-pong-catalog.json b/modules/ui/composer/webapp/src/assets/ping-vrouter-pong-catalog.json deleted file mode 100644 index 136a571..0000000 --- a/modules/ui/composer/webapp/src/assets/ping-vrouter-pong-catalog.json +++ /dev/null @@ -1,504 +0,0 @@ -[ - { - "id": "GUID-1", - "name": "RIFT.ware™ NS Descriptors Catalog", - "short-name": "rift.ware-nsd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "nsd", - "descriptors": [ - { - "description": "Toy NS Ping-Vrouter-Pong", - "constituent-vnfd": [ - { - "member-vnf-index": 1, - "vnfd-id-ref": "7cae6ff6-9263-11e5-b7df-001b21b98a89" - }, - { - "member-vnf-index": 2, - "vnfd-id-ref": "a4dea522-9263-11e5-ad06-001b21b98a89" - }, - { - "member-vnf-index": 3, - "vnfd-id-ref": "7cb0375a-9263-11e5-b7df-001b21b98a89" - } - ], - "version": 1, - "vld": [ - { - "description": "Link from ping to vrouter", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "ping_vnfd/cp0", - "vnfd-id-ref": "7cae6ff6-9263-11e5-b7df-001b21b98a89" - }, - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "vrouter_vnfd/cp0", - "vnfd-id-ref": "a4dea522-9263-11e5-ad06-001b21b98a89" - } - ], - "version": 1, - "vendor": "RIFT.io", - "name": "Link1", - "short-name": "Link1", - "id": "23afa0c8-92d1-11e5-9a9f-001b21b98a89" - }, - { - "description": "Link from vrouter to pong", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "vrouter_vnfd/cp1", - "vnfd-id-ref": "a4dea522-9263-11e5-ad06-001b21b98a89" - }, - { - "member-vnf-index-ref": 3, - "vnfd-connection-point-ref": "pong_vnfd/cp0", - "vnfd-id-ref": "7cb0375a-9263-11e5-b7df-001b21b98a89" - } - ], - "version": 1, - "vendor": "RIFT.io", - "name": "Link2", - "short-name": "Link2", - "id": "23afe542-92d1-11e5-9a9f-001b21b98a89" - } - ], - "vendor": "RIFT.io", - "name": "ping_vrouter_pong_nsd", - "short-name": "ping_vrouter_pong_nsd", - "id": "23a28e4c-92d1-11e5-9a9f-001b21b98a89" - } - ] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "descriptors": [ - { - "vdu": [ - { - "image": "Fedora-x86_64-20-20131211.1-sda-ping.qcow2", - "host-epa": { - "cpu-socket-count": "PREFER_TWO", - "cpu-vendor": "PREFER_INTEL", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ], - "cpu-arch": "PREFER_X86_64", - "cpu-model": "PREFER_SANDYBRIDGE" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "external-interface": [ - { - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0", - "vnfd-connection-point-ref": "ping_vnfd/cp0" - } - ], - "count": 2, - "internal-interface": [ - { - "vdu-internal-connection-point-ref": "7cafe53e-9263-11e5-b7df-001b21b98a89", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0" - } - ], - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, ping.service ]\n - [ systemctl, start, --no-block, ping.service ]\n - [ ifup, eth1 ]\n - [ ifup, eth2 ]\n", - "internal-connection-point": [ - { - "type": "VPORT", - "id": "7cafe53e-9263-11e5-b7df-001b21b98a89" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "vcpu-count": 2, - "storage-gb": 40 - }, - "guest-epa": { - "mempage-size": "PREFER_LARGE", - "cpu-thread-pinning-policy": "AVOID", - "trusted-execution": "true", - "numa-node-policy": { - "node": [ - { - "vcpu": [ - 0, - 1 - ], - "memory-mb": 8192, - "id": 0 - }, - { - "vcpu": [ - 2, - 3 - ], - "memory-mb": 8192, - "id": 1 - } - ], - "node-cnt": 2, - "mem-policy": "PREFERRED" - }, - "cpu-pinning-policy": "DEDICATED" - }, - "name": "iovdu", - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "id": "7caf476e-9263-11e5-b7df-001b21b98a89" - } - ], - "description": "This is an example RIFT.ware VNF", - "connection-point": [ - { - "type": "VPORT", - "name": "ping_vnfd/cp0" - } - ], - "monitoring-param": [ - { - "units": "packets", - "description": "no of ping requests", - "current-value": 0, - "min-value": 0, - "path": "api/v1/ping/stats", - "id": 1, - "widget-type": "COUNTER", - "name": "ping-request-tx-count", - "max-value": 4292967295, - "group-tag": "Group1" - }, - { - "units": "packets", - "description": "no of ping responses", - "current-value": 0, - "min-value": 0, - "path": "api/v1/ping/stats", - "id": 2, - "widget-type": "COUNTER", - "name": "ping-response-rx-count", - "max-value": 4292967295, - "group-tag": "Group1" - } - ], - "mgmt-interface": { - "vdu-id": "7caf476e-9263-11e5-b7df-001b21b98a89", - "port": 18888 - }, - "version": 1, - "internal-vld": [ - { - "description": "Virtual link for internal fabric", - "type": "ELAN", - "internal-connection-point-ref": [ - "7cafe53e-9263-11e5-b7df-001b21b98a89" - ], - "name": "fabric", - "short-name": "fabric", - "id": "7caead0e-9263-11e5-b7df-001b21b98a89" - } - ], - "vendor": "RIFT.io", - "name": "ping_vnfd", - "short-name": "ping_vnfd", - "id": "7cae6ff6-9263-11e5-b7df-001b21b98a89" - }, - { - "vdu": [ - { - "image": "Fedora-x86_64-20-20131211.1-sda-pong.qcow2", - "host-epa": { - "cpu-socket-count": "PREFER_TWO", - "cpu-vendor": "PREFER_INTEL", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ], - "cpu-arch": "PREFER_X86_64", - "cpu-model": "PREFER_SANDYBRIDGE" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "external-interface": [ - { - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0", - "vnfd-connection-point-ref": "pong_vnfd/cp0" - } - ], - "count": 2, - "internal-interface": [ - { - "vdu-internal-connection-point-ref": "7cb0ab18-9263-11e5-b7df-001b21b98a89", - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0" - } - ], - "cloud-init": "#cloud-config\npassword: fedora\nchpasswd: { expire: False }\nssh_pwauth: True\nruncmd:\n - [ systemctl, daemon-reload ]\n - [ systemctl, enable, pong.service ]\n - [ systemctl, start, --no-block, pong.service ]\n - [ ifup, eth1 ]\n - [ ifup, eth2 ]\n", - "internal-connection-point": [ - { - "type": "VPORT", - "id": "7cb0ab18-9263-11e5-b7df-001b21b98a89" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "vcpu-count": 2, - "storage-gb": 40 - }, - "guest-epa": { - "mempage-size": "PREFER_LARGE", - "cpu-thread-pinning-policy": "AVOID", - "trusted-execution": "true", - "numa-node-policy": { - "node": [ - { - "vcpu": [ - 0, - 1 - ], - "memory-mb": 8192, - "id": 0 - }, - { - "vcpu": [ - 2, - 3 - ], - "memory-mb": 8192, - "id": 1 - } - ], - "node-cnt": 2, - "mem-policy": "PREFERRED" - }, - "cpu-pinning-policy": "DEDICATED" - }, - "name": "iovdu", - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "id": "7cb0832c-9263-11e5-b7df-001b21b98a89" - } - ], - "description": "This is an example RIFT.ware VNF", - "connection-point": [ - { - "type": "VPORT", - "name": "pong_vnfd/cp0" - } - ], - "monitoring-param": [ - { - "units": "packets", - "description": "no of ping requests", - "current-value": 0, - "min-value": 0, - "path": "api/v1/pong/stats", - "id": 1, - "widget-type": "COUNTER", - "name": "ping-request-rx-count", - "max-value": 4292967295, - "group-tag": "Group1" - }, - { - "units": "packets", - "description": "no of ping responses", - "current-value": 0, - "min-value": 0, - "path": "api/v1/pong/stats", - "id": 2, - "widget-type": "COUNTER", - "name": "ping-response-tx-count", - "max-value": 4292967295, - "group-tag": "Group1" - } - ], - "mgmt-interface": { - "vdu-id": "7cb0832c-9263-11e5-b7df-001b21b98a89", - "port": 18889 - }, - "version": 1, - "internal-vld": [ - { - "description": "Virtual link for internal fabric", - "type": "ELAN", - "internal-connection-point-ref": [ - "7cb0ab18-9263-11e5-b7df-001b21b98a89" - ], - "name": "fabric", - "short-name": "fabric", - "id": "7cb048bc-9263-11e5-b7df-001b21b98a89" - } - ], - "vendor": "RIFT.io", - "name": "pong_vnfd", - "short-name": "pong_vnfd", - "id": "7cb0375a-9263-11e5-b7df-001b21b98a89" - }, - { - "vdu": [ - { - "image": "vyatta_snp.qcow2", - "host-epa": { - "cpu-socket-count": "PREFER_TWO", - "cpu-vendor": "PREFER_INTEL", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ], - "cpu-arch": "PREFER_X86_64", - "cpu-model": "PREFER_SANDYBRIDGE" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "cloud-init": "#cloud-config\n", - "external-interface": [ - { - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth0", - "vnfd-connection-point-ref": "vrouter_vnfd/cp0" - }, - { - "virtual-interface": { - "type": "VIRTIO" - }, - "name": "eth1", - "vnfd-connection-point-ref": "vrouter_vnfd/cp1" - } - ], - "vm-flavor": { - "memory-mb": 4096, - "vcpu-count": 2, - "storage-gb": 40 - }, - "guest-epa": { - "mempage-size": "PREFER_LARGE", - "cpu-thread-pinning-policy": "AVOID", - "trusted-execution": "true", - "numa-node-policy": { - "node": [ - { - "vcpu": [ - 0, - 1 - ], - "memory-mb": 8192, - "id": 0 - }, - { - "vcpu": [ - 2, - 3 - ], - "memory-mb": 8192, - "id": 1 - } - ], - "node-cnt": 2, - "mem-policy": "PREFERRED" - }, - "cpu-pinning-policy": "DEDICATED" - }, - "name": "iovdu", - "count": 2, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "id": "a4df6142-9263-11e5-ad06-001b21b98a89" - } - ], - "description": "This is a Brocade vRouter VNF", - "connection-point": [ - { - "type": "VPORT", - "name": "vrouter_vnfd/cp0" - }, - { - "type": "VPORT", - "name": "vrouter_vnfd/cp1" - } - ], - "monitoring-param": [ - { - "units": "packets", - "description": "no of tx pkts", - "current-value": 0, - "min-value": 0, - "path": "api/v1/ping/stats", - "id": 1, - "widget-type": "COUNTER", - "name": "tx-count", - "max-value": 4292967295, - "group-tag": "Group1" - }, - { - "units": "packets", - "description": "no of rx packets", - "current-value": 0, - "min-value": 0, - "path": "api/v1/ping/stats", - "id": 2, - "widget-type": "COUNTER", - "name": "rx-count", - "max-value": 4292967295, - "group-tag": "Group1" - } - ], - "mgmt-interface": { - "vdu-id": "a4df6142-9263-11e5-ad06-001b21b98a89", - "port": 18888 - }, - "version": 1, - "vendor": "Brocade", - "name": "vrouter_vnfd", - "short-name": "vrouter_vnfd", - "id": "a4dea522-9263-11e5-ad06-001b21b98a89" - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/images/default-catalog-icon.svg b/modules/ui/composer/webapp/src/images/default-catalog-icon.svg index ef6efc7..80fb5ef 100644 --- a/modules/ui/composer/webapp/src/images/default-catalog-icon.svg +++ b/modules/ui/composer/webapp/src/images/default-catalog-icon.svg @@ -1 +1,16 @@ + \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/images/default-icon-white.svg b/modules/ui/composer/webapp/src/images/default-icon-white.svg index 810a224..c8b5bca 100644 --- a/modules/ui/composer/webapp/src/images/default-icon-white.svg +++ b/modules/ui/composer/webapp/src/images/default-icon-white.svg @@ -1 +1,16 @@ + default default \ No newline at end of file diff --git a/modules/ui/composer/webapp/src/images/default-icon.svg b/modules/ui/composer/webapp/src/images/default-icon.svg index f184fe9..1b28cd6 100644 --- a/modules/ui/composer/webapp/src/images/default-icon.svg +++ b/modules/ui/composer/webapp/src/images/default-icon.svg @@ -1 +1,16 @@ + default default \ No newline at end of file diff --git a/modules/ui/composer/webapp/test/helpers/test-clean-input-output-model.json b/modules/ui/composer/webapp/test/helpers/test-clean-input-output-model.json deleted file mode 100644 index 2868f91..0000000 --- a/modules/ui/composer/webapp/test/helpers/test-clean-input-output-model.json +++ /dev/null @@ -1,583 +0,0 @@ -[ - { - "id": "GUID-1", - "name": "RIFT.ware™ NS Descriptors Catalog", - "short-name": "rift.ware-nsd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "nsd", - "descriptors": [ - { - "id": "ba1dfbcc-626b-11e5-998d-6cb3113b406f", - "name": "ping-pong-nsd", - "short-name": "ping-pong-nsd", - "vendor": "RIFT.io", - "logo": "rift.png", - "description": "Toy NS", - "version": "1.0", - "connection-point": [ - { - "name": "ping-pong-nsd/cp0" - }, - { - "name": "ping-pong-nsd/cp1" - } - ], - "vld": [ - { - "id": "ba1c03a8-626b-11e5-998d-6cb3113b406f", - "name": "ping-pong-vld", - "short-name": "ping-pong-vld", - "vendor": "RIFT.io", - "description": "Toy VL", - "version": "1.0", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "ping-vnfd/cp1" - }, - { - "member-vnf-index-ref": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "pong-vnfd/cp1" - } - ], - "provider-network": { - "name": "physnet1", - "overlay-type": "VLAN" - } - } - ], - "constituent-vnfd": [ - { - "member-vnf-index": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f" - }, - { - "member-vnf-index": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f" - } - ], - "vnffgd": [{ - "id": "1d6382bb-52fa-43b6-9489-d764a0a27da9", - "name": "vnffgd-5", - "short-name": "FG-1", - "vendor": "", - "description": "", - "version": "", - "rsp": [ - { - "id": "a10b372d-19a1-4d84-a246-82bfceddae12", - "name": "rsp-6", - "vnfd-connection-point-ref": [ - { - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f", - "member-vnf-index-ref": 1, - "vnfd-connection-point-ref": "ping-vnfd/cp1" - }, - { - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f", - "member-vnf-index-ref": 2, - "vnfd-connection-point-ref": "pong-vnfd/cp0" - } - ] - } - ], - "classifier": [ - { - "id": "1-a5b8-45b5-8163-f2577555d561", - "name": "classifier-1", - "rsp-id-ref": "a10b372d-19a1-4d84-a246-82bfceddae12", - "match-attributes": [{ - "id": "1", - "ip-proto": "123.0.0.1", - "source-ip-address": "10.4.0.1", - "destination-ip-address": "10.4.0.2", - "source-port": "1234", - "destination-port": "4321" - }] - }, - { - "id": "2-a5b8-45b5-8163-f2577555d561", - "name": "classifier-2", - "rsp-id-ref": "a10b372d-19a1-4d84-a246-82bfceddae12", - "match-attributes": [{ - "id": "1", - "ip-proto": "123.0.0.1", - "source-ip-address": "10.4.0.1", - "destination-ip-address": "10.4.0.2", - "source-port": "1234", - "destination-port": "4321" - }] - }, - { - "id": "3-a5b8-45b5-8163-f2577555d561", - "name": "classifier-3", - "rsp-id-ref": "a10b372d-19a1-4d84-a246-82bfceddae12", - "match-attributes": [{ - "id": "1", - "ip-proto": "123.0.0.1", - "source-ip-address": "10.4.0.1", - "destination-ip-address": "10.4.0.2", - "source-port": "1234", - "destination-port": "4321" - }] - }, - { - "id": "4-a5b8-45b5-8163-f2577555d561", - "name": "classifier-4", - "rsp-id-ref": "a10b372d-19a1-4d84-a246-82bfceddae12", - "match-attributes": [{ - "id": "1", - "ip-proto": "123.0.0.1", - "source-ip-address": "10.4.0.1", - "destination-ip-address": "10.4.0.2", - "source-port": "1234", - "destination-port": "4321" - }] - } - - ] - }] - }, - { - "id": "test1-626b-11e5-998d-6cb3113b406f", - "name": "TEST ping-pong-nsd", - "short-name": "test-ping-pong-nsd", - "vendor": "RIFT.io", - "description": "TEST NS", - "version": "1.0", - "connection-point": [ - { - "name": "ping-pong-nsd/cp0" - }, - { - "name": "ping-pong-nsd/cp1" - } - ], - "vld": [ - { - "id": "test1-ba1c03a8-626b-11e5-998d-6cb3113b406f", - "name": "test1-ping-pong-vld", - "short-name": "test1-ping-pong-vld", - "vendor": "RIFT.io", - "description": "test1 VL", - "version": "1.0", - "type": "ELAN", - "vnfd-connection-point-ref": [ - { - "member-vnf-index-ref": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "ping-vnfd/cp1" - }, - { - "member-vnf-index-ref": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f", - "vnfd-connection-point-ref": "pong-vnfd/cp1" - } - ], - "provider-network": { - "name": "physnet1", - "overlay-type": "VLAN" - } - } - ], - "constituent-vnfd": [ - { - "member-vnf-index": 1, - "vnfd-id-ref": "ba145e82-626b-11e5-998d-6cb3113b406f" - }, - { - "member-vnf-index": 2, - "vnfd-id-ref": "ba1947da-626b-11e5-998d-6cb3113b406f" - } - ] - } - ] - }, - { - "id": "GUID-2", - "name": "RIFT.ware™ VNF Descriptors Catalog", - "short-name": "rift.ware-vnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "vnfd", - "descriptors": [ - { - "id": "ba145e82-626b-11e5-998d-6cb3113b406f", - "name": "ping-vnfd", - "short-name": "ping-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "logo": "data:image/png", - "internal-vld": [ - { - "id": "ba1478fe-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN" - } - ], - "connection-point": [ - { - "name": "ping-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "ping-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "ba14a504-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba153744-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba15577e-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba153744-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba15577e-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "ping-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "ping-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - }, - { - "id": "ba1947da-626b-11e5-998d-6cb3113b406f", - "name": "pong-vnfd", - "short-name": "pong-vnfd", - "vendor": "RIFT.io", - "description": "This is an example RIFT.ware VNF", - "version": "1.0", - "logo": "", - "internal-vld": [ - { - "id": "ba195068-626b-11e5-998d-6cb3113b406f", - "name": "fabric", - "short-name": "fabric", - "description": "Virtual link for internal fabric", - "type": "ELAN", - "internal-connection-point-ref": [ - "ba197a98-626b-11e5-998d-6cb3113b406f", - "ba198696-626b-11e5-998d-6cb3113b406f" - ] - } - ], - "connection-point": [ - { - "name": "pong-vnfd/cp0", - "type": "VPORT" - }, - { - "name": "pong-vnfd/cp1", - "type": "VPORT" - } - ], - "vdu": [ - { - "id": "1-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "ba197a98-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "ba198696-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "ba197a98-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "ba198696-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "pong-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "pong-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - }, - { - "id": "2-626b-11e5-998d-6cb3113b406f", - "name": "iovdu", - "count": 2, - "vm-flavor": { - "vcpu-count": 4, - "memory-mb": 16384, - "storage-gb": 16 - }, - "guest-epa": { - "trusted-execution": true, - "mempage-size": "PREFER_LARGE", - "cpu-pinning-policy": "DEDICATED", - "cpu-thread-pinning-policy": "AVOID", - "numa-node-policy": { - "node-cnt": 2, - "mem-policy": "PREFERRED", - "node": [ - { - "id": 0, - "vcpu": [ - "0", - "1" - ], - "memory-mb": 8192 - }, - { - "id": 1, - "vcpu": [ - "2", - "3" - ], - "memory-mb": 8192 - } - ] - } - }, - "vswitch-epa": { - "ovs-acceleration": "DISABLED", - "ovs-offload": "DISABLED" - }, - "hypervisor-epa": { - "type": "PREFER_KVM" - }, - "host-epa": { - "cpu-model": "PREFER_SANDYBRIDGE", - "cpu-arch": "PREFER_X86_64", - "cpu-vendor": "PREFER_INTEL", - "cpu-socket-count": "PREFER_TWO", - "cpu-feature": [ - "PREFER_AES", - "PREFER_CAT" - ] - }, - "image": "rw_openstack.qcow2", - "internal-connection-point": [ - { - "id": "21-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - }, - { - "id": "22-626b-11e5-998d-6cb3113b406f", - "type": "VPORT" - } - ], - "internal-interface": [ - { - "name": "eth0", - "vdu-internal-connection-point-ref": "21-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vdu-internal-connection-point-ref": "22-626b-11e5-998d-6cb3113b406f", - "virtual-interface": { - "type": "VIRTIO" - } - } - ], - "external-interface": [ - { - "name": "eth0", - "vnfd-connection-point-ref": "pong-vnfd/cp0", - "virtual-interface": { - "type": "VIRTIO" - } - }, - { - "name": "eth1", - "vnfd-connection-point-ref": "pong-vnfd/cp1", - "virtual-interface": { - "type": "VIRTIO" - } - } - ] - } - ] - } - ] - }, - { - "id": "GUID-3", - "name": "RIFT.ware™ PNF Descriptors Catalog", - "short-name": "rift.ware-pnfd-cat", - "description": "RIFT.ware™, an open source NFV development and deployment software platform that makes it simple to create, deploy and manage hyper-scale Virtual network functions and applications.", - "vendor": "RIFT.io", - "version": "", - "created-on": "", - "type": "pnfd", - "descriptors": [] - } -] \ No newline at end of file diff --git a/modules/ui/composer/webapp/test/uploadServer/package.json b/modules/ui/composer/webapp/test/uploadServer/package.json index d2cac15..51de43a 100644 --- a/modules/ui/composer/webapp/test/uploadServer/package.json +++ b/modules/ui/composer/webapp/test/uploadServer/package.json @@ -1,6 +1,7 @@ { "name": "file_upload", "version": "0.0.1", + "license": "Apache-2.0", "dependencies": { "cors": "^2.7.1", "express": "~4.10.2", diff --git a/modules/ui/rw.ui/CMakeLists.txt b/modules/ui/rw.ui/CMakeLists.txt index af87891..452cb3b 100644 --- a/modules/ui/rw.ui/CMakeLists.txt +++ b/modules/ui/rw.ui/CMakeLists.txt @@ -1,3 +1,19 @@ +# +# Copyright 2016 RIFT.IO 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. +# + # # (c) Copyright RIFT.io, 2013-2016, All Rights Reserved # diff --git a/modules/ui/rw.ui/foss.txt b/modules/ui/rw.ui/foss.txt deleted file mode 100644 index e69de29..0000000 diff --git a/modules/ui/rw.ui/webapp/README.md b/modules/ui/rw.ui/webapp/README.md index 8c2b4f3..5a03975 100644 --- a/modules/ui/rw.ui/webapp/README.md +++ b/modules/ui/rw.ui/webapp/README.md @@ -1,3 +1,17 @@ +[//]: # Copyright 2016 RIFT.IO 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. + # RIFT.io / Punchcut collaboration area This repo is setup for the collaboration between RIFT.io and Punchcut diff --git a/modules/ui/rw.ui/webapp/app/assets/favicons/manifest.json b/modules/ui/rw.ui/webapp/app/assets/favicons/manifest.json index 74798cf..9d1d45c 100644 --- a/modules/ui/rw.ui/webapp/app/assets/favicons/manifest.json +++ b/modules/ui/rw.ui/webapp/app/assets/favicons/manifest.json @@ -1,5 +1,6 @@ { "name": "RIFT.ware", + "license": "Apache-2.0", "icons": [ { "src": "\/android-chrome-36x36.png", diff --git a/modules/ui/rw.ui/webapp/app/assets/favicons/safari-pinned-tab.svg b/modules/ui/rw.ui/webapp/app/assets/favicons/safari-pinned-tab.svg index fa3c696..1095e1a 100644 --- a/modules/ui/rw.ui/webapp/app/assets/favicons/safari-pinned-tab.svg +++ b/modules/ui/rw.ui/webapp/app/assets/favicons/safari-pinned-tab.svg @@ -1,6 +1,21 @@ + diff --git a/modules/ui/rw.ui/webapp/app/assets/img/catalog-default.svg b/modules/ui/rw.ui/webapp/app/assets/img/catalog-default.svg index ef6efc7..80fb5ef 100644 --- a/modules/ui/rw.ui/webapp/app/assets/img/catalog-default.svg +++ b/modules/ui/rw.ui/webapp/app/assets/img/catalog-default.svg @@ -1 +1,16 @@ + \ No newline at end of file diff --git a/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-icn-close.svg b/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-icn-close.svg index d364ff8..29f3eec 100644 --- a/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-icn-close.svg +++ b/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-icn-close.svg @@ -1,6 +1,21 @@ + + diff --git a/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-network-01-active.svg b/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-network-01-active.svg index f3de69a..164251a 100755 --- a/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-network-01-active.svg +++ b/modules/ui/rw.ui/webapp/app/assets/img/svg/launch-fleet-network-01-active.svg @@ -1,5 +1,20 @@ +
', - link: link - }; - } -]); - -mod = angular.module('n3charts.utils', []); - -mod.factory('n3utils', [ - '$window', '$log', '$rootScope', function($window, $log, $rootScope) { - return { - addPatterns: function(svg, series) { - var pattern; - pattern = svg.select('defs').selectAll('pattern').data(series.filter(function(s) { - return s.striped; - })).enter().append('pattern').attr({ - id: function(s) { - return s.type + 'Pattern_' + s.index; - }, - patternUnits: "userSpaceOnUse", - x: 0, - y: 0, - width: 60, - height: 60 - }).append('g').style({ - 'fill': function(s) { - return s.color; - }, - 'fill-opacity': 0.3 - }); - pattern.append('rect').style('fill-opacity', 0.3).attr('width', 60).attr('height', 60); - pattern.append('path').attr('d', "M 10 0 l10 0 l -20 20 l 0 -10 z"); - pattern.append('path').attr('d', "M40 0 l10 0 l-50 50 l0 -10 z"); - pattern.append('path').attr('d', "M60 10 l0 10 l-40 40 l-10 0 z"); - return pattern.append('path').attr('d', "M60 40 l0 10 l-10 10 l -10 0 z"); - }, - drawArea: function(svg, scales, data, options) { - var areaSeries, drawers; - areaSeries = data.filter(function(series) { - return series.type === 'area'; - }); - this.addPatterns(svg, areaSeries); - drawers = { - y: this.createLeftAreaDrawer(scales, options.lineMode, options.tension), - y2: this.createRightAreaDrawer(scales, options.lineMode, options.tension) - }; - svg.select('.content').selectAll('.areaGroup').data(areaSeries).enter().append('g').attr('class', function(s) { - return 'areaGroup ' + 'series_' + s.index; - }).append('path').attr('class', 'area').style('fill', function(s) { - if (s.striped !== true) { - return s.color; - } - return "url(#areaPattern_" + s.index + ")"; - }).style('opacity', function(s) { - if (s.striped) { - return '1'; - } else { - return '0.3'; - } - }).attr('d', function(d) { - return drawers[d.axis](d.values); - }); - return this; - }, - createLeftAreaDrawer: function(scales, mode, tension) { - return d3.svg.area().x(function(d) { - return scales.xScale(d.x); - }).y0(function(d) { - return scales.yScale(d.y0); - }).y1(function(d) { - return scales.yScale(d.y0 + d.y); - }).interpolate(mode).tension(tension); - }, - createRightAreaDrawer: function(scales, mode, tension) { - return d3.svg.area().x(function(d) { - return scales.xScale(d.x); - }).y0(function(d) { - return scales.y2Scale(d.y0); - }).y1(function(d) { - return scales.y2Scale(d.y0 + d.y); - }).interpolate(mode).tension(tension); - }, - getPseudoColumns: function(data, options) { - var keys, pseudoColumns; - data = data.filter(function(s) { - return s.type === 'column'; - }); - pseudoColumns = {}; - keys = []; - data.forEach(function(series) { - var i, inAStack, index; - inAStack = false; - options.stacks.forEach(function(stack, index) { - var _ref; - if ((series.id != null) && (_ref = series.id, __indexOf.call(stack.series, _ref) >= 0)) { - pseudoColumns[series.id] = index; - if (__indexOf.call(keys, index) < 0) { - keys.push(index); - } - return inAStack = true; - } - }); - if (inAStack === false) { - i = pseudoColumns[series.id] = index = keys.length; - return keys.push(i); - } - }); - return { - pseudoColumns: pseudoColumns, - keys: keys - }; - }, - getMinDelta: function(seriesData, key, scale, range) { - return d3.min(seriesData.map(function(series) { - return series.values.map(function(d) { - return scale(d[key]); - }).filter(function(e) { - if (range) { - return e >= range[0] && e <= range[1]; - } else { - return true; - } - }).reduce(function(prev, cur, i, arr) { - var diff; - diff = i > 0 ? cur - arr[i - 1] : Number.MAX_VALUE; - if (diff < prev) { - return diff; - } else { - return prev; - } - }, Number.MAX_VALUE); - })); - }, - getBestColumnWidth: function(axes, dimensions, seriesData, options) { - var colData, delta, innerWidth, keys, nSeries, pseudoColumns, _ref; - if (!(seriesData && seriesData.length !== 0)) { - return 10; - } - if ((seriesData.filter(function(s) { - return s.type === 'column'; - })).length === 0) { - return 10; - } - _ref = this.getPseudoColumns(seriesData, options), pseudoColumns = _ref.pseudoColumns, keys = _ref.keys; - innerWidth = dimensions.width - dimensions.left - dimensions.right; - colData = seriesData.filter(function(d) { - return pseudoColumns.hasOwnProperty(d.id); - }); - delta = this.getMinDelta(colData, 'x', axes.xScale, [0, innerWidth]); - if (delta > innerWidth) { - delta = 0.25 * innerWidth; - } - nSeries = keys.length; - return parseInt((delta - options.columnsHGap) / nSeries); - }, - getColumnAxis: function(data, columnWidth, options) { - var keys, pseudoColumns, x1, _ref; - _ref = this.getPseudoColumns(data, options), pseudoColumns = _ref.pseudoColumns, keys = _ref.keys; - x1 = d3.scale.ordinal().domain(keys).rangeBands([0, keys.length * columnWidth], 0); - return function(s) { - var index; - if (pseudoColumns[s.id] == null) { - return 0; - } - index = pseudoColumns[s.id]; - return x1(index) - keys.length * columnWidth / 2; - }; - }, - drawColumns: function(svg, axes, data, columnWidth, options, handlers, dispatch) { - var colGroup, x1; - data = data.filter(function(s) { - return s.type === 'column'; - }); - x1 = this.getColumnAxis(data, columnWidth, options); - data.forEach(function(s) { - return s.xOffset = x1(s) + columnWidth * .5; - }); - colGroup = svg.select('.content').selectAll('.columnGroup').data(data).enter().append("g").attr('class', function(s) { - return 'columnGroup series_' + s.index; - }).attr('transform', function(s) { - return "translate(" + x1(s) + ",0)"; - }); - colGroup.each(function(series) { - return d3.select(this).selectAll("rect").data(series.values).enter().append("rect").style({ - 'stroke': series.color, - 'fill': series.color, - 'stroke-opacity': function(d) { - if (d.y === 0) { - return '0'; - } else { - return '1'; - } - }, - 'stroke-width': '1px', - 'fill-opacity': function(d) { - if (d.y === 0) { - return 0; - } else { - return 0.7; - } - } - }).attr({ - width: columnWidth, - x: function(d) { - return axes.xScale(d.x); - }, - height: function(d) { - if (d.y === 0) { - return axes[d.axis + 'Scale'].range()[0]; - } - return Math.abs(axes[d.axis + 'Scale'](d.y0 + d.y) - axes[d.axis + 'Scale'](d.y0)); - }, - y: function(d) { - if (d.y === 0) { - return 0; - } else { - return axes[d.axis + 'Scale'](Math.max(0, d.y0 + d.y)); - } - } - }).on({ - 'click': function(d, i) { - return dispatch.click(d, i); - } - }).on('mouseover', function(d, i) { - dispatch.hover(d, i); - return typeof handlers.onMouseOver === "function" ? handlers.onMouseOver(svg, { - series: series, - x: axes.xScale(d.x), - y: axes[d.axis + 'Scale'](d.y0 + d.y), - datum: d - }, options.axes) : void 0; - }).on('mouseout', function(d) { - return typeof handlers.onMouseOut === "function" ? handlers.onMouseOut(svg) : void 0; - }); - }); - return this; - }, - drawDots: function(svg, axes, data, options, handlers, dispatch) { - var dotGroup; - dotGroup = svg.select('.content').selectAll('.dotGroup').data(data.filter(function(s) { - var _ref; - return ((_ref = s.type) === 'line' || _ref === 'area') && s.drawDots; - })).enter().append('g'); - dotGroup.attr({ - "class": function(s) { - return "dotGroup series_" + s.index; - }, - fill: function(s) { - return s.color; - } - }).selectAll('.dot').data(function(d) { - return d.values; - }).enter().append('circle').attr({ - 'class': 'dot', - 'r': function(d) { - return d.dotSize; - }, - 'cx': function(d) { - return axes.xScale(d.x); - }, - 'cy': function(d) { - return axes[d.axis + 'Scale'](d.y + d.y0); - } - }).style({ - 'stroke': 'white', - 'stroke-width': '2px' - }).on({ - 'click': function(d, i) { - return dispatch.click(d, i); - } - }).on({ - 'mouseover': function(d, i) { - return dispatch.hover(d, i); - } - }); - if (options.tooltip.mode !== 'none') { - dotGroup.on('mouseover', function(series) { - var d, target; - target = d3.select(d3.event.target); - d = target.datum(); - target.attr('r', function(s) { - return s.dotSize + 2; - }); - return typeof handlers.onMouseOver === "function" ? handlers.onMouseOver(svg, { - series: series, - x: target.attr('cx'), - y: target.attr('cy'), - datum: d - }, options.axes) : void 0; - }).on('mouseout', function(d) { - d3.select(d3.event.target).attr('r', function(s) { - return s.dotSize; - }); - return typeof handlers.onMouseOut === "function" ? handlers.onMouseOut(svg) : void 0; - }); - } - return this; - }, - getEventDispatcher: function() { - var events; - events = ['focus', 'hover', 'click', 'toggle']; - return d3.dispatch.apply(this, events); - }, - computeLegendLayout: function(svg, series, dimensions) { - var cumul, i, j, leftLayout, leftWidths, padding, rightLayout, rightWidths, that, w; - padding = 10; - that = this; - leftWidths = this.getLegendItemsWidths(svg, 'y'); - leftLayout = [0]; - i = 1; - while (i < leftWidths.length) { - leftLayout.push(leftWidths[i - 1] + leftLayout[i - 1] + padding); - i++; - } - rightWidths = this.getLegendItemsWidths(svg, 'y2'); - if (!(rightWidths.length > 0)) { - return [leftLayout]; - } - w = dimensions.width - dimensions.right - dimensions.left; - cumul = 0; - rightLayout = []; - j = rightWidths.length - 1; - while (j >= 0) { - rightLayout.push(w - cumul - rightWidths[j]); - cumul += rightWidths[j] + padding; - j--; - } - rightLayout.reverse(); - return [leftLayout, rightLayout]; - }, - getLegendItemsWidths: function(svg, axis) { - var bbox, i, items, that, widths; - that = this; - bbox = function(t) { - return that.getTextBBox(t).width; - }; - items = svg.selectAll(".legendItem." + axis); - if (!(items.length > 0)) { - return []; - } - widths = []; - i = 0; - while (i < items[0].length) { - widths.push(bbox(items[0][i])); - i++; - } - return widths; - }, - drawLegend: function(svg, series, dimensions, handlers, dispatch) { - var d, groups, legend, that, translateLegends; - that = this; - legend = svg.append('g').attr('class', 'legend'); - d = 16; - svg.select('defs').append('svg:clipPath').attr('id', 'legend-clip').append('circle').attr('r', d / 2); - groups = legend.selectAll('.legendItem').data(series); - groups.enter().append('g').on('click', function(s, i) { - var visibility; - visibility = !(s.visible !== false); - dispatch.toggle(s, i, visibility); - return typeof handlers.onSeriesVisibilityChange === "function" ? handlers.onSeriesVisibilityChange({ - series: s, - index: i, - newVisibility: visibility - }) : void 0; - }); - groups.attr({ - 'class': function(s, i) { - return "legendItem series_" + i + " " + s.axis; - }, - 'opacity': function(s, i) { - if (s.visible === false) { - that.toggleSeries(svg, i); - return '0.2'; - } - return '1'; - } - }).each(function(s) { - var item, _ref; - item = d3.select(this); - item.append('circle').attr({ - 'fill': s.color, - 'stroke': s.color, - 'stroke-width': '2px', - 'r': d / 2 - }); - item.append('path').attr({ - 'clip-path': 'url(#legend-clip)', - 'fill-opacity': (_ref = s.type) === 'area' || _ref === 'column' ? '1' : '0', - 'fill': 'white', - 'stroke': 'white', - 'stroke-width': '2px', - 'd': that.getLegendItemPath(s, d, d) - }); - item.append('circle').attr({ - 'fill-opacity': 0, - 'stroke': s.color, - 'stroke-width': '2px', - 'r': d / 2 - }); - return item.append('text').attr({ - 'class': function(d, i) { - return "legendText series_" + i; - }, - 'font-family': 'Courier', - 'font-size': 10, - 'transform': 'translate(13, 4)', - 'text-rendering': 'geometric-precision' - }).text(s.label || s.y); - }); - translateLegends = function() { - var left, right, _ref; - _ref = that.computeLegendLayout(svg, series, dimensions), left = _ref[0], right = _ref[1]; - return groups.attr({ - 'transform': function(s, i) { - if (s.axis === 'y') { - return "translate(" + (left.shift()) + "," + (dimensions.height - 40) + ")"; - } else { - return "translate(" + (right.shift()) + "," + (dimensions.height - 40) + ")"; - } - } - }); - }; - translateLegends(); - setTimeout(translateLegends, 0); - return this; - }, - getLegendItemPath: function(series, w, h) { - var base_path, path; - if (series.type === 'column') { - path = 'M' + (-w / 3) + ' ' + (-h / 8) + ' l0 ' + h + ' '; - path += 'M0' + ' ' + (-h / 3) + ' l0 ' + h + ' '; - path += 'M' + w / 3 + ' ' + (-h / 10) + ' l0 ' + h + ' '; - return path; - } - base_path = 'M-' + w / 2 + ' 0' + h / 3 + ' l' + w / 3 + ' -' + h / 3 + ' l' + w / 3 + ' ' + h / 3 + ' l' + w / 3 + ' -' + 2 * h / 3; - if (series.type === 'area') { - base_path + ' l0 ' + h + ' l-' + w + ' 0z'; - } - return base_path; - }, - toggleSeries: function(svg, index) { - var isVisible; - isVisible = false; - svg.select('.content').selectAll('.series_' + index).style('display', function(s) { - if (d3.select(this).style('display') === 'none') { - isVisible = true; - return 'initial'; - } else { - isVisible = false; - return 'none'; - } - }); - return isVisible; - }, - drawLines: function(svg, scales, data, options, handlers) { - var drawers, interpolateData, lineGroup; - drawers = { - y: this.createLeftLineDrawer(scales, options.lineMode, options.tension), - y2: this.createRightLineDrawer(scales, options.lineMode, options.tension) - }; - lineGroup = svg.select('.content').selectAll('.lineGroup').data(data.filter(function(s) { - var _ref; - return (_ref = s.type) === 'line' || _ref === 'area'; - })).enter().append('g'); - lineGroup.style('stroke', function(s) { - return s.color; - }).attr('class', function(s) { - return "lineGroup series_" + s.index; - }).append('path').attr({ - "class": 'line', - d: function(d) { - return drawers[d.axis](d.values); - } - }).style({ - 'fill': 'none', - 'stroke-width': function(s) { - return s.thickness; - }, - 'stroke-dasharray': function(s) { - if (s.lineMode === 'dashed') { - return '10,3'; - } - return void 0; - } - }); - if (options.tooltip.interpolate) { - interpolateData = function(series) { - var datum, error, i, interpDatum, maxXPos, maxXValue, maxYPos, maxYValue, minXPos, minXValue, minYPos, minYValue, mousePos, target, valuesData, x, xPercentage, xVal, y, yPercentage, yVal, _i, _len; - target = d3.select(d3.event.target); - try { - mousePos = d3.mouse(this); - } catch (_error) { - error = _error; - mousePos = [0, 0]; - } - valuesData = target.datum().values; - for (i = _i = 0, _len = valuesData.length; _i < _len; i = ++_i) { - datum = valuesData[i]; - x = scales.xScale(datum.x); - y = scales.yScale(datum.y); - if ((typeof minXPos === "undefined" || minXPos === null) || x < minXPos) { - minXPos = x; - minXValue = datum.x; - } - if ((typeof maxXPos === "undefined" || maxXPos === null) || x > maxXPos) { - maxXPos = x; - maxXValue = datum.x; - } - if ((typeof minYPos === "undefined" || minYPos === null) || y < minYPos) { - minYPos = y; - } - if ((typeof maxYPos === "undefined" || maxYPos === null) || y > maxYPos) { - maxYPos = y; - } - if ((typeof minYValue === "undefined" || minYValue === null) || datum.y < minYValue) { - minYValue = datum.y; - } - if ((typeof maxYValue === "undefined" || maxYValue === null) || datum.y > maxYValue) { - maxYValue = datum.y; - } - } - xPercentage = (mousePos[0] - minXPos) / (maxXPos - minXPos); - yPercentage = (mousePos[1] - minYPos) / (maxYPos - minYPos); - xVal = Math.round(xPercentage * (maxXValue - minXValue) + minXValue); - yVal = Math.round((1 - yPercentage) * (maxYValue - minYValue) + minYValue); - interpDatum = { - x: xVal, - y: yVal - }; - return typeof handlers.onMouseOver === "function" ? handlers.onMouseOver(svg, { - series: series, - x: mousePos[0], - y: mousePos[1], - datum: interpDatum - }, options.axes) : void 0; - }; - lineGroup.on('mousemove', interpolateData).on('mouseout', function(d) { - return typeof handlers.onMouseOut === "function" ? handlers.onMouseOut(svg) : void 0; - }); - } - return this; - }, - createLeftLineDrawer: function(scales, mode, tension) { - return d3.svg.line().x(function(d) { - return scales.xScale(d.x); - }).y(function(d) { - return scales.yScale(d.y + d.y0); - }).interpolate(mode).tension(tension); - }, - createRightLineDrawer: function(scales, mode, tension) { - return d3.svg.line().x(function(d) { - return scales.xScale(d.x); - }).y(function(d) { - return scales.y2Scale(d.y + d.y0); - }).interpolate(mode).tension(tension); - }, - getPixelCssProp: function(element, propertyName) { - var string; - string = $window.getComputedStyle(element, null).getPropertyValue(propertyName); - return +string.replace(/px$/, ''); - }, - getDefaultMargins: function() { - return { - top: 20, - right: 50, - bottom: 60, - left: 50 - }; - }, - getDefaultThumbnailMargins: function() { - return { - top: 1, - right: 1, - bottom: 2, - left: 0 - }; - }, - getElementDimensions: function(element, width, height) { - var bottom, dim, left, parent, right, top; - dim = {}; - parent = element; - top = this.getPixelCssProp(parent, 'padding-top'); - bottom = this.getPixelCssProp(parent, 'padding-bottom'); - left = this.getPixelCssProp(parent, 'padding-left'); - right = this.getPixelCssProp(parent, 'padding-right'); - dim.width = +(width || parent.offsetWidth || 900) - left - right; - dim.height = +(height || parent.offsetHeight || 500) - top - bottom; - return dim; - }, - getDimensions: function(options, element, attrs) { - var dim; - dim = this.getElementDimensions(element[0].parentElement, attrs.width, attrs.height); - dim = angular.extend(options.margin, dim); - return dim; - }, - clean: function(element) { - return d3.select(element).on('keydown', null).on('keyup', null).select('svg').remove(); - }, - uuid: function() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { - var r, v; - r = Math.random() * 16 | 0; - v = c === 'x' ? r : r & 0x3 | 0x8; - return v.toString(16); - }); - }, - bootstrap: function(element, id, dimensions) { - var defs, height, svg, width; - d3.select(element).classed('chart', true); - width = dimensions.width; - height = dimensions.height; - svg = d3.select(element).append('svg').attr({ - width: width, - height: height - }).append('g').attr('transform', 'translate(' + dimensions.left + ',' + dimensions.top + ')'); - defs = svg.append('defs').attr('class', 'patterns'); - defs.append('clipPath').attr('class', 'content-clip').attr('id', "content-clip-" + id).append('rect').attr({ - 'x': 0, - 'y': 0, - 'width': width - dimensions.left - dimensions.right, - 'height': height - dimensions.top - dimensions.bottom - }); - return svg; - }, - createContent: function(svg, id, options) { - var content; - content = svg.append('g').attr('class', 'content'); - if (options.hideOverflow) { - return content.attr('clip-path', "url(#content-clip-" + id + ")"); - } - }, - createGlass: function(svg, dimensions, handlers, axes, data, options, dispatch, columnWidth) { - var glass, scrubberGroup, that; - that = this; - glass = svg.append('g').attr({ - 'class': 'glass-container', - 'opacity': 0 - }); - scrubberGroup = glass.selectAll('.scrubberItem').data(data).enter().append('g').attr('class', function(s, i) { - return "scrubberItem series_" + i; - }); - scrubberGroup.each(function(s, i) { - var g, g2, item; - item = d3.select(this); - g = item.append('g').attr({ - 'class': "rightTT" - }); - g.append('path').attr({ - 'class': "scrubberPath series_" + i, - 'y': '-7px', - 'fill': s.color - }); - that.styleTooltip(g.append('text').style('text-anchor', 'start').attr({ - 'class': function(d, i) { - return "scrubberText series_" + i; - }, - 'height': '14px', - 'transform': 'translate(7, 3)', - 'text-rendering': 'geometric-precision' - })).text(s.label || s.y); - g2 = item.append('g').attr({ - 'class': "leftTT" - }); - g2.append('path').attr({ - 'class': "scrubberPath series_" + i, - 'y': '-7px', - 'fill': s.color - }); - that.styleTooltip(g2.append('text').style('text-anchor', 'end').attr({ - 'class': "scrubberText series_" + i, - 'height': '14px', - 'transform': 'translate(-13, 3)', - 'text-rendering': 'geometric-precision' - })).text(s.label || s.y); - return item.append('circle').attr({ - 'class': "scrubberDot series_" + i, - 'fill': 'white', - 'stroke': s.color, - 'stroke-width': '2px', - 'r': 4 - }); - }); - return glass.append('rect').attr({ - "class": 'glass', - width: dimensions.width - dimensions.left - dimensions.right, - height: dimensions.height - dimensions.top - dimensions.bottom - }).style('fill', 'white').style('fill-opacity', 0.000001).on('mouseover', function() { - return handlers.onChartHover(svg, d3.select(this), axes, data, options, dispatch, columnWidth); - }); - }, - getDataPerSeries: function(data, options) { - var axes, layout, series, straightened; - series = options.series; - axes = options.axes; - if (!(series && series.length && data && data.length)) { - return []; - } - straightened = series.map(function(s, i) { - var seriesData; - seriesData = { - index: i, - name: s.y, - values: [], - color: s.color, - axis: s.axis || 'y', - xOffset: 0, - type: s.type, - thickness: s.thickness, - drawDots: s.drawDots !== false - }; - if (s.dotSize != null) { - seriesData.dotSize = s.dotSize; - } - if (s.striped === true) { - seriesData.striped = true; - } - if (s.lineMode != null) { - seriesData.lineMode = s.lineMode; - } - if (s.id) { - seriesData.id = s.id; - } - data.filter(function(row) { - return row[s.y] != null; - }).forEach(function(row) { - var d; - d = { - x: row[options.axes.x.key], - y: row[s.y], - y0: 0, - axis: s.axis || 'y' - }; - if (s.dotSize != null) { - d.dotSize = s.dotSize; - } - return seriesData.values.push(d); - }); - return seriesData; - }); - if ((options.stacks == null) || options.stacks.length === 0) { - return straightened; - } - layout = d3.layout.stack().values(function(s) { - return s.values; - }); - options.stacks.forEach(function(stack) { - var layers; - if (!(stack.series.length > 0)) { - return; - } - layers = straightened.filter(function(s, i) { - var _ref; - return (s.id != null) && (_ref = s.id, __indexOf.call(stack.series, _ref) >= 0); - }); - return layout(layers); - }); - return straightened; - }, - estimateSideTooltipWidth: function(svg, text) { - var bbox, t; - t = svg.append('text'); - t.text('' + text); - this.styleTooltip(t); - bbox = this.getTextBBox(t[0][0]); - t.remove(); - return bbox; - }, - getTextBBox: function(svgTextElement) { - var error; - if (svgTextElement !== null) { - try { - return svgTextElement.getBBox(); - } catch (_error) { - error = _error; - return { - height: 0, - width: 0, - y: 0, - x: 0 - }; - } - } - return {}; - }, - getWidestTickWidth: function(svg, axisKey) { - var bbox, max, ticks, _ref; - max = 0; - bbox = this.getTextBBox; - ticks = svg.select("." + axisKey + ".axis").selectAll('.tick'); - if ((_ref = ticks[0]) != null) { - _ref.forEach(function(t) { - return max = Math.max(max, bbox(t).width); - }); - } - return max; - }, - getWidestOrdinate: function(data, series, options) { - var widest; - widest = ''; - data.forEach(function(row) { - return series.forEach(function(series) { - var v, _ref; - v = row[series.y]; - if ((series.axis != null) && ((_ref = options.axes[series.axis]) != null ? _ref.ticksFormatter : void 0)) { - v = options.axes[series.axis].ticksFormatter(v); - } - if (v == null) { - return; - } - if (('' + v).length > ('' + widest).length) { - return widest = v; - } - }); - }); - return widest; - }, - getDefaultOptions: function() { - return { - tooltip: { - mode: 'scrubber' - }, - lineMode: 'linear', - tension: 0.7, - margin: this.getDefaultMargins(), - axes: { - x: { - type: 'linear', - key: 'x' - }, - y: { - type: 'linear' - } - }, - series: [], - drawLegend: true, - drawDots: true, - stacks: [], - columnsHGap: 5, - hideOverflow: false - }; - }, - sanitizeOptions: function(options, mode) { - var defaultMargin; - if (options == null) { - options = {}; - } - if (mode === 'thumbnail') { - options.drawLegend = false; - options.drawDots = false; - options.tooltip = { - mode: 'none', - interpolate: false - }; - } - options.series = this.sanitizeSeriesOptions(options.series); - options.stacks = this.sanitizeSeriesStacks(options.stacks, options.series); - options.axes = this.sanitizeAxes(options.axes, this.haveSecondYAxis(options.series)); - options.tooltip = this.sanitizeTooltip(options.tooltip); - options.margin = this.sanitizeMargins(options.margin); - options.lineMode || (options.lineMode = this.getDefaultOptions().lineMode); - options.tension = /^\d+(\.\d+)?$/.test(options.tension) ? options.tension : this.getDefaultOptions().tension; - options.drawLegend = options.drawLegend !== false; - options.drawDots = options.drawDots !== false; - if (!angular.isNumber(options.columnsHGap)) { - options.columnsHGap = 5; - } - options.hideOverflow = options.hideOverflow || false; - defaultMargin = mode === 'thumbnail' ? this.getDefaultThumbnailMargins() : this.getDefaultMargins(); - options.series = angular.extend(this.getDefaultOptions().series, options.series); - options.axes = angular.extend(this.getDefaultOptions().axes, options.axes); - options.tooltip = angular.extend(this.getDefaultOptions().tooltip, options.tooltip); - options.margin = angular.extend(defaultMargin, options.margin); - return options; - }, - sanitizeMargins: function(options) { - var attrs, margin, opt, value; - attrs = ['top', 'right', 'bottom', 'left']; - margin = {}; - for (opt in options) { - value = options[opt]; - if (__indexOf.call(attrs, opt) >= 0) { - margin[opt] = parseFloat(value); - } - } - return margin; - }, - sanitizeSeriesStacks: function(stacks, series) { - var seriesKeys; - if (stacks == null) { - return []; - } - seriesKeys = {}; - series.forEach(function(s) { - return seriesKeys[s.id] = s; - }); - stacks.forEach(function(stack) { - return stack.series.forEach(function(id) { - var s; - s = seriesKeys[id]; - if (s != null) { - if (s.axis !== stack.axis) { - return $log.warn("Series " + id + " is not on the same axis as its stack"); - } - } else { - if (!s) { - return $log.warn("Unknown series found in stack : " + id); - } - } - }); - }); - return stacks; - }, - sanitizeTooltip: function(options) { - var _ref; - if (!options) { - return { - mode: 'scrubber' - }; - } - if ((_ref = options.mode) !== 'none' && _ref !== 'axes' && _ref !== 'scrubber') { - options.mode = 'scrubber'; - } - if (options.mode === 'scrubber') { - delete options.interpolate; - } else { - options.interpolate = !!options.interpolate; - } - if (options.mode === 'scrubber' && options.interpolate) { - throw new Error('Interpolation is not supported for scrubber tooltip mode.'); - } - return options; - }, - sanitizeSeriesOptions: function(options) { - var colors, knownIds; - if (options == null) { - return []; - } - colors = d3.scale.category10(); - knownIds = {}; - options.forEach(function(s, i) { - if (knownIds[s.id] != null) { - throw new Error("Twice the same ID (" + s.id + ") ? Really ?"); - } - if (s.id != null) { - return knownIds[s.id] = s; - } - }); - options.forEach(function(s, i) { - var cnt, _ref, _ref1, _ref2, _ref3; - s.axis = ((_ref = s.axis) != null ? _ref.toLowerCase() : void 0) !== 'y2' ? 'y' : 'y2'; - s.color || (s.color = colors(i)); - s.type = (_ref1 = s.type) === 'line' || _ref1 === 'area' || _ref1 === 'column' ? s.type : "line"; - if (s.type === 'column') { - delete s.thickness; - delete s.lineMode; - delete s.drawDots; - delete s.dotSize; - } else if (!/^\d+px$/.test(s.thickness)) { - s.thickness = '1px'; - } - if ((_ref2 = s.type) === 'line' || _ref2 === 'area') { - if ((_ref3 = s.lineMode) !== 'dashed') { - delete s.lineMode; - } - if (s.drawDots !== false && (s.dotSize == null)) { - s.dotSize = 2; - } - } - if (s.id == null) { - cnt = 0; - while (knownIds["series_" + cnt] != null) { - cnt++; - } - s.id = "series_" + cnt; - knownIds[s.id] = s; - } - if (s.drawDots === false) { - return delete s.dotSize; - } - }); - return options; - }, - sanitizeAxes: function(axesOptions, secondAxis) { - var _base; - if (axesOptions == null) { - axesOptions = {}; - } - axesOptions.x = this.sanitizeAxisOptions(axesOptions.x); - (_base = axesOptions.x).key || (_base.key = "x"); - axesOptions.y = this.sanitizeAxisOptions(axesOptions.y); - if (secondAxis) { - axesOptions.y2 = this.sanitizeAxisOptions(axesOptions.y2); - } - return axesOptions; - }, - sanitizeExtrema: function(options) { - var max, min; - min = this.getSanitizedNumber(options.min); - if (min != null) { - options.min = min; - } else { - delete options.min; - } - max = this.getSanitizedNumber(options.max); - if (max != null) { - return options.max = max; - } else { - return delete options.max; - } - }, - getSanitizedNumber: function(value) { - var number; - if (value == null) { - return void 0; - } - number = parseFloat(value); - if (isNaN(number)) { - $log.warn("Invalid extremum value : " + value + ", deleting it."); - return void 0; - } - return number; - }, - sanitizeAxisOptions: function(options) { - if (options == null) { - return { - type: 'linear' - }; - } - options.type || (options.type = 'linear'); - if (options.ticksRotate != null) { - options.ticksRotate = this.getSanitizedNumber(options.ticksRotate); - } - if (options.labelFunction != null) { - options.ticksFormatter = options.labelFunction; - } - if (options.ticksFormat != null) { - if (options.type === 'date') { - options.ticksFormatter = d3.time.format(options.ticksFormat); - } else { - options.ticksFormatter = d3.format(options.ticksFormat); - } - if (options.tooltipFormatter == null) { - options.tooltipFormatter = options.ticksFormatter; - } - } - if (options.tooltipFormat != null) { - if (options.type === 'date') { - options.tooltipFormatter = d3.time.format(options.tooltipFormat); - } else { - options.tooltipFormatter = d3.format(options.tooltipFormat); - } - } - if (options.ticksInterval != null) { - options.ticksInterval = this.getSanitizedNumber(options.ticksInterval); - } - this.sanitizeExtrema(options); - return options; - }, - createAxes: function(svg, dimensions, axesOptions) { - var createY2Axis, height, style, width, x, xAxis, y, y2, y2Axis, yAxis; - createY2Axis = axesOptions.y2 != null; - width = dimensions.width; - height = dimensions.height; - width = width - dimensions.left - dimensions.right; - height = height - dimensions.top - dimensions.bottom; - x = void 0; - if (axesOptions.x.type === 'date') { - x = d3.time.scale().rangeRound([0, width]); - } else { - x = d3.scale.linear().rangeRound([0, width]); - } - xAxis = this.createAxis(x, 'x', axesOptions); - y = void 0; - if (axesOptions.y.type === 'log') { - y = d3.scale.log().clamp(true).rangeRound([height, 0]); - } else { - y = d3.scale.linear().rangeRound([height, 0]); - } - y.clamp(true); - yAxis = this.createAxis(y, 'y', axesOptions); - y2 = void 0; - if (createY2Axis && axesOptions.y2.type === 'log') { - y2 = d3.scale.log().clamp(true).rangeRound([height, 0]); - } else { - y2 = d3.scale.linear().rangeRound([height, 0]); - } - y2.clamp(true); - y2Axis = this.createAxis(y2, 'y2', axesOptions); - style = function(group) { - group.style({ - 'font': '10px Courier', - 'shape-rendering': 'crispEdges' - }); - return group.selectAll('path').style({ - 'fill': 'none', - 'stroke': '#000' - }); - }; - return { - xScale: x, - yScale: y, - y2Scale: y2, - xAxis: xAxis, - yAxis: yAxis, - y2Axis: y2Axis, - andAddThemIf: function(conditions) { - if (!!conditions.all) { - if (!!conditions.x) { - svg.append('g').attr('class', 'x axis').attr('transform', 'translate(0,' + height + ')').call(xAxis).call(style); - } - if (!!conditions.y) { - svg.append('g').attr('class', 'y axis').call(yAxis).call(style); - } - if (createY2Axis && !!conditions.y2) { - svg.append('g').attr('class', 'y2 axis').attr('transform', 'translate(' + width + ', 0)').call(y2Axis).call(style); - } - } - return { - xScale: x, - yScale: y, - y2Scale: y2, - xAxis: xAxis, - yAxis: yAxis, - y2Axis: y2Axis - }; - } - }; - }, - createAxis: function(scale, key, options) { - var axis, o, sides; - sides = { - x: 'bottom', - y: 'left', - y2: 'right' - }; - o = options[key]; - axis = d3.svg.axis().scale(scale).orient(sides[key]).tickFormat(o != null ? o.ticksFormatter : void 0); - if (o == null) { - return axis; - } - if (angular.isArray(o.ticks)) { - axis.tickValues(o.ticks); - } else if (angular.isNumber(o.ticks)) { - axis.ticks(o.ticks); - } else if (angular.isFunction(o.ticks)) { - axis.ticks(o.ticks, o.ticksInterval); - } - return axis; - }, - setScalesDomain: function(scales, data, series, svg, options) { - var axis, y2Domain, yDomain; - this.setXScale(scales.xScale, data, series, options.axes); - axis = svg.selectAll('.x.axis').call(scales.xAxis); - if (options.axes.x.ticksRotate != null) { - axis.selectAll('.tick>text').attr('dy', null).attr('transform', 'translate(0,5) rotate(' + options.axes.x.ticksRotate + ' 0,6)').style('text-anchor', options.axes.x.ticksRotate >= 0 ? 'start' : 'end'); - } - if ((series.filter(function(s) { - return s.axis === 'y' && s.visible !== false; - })).length > 0) { - yDomain = this.getVerticalDomain(options, data, series, 'y'); - scales.yScale.domain(yDomain).nice(); - axis = svg.selectAll('.y.axis').call(scales.yAxis); - if (options.axes.y.ticksRotate != null) { - axis.selectAll('.tick>text').attr('transform', 'rotate(' + options.axes.y.ticksRotate + ' -6,0)').style('text-anchor', 'end'); - } - } - if ((series.filter(function(s) { - return s.axis === 'y2' && s.visible !== false; - })).length > 0) { - y2Domain = this.getVerticalDomain(options, data, series, 'y2'); - scales.y2Scale.domain(y2Domain).nice(); - axis = svg.selectAll('.y2.axis').call(scales.y2Axis); - if (options.axes.y2.ticksRotate != null) { - return axis.selectAll('.tick>text').attr('transform', 'rotate(' + options.axes.y2.ticksRotate + ' 6,0)').style('text-anchor', 'start'); - } - } - }, - getVerticalDomain: function(options, data, series, key) { - var domain, mySeries, o; - if (!(o = options.axes[key])) { - return []; - } - if ((o.ticks != null) && angular.isArray(o.ticks)) { - return [o.ticks[0], o.ticks[o.ticks.length - 1]]; - } - mySeries = series.filter(function(s) { - return s.axis === key && s.visible !== false; - }); - domain = this.yExtent(series.filter(function(s) { - return s.axis === key && s.visible !== false; - }), data, options.stacks.filter(function(stack) { - return stack.axis === key; - })); - if (o.type === 'log') { - domain[0] = domain[0] === 0 ? 0.001 : domain[0]; - } - if (o.min != null) { - domain[0] = o.min; - } - if (o.max != null) { - domain[1] = o.max; - } - return domain; - }, - yExtent: function(series, data, stacks) { - var groups, maxY, minY; - minY = Number.POSITIVE_INFINITY; - maxY = Number.NEGATIVE_INFINITY; - groups = []; - stacks.forEach(function(stack) { - return groups.push(stack.series.map(function(id) { - return (series.filter(function(s) { - return s.id === id; - }))[0]; - })); - }); - series.forEach(function(series, i) { - var isInStack; - isInStack = false; - stacks.forEach(function(stack) { - var _ref; - if (_ref = series.id, __indexOf.call(stack.series, _ref) >= 0) { - return isInStack = true; - } - }); - if (!isInStack) { - return groups.push([series]); - } - }); - groups.forEach(function(group) { - group = group.filter(Boolean); - minY = Math.min(minY, d3.min(data, function(d) { - return group.reduce((function(a, s) { - return Math.min(a, d[s.y]); - }), Number.POSITIVE_INFINITY); - })); - return maxY = Math.max(maxY, d3.max(data, function(d) { - return group.reduce((function(a, s) { - return a + d[s.y]; - }), 0); - })); - }); - if (minY === maxY) { - if (minY > 0) { - return [0, minY * 2]; - } else { - return [minY * 2, 0]; - } - } - return [minY, maxY]; - }, - setXScale: function(xScale, data, series, axesOptions) { - var domain, o; - domain = this.xExtent(data, axesOptions.x.key); - if (series.filter(function(s) { - return s.type === 'column'; - }).length) { - this.adjustXDomainForColumns(domain, data, axesOptions.x.key); - } - o = axesOptions.x; - if (o.min != null) { - domain[0] = o.min; - } - if (o.max != null) { - domain[1] = o.max; - } - return xScale.domain(domain); - }, - xExtent: function(data, key) { - var from, to, _ref; - _ref = d3.extent(data, function(d) { - return d[key]; - }), from = _ref[0], to = _ref[1]; - if (from === to) { - if (from > 0) { - return [0, from * 2]; - } else { - return [from * 2, 0]; - } - } - return [from, to]; - }, - adjustXDomainForColumns: function(domain, data, field) { - var step; - step = this.getAverageStep(data, field); - if (angular.isDate(domain[0])) { - domain[0] = new Date(domain[0].getTime() - step); - return domain[1] = new Date(domain[1].getTime() + step); - } else { - domain[0] = domain[0] - step; - return domain[1] = domain[1] + step; - } - }, - getAverageStep: function(data, field) { - var i, n, sum; - if (!(data.length > 1)) { - return 0; - } - sum = 0; - n = data.length - 1; - i = 0; - while (i < n) { - sum += data[i + 1][field] - data[i][field]; - i++; - } - return sum / n; - }, - haveSecondYAxis: function(series) { - return !series.every(function(s) { - return s.axis !== 'y2'; - }); - }, - showScrubber: function(svg, glass, axes, data, options, dispatch, columnWidth) { - var that; - that = this; - glass.on('mousemove', function() { - svg.selectAll('.glass-container').attr('opacity', 1); - return that.updateScrubber(svg, d3.mouse(this), axes, data, options, dispatch, columnWidth); - }); - return glass.on('mouseout', function() { - glass.on('mousemove', null); - return svg.selectAll('.glass-container').attr('opacity', 0); - }); - }, - getClosestPoint: function(values, xValue) { - var d, d0, d1, i, xBisector; - xBisector = d3.bisector(function(d) { - return d.x; - }).left; - i = xBisector(values, xValue); - if (i === 0) { - return values[0]; - } - if (i > values.length - 1) { - return values[values.length - 1]; - } - d0 = values[i - 1]; - d1 = values[i]; - d = xValue - d0.x > d1.x - xValue ? d1 : d0; - return d; - }, - updateScrubber: function(svg, _arg, axes, data, options, dispatch, columnWidth) { - var ease, positions, that, tickLength, x, y; - x = _arg[0], y = _arg[1]; - ease = function(element) { - return element.transition().duration(50); - }; - that = this; - positions = []; - data.forEach(function(series, index) { - var color, item, lText, left, rText, right, side, sizes, text, v, xInvert, xPos, yInvert; - item = svg.select(".scrubberItem.series_" + index); - if (options.series[index].visible === false) { - item.attr('opacity', 0); - return; - } - item.attr('opacity', 1); - xInvert = axes.xScale.invert(x); - yInvert = axes.yScale.invert(y); - v = that.getClosestPoint(series.values, xInvert); - dispatch.focus(v, series.values.indexOf(v), [xInvert, yInvert]); - text = v.x + ' : ' + v.y; - if (options.tooltip.formatter) { - text = options.tooltip.formatter(v.x, v.y, options.series[index]); - } - right = item.select('.rightTT'); - rText = right.select('text'); - rText.text(text); - left = item.select('.leftTT'); - lText = left.select('text'); - lText.text(text); - sizes = { - right: that.getTextBBox(rText[0][0]).width + 5, - left: that.getTextBBox(lText[0][0]).width + 5 - }; - side = series.axis === 'y2' ? 'right' : 'left'; - xPos = axes.xScale(v.x); - if (side === 'left') { - if (xPos + that.getTextBBox(lText[0][0]).x - 10 < 0) { - side = 'right'; - } - } else if (side === 'right') { - if (xPos + sizes.right > that.getTextBBox(svg.select('.glass')[0][0]).width) { - side = 'left'; - } - } - if (side === 'left') { - ease(right).attr('opacity', 0); - ease(left).attr('opacity', 1); - } else { - ease(right).attr('opacity', 1); - ease(left).attr('opacity', 0); - } - positions[index] = { - index: index, - x: xPos, - y: axes[v.axis + 'Scale'](v.y + v.y0), - side: side, - sizes: sizes - }; - color = angular.isFunction(series.color) ? series.color(v, series.values.indexOf(v)) : series.color; - item.selectAll('circle').attr('stroke', color); - return item.selectAll('path').attr('fill', color); - }); - positions = this.preventOverlapping(positions); - tickLength = Math.max(15, 100 / columnWidth); - return data.forEach(function(series, index) { - var item, p, tt, xOffset; - if (options.series[index].visible === false) { - return; - } - p = positions[index]; - item = svg.select(".scrubberItem.series_" + index); - tt = item.select("." + p.side + "TT"); - xOffset = (p.side === 'left' ? series.xOffset : -series.xOffset); - tt.select('text').attr('transform', function() { - if (p.side === 'left') { - return "translate(" + (-3 - tickLength - xOffset) + ", " + (p.labelOffset + 3) + ")"; - } else { - return "translate(" + (4 + tickLength + xOffset) + ", " + (p.labelOffset + 3) + ")"; - } - }); - tt.select('path').attr('d', that.getScrubberPath(p.sizes[p.side] + 1, p.labelOffset, p.side, tickLength + xOffset)); - return ease(item).attr({ - 'transform': "translate(" + (positions[index].x + series.xOffset) + ", " + positions[index].y + ")" - }); - }); - }, - getScrubberPath: function(w, yOffset, side, padding) { - var h, p, xdir, ydir; - h = 18; - p = padding; - w = w; - xdir = side === 'left' ? 1 : -1; - ydir = 1; - if (yOffset !== 0) { - ydir = Math.abs(yOffset) / yOffset; - } - yOffset || (yOffset = 0); - return ["m0 0", "l" + xdir + " 0", "l0 " + (yOffset + ydir), "l" + (-xdir * (p + 1)) + " 0", "l0 " + (-h / 2 - ydir), "l" + (-xdir * w) + " 0", "l0 " + h, "l" + (xdir * w) + " 0", "l0 " + (-h / 2 - ydir), "l" + (xdir * (p - 1)) + " 0", "l0 " + (-yOffset + ydir), "l1 0", "z"].join(''); - }, - preventOverlapping: function(positions) { - var abscissas, getNeighbours, h, offset; - h = 18; - abscissas = {}; - positions.forEach(function(p) { - var _name; - abscissas[_name = p.x] || (abscissas[_name] = { - left: [], - right: [] - }); - return abscissas[p.x][p.side].push(p); - }); - getNeighbours = function(side) { - var foundNeighbour, neighbourhood, neighbours, neighboursForX, p, sides, x, y, _ref; - neighbours = []; - for (x in abscissas) { - sides = abscissas[x]; - if (sides[side].length === 0) { - continue; - } - neighboursForX = {}; - while (sides[side].length > 0) { - p = sides[side].pop(); - foundNeighbour = false; - for (y in neighboursForX) { - neighbourhood = neighboursForX[y]; - if ((+y - h <= (_ref = p.y) && _ref <= +y + h)) { - neighbourhood.push(p); - foundNeighbour = true; - } - } - if (!foundNeighbour) { - neighboursForX[p.y] = [p]; - } - } - neighbours.push(neighboursForX); - } - return neighbours; - }; - offset = function(neighboursForAbscissas) { - var abs, n, neighbours, start, step, xNeighbours, y; - step = 20; - for (abs in neighboursForAbscissas) { - xNeighbours = neighboursForAbscissas[abs]; - for (y in xNeighbours) { - neighbours = xNeighbours[y]; - n = neighbours.length; - if (n === 1) { - neighbours[0].labelOffset = 0; - continue; - } - neighbours = neighbours.sort(function(a, b) { - return a.y - b.y; - }); - if (n % 2 === 0) { - start = -(step / 2) * (n / 2); - } else { - start = -(n - 1) / 2 * step; - } - neighbours.forEach(function(neighbour, i) { - return neighbour.labelOffset = start + step * i; - }); - } - } - }; - offset(getNeighbours('left')); - offset(getNeighbours('right')); - return positions; - }, - getTooltipHandlers: function(options) { - if (options.tooltip.mode === 'scrubber') { - return { - onChartHover: angular.bind(this, this.showScrubber) - }; - } else { - return { - onMouseOver: angular.bind(this, this.onMouseOver), - onMouseOut: angular.bind(this, this.onMouseOut) - }; - } - }, - styleTooltip: function(d3TextElement) { - return d3TextElement.attr({ - 'font-family': 'monospace', - 'font-size': 10, - 'fill': 'white', - 'text-rendering': 'geometric-precision' - }); - }, - addTooltips: function(svg, dimensions, axesOptions) { - var h, height, p, w, width, xTooltip, y2Tooltip, yTooltip; - width = dimensions.width; - height = dimensions.height; - width = width - dimensions.left - dimensions.right; - height = height - dimensions.top - dimensions.bottom; - w = 24; - h = 18; - p = 5; - xTooltip = svg.append('g').attr({ - 'id': 'xTooltip', - 'class': 'xTooltip', - 'opacity': 0 - }); - xTooltip.append('path').attr('transform', "translate(0," + (height + 1) + ")"); - this.styleTooltip(xTooltip.append('text').style('text-anchor', 'middle').attr({ - 'width': w, - 'height': h, - 'transform': 'translate(0,' + (height + 19) + ')' - })); - yTooltip = svg.append('g').attr({ - id: 'yTooltip', - "class": 'yTooltip', - opacity: 0 - }); - yTooltip.append('path'); - this.styleTooltip(yTooltip.append('text').attr({ - 'width': h, - 'height': w - })); - if (axesOptions.y2 != null) { - y2Tooltip = svg.append('g').attr({ - 'id': 'y2Tooltip', - 'class': 'y2Tooltip', - 'opacity': 0, - 'transform': 'translate(' + width + ',0)' - }); - y2Tooltip.append('path'); - return this.styleTooltip(y2Tooltip.append('text').attr({ - 'width': h, - 'height': w - })); - } - }, - onMouseOver: function(svg, event, axesOptions) { - this.updateXTooltip(svg, event, axesOptions.x); - if (event.series.axis === 'y2') { - return this.updateY2Tooltip(svg, event, axesOptions.y2); - } else { - return this.updateYTooltip(svg, event, axesOptions.y); - } - }, - onMouseOut: function(svg) { - return this.hideTooltips(svg); - }, - updateXTooltip: function(svg, _arg, xAxisOptions) { - var color, datum, label, series, textX, x, xTooltip, _f; - x = _arg.x, datum = _arg.datum, series = _arg.series; - xTooltip = svg.select("#xTooltip"); - xTooltip.transition().attr({ - 'opacity': 1.0, - 'transform': "translate(" + x + ",0)" - }); - _f = xAxisOptions.tooltipFormatter; - textX = _f ? _f(datum.x) : datum.x; - label = xTooltip.select('text'); - label.text(textX); - color = angular.isFunction(series.color) ? series.color(datum, series.values.indexOf(datum)) : series.color; - return xTooltip.select('path').style('fill', color).attr('d', this.getXTooltipPath(label[0][0])); - }, - getXTooltipPath: function(textElement) { - var h, p, w; - w = Math.max(this.getTextBBox(textElement).width, 15); - h = 18; - p = 5; - return 'm-' + w / 2 + ' ' + p + ' ' + 'l0 ' + h + ' ' + 'l' + w + ' 0 ' + 'l0 ' + '' + (-h) + 'l' + (-w / 2 + p) + ' 0 ' + 'l' + (-p) + ' -' + h / 4 + ' ' + 'l' + (-p) + ' ' + h / 4 + ' ' + 'l' + (-w / 2 + p) + ' 0z'; - }, - updateYTooltip: function(svg, _arg, yAxisOptions) { - var color, datum, label, series, textY, w, y, yTooltip, _f; - y = _arg.y, datum = _arg.datum, series = _arg.series; - yTooltip = svg.select("#yTooltip"); - yTooltip.transition().attr({ - 'opacity': 1.0, - 'transform': "translate(0, " + y + ")" - }); - _f = yAxisOptions.tooltipFormatter; - textY = _f ? _f(datum.y) : datum.y; - label = yTooltip.select('text'); - label.text(textY); - w = this.getTextBBox(label[0][0]).width + 5; - label.attr({ - 'transform': 'translate(' + (-w - 2) + ',3)', - 'width': w - }); - color = angular.isFunction(series.color) ? series.color(datum, series.values.indexOf(datum)) : series.color; - return yTooltip.select('path').style('fill', color).attr('d', this.getYTooltipPath(w)); - }, - updateY2Tooltip: function(svg, _arg, yAxisOptions) { - var color, datum, label, series, textY, w, y, y2Tooltip, _f; - y = _arg.y, datum = _arg.datum, series = _arg.series; - y2Tooltip = svg.select("#y2Tooltip"); - y2Tooltip.transition().attr('opacity', 1.0); - _f = yAxisOptions.tooltipFormatter; - textY = _f ? _f(datum.y) : datum.y; - label = y2Tooltip.select('text'); - label.text(textY); - w = this.getTextBBox(label[0][0]).width + 5; - label.attr({ - 'transform': 'translate(7, ' + (parseFloat(y) + 3) + ')', - 'w': w - }); - color = angular.isFunction(series.color) ? series.color(datum, series.values.indexOf(datum)) : series.color; - return y2Tooltip.select('path').style('fill', color).attr({ - 'd': this.getY2TooltipPath(w), - 'transform': 'translate(0, ' + y + ')' - }); - }, - getYTooltipPath: function(w) { - var h, p; - h = 18; - p = 5; - return 'm0 0' + 'l' + (-p) + ' ' + (-p) + ' ' + 'l0 ' + (-h / 2 + p) + ' ' + 'l' + (-w) + ' 0 ' + 'l0 ' + h + ' ' + 'l' + w + ' 0 ' + 'l0 ' + (-h / 2 + p) + 'l' + (-p) + ' ' + p + 'z'; - }, - getY2TooltipPath: function(w) { - var h, p; - h = 18; - p = 5; - return 'm0 0' + 'l' + p + ' ' + p + ' ' + 'l0 ' + (h / 2 - p) + ' ' + 'l' + w + ' 0 ' + 'l0 ' + (-h) + ' ' + 'l' + (-w) + ' 0 ' + 'l0 ' + (h / 2 - p) + ' ' + 'l' + (-p) + ' ' + p + 'z'; - }, - hideTooltips: function(svg) { - svg.select("#xTooltip").transition().attr('opacity', 0); - svg.select("#yTooltip").transition().attr('opacity', 0); - return svg.select("#y2Tooltip").transition().attr('opacity', 0); - } - }; - } -]); diff --git a/modules/ui/rw.ui/webapp/app/modules/about/about.jsx b/modules/ui/rw.ui/webapp/app/modules/about/about.jsx index 917068f..e1b5fda 100644 --- a/modules/ui/rw.ui/webapp/app/modules/about/about.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/about/about.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/carousel/carousel-react.jsx b/modules/ui/rw.ui/webapp/app/modules/components/carousel/carousel-react.jsx index ba8358c..92ed95c 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/carousel/carousel-react.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/carousel/carousel-react.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboardCardHeader.jsx b/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboardCardHeader.jsx index 0dee2be..ecd8da3 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboardCardHeader.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboardCardHeader.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboard_card.jsx b/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboard_card.jsx index 2cfdecd..04216b3 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboard_card.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/dashboard_card/dashboard_card.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/filter/filter.jsx b/modules/ui/rw.ui/webapp/app/modules/components/filter/filter.jsx index 323f6e2..60921f2 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/filter/filter.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/filter/filter.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/header/header.jsx b/modules/ui/rw.ui/webapp/app/modules/components/header/header.jsx index 64296d3..6ef7eaf 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/header/header.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/header/header.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/input-range-slider/input-range-slider.jsx b/modules/ui/rw.ui/webapp/app/modules/components/input-range-slider/input-range-slider.jsx index 3ee2a86..13a2feb 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/input-range-slider/input-range-slider.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/input-range-slider/input-range-slider.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/loading-indicator/loadingIndicator.jsx b/modules/ui/rw.ui/webapp/app/modules/components/loading-indicator/loadingIndicator.jsx index 15639ce..deb04c5 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/loading-indicator/loadingIndicator.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/loading-indicator/loadingIndicator.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/monitoring_params/monitoringParamsCarousel.jsx b/modules/ui/rw.ui/webapp/app/modules/components/monitoring_params/monitoringParamsCarousel.jsx index 9833516..8328d75 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/monitoring_params/monitoringParamsCarousel.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/monitoring_params/monitoringParamsCarousel.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/nfvi-metric-bars/nfviMetricBars.jsx b/modules/ui/rw.ui/webapp/app/modules/components/nfvi-metric-bars/nfviMetricBars.jsx index 64c5a78..028d884 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/nfvi-metric-bars/nfviMetricBars.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/nfvi-metric-bars/nfviMetricBars.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/operational-status/launchpadOperationalStatus.jsx b/modules/ui/rw.ui/webapp/app/modules/components/operational-status/launchpadOperationalStatus.jsx index 487d9f6..fcaa3ff 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/operational-status/launchpadOperationalStatus.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/operational-status/launchpadOperationalStatus.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/screen-loader/screenLoader.jsx b/modules/ui/rw.ui/webapp/app/modules/components/screen-loader/screenLoader.jsx index 3c3bb82..dab6678 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/screen-loader/screenLoader.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/screen-loader/screenLoader.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyL2Graph.jsx b/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyL2Graph.jsx index 4ea3079..7a9a12d 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyL2Graph.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyL2Graph.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyTree.jsx b/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyTree.jsx index 01c0a70..25bdbe8 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyTree.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/topology/topologyTree.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/transmit-receive/transmit-receive.jsx b/modules/ui/rw.ui/webapp/app/modules/components/transmit-receive/transmit-receive.jsx index 319247d..7dc5efa 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/transmit-receive/transmit-receive.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/transmit-receive/transmit-receive.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/components/uptime/uptime.jsx b/modules/ui/rw.ui/webapp/app/modules/components/uptime/uptime.jsx index 9e63d1a..7fd6d9f 100644 --- a/modules/ui/rw.ui/webapp/app/modules/components/uptime/uptime.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/components/uptime/uptime.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/debug/crash.jsx b/modules/ui/rw.ui/webapp/app/modules/debug/crash.jsx index ab00828..b06f160 100644 --- a/modules/ui/rw.ui/webapp/app/modules/debug/crash.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/debug/crash.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/account_sidebar/accountSidebar.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/account_sidebar/accountSidebar.jsx index 499cadc..ea89c38 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/account_sidebar/accountSidebar.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/account_sidebar/accountSidebar.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad-dashboard.html.orig b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad-dashboard.html.orig index be2a565..8608e4c 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad-dashboard.html.orig +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad-dashboard.html.orig @@ -1,3 +1,18 @@ +

Launchpad: {{ lp.managementDomainName }}

diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad.jsx index 28d3b22..045905f 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpadBreadcrumbs.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpadBreadcrumbs.jsx index a7722df..317a334 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpadBreadcrumbs.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpadBreadcrumbs.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + import React from 'react'; export default class LaunchpadBreadcrumbs extends React.Component { diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCard.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCard.jsx index 2e011ca..2438290 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCard.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCard.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardCloudAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardCloudAccount.jsx index 3a83e32..cbc167b 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardCloudAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardCloudAccount.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardMgmtInterfaces.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardMgmtInterfaces.jsx index ea035b8..abca513 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardMgmtInterfaces.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadCardMgmtInterfaces.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadControls.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadControls.jsx index 6ab1b17..e8fc03e 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadControls.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadControls.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadHeader.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadHeader.jsx index 15c63ce..4438ba1 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadHeader.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadHeader.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadNSInfo.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadNSInfo.jsx index 75083e5..24387a5 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadNSInfo.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/launchpadNSInfo.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/nsrConfigPrimitives.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/nsrConfigPrimitives.jsx index b5932b3..1745215 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/nsrConfigPrimitives.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_card/nsrConfigPrimitives.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_cloud_account/launchpadCloudAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_cloud_account/launchpadCloudAccount.jsx index f415e7a..a539efc 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_cloud_account/launchpadCloudAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_cloud_account/launchpadCloudAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/configAgentAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/configAgentAccount.jsx index b4b5559..d8fa4ff 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/configAgentAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/configAgentAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/launchpadConfigAgentAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/launchpadConfigAgentAccount.jsx index 60313dd..71456fe 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/launchpadConfigAgentAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_config_agent_account/launchpadConfigAgentAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/launchpadSdnAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/launchpadSdnAccount.jsx index b063fea..ec2c043 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/launchpadSdnAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/launchpadSdnAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/sdnAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/sdnAccount.jsx index cf9f9fa..d4c2b91 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/sdnAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/launchpad_sdn_account/sdnAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/monitoring-params-filter.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/monitoring-params-filter.jsx index 4d91344..bd997d9 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/monitoring-params-filter.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/monitoring-params-filter.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/catalogItems.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/catalogItems.jsx index 426a903..69a3afa 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/catalogItems.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/catalogItems.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkService.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkService.jsx index 6bf76be..cbe18a3 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkService.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkService.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkServiceSource.js.orig b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkServiceSource.js.orig index e439071..15cb987 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkServiceSource.js.orig +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/launchNetworkServiceSource.js.orig @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/selectDescriptor.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/selectDescriptor.jsx index 16abafc..e4d16de 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/selectDescriptor.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/selectDescriptor.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/specifySLAParameters.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/specifySLAParameters.jsx index a577003..b9d76cd 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/specifySLAParameters.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/network_service_launcher/specifySLAParameters.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordCard.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordCard.jsx index 11bfd81..2aab2d0 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordCard.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordCard.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordDetails.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordDetails.jsx index 5303e10..865d4e2 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordDetails.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordDetails.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordNavigator.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordNavigator.jsx index 4a1995a..f393580 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordNavigator.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordNavigator.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordView.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordView.jsx index bab9f28..843e6d6 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordView.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/recordViewer/recordView.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/detailView.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/detailView.jsx index 5c7caa8..0d83027 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/detailView.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/detailView.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + import React from 'react'; import LoadingIndicator from '../../components/loading-indicator/loadingIndicator.jsx'; import DashboardCard from '../../components/dashboard_card/dashboard_card.jsx'; diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/topologyL2View.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/topologyL2View.jsx index 1d9f425..a39851a 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/topologyL2View.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyL2View/topologyL2View.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyView/topologyView.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyView/topologyView.jsx index 5c4c182..1d7bd2e 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyView/topologyView.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/topologyView/topologyView.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCard.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCard.jsx index 77e9919..32de287 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCard.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCard.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCardNfviMetrics.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCardNfviMetrics.jsx index 4ac3286..8838e8c 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCardNfviMetrics.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrCardNfviMetrics.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrView.jsx b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrView.jsx index 2de4792..d2bdd59 100644 --- a/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrView.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/launchpad/vnfr/vnfrView.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/login/login.jsx b/modules/ui/rw.ui/webapp/app/modules/login/login.jsx index 2397158..c052ab4 100644 --- a/modules/ui/rw.ui/webapp/app/modules/login/login.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/login/login.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/account_sidebar/accountSidebar.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/account_sidebar/accountSidebar.jsx index c04cce7..5ee91aa 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/account_sidebar/accountSidebar.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/account_sidebar/accountSidebar.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + import React from 'react'; import './accountSidebar.scss'; import DashboardCard from '../../components/dashboard_card/dashboard_card.jsx'; diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccount.jsx index af57444..f5b4d0a 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccountWrapper.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccountWrapper.jsx index b156853..f422ec4 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccountWrapper.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/cloud_account/cloudAccountWrapper.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/managementDomain.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/managementDomain.jsx index f5191e6..46eea98 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/managementDomain.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/managementDomain.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCard.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCard.jsx index b78e857..c6815ab 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCard.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCard.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCardHeader.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCardHeader.jsx index 60b703f..1533a70 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCardHeader.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/management_domain/management_domain_card/managementDomainCardHeader.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/missionControlDashboard.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/missionControlDashboard.jsx index 2e9e343..508bac4 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/missionControlDashboard.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/missionControlDashboard.jsx @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/pool/pool.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/pool/pool.jsx index eac1fee..7e35333 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/pool/pool.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/pool/pool.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + import React from 'react/addons'; import AppHeader from '../../components/header/header.jsx'; var poolStore = require('./poolStore.js') diff --git a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/sdn_account/sdnAccount.jsx b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/sdn_account/sdnAccount.jsx index 6349a93..d234702 100644 --- a/modules/ui/rw.ui/webapp/app/modules/missioncontrol/sdn_account/sdnAccount.jsx +++ b/modules/ui/rw.ui/webapp/app/modules/missioncontrol/sdn_account/sdnAccount.jsx @@ -1,3 +1,19 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ + /* * * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/accents/corners.less b/modules/ui/rw.ui/webapp/public/assets/less/accents/corners.less index 65c4084..20e76f0 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/accents/corners.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/accents/corners.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/accents/states.less b/modules/ui/rw.ui/webapp/public/assets/less/accents/states.less index 279ccc2..61b8dd6 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/accents/states.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/accents/states.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/base/palette.less b/modules/ui/rw.ui/webapp/public/assets/less/base/palette.less index 1d5aecf..29bf02b 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/base/palette.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/base/palette.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/base/type.less b/modules/ui/rw.ui/webapp/public/assets/less/base/type.less index 1be4973..b9f8f5a 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/base/type.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/base/type.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/base/utils.less b/modules/ui/rw.ui/webapp/public/assets/less/base/utils.less index 6e40bc8..775387e 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/base/utils.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/base/utils.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/base/vars.less b/modules/ui/rw.ui/webapp/public/assets/less/base/vars.less index dcd3059..401cc42 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/base/vars.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/base/vars.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/components/config-viewer.less b/modules/ui/rw.ui/webapp/public/assets/less/components/config-viewer.less index b331e98..f52ddad 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/components/config-viewer.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/components/config-viewer.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/components/dropdowns.less b/modules/ui/rw.ui/webapp/public/assets/less/components/dropdowns.less index 11c4f01..e85f77e 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/components/dropdowns.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/components/dropdowns.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/components/fleet-card.less b/modules/ui/rw.ui/webapp/public/assets/less/components/fleet-card.less index 4b9cd13..43028e7 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/components/fleet-card.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/components/fleet-card.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/components/nav-panels.less b/modules/ui/rw.ui/webapp/public/assets/less/components/nav-panels.less index 0048bd1..218b7b1 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/components/nav-panels.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/components/nav-panels.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/components/progress-bars.less b/modules/ui/rw.ui/webapp/public/assets/less/components/progress-bars.less index 141f969..d8c4e47 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/components/progress-bars.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/components/progress-bars.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/controls/buttons.less b/modules/ui/rw.ui/webapp/public/assets/less/controls/buttons.less index f076b90..c504e27 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/controls/buttons.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/controls/buttons.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/controls/slider.less b/modules/ui/rw.ui/webapp/public/assets/less/controls/slider.less index acbc1b8..2fddc06 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/controls/slider.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/controls/slider.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/controls/splitter.less b/modules/ui/rw.ui/webapp/public/assets/less/controls/splitter.less index c03efae..e59702d 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/controls/splitter.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/controls/splitter.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/controls/step-control.less b/modules/ui/rw.ui/webapp/public/assets/less/controls/step-control.less index 18cccb1..80e0b07 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/controls/step-control.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/controls/step-control.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/controls/toggle-control.less b/modules/ui/rw.ui/webapp/public/assets/less/controls/toggle-control.less index 801ad66..287c646 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/controls/toggle-control.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/controls/toggle-control.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/core.less b/modules/ui/rw.ui/webapp/public/assets/less/core.less index 3ec6b92..405805d 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/core.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/core.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/launchpad/launchpad-dashboard.less b/modules/ui/rw.ui/webapp/public/assets/less/launchpad/launchpad-dashboard.less index e88a3a2..88cfd1c 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/launchpad/launchpad-dashboard.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/launchpad/launchpad-dashboard.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/layout/app-body.less b/modules/ui/rw.ui/webapp/public/assets/less/layout/app-body.less index e49feaa..aaa517d 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/layout/app-body.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/layout/app-body.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/layout/footer.less b/modules/ui/rw.ui/webapp/public/assets/less/layout/footer.less index cff92e6..72dad35 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/layout/footer.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/layout/footer.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/layout/header.less b/modules/ui/rw.ui/webapp/public/assets/less/layout/header.less index f5b1538..38a92f7 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/layout/header.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/layout/header.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/layout/layout.less b/modules/ui/rw.ui/webapp/public/assets/less/layout/layout.less index 3953992..ef09550 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/layout/layout.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/layout/layout.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/login.less b/modules/ui/rw.ui/webapp/public/assets/less/login.less index 6893276..b90c081 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/login.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/login.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/mixins/flexbox.less b/modules/ui/rw.ui/webapp/public/assets/less/mixins/flexbox.less index 58857f2..87e4664 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/mixins/flexbox.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/mixins/flexbox.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/create-fleet.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/create-fleet.less index 61a4b37..337a7b3 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/create-fleet.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/create-fleet.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/launchpad.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/launchpad.less index 01bcdb8..fdbca71 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/launchpad.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/launchpad.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-dash.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-dash.less index 4d5b01f..e7200d0 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-dash.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-dash.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-so.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-so.less index 38302fc..dc8a9cb 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-so.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-so.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vim.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vim.less index 2d708aa..9593002 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vim.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vim.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vnf.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vnf.less index ab42366..05cd555 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vnf.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/viewport-vnf.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/screens/wag.less b/modules/ui/rw.ui/webapp/public/assets/less/screens/wag.less index 6bc4abb..f9d966f 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/screens/wag.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/screens/wag.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/slider.less b/modules/ui/rw.ui/webapp/public/assets/less/slider.less index b27c3ad..4f1879c 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/slider.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/slider.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/modules/ui/rw.ui/webapp/public/assets/less/temp-png.less b/modules/ui/rw.ui/webapp/public/assets/less/temp-png.less index ab0e40a..7372dfd 100644 --- a/modules/ui/rw.ui/webapp/public/assets/less/temp-png.less +++ b/modules/ui/rw.ui/webapp/public/assets/less/temp-png.less @@ -1,3 +1,18 @@ +/* + * Copyright 2016 RIFT.IO 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. + */ /* * diff --git a/rift-bashrc b/rift-bashrc index 6078acf..98405a1 100644 --- a/rift-bashrc +++ b/rift-bashrc @@ -1,8 +1,19 @@ #!/bin/bash - +# Copyright 2016 RIFT.IO 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. # # - # Define the root and workspace paths by the location of this script, which must # be at the top level of the repository. export RIFT_WORKSPACE=$(basename $RIFT_ROOT) diff --git a/rift-prompt b/rift-prompt index 74cad61..a44b635 100644 --- a/rift-prompt +++ b/rift-prompt @@ -1,8 +1,19 @@ #!/bin/bash - -# # - +# Copyright 2016 RIFT.IO 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. +# # # These functions can be used to create an informative prompt for your shell. If # you are over-riding the PROMPT_COMMAND in your .bashrc file, one approach you diff --git a/rift-shell b/rift-shell index 78bf3b1..810cf76 100755 --- a/rift-shell +++ b/rift-shell @@ -1,5 +1,18 @@ #!/bin/bash - +# +# Copyright 2016 RIFT.IO 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. # # diff --git a/rift_env.py b/rift_env.py index c0845bb..d178f2e 100644 --- a/rift_env.py +++ b/rift_env.py @@ -364,4 +364,4 @@ def main(argv=sys.argv[1:]): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/scripts/vm_image/mkvmimg b/scripts/vm_image/mkvmimg index e3dd94e..36cb3c1 100755 --- a/scripts/vm_image/mkvmimg +++ b/scripts/vm_image/mkvmimg @@ -1,8 +1,19 @@ #!/bin/bash - +# +# +# Copyright 2016 RIFT.IO 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. # # 12-24-2014 -- JLM # removing the naming system. We will be only be using one set of flags from here on out diff --git a/scripts/vm_image/riftware-release.repo b/scripts/vm_image/riftware-release.repo index 611f685..cab9375 100644 --- a/scripts/vm_image/riftware-release.repo +++ b/scripts/vm_image/riftware-release.repo @@ -1,4 +1,18 @@ # +# Copyright 2016 RIFT.IO 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. +# # RIFT.ware 4.1 # [RIFT.ware-4.1] -- 2.25.1