[alcatel-nsp] Automate SAM Provisioning through text/csv?

Richard Lee rl0001 at gmail.com
Fri Aug 7 17:10:06 EDT 2009


Thanks Guys,

all useful information.. the XML looks a bit long winded, bit of perl
might do it. It seems easier to do as Philip suggests, have a script
telnet/ssh in and add the config direct, but I have been told that SAM
v7 will not receive manual config changes from the nodes.

Another issue I have been warned about is that a change to a global
policy on a node could be synchronised back to the SAM and could break
a lot of services.

Does this sound right?

Where can I get access to Alcatel docs? Is it something I ask my
company for, or alcatel direct?

Giving up on direct db access

Regards,
Rick



2009/8/7 Kirby Files <kfiles at masergy.com>:
> Richard Lee wrote:
>
>> I'm wondering if any of you know how to automate SAM provisioning,
>> either by CLI, or importing a text/csv file into it's database. I
>> don't fancy all that point and clicking :-)
>
>> I believe the SAM-O module uses XML and could therefore
>> possibly be extended.
>
> Sure, SAMO uses XML, transferred over SOAP. You can use scripts, templates,
> or programatically create XML via DOM if that makes you happy. Warning, it's
> not terse.
> For instance, here's the XML for creating a VPLS instance:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
> <SOAP:Envelope
>  xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
>
> <SOAP:Header>
> <header xmlns="xmlapi_1.0">
> <security>
> <user>oss_client</user>
> <!-- 5620Sam! -->
> <password>c36b885125105c462d34774140eec076</password>
> </security>
> <requestID>client1:0</requestID>
> </header>
> </SOAP:Header>
>
> <SOAP:Body>
> <generic.GenericObject.configureChildInstance xmlns="xmlapi_1.0">
> <deployer>immediate</deployer>
> <synchronousDeploy>true</synchronousDeploy>
> <distinguishedName>svc-mgr</distinguishedName>
> <childConfigInfo>
> <vpls.Vpls>
> <actionMask><bit>create</bit></actionMask>
> <displayedName>Vpls Example</displayedName>
> <description>Vpls Example for existing subscriber</description>
> <subscriberPointer>subscriber:1</subscriberPointer>
> <topologyAutoCompletion>false</topologyAutoCompletion>
> <topologyAutoCompletionType>noHierarchy</topologyAutoCompletionType>
> <transportPreference>any</transportPreference>
> <useBwReservedPath>noPreference</useBwReservedPath>
> <children-Set>
> <vpls.Site>
> <actionMask><bit>create</bit></actionMask>
> <displayedName>vpls site</displayedName>
> <description>VPLS Service Site - Create</description>
> <siteId>10.1.1.223</siteId>
> <monitorAccessInterfaceOper>false</monitorAccessInterfaceOper>
> <administrativeState>serviceUp</administrativeState>
> <oamEnabled>false</oamEnabled>
> <mtu>1400</mtu>
> <localRouting>disabled</localRouting>
> <children-Set>
> <l2fwd.SiteStp>
> <actionMask><bit>modify</bit></actionMask>
> <administrativeState>up</administrativeState>
> <bridgeForwardDelay>16</bridgeForwardDelay>
> <bridgeHelloTime>3</bridgeHelloTime>
> <bridgeMaxAge>21</bridgeMaxAge>
> <priority>28672</priority>
> </l2fwd.SiteStp>
>
> <l2fwd.SiteFib>
> <actionMask><bit>modify</bit></actionMask>
> <agingEnabled>true</agingEnabled>
> <discardUnknownDestinations>false</discardUnknownDestinations>
> <highWatermark>96</highWatermark>
> <learningEnabled>true</learningEnabled>
> <localAgeTime>301</localAgeTime>
> <lowWatermark>91</lowWatermark>
> <remoteAgeTime>901</remoteAgeTime>
> <size>301</size>
> </l2fwd.SiteFib>
>
> <vpls.L2AccessInterface>
> <actionMask><bit>create</bit></actionMask>
> <displayedName>vpls</displayedName>
> <description>VPLS Service - General Creation</description>
> <administrativeState>serviceUp</administrativeState>
> <portPointer>network:10.1.1.223:shelf-1:cardSlot-1:card:daughterCardSlot-1:daughterCard:port-4</portPointer>
> <innerEncapValue>0</innerEncapValue>
> <outerEncapValue>2</outerEncapValue>
> <ingressPolicyObjectPointer>Access ingress:1</ingressPolicyObjectPointer>
> <egressPolicyObjectPointer>Access Egress:1</egressPolicyObjectPointer>
> <aggregation>off</aggregation>
> <ingressSchedulerObjectPointer></ingressSchedulerObjectPointer>
> <egressSchedulerObjectPointer></egressSchedulerObjectPointer>
> <aggregationSchedulerObjectPointer></aggregationSchedulerObjectPointer>
> <ingressFilterPointer></ingressFilterPointer>
> <ingressMatchQinqDot1pBits>none</ingressMatchQinqDot1pBits>
> <egressFilterPointer></egressFilterPointer>
> <accountingPolicyObjectPointer></accountingPolicyObjectPointer>
> <accountingOn>true</accountingOn>
> <sharedQueueOn>false</sharedQueueOn>
> <shgSitePointer></shgSitePointer>
>
> <children-Set>
>
> <l2fwd.AccessInterfaceStp>
> <actionMask><bit>modify</bit></actionMask>
> <administrativeState>up</administrativeState>
> <pathCost>21</pathCost>
> <portNum>0</portNum>
> <priority>112</priority>
> <rapidStart>disabled</rapidStart>
> </l2fwd.AccessInterfaceStp>
> </children-Set>
>
> </vpls.L2AccessInterface>
> </children-Set>
> </vpls.Site>
> <vpls.Site>
> <actionMask><bit>create</bit></actionMask>
> <displayedName>vpls site</displayedName>
> <description>VPLS Service Site - Create</description>
> <siteId>10.1.1.225</siteId>
> <monitorAccessInterfaceOper>false</monitorAccessInterfaceOper>
> <administrativeState>serviceUp</administrativeState>
> <oamEnabled>false</oamEnabled>
> <mtu>1400</mtu>
> <localRouting>disabled</localRouting>
> <children-Set>
> <l2fwd.SiteStp>
> <actionMask><bit>modify</bit></actionMask>
> <administrativeState>up</administrativeState>
> <bridgeForwardDelay>16</bridgeForwardDelay>
> <bridgeHelloTime>3</bridgeHelloTime>
> <bridgeMaxAge>21</bridgeMaxAge>
> <priority>28672</priority>
> </l2fwd.SiteStp>
>
> <l2fwd.SiteFib>
> <actionMask><bit>modify</bit></actionMask>
> <agingEnabled>true</agingEnabled>
> <discardUnknownDestinations>false</discardUnknownDestinations>
> <highWatermark>96</highWatermark>
> <learningEnabled>true</learningEnabled>
> <localAgeTime>301</localAgeTime>
> <lowWatermark>91</lowWatermark>
> <remoteAgeTime>901</remoteAgeTime>
> <size>301</size>
> </l2fwd.SiteFib>
>
> <vpls.L2AccessInterface>
> <actionMask><bit>create</bit></actionMask>
> <displayedName>vpls</displayedName>
> <description>VPLS Service - General Creation</description>
> <administrativeState>serviceUp</administrativeState>
> <portPointer>network:10.1.1.225:shelf-1:cardSlot-1:card:daughterCardSlot-1:daughterCard:port-4</portPointer>
> <innerEncapValue>0</innerEncapValue>
> <outerEncapValue>2</outerEncapValue>
> <ingressPolicyObjectPointer>Access ingress:1</ingressPolicyObjectPointer>
> <egressPolicyObjectPointer>Access Egress:1</egressPolicyObjectPointer>
> <aggregation>off</aggregation>
> <ingressSchedulerObjectPointer></ingressSchedulerObjectPointer>
> <egressSchedulerObjectPointer></egressSchedulerObjectPointer>
> <aggregationSchedulerObjectPointer></aggregationSchedulerObjectPointer>
> <ingressFilterPointer></ingressFilterPointer>
> <ingressMatchQinqDot1pBits>none</ingressMatchQinqDot1pBits>
> <egressFilterPointer></egressFilterPointer>
> <accountingPolicyObjectPointer></accountingPolicyObjectPointer>
> <accountingOn>true</accountingOn>
> <sharedQueueOn>false</sharedQueueOn>
> <shgSitePointer></shgSitePointer>
>
> <children-Set>
>
> <l2fwd.AccessInterfaceStp>
> <actionMask><bit>modify</bit></actionMask>
> <administrativeState>up</administrativeState>
> <pathCost>21</pathCost>
> <portNum>0</portNum>
> <priority>112</priority>
> <rapidStart>disabled</rapidStart>
> </l2fwd.AccessInterfaceStp>
> </children-Set>
>
> </vpls.L2AccessInterface>
> </children-Set>
> </vpls.Site>
> </children-Set>
> </vpls.Vpls>
> </childConfigInfo>
> </generic.GenericObject.configureChildInstance>
> </SOAP:Body>
> </SOAP:Envelope>
>
> If you have access to Alcatel SAM docs, the SAM OSS Developer Guide provides
> a fair amount of detail, although to get the actual XML above, you have to
> first use the SAMO generic.find() command to get the XML representation of
> an existing instance.
>
>> Also does anyone know what kind of database it runs on?
>
> It runs on Oracle, but the schema is auto-generated, and to call it obtuse
> would be kind. Also, Alcatel says about accessing the Oracle DB directly:
>
>
> "Alcatel (IPD NSM) do not permit direct access the Oracle database by
> customers of the 5620SAM. This would constitute a violation of our Oracle
> license. Any access to the data in the database must be through the
> interfaces offered in the 5620 SAM application. In addition since the
> database schema is not a published interface NSM are free to change it at
> will and without notice."
>
>
> ---
> Kirby Files
> Software Architect
> Masergy Communications
> kfiles at masergy.com
>
> _______________________________________________
> alcatel-nsp mailing list
> alcatel-nsp at puck.nether.net
> https://puck.nether.net/mailman/listinfo/alcatel-nsp
>


More information about the alcatel-nsp mailing list