idnits 2.17.1 draft-birkholz-sacm-yang-content-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 72 instances of too long lines in the document, the longest one being 66 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (July 19, 2017) is 2472 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-11) exists of draft-ietf-mile-xmpp-grid-03 == Outdated reference: A later version (-26) exists of draft-ietf-netconf-subscribed-notifications-03 == Outdated reference: A later version (-25) exists of draft-ietf-netconf-yang-push-07 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 SACM Working Group H. Birkholz 3 Internet-Draft Fraunhofer SIT 4 Intended status: Standards Track N. Cam-Winget 5 Expires: January 20, 2018 Cisco Systems 6 July 19, 2017 8 YANG subscribed notifications via SACM Statements 9 draft-birkholz-sacm-yang-content-00 11 Abstract 13 This document summarizes the data model designed at the IETF 99 14 Hackathon and is intended to grow in to a definition of general XML 15 SACM statements (and later JSON and CBOR, respectively) for virtually 16 every kind of Content Element (e.g. software identifiers, assessment 17 guidance/results, ECA Policy rules, VDD, etc.). The SACM Statement 18 data structure is based on the Information Element (IE) definitions 19 provided by the SACM Information Model. The initial Content Element 20 type transferred are YANG Subscribed Notification acquired via YANG 21 push. In combination with the Origin Metadata Annotation defined in 22 draft-ietf-netmod-revised-datastores the data model defined in this 23 document will ultimately be able to express collected endpoint 24 characteristics, imperative guidance that define and orchestrate 25 assessment instructions, and also the declarative guidance for 26 endpoint attributes. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at http://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on January 20, 2018. 45 Copyright Notice 47 Copyright (c) 2017 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Requirements notation . . . . . . . . . . . . . . . . . . . . 3 64 3. Brokering of YANG push telemetry via SACM statements . . . . 3 65 4. Encapsulation of YANG notifications in SACM content-elements 3 66 4.1. Enumeration definition for content-type . . . . . . . . . 4 67 4.2. Element definition for content-metadata . . . . . . . . . 4 68 4.3. Definition of the yang-output-metadata element included 69 in content-metadata . . . . . . . . . . . . . . . . . . . 5 70 5. SACM Component Composition . . . . . . . . . . . . . . . . . 7 71 6. IANA considerations . . . . . . . . . . . . . . . . . . . . . 7 72 7. Security Considerations . . . . . . . . . . . . . . . . . . . 7 73 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 74 9. Change Log . . . . . . . . . . . . . . . . . . . . . . . . . 7 75 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 7 76 11. Normative References . . . . . . . . . . . . . . . . . . . . 7 77 Appendix A. Minimal SACM Statement Definition for YANG Output . 8 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 80 1. Introduction 82 YANG modules are a powerful established tool to provide endpoint 83 attributes (IE) with well-defined semantics. YANG push 84 [I-D.ietf-netconf-yang-push] and the corresponding YANG subscribed 85 notification [I-D.ietf-netconf-subscribed-notifications] drafts make 86 use of these modules to create streams of notifications (telemetry) 87 providing SACM content on the data plane. Correspondingly, filter 88 expressions used in the context of YANG subscriptions constitute SACM 89 content that is imperative guidance consumed by SACM components on 90 the management plane. 92 The SACM component illustrated in this draft incorporates a YANG Push 93 client function and an xmpp-grid publisher function. The output of 94 the YANG Push client function is encapsulated in a SACM Content 95 Element envelope, which is again encapsulated in a SACM statement 96 envelope. The corresponding SACM statements are published via the 97 xmpp-grid publisher function into a SACM Domain. 99 2. Requirements notation 101 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 102 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 103 "OPTIONAL" in this document are to be interpreted as described in RFC 104 2119, BCP 14 [RFC2119]. 106 3. Brokering of YANG push telemetry via SACM statements 108 Every SACM content is published into a SACM domain using a statement 109 envelope/encapsulation. The general structure of a Statement is 110 based in the Information Element defintion in 111 [I-D.ietf-sacm-information-model] and can be summarized as follows: 113 o a statement encapsulates statement-metadata and content-elements 115 o a content-element encapsulates content-metadata and SACM content 117 In the scope of this document, only one type of SACM content is 118 covered: YANG output. Correspondingly, only the minimal required 119 structure of statements, statement-metadata, content-elements, and 120 content-metadata are defined. A complete XML schema definition of 121 this minimal statement can be found in Appendix A. 123 4. Encapsulation of YANG notifications in SACM content-elements 125 A YANG notification is associated with a set of YANG specific 126 metadata. Hence, a YANG notification published to a SACM Domain MUST 127 be encapsulated with its corresponding metadata in a Content Element 128 as defined below. 130 YANG output that is SACM content is represented as an element 131 defintion included in the content choice of the content-element. 133 134 135 136 137 138 139 141 142 143 144 146 4.1. Enumeration definition for content-type 148 One occurrence of the yang-output element MUST be instantiated in the 149 content-metadata element if YANG push output is to be transferred. 150 Also, the content-type must be set to the enumeration value "yang- 151 output", respectively. 153 In general, the list of content-type enumerations is including every 154 subject as defined in the SACM Information Model. For the scope of 155 this document, the list of potential content is reduced to "yang- 156 output" only. 158 159 160 161 162 164 165 166 168 4.2. Element definition for content-metadata 170 The list of optional elements included in content-metadata will 171 incorporate any every potential metadata type. For the scope of this 172 document, the list of elements is also limited to the minimal 173 required set of metadata elements and the yang-output metadata 174 element to support the encapsulation of NETCONF subscribed 175 notifications and YANG query result. As defined above, one 176 occurrence of the yang-output element has to be included in the 177 content-metadata element. 179 The general content-metadata elements are illustrated in the 180 Appendix A. 182 183 184 185 186 187 188 189 190 191 192 193 194 195 197 4.3. Definition of the yang-output-metadata element included in 198 content-metadata 200 The composition of metadata that can be associated with a XML NETCONF 201 result depends on multiple factors: 203 o acquisition method: query / subscription 205 o encoding: XML / JSON / CBOR 207 o subscription interval: periodic / on-change 209 o filter-type: xpath / subtree 211 Additionally, the actual filter expression (or in future iterations 212 of this work a referencing label, such as a URI, UUID or other 213 composed identifier) has to be included in the content-metadata. 215 216 217 218 219 220 221 222 223 224 225 227 228 229 230 231 232 233 234 235 236 238 239 240 242 243 244 246 247 248 249 250 251 252 254 255 256 257 258 5. SACM Component Composition 260 A SACM Component able to process YANG subscribed notifications 261 requires at least two functions: 263 o a YANG push client function [I-D.ietf-netconf-yang-push], 264 [I-D.ietf-netconf-subscribed-notifications] 266 o an xmpp-grid provider function [I-D.ietf-mile-xmpp-grid] 268 Orchestattion of functions inside a component, their discovery as 269 capabiliites and the internal communication of SACM content inside a 270 SACM component is out of scope of this document for now. 272 6. IANA considerations 274 This document includes requests to IANA. 276 7. Security Considerations 278 TBD 280 8. Acknowledgements 282 Christoph Vigano, Guangying Zheng, Eric Voit, Alexander Clemm 284 9. Change Log 286 First version -00 288 10. Contributors 290 11. Normative References 292 [I-D.ietf-mile-xmpp-grid] 293 Cam-Winget, N., Appala, S., and S. Pope, "Using XMPP 294 Protocol and its Extensions for Use with IODEF", draft- 295 ietf-mile-xmpp-grid-03 (work in progress), July 2017. 297 [I-D.ietf-netconf-subscribed-notifications] 298 Voit, E., Clemm, A., Prieto, A., Nilsen-Nygaard, E., and 299 A. Tripathy, "Custom Subscription to Event Notifications", 300 draft-ietf-netconf-subscribed-notifications-03 (work in 301 progress), July 2017. 303 [I-D.ietf-netconf-yang-push] 304 Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen- 305 Nygaard, E., Bierman, A., and B. Lengyel, "Subscribing to 306 YANG datastore push updates", draft-ietf-netconf-yang- 307 push-07 (work in progress), June 2017. 309 [I-D.ietf-sacm-information-model] 310 Waltermire, D., Watson, K., Kahn, C., Lorenzin, L., Cokus, 311 M., Haynes, D., and H. Birkholz, "SACM Information Model", 312 draft-ietf-sacm-information-model-10 (work in progress), 313 April 2017. 315 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 316 Requirement Levels", BCP 14, RFC 2119, 317 DOI 10.17487/RFC2119, March 1997, 318 . 320 Appendix A. Minimal SACM Statement Definition for YANG Output 322 The definitions of statements, statement-metadata, content-element, 323 and content-metadata are provided by the SACM Information Model 324 [I-D.ietf-sacm-information-model]. 326 Due to the stripping down of content-elements to YANG output, the 327 enumerations still included in the relationship type are not able to 328 point to other content actually. 330 331 332 336 337 338 339 340 341 342 343 344 345 347 348 349 350 352 353 355 356 358 359 360 362 363 364 366 367 368 370 371 372 374 375 376 377 378 379 381 382 383 384 385 386 388 389 390 391 392 393 394 395 396 398 399 400 401 402 403 404 405 406 407 409 410 411 412 413 414 415 416 417 418 420 421 422 424 425 426 427 428 429 430 431 432 433 435 436 437 438 439 440 441 442 443 444 446 447 449 451 452 453 455 456 457 458 459 460 461 463 464 465 467 468 469 470 471 472 473 474 475 477 478 479 481 482 483 485 486 487 489 490 491 493 494 495 496 497 498 500 501 502 504 505 506 508 509 510 512 513 514 515 516 517 518 519 521 522 523 524 525 526 528 529 530 531 532 533 534 535 536 538 539 540 541 542 543 544 545 546 547 548 549 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 568 570 571 572 573 574 575 576 577 578 579 580 581 583 584 585 587 588 589 590 591 593 595 596 597 599 600 601 603 604 605 606 607 608 610 611 612 614 615 616 618 619 620 622 623 624 626 627 628 629 631 632 633 635 636 637 638 639 640 641 642 643 644 646 647 648 649 650 651 653 654 655 656 657 658 659 661 662 663 664 665 666 667 669 670 671 672 673 674 675 676 677 679 680 681 682 683 684 686 687 688 690 691 692 694 695 696 698 699 700 701 702 703 704 705 707 708 709 710 711 712 713 714 715 716 717 718 720 721 722 724 725 726 728 729 730 732 733 734 735 736 737 738 739 740 741 742 744 745 746 747 748 749 750 752 753 754 755 756 757 758 759 760 761 763 764 765 767 768 769 771 772 773 774 775 776 777 778 780 781 782 783 784 785 787 788 789 791 792 793 794 795 796 797 798 799 800 802 803 804 806 807 808 810 811 812 813 814 815 816 817 819 820 821 822 823 824 826 827 828 830 831 832 834 835 836 838 839 840 842 843 844 845 846 847 848 850 851 852 853 854 855 856 857 859 860 861 862 863 864 865 866 867 868 869 870 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 893 894 895 896 897 898 899 901 902 903 904 905 906 908 909 910 912 913 914 916 917 918 920 921 922 924 925 926 927 928 929 931 932 933 935 936 937 939 940 941 942 943 944 945 946 948 949 950 951 952 953 954 955 956 958 959 960 962 963 964 966 967 968 970 971 972 974 975 976 977 978 979 981 982 983 985 986 987 988 989 990 991 992 993 994 995 996 997 999 1000 1001 1002 1003 1004 1006 1007 1008 1010 1011 1012 1014 1015 1016 1017 1018 1019 1020 1022 1023 1024 1026 1027 1028 1030 1031 1032 1034 1035 1036 1038 1039 1040 1042 1043 1044 1045 1046 1047 1048 1050 1051 1052 1053 1054 1055 1057 1058 1059 1060 1061 1062 1063 1064 1066 1067 1068 1069 1070 1072 1073 1075 1076 1077 1079 1080 1081 1083 1084 1085 1086 1087 1089 1090 1091 1093 1094 1095 1097 1098 1099 1100 1101 1102 1103 1105 1106 1107 1108 1109 1110 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1123 1124 1125 1127 1128 1129 1131 1132 1133 1135 1136 1137 1139 1140 1141 1143 1144 1145 1147 1148 1149 1151 1152 1153 1154 1155 1156 1158 1159 1160 1162 1163 1164 1166 1167 1168 1169 1171 1172 1173 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1197 1198 1199 1201 1202 1203 1205 1206 1207 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1224 1225 1226 1227 1228 1229 1230 1232 1233 1234 1235 1236 1238 1239 1240 1241 1242 1243 1244 1245 1246 1248 1249 1250 1251 1252 1253 1254 1256 Authors' Addresses 1257 Henk Birkholz 1258 Fraunhofer SIT 1259 Rheinstrasse 75 1260 Darmstadt 64295 1261 Germany 1263 Email: henk.birkholz@sit.fraunhofer.de 1265 Nancy Cam-Winget 1266 Cisco Systems 1267 3550 Cisco Way 1268 San Jose, CA 95134 1269 USA 1271 Email: ncamwing@cisco.com