etsi-nfv-ns.yang 49.2 KB
Newer Older
1001
1002
               information element";

1003
1004
            leaf id {
              type leafref {
1005
                path "../../../affinity-or-anti-affinity-group/id";
1006
1007
1008
1009
1010
              }
            }
          }

          container max-bitrate-requirements {
1011
1012
1013
1014
1015
1016
            description
              "Specifies the maximum bitrate requirements for a VL
               instantiated according to this profile.";
            reference
              "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
               information element";
1017
            uses link-bitrate-requirements;
1018
1019
          }
          container min-bitrate-requirements {
1020
1021
1022
1023
1024
1025
            description
              "Specifies the minimum bitrate requirements for a VL
               instantiated according to this profile.";
            reference
              "GS NFV IFA014: Section 6.3.4.2 VirtualLinkProfile
               information element";
1026
            uses link-bitrate-requirements;
1027
1028
1029
1030
          }
        }

        list scaling-aspect {
1031
1032
1033
1034
1035
1036
1037
1038
          key "id";

          description
            "The scaling aspects supported by this DF of the NS.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element";

          leaf id {
1039
            type string;
1040
1041
1042
1043
1044
1045
1046
            description
              "Identifier of this NsScalingAspect information element.
               It uniquely identifies the NS scaling aspect in an
               NSD.";
            reference
              "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect
               information element";
1047
          }
1048

1049
1050
          leaf name {
            type string;
1051
1052
1053
1054
1055
1056
            description
              "Provides a human readable name of the NS scaling
               aspect.";
            reference
              "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect
               information element";
1057
          }
1058

1059
1060
          leaf description {
            type string;
1061
1062
1063
1064
1065
1066
            description
              "Provides a human readable description of the NS
               scaling aspect.";
            reference
              "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect
               information element";
1067
          }
1068

1069
1070
          leaf scaling-level {
            type leafref {
1071
              path "../../ns-instantiation-level/id";
1072
            }
1073
1074
1075
1076
1077
            description
              "Describes the details of an NS level.";
            reference
              "GS NFV IFA014: Section 6.7.2.2 NsScalingAspect
               information element";
1078
1079
1080
1081
1082
1083
          }
        }

        list affinity-or-anti-affinity-group {
          key "id";

1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
          description
            "Specifies affinity or anti-affinity relationship
             applicable between the VNF instances created using
             different VNFDs, the Virtual Link instances created
             using different NsVirtualLinkDescs or the nested NS
             instances created using different NSDs in the same
             affinity or anti-affinity group.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element";

1094
1095
          leaf id {
            type string;
1096
1097
1098
1099
1100
1101
            description
              "Identifier of Identifier of this 
               AffinityOrAntiAffinityGroup information element.";
            reference
              "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
               information element";
1102
1103
1104
1105
          }

          leaf affinity-type {
            mandatory true;
1106
            type affinity-type;
1107
1108
1109
1110
1111
1112
            description
              "Specifies the type of relationship that the members of
               the group have: 'affinity' or 'anti-affinity.'";
            reference
              "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
               information element";
1113
1114
1115
1116
          }

          leaf affinity-scope {
            mandatory true;
1117
            type affinity-scope;
1118
1119
1120
1121
1122
1123
            description
              "Specifies the scope of the affinity or anti-affinity
               relationship e.g. a NFVI node, an NFVI PoP, etc.";
            reference
              "GS NFV IFA014: Section 6.3.5.2 AffinityOrAntiAffinity
               information element";
1124
1125
1126
          }
        }

1127
        list ns-instantiation-level {
1128
1129
          min-elements 1;
          key "id";
1130
1131
1132
1133
1134
1135
1136
1137

          description
            "Describes the details of an NS level.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element
             GS NFV IFA014: Section 6.7.2.2 NsScaling information
             element";

1138
1139
          leaf id {
            type string;
1140
1141
1142
1143
1144
1145
            description
              "Identifier of this NsLevel information element. It
               uniquely identifies an NS level within the DF.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
               element";
1146
1147
1148
1149
          }

          leaf description {
            type string;
1150
1151
1152
1153
1154
            description
              "Human readable description of the NS level.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
               element";
1155
1156
1157
          }

          list vnf-to-level-mapping {
1158
1159
1160
1161
1162
1163
1164
1165
1166
            key "vnf-profile-id";

            description
              "Specifies the profile of the VNFs involved in this NS
               level and, for each of them, the required number of
               instances.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
               element";
1167

1168
            leaf vnf-profile-id {
1169
              type leafref {
1170
                path "../../../vnf-profile/id";
1171
              }
1172
1173
1174
1175
1176
1177
              description
                "Identifies the profile to be used for a VNF
                 involved in an NS level.";
              reference
                "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping
                 information element";
1178
1179
1180
            }

            leaf number-of-instances {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1181
              default 1;
1182
              type uint32;
1183
1184
1185
1186
1187
1188
              description
                "Specifies the number of VNF instances required for
                 an NS level.";
              reference
                "GS NFV IFA014: Section 6.7.4.2 VnfToLevelMapping
                 information element";
1189
1190
1191
            }
          }

1192
1193
1194
1195
1196
1197
1198
1199
1200
          list virtual-link-to-level-mapping {
            key "virtual-link-profile-id";

            description
              "Specifies the profile of the VLs involved in this NS
               level and, for each of them, the needed bandwidth.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
               element";
1201

1202
            leaf virtual-link-profile-id {
1203
              type leafref {
1204
                path "../../../virtual-link-profile/id";
1205
              }
1206
1207
1208
1209
1210
1211
              description
                "Identifies the profile to be used for a VL involved
                 in an NS level.";
              reference
                "GS NFV IFA014: Section 6.7.5.2
                 VirtualLinkToLevelMapping information element";
1212
1213
            }

1214
            uses link-bitrate-requirements;
1215
1216
1217
          }

          list ns-to-level-mapping {
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
            key "ns-profile-id";

            description
              "Specifies the profile of the nested NSs involved in
               this NS level and, for each of them, the required
               number of instances.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
               element";

            leaf ns-profile-id {
1229
              type leafref {
1230
                path "../../../ns-profile/id";
1231
              }
1232
1233
1234
1235
1236
1237
              description
                "Identifies the profile to be used for a nested NS
                 involved in the NS level.";
              reference
                "GS NFV IFA014: Section 6.7.6.2 NsToLevel information
                 element";
1238
1239
1240
            }

            leaf number-of-instances {
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1241
              default 1;
1242
              type uint32;
1243
1244
1245
1246
1247
1248
              description
                "Specifies the number of nested NS instances required
                 for the NS scale level.";
              reference
                "GS NFV IFA014: Section 6.7.6.2 NsToLevel information
                 element";
1249
1250
            }
          }
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266

          must "(count(vnf-to-level-mapping) + " +
            "count(virtual-link-to-level-mapping) + " +
            "count(ns-to-level-mapping)) > 0" {
            error-message "At least one attribute between " +
              "vnf-to-level-mapping, " +
              "virtual-link-to-level-mapping and " +
              "ns-to-level-mapping shall be present.";
            description
              "At least one attribute between vnfToLevelMapping,
              vlirtualLinkToLevelMapping and nsToLevelMapping shall
                be present.";
            reference
              "GS NFV IFA014: Section 6.3.9.2 NsLevel information
              element";
          }
1267
1268
1269
1270
        }

        leaf default-instantiation-level {
          type leafref {
1271
            path "../ns-instantiation-level/id";
1272
          }
1273
1274
1275
1276
1277
1278
          description
            "Identifies the NS level which represents the default NS
             instantiation level for this DF. It shall be present if
             there are multiple 'nsIinstantiationLevel' entries.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element";
1279
1280
1281
        }

        list ns-profile {
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
          must "min-number-of-instances <= max-number-of-instances" {
            error-message
              "min-number-of-instances has to be less than or equal" +
              "max-number-of-instances.";
          }
          must "boolean(../../nested-nsd-id[.=current()/nsd-id])" {
            error-message "PNFDs in the profile has to be listed as a " +
              "dependency of the network service " +
              "descriptor.";
          }
          key "id";

          description
            "Specifies a NS Profile supported by this NS DF.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element";

          leaf id {
            type string;
            description
              "Identifies an NS profile.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
          }
          leaf nsd-id {
            mandatory true;
1309
            type leafref {
1310
              path "/nfv/nsd/id";
1311
            }
1312
1313
1314
1315
1316
1317
            description
              "Identifies the NSD applicable to NS instantiated
               according to this profile.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
1318
          }
1319
1320
          leaf ns-df-id {
            mandatory true;
1321
            type leafref {
1322
              path "deref(../nsd-id)/../df/id";
1323
            }
1324
1325
1326
1327
1328
1329
            description
              "Identifies the applicable network service DF within
               the scope of the NSD.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
1330
          }
1331
1332
          leaf instantiation-level-id {
            mandatory true;
1333
            type leafref {
1334
              path "deref(../ns-df-id)/../ns-instantiation-level/id";
1335
            }
1336
1337
1338
1339
1340
1341
1342
1343
            description
              "Identifies the NS level within the referenced NS DF to
               be used in the context of the parent NS instantiation.
               If not present, the default NS instantiation level as
               declared in the referenced NSD shall be used.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
1344
1345
1346
          }
          leaf min-number-of-instances {
            type uint16;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1347
            default 1;
1348
1349
1350
1351
1352
1353
1354
            description
              "Minimum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
               NsProfile.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
1355
1356
1357
          }
          leaf max-number-of-instances {
            type uint16;
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1358
            default 1;
1359
1360
1361
1362
1363
1364
1365
            description
              "Maximum number of nested NS instances based on the
               referenced NSD that is permitted to exist for this
               NsProfile.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";
1366
          }
1367
1368

          list affinity-or-anti-affinity-group-id {
1369
1370
            key "id";

1371
1372
1373
1374
1375
1376
1377
            description
              "Identifies an affinity or anti-affinity group the NSs
               created according to this NsProfile belongs to.";
            reference
              "GS NFV IFA014: Section 6.3.11.2 NsProfile information
               element";

1378
1379
            leaf id {
              type leafref {
1380
                path "../../../affinity-or-anti-affinity-group/id";
1381
1382
1383
              }
            }
          }
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397

          list virtual-link-connectivity {
            key "virtual-link-profile-id";

            leaf virtual-link-profile-id {
              type leafref {
                path "../../../virtual-link-profile/id";
              }
              description
                "Reference an NS VL profile.";
              reference
                "GS NFV IFA014: Section 6.3.7.2, NsVirutalLinkConnectivity
                 information element.";
            }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1398
1399
1400
1401
1402
1403
1404
1405
1406

            list constituent-cpd-id {
              key "constituent-base-element-id";

              description
                "Describes a connection point on a VNF/PNF or a SAP
                 which connects to virtual links instantiated from
                 the profile identified in the virtualLinkProfileId
                 attribute.";
1407
              reference
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
                "GS NFV IFA014: Section 6.3.7
                 NsVirtualLinkConnectivity information element";

              leaf constituent-base-element-id {
                type leafref {
                  path "../../../id";
                }
                description
                  "Reference to the profile of an NS constituent.";
                reference
                  "GS NFV IFA014: Section 6.4.8
                   CpdInConstituentElement information element";
              }

              leaf constituent-cpd-id {
                type leafref {
                  path "deref(../../../nsd-id)/../nfv:sapd/nfv:id";
                }
                description
                  "A reference to the descriptor of a connection point
                   attached to one of the constituent VNFs and PNFs or to
                   the descriptor of a NS SAP.";
                reference
                  "GS NFV IFA014: Section 6.4.4.2 CpdPool information
                   element";
              }
            }
	  }
	}
1437

1438
        list dependencies {
1439
          key "id";
1440
1441
1442
1443
1444
1445
1446

          description
            "Specifies the order in which instances of the VNFs and/or
             nested NSs have to be created.";
          reference
            "GS NFV IFA014: Section 6.3.2.2 NsDf information element";

1447
1448
1449
          leaf id {
            type string;
          }
1450
          choice primary-id {
1451
1452
            leaf primary-vnf-profile {
              type leafref {
1453
                path "../../vnf-profile/vnfd-id";
1454
1455
1456
1457
              }
            }
            leaf primary-ns-profile {
              type leafref {
1458
                path "../../ns-profile/nsd-id";
1459
1460
              }
            }
1461
1462
1463
1464
1465
            description
              "References a VnfProfile or NsProfile.";
            reference
              "GS NFV IFA014: Section 6.3.12.2 Dependencies
               information element";
1466
          }
1467
          choice secondary-id {
1468
1469
            leaf secondary-vnf-profile {
              type leafref {
1470
                path "../../vnf-profile/vnfd-id";
1471
1472
1473
1474
              }
            }
            leaf secondary-ns-profile {
              type leafref {
1475
                path "../../ns-profile/nsd-id";
1476
1477
              }
            }
1478
1479
1480
1481
1482
            description
              "References a VnfProfile or NsProfile.";
            reference
              "GS NFV IFA014: Section 6.3.12.2 Dependencies
               information element";
1483
1484
          }
        }
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555

        list monitored-info {
          key "id";

          leaf id {
            type string;
          }

          container vnf-indicator-info {
            leaf vnfd-id {
              type leafref {
                path "/nfv/vnfd/id";
              }
              description
                "Identifies a VNFD.";
              reference
                "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData
                 information element";
            }
            leaf vnf-indicator {
              mandatory true;
              type leafref {
                path "deref(../vnfd-id)/../indicator/id";
              }
              description
                "Identifies a VNF indicator within the VNFD.";
              reference
                "GS NFV IFA014: Section 6.2.7.2 VnfIndicatorData
                 information element";
            }
            description
              "Uniquely identifies this VNF Indicator information
               element.";
            reference
              "GS NFV IFA014: Section 6.2.6.2 MonitoredData
               information element";
          }

          // monitoringParameter in IFA014 is defined by MonitoredData
          // whereas monitoringParameter in IFA011 is defined by
          // MonitoringParameter.
          container monitoring-parameter {
            leaf id {
              type string;
              description
                "Unique identifier of this monitoring parameter
                 information element.";
              reference
                "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
                 information element";
            }

            leaf name {
              type string;
              description
                "Human readable name of the monitoring parameter.";
              reference
                "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
                 information element";
            }

            leaf performance-metric {
              mandatory true;
              type string;
              description
                "Defines the virtualised resource-related performance
                 metric.";
              reference
                "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
                 information element";
            }
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1556
1557
1558
1559

            leaf collection-period {
              type string;
              description
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1560
1561
                "An attribute that describes the periodicity at
                 which to collect the performance information.";
Mahesh Jethanandani's avatar
Mahesh Jethanandani committed
1562
1563
1564
1565
              reference
                "GS NFV IFA014: Section 6.2.8.2 MonitoringParameter
                 information element";
            }
1566
1567
          }
	}
1568
      }
1569
      uses security-parameters;
1570
1571
1572
    }
  }
}
For faster browsing, not all history is shown. View entire blame