ENM CLI WHY ENM CLI? › CLI’s need to be recognized as a legitimate and often preferred way of interacting with the OSS › The power of scripting is undoubted as a form of automation and can greatly reduce OPEX PL-OSS CM Strategy Ericsson Internal | 2013-10-16 | Page 2 CLI vs NBI NBI provides API’s with extensive programmatic control External System CLI is for human users – focus is usability for humans Scripts can allow embedded CLI commands. Ericsson Internal | 2013-10-16 | Page 3 SDK Perl CM, PM, FM ENM Bash Why ENM cm cli? › Business value is generated from OSS data by providing….. – the ability for users to easily view and manipulate the data across multiple nodes simultaneously, regardless of the domain from which it originates. PL-OSS CM Strategy › Therefore, Query-Based Data Access shall be supported by ENM CM CLI. Ericsson Internal | 2013-10-16 | Page 4 Query Based Data Access › A much easier way for users to specify the data they want to operate on. › Instead of addressing objects individually via their identity (FDN), use query style criteria – Display a list of all ANR created relations for cells in tracking area 5. – Disable all ANR created relations for cells in tracking area 5. – Delete all ANR created relations for cells on node L10001 › Very significant OPEX Efficiency gains. Ericsson Internal | 2013-10-16 | Page 5 Influencers ? › Styles & Strategies – – – – PL-OSS CM Strategy BNET CLI Strategy GEN2 EM Strategy Group Function CLI Style Guide › Actual E/// CLI’s – – – – – – CM Editor (original syntax) COM CLI MOShell & AMOS NCLI Cisco CLI MML (only briefly considered) Ericsson Internal | 2013-10-16 | Page 6 CLI Comparison › How does proposed CLI Syntax Compare to existing Ericsson CLI’s? › Use Four Levels of Comparison – Compare Command Names – Compare Command Arguments & Options – Compare Command Printouts – Compare Command Capability Ericsson Internal | 2013-10-16 | Page 7 CLI comparison - Names Command Type CM Editor MOShell NCLI Cisco CLI COM CLI MML Read by ID GET GET/PRINT GET SHOW SHOW <Function Name>P Read by Criteria GET GET/PRINT GET SHOW (Regexp) SHOW N/A Modify by ID SET SET SET <just type the values> <just type the values> <Function Name>C Modify by Criteria SET SET N/A N/A N/A N/A Create by ID CREATE CREATE CREATE <just type the values> <just type the values> <Function Name>I Create by Criteria CREATE N/A N/A N/A N/A N/A Delete by ID DELETE DELETE DELETE NO NO <Function Name>E Delete by Criteria DELETE DELETE N/A N/A N/A N/A Context Dependent Optional No Required Required Required N/A Yes Yes Yes No Yes No Model Driven Ericsson Internal | 2013-10-16 | Page 8 CLI Comparison – args & options › CM Editor - GET "get" ID [CRITERIA] ID ::= ( <FDN> {";" <FDN>} ) | ( <ne-id> { ”;” <ne-id> } ) | “*” | “.” | “..” | <ne-type> | <collection> CRITERIA ::= "*" | "*.*" | ( CLASSPATHFILTER { ";" CLASSPATHFILTER } ) > get L1001 EUtranCellRelation.isHoAllowed==false Ericsson Internal | 2013-10-16 | Page 9 CLI Comparison – args & options › MOShell – GET / PRINT "get" | "lget" [<moGroup>|<moFilter>|<proxy(s)>|all] [<attributefilter>|all] [<value-filter>] "pr" | "lpr" [<moGroup>|<moFilter>|<proxy(s)>] moFilter ::= <Regular Expression for LDN/RDN> attribute-filter ::= <Regular Expression for Attribute Name> value-filter ::= <Regular Expression for Attribute Value> > get EUtranCellRelation isRemoveAllowed false > print 15 Ericsson Internal | 2013-10-16 | Page 10 CLI Comparison – args & options › NCLI - GET "get" [<moAddress> <attr 1> [...<attr n>] [-c] <childType 1> [...<childType n>] [-a] [-filter <Regular Expression for Output>] moAddress = [-g <RDN> | <RDN> | .] > get –e ( . EUtranCellRelation isHoAllowed==false ) Ericsson Internal | 2013-10-16 | Page 11 CLI Comparison – args & options › Cisco CLI - SHOW "show" <any-command> "|" "include" <Regular Expression for Output> > show ip interfaces Ericsson Internal | 2013-10-16 | Page 12 CLI Comparison – args & options › COM CLI - SHOW "show" [--recursive|-r][--verbose|-v][<RDN>][--moc|-m<moc-name>[-property|-p[,<attribute_name>]+][--condition|c[<condition>]+]][,<attribute_name>] > show –m EUtranCellRelation –c isHoAllowed==false Ericsson Internal | 2013-10-16 | Page 13 CLI Comparison printouts › CM Editor – GET Printout EUtranCellFDD neName parentId id ILL00010 ILL00010 ILL00010 ILL00009 ILL00009 ILL00009 ILL00010_7A_1 590 ILL00010_7B_1 590 ILL00010_7C_1 590 ILL00009_7A_1 590 ILL00009_7B_1 590 ILL00009_7C_1 590 1 1 1 1 1 1 Ericsson Internal | 2013-10-16 | Page 14 noOfPucchSrUsers acBarringInfoPresent tac userLabel false false false false false false 16660 16660 16660 16680 16680 16680 ILL00010_7A_1 ILL00010_7B_1 ILL00010_7C_1 ILL00009_7A_1 ILL00009_7B_1 ILL00009_7C_1 CLI Comparison Printouts › MOShell – GET & PRINT ================================================================================================= 487 Equipment=1,Subrack=MS,Slot=1,PlugInUnit=1 ================================================================================================= PlugInUnitId 1 administrativeState 1 (UNLOCKED) allowedSeqRestarts 3 (RESTARTS_WITH_WARM) availabilityStatus 0 (NO_STATUS) hwTestResult 2006-07-07 20:33:18 Others No Test Results hwTestStatus 0 (NO_TEST_RESULTS) operationalState 1 (ENABLED) piuGroupNumber 8 piuType PiuType=ROJ1192108/2_R6 productType HW reservedBy [0] = =================================================================================== Proxy MO =================================================================================== 11 Equipment=1,Subrack=MS,Slot=28,PlugInUnit=1 22 Equipment=1,Subrack=MS,Slot=27,PlugInUnit=1 35 Equipment=1,Subrack=MS,Slot=26,PlugInUnit=1 Ericsson Internal | 2013-10-16 | Page 15 CLI Comparison printouts › NCLI – GET LDN ManagedElement=1,SwManagement=1 CHILDREN ConfigurationVersion=1 ReliableProgramUniter=1 PiuType=1 ATTRIBUTES SwManagementId=(String)"SwM37“ userLabel=(String)"" END Ericsson Internal | 2013-10-16 | Page 16 CLI COMPARISON printouts › Cisco CLI – SHOW router# show buffers | exclude 0 misses Buffer elements: 398 in free list (500 max allowed) Public buffer pools: Small buffers, 104 bytes (total 50, permanent 50): 50 in free list (20 min, 150 max allowed) 551 hits, 3 misses, 0 trims, 0 created Big buffers, 1524 bytes (total 50, permanent 50): 49 in free list (5 min, 150 max allowed) Very Big buffers, 4520 bytes (total 10, permanent 10): . . . Huge buffers, 18024 bytes (total 0 permanent 0): 0 in free list (0 min, 4 max allowed) Ericsson Internal | 2013-10-16 | Page 17 CLI Comparison printouts › COM CLI – SHOW ======================================================================================== |schemaId |identifier |baseModelIdentifier |version |baseModelVersion| ======================================================================================== | 0 | ECIM_CommonLibrary | ECIM_CommonLibrary | 1.2 | 1.2 | | 1 | ComTop | ECIM_Top | 10.0 | 2.0 | | 2 | ComSecM | ECIM_Security_Management | 11.0 | 2.0 | | 3 | ComLocalAuthorization | ECIM_Local_Authorization | 10.10 | 1.2 | | 4 | ComLdapAuthentication | ECIM_LDAP_Authentication | 10.1 | 1.1 | | 5 | ComSysM | ECIM_SysM | 3.0 | 3.0 | | 6 | ComFm | ECIM_FM | 11.0 | 3.0 | | 7 | ComSnmp | ECIM_SNMP | 10.10 | 1.1 | | 8 | ComFileM | ECIM_FileM | 10.1 | 2.0 | | 9 | CmwPm | ECIM_PM | 1.0 | 1.2 | | 10 | com_test_cli_1 | |VER.REL | | ======================================================================================== Ericsson Internal | 2013-10-16 | Page 18 CLI Comparison – Capability › Use Case: disable all ANR created relations under cell L10001_C1 – COM Syntax › ssh jbloggs@l1001.att.com –p 22 –s cli <CR> › ENodeBFunction=1,EUtranCellFDD=L10001_C1 <CR> › show –m EUtranFreqRelation <CR> (note each one, remember the FDN’s and do the following for each) › show –m EUtranCellRelation –c createdBy=ANR<CR> (note each one, remember the FDN’s and for each FDN do the following) › EUtranFreqRelation=<id>,EUtranCellRelation=<id> <CR> › set isHoAllowed=false Ericsson Internal | 2013-10-16 | Page 19 CLI Comparison – Capability › Use Case: disable all ANR created relations under cell L10001_C1 – OSS Syntax › set * EUtranCellFDD.id==“L1001_C1”,*,EUtranCellRelatio n.createdBy==ANR isHoAllowed=false <CR> › And this works just as easily when dealing with multiple nodes: › set * EUtranCellFDD.tac==5,*,EUtranCellRelation.create dBy==ANR isHoAllowed=false <CR> Ericsson Internal | 2013-10-16 | Page 20 CLI Comparison conclusion › None of the other CLI’s offer full Query-Based Data Access. › The existing CLI’s are not well aligned to each other (despite some cosmetic similarities) › A new set of commands is needed for ENM CM CLI. › However, we still need to ensure strategic alignment ! › We still need to strive for alignment for Usability and Software Reuse ! Ericsson Internal | 2013-10-16 | Page 21 Alignment efforts › Investigated alignment with the other Ericsson CLI’s with User Experience & Software Reuse as principal drivers. › As we know, there isn’t a good match. For data-model management, closest are: › COM (Still maturing and only focused on primitives) › MOShell (Focused on Post-Processing & Scripting) › No option except to propose new command syntax › Using EAG Style Guide where possible. Ericsson Internal | 2013-10-16 | Page 22 Alignment Efforts › Q2 contact from DG2, who sought alignment between Next Gen OSS and Next Gen Radio CLI › PLs agreed to align – requirements are placed on both products › Several meetings between OSS and DG2 › But DG2 solution is not a new CLI but a repackaging of three existing CLI’s (COM, Cisco, MOShell) Ericsson Internal | 2013-10-16 | Page 23 Alignment Efforts › COM Discussions have begun › TOR ideas have been endorsed by COM CLI Ref. Grp › COM CLI is quite a distance from TOR requirements › TOR encouraged to place requirements on COM backlog › CLI in Web Client not yet considered and referred to BNET Architect › Software re-use not possible in short-term Ericsson Internal | 2013-10-16 | Page 24 Alignment Efforts › Q3 BNET CLI Strategy is approved › Strategy references a single Ericsson CLI (ECCLI) › But ECCLI is not yet defined. › To fulfil OSS requirements, ECCLI must support QueryBased Data Access. Ericsson Internal | 2013-10-16 | Page 25 Alignment Efforts conclusion › ENM intend to align with ECCLI › ECCLI must support Query Based Data Access › For now, ENM will continue with proposed syntax for Query Based Data Access › ENM Syntax will be brought to CLI Reference Group for inclusion into ECCLI. Ericsson Internal | 2013-10-16 | Page 26 Summary › Query-Based Data Access CLI is a key differentiator for ENM › No existing Ericsson CLI supports it › Existing Ericsson CLI’s are not well mutually aligned. › ENM intend to align with ECCLI. › ENM will continue with current Query Based Data Access CLI Syntax & start aligning with ECCLI syntax when it’s defined. Ericsson Internal | 2013-10-16 | Page 27