User Tools

Site Tools


archiv:provisioningneu

Provisioning Neu

Goal: Provisioning System for free networks, based on the current FunkFeuer Graz provisioning system

Main reason for changes: assignment of public IP addresses mandates support for IPsec key management and authentication of users

Current functionality

  • MySQL database with Ruby on Rails, Perl and PHP frontends
  • autogenerate DNS config from db
  • autogenerate Cisco IPsec config from db
  • autogenerate Google Map
  • autogenerate Topo Map from OLSR data and db
  • xml export - topo data
  • user selfcare provisioning
  • rudimentary admin provisioning

Requirements

mandatory requirements

  • do not introduce new technology - Ruby on Rails will do
  • do not reinvent the wheel
  • document everything
  • use role-function paradigm for authorisation (neighbourhood managers, node owners, core team, …)
  • db support for generic authentication system / trust model
    • authenticate e-mail address (automatic) - first level of authentication
    • manual f2f authentication (photo id check) - second level of authentication
  authorisation system (anonymous users, l1 id, l2 id, admin, user groups...) 
  auditing (log photo id check, optional: IP assignments, config changes, ...) 
  * timestamp 
  * who 
  * what 
  IP network management 
  * create/modify/delete IP ranges 
  * assign/revoke IP network to/from location 
  * management of both public and private IPs 
  * support for IPSEC key management for public IPs 
  * support tinc tunnel management 
  * optional: request larger network: support for renumbering 
  status report for IP network requests 
  safety net: deleted objects are flagged, not permanently deleted 

optional requirements

  • support for IPv6 addresses
  • server side interface for HardwareAutoProvisioning (device management)
  • versioning of data (→ rollback functionality)
  • opt-in for autoconfiguration and automatic firmware upgrade
  • possibility for nodes to participate in software tests, new routing protocols etc. (stable, testing, unstable nodes)
  • enter user website URL to be linked from the home page
  • enter mobile phone number, opt-in to be contacted via SMS (FunkFeuer-Treffen Terminänderungen etc.)
  • management of hotspot requests, interface for sponsoring ISPs

Data model constraints

  • introduce foreign keys
  • PKs must not be hardcoded: use shortnames to get PKs
  • node type: fixed, mobile, experimental, …
  • node may have owner
  • node may have location (mandatory for fixed nodes)
  • node may have interfaces (wired, wireless, …)
  • interfaces have properties depending on interface type (speed, output power, channel)
  • wireless interface may have cabling and antennas attached (cable type and length, antenna)
  • antenna has type (from template), polarization, azimuth, elevation, aperture, gain, …
  • location must have owner
  • person must have verified e-mail address
  • person should have telephone number
  • person may be either real or virtual (person groups)

Use cases

  • show workflow to users/admins
  • user: register as person, verify e-mail address, add location, add node, request IP net, request photo identification appointment, lookup/modify/delete entries, generate IPsec key
  • admin: pending requests (photo id, approve network assignment request, enter audit data, revoke IPsec key), override all user functions, change node owner
archiv/provisioningneu.txt · Last modified: by max

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki