Page tree

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

Assumptions

  • Gateway is installed at customer site
  • List of networks will be retrieved by directly calling API against BAM, however, list of devices will be retrieve by using Gatway APIs
  • User will first need to set credentials and server information for this integration before selecting option 'Asset mapping by zone'. This will enable Spectre to retrieve list of network names and IDs. 
  • No assets/ip addresses will be pushed to BAM or gateway as part of this integration

High Level Flow Design

  • Lumeta will pull list of networks from BAM
  • For each configured network, Lumeta will call REST APIs against Gateway to retrieve list of IPv4 addresses and ingest it into external table

API details:

PurposeAPIPayloadResponse
Authentication

http://bluecat/Services/REST/v1/login?username=apiuser&password=apiuser

curl -k 'http://bluecat/Services/REST/v1/login?username=apiuser&password=apiuser'

None

"Session Token-> BAMAuthToken: B3Bm8MTU3MTQxMDY5MzkzNTphcGl1c2Vy <- for User : apiuser"

Get list of networks

Services/REST/v1/getEntities?parentId=0&type=Configuration&start=0&count=10

curl -X GET  'http://bluecat/Services/REST/v1/getEntities?parentId=0&type=Configuration&start=0&count=10'  -H 'authorization: BAMAuthToken: GkprMMTU3MTQyOTgzODMyMTphcGl1c2Vy' -H 'cache-control: no-cache' -H 'content-type: application/json'

None

[{"id":100880,"name":"Somerset","type":"Configuration","properties":null}]

Get list of devices

<Gateway end point>/REST/getDevices?name=<networkname>

If no name is given, it will retrieve devices for all networks

















User Stories

  • We need to create configuration page similar to Qualys. When user enters blue cat server credentials, Lumeta will make API call to get a list of networks and display in the list next to zone name. User can then select zone mapping for network and save it

API changes 

Implementation Details

UI

Configuration

  • Create configuration screen under Integrations for BlueCat - 
    • A new page will be created under Settings→Integration for BlueCat Integration
    • Configuration page will be added under "Other Solutions" and include below details
      • Feed Interval
      • Server IP/DNS name
      • User name
      • Password
      • Option to select mapping for network name to Zone
    • Just like Qualys integration, when user enters credential for BlueCat server, an API call would be made to retrieve list of networks. Network name would be displayed against zone where user can map a particular zone to a particular Network. If a Zone is enabled, but no network name is selected, it would get devices for all the networks
    Wire frame for this configuration

Reporting:

  • New Dashboard "BlueCat Management" would be added under Dashboards→Integrations
  • This dashboard would contain standard integration widgets and would display deltas between both systems as well as what the systems have in common
    • IPs Unmanaged by BlueCat
    • IPs Unmanaged by Lumeta
    • BlueCat and Lumeta Managed IPs

CLI

    • Create configuration option to configure BlueCat

API

    • Add feed class for Meraki Integration
    • call REST API against gateway to get a list of devices
    • Ingest response into x15 table
    • Write queries to support dashboards
Create address on BlueCat


AttributevalueData Point in LumetaNoteSample Value





Data point that Lumeta has 

      • mac address
      • os
      • open ports
      • community string that the device responded on

Questions

Question


We plan on using getIP4Address API to get list of ipv4 addresses that BlueCat is aware ofIf we use object ID of individual block, we do get ip addresses for that address block, however most of our deployments would have a list of networks and within each network they would have different address blocks. We would like to know the standard flow to use this API. Do we first get a list of network container Ids (We would need a REST call to get it), then get a list of address block container IDs and then use this API against those container Ids?


an API that would return a list of all address blocks across all the networks. We can iterate through this list and make a REST call for each of these object IDs to get a complete list of IPv4 addresses


an API that would return a list of all networks. We will need another API to iterate through these list of networks and get all blocks within these networks. Finally we can make a REST call for each of these object IDs to get a complete list of IPv4 addresses



Goals

  • Use API Integration to communicate with BlueCat address manager (IPAM) to share bi-directional support information:
    • network
    • device
    • etc...

Background and strategic fit

ManuLife has identified this integration as a business need.  Other customers have asked in the past, but we now have a point of contact to work with from BlueCat.


Server  - https://bluecat 

admin/admin

Assumptions

  • Customers will provide information as needed for the integration and build out detailed use case
  • Lumeta will have access to the credentials needed to communicate with the BlueCat server
  • The APIs available will return the data we are looking to surface

Requirements


#TitleUser StoryImportanceNotes


Connect to the management serverUse Lumeta to retrieve information from the server via APIMust Have
  • Need to have proper credentials and achieve handshake
ConfigurationConfiguration will be implemented in Integrations section of the application. Must Have
Configuration screenThis screen will allow the user to input needed configuration values to connect to and poll the BlueCat management server (server, credentials, polling interval)Must Have
Configuration form input validationAll fields need to perform input validation to ensure proper input types.  Form fields need to be able to support input as required and allowed by BlueCat management server in terms of characters allowed/disallowed, string size limits, etc.Must Have
Connection Status UIVisual indicator showing connection status (connected / Disconnected).Must Have
Test Connection Status UIThere will be a "Test Configuration" button to verify connectivity on demand.  This button should return either a a positive result or the the best available error message to help the user trouble shoot the connection.Must Have
CLI configuration commandsBlueCat connection must be able to be configured, tested, and enabled via the CLIMust Have
DiscoveryUse the BlueCat API capability to retrieve information from the management station (network, device, interface)
May be possible Phase II effort
Logging

At log level "info" system should log successful poll or error message, time of poll,

At log level "debug: system should log successful poll or error message, time of poll, size of response in bytes

Must Have
DashboardNew dashboard will be created for this feature and added to the Integrations categoryMust Have
Widget

Standard implementation :

  • What Lumeta knows
  • What BlueCat knows
  • What both platforms are managing
Must Have


Data ManagementEach polled response, when not an error or empty response, will replace the previous existing set of devices/information.

Epic


LUM-662 - Getting issue details... STATUS



KeySummaryTAssigneeStatusResolutionqa assignee


Loading...

Refresh



PDF

Milestones

MilestoneDate CompleteNotes

SPIKE Requirements:

  1. Design Document
  2. Architecture Document
  3. Tasks / Tickets that have values less that 13 Points
  4. Review meeting with Engineering and QA


QA Review:

  1. Review All documentation and artifacts
  2. Prepare initial test plan


QA Meeting:

  • Attendees are Product Owner, Engineering and QA
  • Question and Answer session
  • Review Test Plan


Feature Demo for Product owner

User interaction and design


Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome




  • No labels