diff options
author | Pamela Dragosh <pdragosh@research.att.com> | 2020-04-29 08:23:12 -0400 |
---|---|---|
committer | Pamela Dragosh <pdragosh@research.att.com> | 2020-05-04 12:24:24 -0400 |
commit | f65c8ff3a2db95038b3d330f0fc639d5efd83484 (patch) | |
tree | a38b15ebc7f433ffae52e9c2d55345a628cd936a /docs/pap | |
parent | e0c41c604ac6697f340bf37b137b0ca2f67143eb (diff) |
Design/api documentation
Updates and fixes.
Issue-ID: POLICY-2500
Change-Id: I2d7a0c78d57edf8bd258f685b12ae31bf6d54735
Signed-off-by: Pamela Dragosh <pdragosh@research.att.com>
Diffstat (limited to 'docs/pap')
-rw-r--r-- | docs/pap/images/PolicyImplPDPSubGroup.svg | 2 | ||||
-rw-r--r-- | docs/pap/pap.rst | 58 |
2 files changed, 60 insertions, 0 deletions
diff --git a/docs/pap/images/PolicyImplPDPSubGroup.svg b/docs/pap/images/PolicyImplPDPSubGroup.svg new file mode 100644 index 00000000..8987ed22 --- /dev/null +++ b/docs/pap/images/PolicyImplPDPSubGroup.svg @@ -0,0 +1,2 @@ +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg xmlns="http://www.w3.org/2000/svg" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="761px" height="406px" viewBox="-0.5 -0.5 761 406" content="<mxfile modified="2019-05-29T13:20:08.554Z" host="wiki.onap.org" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:67.0) Gecko/20100101 Firefox/67.0" version="10.6.3" etag="Rm5bP2sccrUGuJUsMc-9" type="atlas"><mxAtlasLibraries/><diagram id="37cad116-6517-64d4-de82-baa76c18656a" name="Page-1">5Vxbj5s6EP41eUwFmFses0m756hbaaWtdLZPFQlOsEpwZJxN0l9/bDAQsNnQDSGQtg8FX8b4m/E347HTEZhtDo/E2wbfsA/DkaH5hxGYjwxDBxOL/cNLjqLE0Ny0ZE2QL8qKghf0G4pCTZTukA/jUkOKcUjRtly4xFEEl7RU5hGC9+VmKxyWR916azGiVhS8LL0QSs3+Qz4N0lLXOmn9D0TrIBtZ10TNwlv+WhO8i8R4IwOskj9p9cbLZIn2ceD5eH9SBD6PwIxgTNOnzWEGQw5uBlva70tNbf7dBEa0SQcz7fDmhTsx9ef58yObwFZ8Hz1mmCSzgryfNgIP+wBR+LL1lrx2z8yAlQV0E7I3nT2+QUIRw3MaonXEyijmDWJK8C84wyEmiUzw4PK/rEb+bjEVLggeTorEPB4h3kBKjqyJqB3rpgBVWN1YWOG+0KCe4R6caA9kVucJq1nnsgvk2IMATw2kpQLyZbcYKpagjKWhKcDUFGBOWsDSvnMsG0LptgClI0Ep4bcuUG0yz5x0vUV4yqHvzN8oz9+S5+8opm+2MH1XZUnj18tsaIXC8MRWGLkby6XKinx7YVu20oqcGnRrUdTLGGavJxjaKmprAcPJ8DHsAKVMITdeaVaZaYC81FwFAFYbAOgSANxOpre3k1w1jRebUXV+nS023bgfFG9HWTq4AxS7wEkZ/t9PpKXrHYZaurwFuIUHqCBgyqvuah5AGbeP5z1YdVYNwH30AHLIPlgUb+gB1JH/sFDsACdTXrPTpAFDK+btIj7AiNu/HbJxHxB7WPOHkqNI69hgeTXrQna8Mw0gR9zbQKUUHKLl8d/NNlQLqWgrDrwtf4wwhefVFad5Rebl6tyRJ95CuOLjxUwUitbfed18bMsa9y3o+qZK466xAHaNxi9cNqo8FrgSh5sNEgYw8qc8x5roIeJ68L04SNaQXlYAg4AcX8XaSl5+8JdPFn89IPqatWPPaY1hqcCdOHPNcd4DN8Y7shTfJ0yaemQNadnMoZ/lfc8vOesdiAkMPYreytliFe5ihGeM2AcXbhpU/AtwrLKMdD6iW6E+WVKeOskkGRVJKQySpMQQ8ok3sw2ZUy+xDaX+W1B/ll7qia71iVtW0Ec1LYV21vU0Led8vic0zkg/JfaI0STvQGOJ0nmzM6yuoTj3DLsI8VniFVcjI+hE8F9J+xX9ThoeX7RB+5mMW9G+08K6z0K+Eu9PesUFY6usYtf9GBfYFSZwr8YElpzVm34sGkyWPI8kv+4WkESQwvhE0KJoWZE8h9sQHzdc80rBedmi3ajRHRh7jIFWCRuNT00DR6vekBsziJxKaoNB9HoG0boIHDP77wuB1BylXUogFRfSIn8oz8XjfHfoxSeM0IwQnrEfN6cCKTgR4omi29++75QoRFfkvZQxiNkGgyhSETWu5j0/k6RY45qOZ3wUgw5RlDgmitkKCCBpxxQGZwm6WT5JHOdp8y6yENaVshCpl8j9yek2tPAtP4RvudCZmApn0rMsRN3FjD/fmlb8SXWP26I/kXMQM8z0icMnjLcyuw/2NptRjeashlQM2rg3Y8kJgNnTz+mWfbsK4sGeGEonFK4to6y85uZeDnK2aMogP+484t83ysyZqLYmyoPZNnCW97AShNc+mJUOFB1p/te6A2cb0vR7coHL/mNLut2Boq2+UjIsFLvAqUEe4OqLTa9cgzOAgm+udQ3CVm55+3D5KNfNAK5B2OrLJINE8Yaspb5MMiwUu8BJsa14+jknGIfxfcdibtPfdYAWUJZ3Fd37huopqqFKk1/LN2QxXv+uJeW6GYBvcNRXzQeJ4u18g6PeFwwLxS5wkiP/bzhCFJPkqsLdZJyA9PPJhhknvY1dqiNHzWdQHqwLBpVbAB2nQxw5su7cC4NKwrjDdIijDol7sJHPFTME59HfX1Y2R7F9nNhr8dv99Hij+B8SwOf/AQ==</diagram></mxfile>"><defs/><g><rect x="160" y="95" width="120" height="310" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(190.5,102.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="59" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 60px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPGroup</div></div></foreignObject><text x="30" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPGroup</text></switch></g><rect x="170" y="305" width="100" height="90" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(179.5,312.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="170" y="125" width="100" height="80" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(179.5,132.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="190" y="165" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(201.5,173.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="180" y="155" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(191.5,163.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="195" y="355" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(206.5,363.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="185" y="345" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(196.5,353.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="175" y="335" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(186.5,343.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="170" y="215" width="100" height="80" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(179.5,222.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPSubGroup</div></div></foreignObject><text x="41" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDPSubGroup</text></switch></g><rect x="200" y="260" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(210.5,268.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="190" y="250" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(200.5,258.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="180" y="240" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(190.5,248.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><path d="M 310 95 L 426 95 L 440 109 L 440 145 L 310 145 L 310 95 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 426 95 L 426 109 L 440 109" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(312.5,96.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="126" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 126px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">All PDPs in a <i>PDPSubGroup</i> run the same <i>PolicyImpl</i></div></div></foreignObject><text x="63" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 270 145 L 310 120" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 120 243 L 180 255" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 320 195 L 426 195 L 440 209 L 440 245 L 320 245 L 320 195 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 426 195 L 426 209 L 440 209" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(322.5,196.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 116px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">The PDP running its<i> PolicyImpl</i> is the unit of scaling</div></div></foreignObject><text x="58" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 240 263 L 320 220" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 0 97.5 L 122 97.5 L 130 105.5 L 130 152.5 L 0 152.5 L 0 97.5 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 122 97.5 L 122 105.5 L 130 105.5" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(2.5,99.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="126" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 126px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A <i>PDPSubGroup</i> is a Kubernetes <b><i>Deployment</i></b></div></div></foreignObject><text x="63" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 170 145 L 130 125" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><path d="M 0 220 L 106 220 L 120 234 L 120 265 L 0 265 L 0 220 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 106 220 L 106 234 L 120 234" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(2.5,221.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="116" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 116px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDPs run as Kubernets <b><i>Pods</i></b><i><br /></i></div></div></foreignObject><text x="58" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 155 0 L 281 0 L 285 4 L 285 50 L 155 50 L 155 0 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><path d="M 281 0 L 281 4 L 285 4" fill="none" stroke="#82b366" stroke-miterlimit="10" pointer-events="none"/><g transform="translate(157.5,1.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="126" height="41" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 126px; white-space: normal; overflow-wrap: normal;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">A <i>PDPGroup</i> groups <i>PDPSubGroup</i> entities together</div></div></foreignObject><text x="63" y="27" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">[Not supported by viewer]</text></switch></g><path d="M 220 95 L 188 50" fill="none" stroke="#97d077" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="none"/><rect x="500" y="50" width="120" height="340" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(525.5,57.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="68" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 69px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">ControlLoop<br />PDPGroup</div></div></foreignObject><text x="34" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">ControlLoop<br>PDPGroup</text></switch></g><rect x="510" y="286" width="100" height="98" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(519.5,293.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">CL_Apex<br />PDPSubGroup</div></div></foreignObject><text x="41" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">CL_Apex<br>PDPSubGroup</text></switch></g><rect x="510" y="89.5" width="100" height="88" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(519.5,97.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">CL_Guard<br />PDPSubGroup</div></div></foreignObject><text x="41" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">CL_Guard<br>PDPSubGroup</text></switch></g><rect x="530" y="137" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(541.5,145.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="520" y="127" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(531.5,135.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="535" y="343.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(546.5,352.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="525" y="333.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(536.5,342.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="515" y="323.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(526.5,332.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-A</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-A</text></switch></g><rect x="510" y="185" width="100" height="93" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(519.5,192.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">CL_Drools<br />PDPSubGroup</div></div></foreignObject><text x="41" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">CL_Drools<br>PDPSubGroup</text></switch></g><rect x="540" y="242.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(550.5,251.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="530" y="232.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(540.5,241.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="520" y="222.5" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(530.5,231.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="38" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 39px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-D</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-D</text></switch></g><rect x="640" y="50" width="120" height="140" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(670.5,57.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="59" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 60px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Monitoring<br />PDPGroup</div></div></foreignObject><text x="30" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Monitoring<br>PDPGroup</text></switch></g><rect x="650" y="89.5" width="100" height="88" fill="#ffffff" stroke="#b8b8b8" pointer-events="none"/><g transform="translate(659.5,97.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="81" height="27" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 82px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">Monitoring<br />PDPSubGroup</div></div></foreignObject><text x="41" y="20" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">Monitoring<br>PDPSubGroup</text></switch></g><rect x="670" y="137" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(681.5,145.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g><rect x="660" y="127" width="60" height="30" fill="#fff2cc" stroke="#d6b656" pointer-events="none"/><g transform="translate(671.5,135.5)"><switch><foreignObject style="overflow:visible;" pointer-events="all" width="37" height="12" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; vertical-align: top; width: 38px; white-space: nowrap; overflow-wrap: normal; text-align: center;"><div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">PDP-X</div></div></foreignObject><text x="19" y="12" fill="#000000" text-anchor="middle" font-size="12px" font-family="Helvetica">PDP-X</text></switch></g></g></svg>
\ No newline at end of file diff --git a/docs/pap/pap.rst b/docs/pap/pap.rst index 964712e6..ff6aac51 100644 --- a/docs/pap/pap.rst +++ b/docs/pap/pap.rst @@ -21,6 +21,64 @@ PDP group to arbitrarily appear and disappear and for policy consistency across maintained. The PAP is responsible for controlling the state across the PDPs in a PDP group. The PAP interacts with the policy database and transfers policies to PDPs. +The unit of execution and scaling in the Policy Framework is a *PolicyImpl* entity. A *PolicyImpl* entity runs on a PDP. +As is explained above, a *PolicyImpl* entity is a *PolicyTypeImpl* implementation parameterized with a TOSCA *Policy*. + +.. image:: images/PolicyImplPDPSubGroup.svg + +In order to achieve horizontal scalability, we group the PDPs running instances of a given *PolicyImpl* entity logically +together into a *PDPSubGroup*. The number of PDPs in a *PDPSubGroup* can then be scaled up and down using Kubernetes. In +other words, all PDPs in a subgroup run the same *PolicyImpl*, that is the same policy template implementation (in +XACML, Drools, or APEX) with the same parameters. + +The figure above shows the layout of *PDPGroup* and *PDPSubGroup* entities. The figure shows examples of PDP groups for +Control Loop and Monitoring policies on the right. + +The health of PDPs is monitored by the PAP in order to alert operations teams managing policies. The PAP manages the life +cycle of policies running on PDPs. + +The table below shows the deployment methods in which *PolicyImpl* entities can be deployed to PDP Subgroups. + +========== =========================================== ============================== ================================== +**Method** **Description** **Advantages** **Disadvantages** +========== =========================================== ============================== ================================== +Cold The *PolicyImpl* (*PolicyTypeImpl* and No run time configuration Very restrictive, no run time + TOSCA *Policy*) are predeployed on the PDP. required and run time configuration of PDPs is possible. + PDP is fully configured and ready to administration is simple. + execute when started. + + PDPs register with the PAP when they + start, providing the *pdpGroup* they + have been preconfigured with. + +Warm The *PolicyTypeImpl* entity is predeployed The configuration, parameters, Administration and management is + on the PDP. A TOSCA *Policy* may be loaded and PDP group of PDPs may be required. The configuration and + at startup. The PDP may be configured or changed at run time by loading life cycle of the TOSCA policies + reconfigured with a new or updated TOSCA or updating a TOSCA *Policy* can change at run time and must be + *Policy* at run time. into the PDP. administered and managed. + + PDPs register with the PAP when they start, Support TOSCA *Policy* entity + providing the *pdpGroup* they have been life cycle managgement is + predeployed with if any. The PAP may update supported, allowing features + the TOSCA *Policy* on a PDP at any time such as *PolicyImpl* Safe Mode + after registration. and *PolicyImpl* retirement. + +Hot The *PolicyImpl* (*PolicyTypeImpl* and The policy logic, rules, Administration and management is + TOSCA *Policy*) are deployed at run time. configuration, parameters, and more complex. The *PolicyImpl* + The *PolicyImpl* (*PolicyTypeImpl* and PDP group of PDPs may be itself and its configuration and + TOSCA *Policy*) may be loaded at startup. changed at run time by loading life cycle as well as the life + The PDP may be configured or reconfigured or updating a TOSCA *Policy* cycle of the TOSCA policies can + with a new or updated *PolicyTypeImpl* and *PolicyTypeImpl* into the change at run time and must be + and/or TOSCA *Policy* at run time. PDP. administered and managed. + + PDPs register with the PAP when they Lifecycle management of TOSCA + start, providing the *pdpGroup* they have *Policy* entities and + been preconfigured with if any. The PAP may *PolicyTypeImpl* entites is + update the TOSCA *Policy* and supported, allowing features + *PolicyTypeImpl* on a PDP at any time after such as *PolicyImpl* Safe Mode + registration and *PolicyImpl* retirement. +========== =========================================== ============================== ================================== + 1 APIs ====== |