TSC Meeting

Special Release Planning Mtg for CA

March 28, 2018

edgexfoundry.org | @edgexfoundry

Meeting Logistics

Time: March 28, 2018 7am PDT – 9am PDT

Join from PC, Mac, Linux, iOS or Android: https://zoom.us/j/983155298

Or iPhone one-tap (US Toll): +14086380968,983155298# or +16465588656,983155298#

Or Telephone:

Dial: +1 408 638 0968 (US Toll) or +1 646 558 8656 (US Toll)

+1 855 880 1246 (US Toll Free)

+1 877 369 0926 (US Toll Free)

Meeting ID: 983 155 298

International numbers available: https://zoom.us/zoomconference?m=mkFexUxEcqHlvXHw53PqScTDRvS48PiQ

** TSC calls are recorded and added to Wiki post-call

edgexfoundry.org | @edgexfoundry

LF Antitrust Policy Notice

EdgeX Foundry meetings involve participation by industry competitors, and it is the intention of the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws.

Examples of types of actions that are prohibited at EdgeX Foundry meetings and in connection with Linux Foundation activities are described in the Linux Foundation Antitrust Policy available at http://www.linuxfoundation.org/antitrust-policy. If you have questions about these matters, please contact your company counsel, or if you are a member of the Linux Foundation, feel free to contact Andrew Updegrove of the firm of Gesmer Updegrove LLP, which provides legal counsel to the Linux Foundation.

edgexfoundry.org | @edgexfoundry

TSC – Members Present Today

Company Name Email

IOTech Andy Foster andy@iotechsys.com

Analog Devices Doug Gardner doug.gardner@analog.com

Mainflux Janko Isidorovic janko@mainflux.com

Dell Jason Shepherd Jason.A.Shepherd@dell.com

The Linux Foundation Jeremy Phelps jphelps@linuxfoundation.org

Dell Jim White james.white2@dell.com

IOTech Keith Steele (TSC Chair) keith@iotechsys.com

Samsung Moonki Hong moonki1.hong@samsung.com

Samsung MyeongGi Jeong myeong.jeong@samsung.com

VMware Salim AbiEzzi salim@vmware.com

Canonical Tony Espy espy@canonical.com

Note: TSC meetings shall require a quorum of two-thirds of the TSC total members to take a vote or make a decision. If a TSC meeting fails to meet the quorum requirement, discussions may proceed, however there shall be no voting or decisions.

Current quorum = 7 members

edgexfoundry.org | @edgexfoundry

need 7 for quorum

Today’s Agenda

  • California Release Planning
  • Understanding (today - focus on current status and estimates)
    • level of efforts (in crude man-week #’s)
    • roadblocks (dependency tasks, tools needed, etc.)
    • resource needs and shortages (who is working the task and likely of completion by early June)
  • Planning (next meeting - addressing the gaps)
    • reset scope
    • adjust the timeline
    • options for resources

edgexfoundry.org | @edgexfoundry

Ground Rules

  • We aren’t trying to fix a problem; we are attempting to avoid one
    • We have come a long way with a lot of hard work
    • We want to avoid expectations set too high or a mistakes that are costly
  • It is open source and we all have other work
    • Provide realistic and reasonable level of effort estimates
    • Don’t try to be a hero. If you can do the work great, but be honest
    • Just because it isn’t in California doesn’t mean it won’t be in EdgeX
    • Remember we are setting the scope of a release not the project
  • We do have some time to make some adjustments

edgexfoundry.org | @edgexfoundry

Estimate planning

  • Man weeks of work (gross estimate)
  • Stuck items/roadblocks/big issues
  • Red/Green/Yellow complete by June status
    • Green - 80% done and good chance of completing (with current resources)
    • Yellow - 50% done and a chance of completing (with current resources)
    • Red - < 50% done and little chance of completing
  • Recommendations for scope reduction

edgexfoundry.org | @edgexfoundry

Understanding - Review of each EdgeX area

  • Review Order (with time estimates in CDT)
    • Core Services (data, metadata, command, config seed) - 9am
    • Support Services (logging, notifications, scheduler)
    • Application Services (export client, export distro, rules engine)
    • Device Services (DS SDK, DS’s) - 9:30am
    • Break 9:55-10:05
    • Security (reverse proxy and AA) - 10:05am
    • Security (data storage; Vault)
    • System management (service API, sys mgmt agent) - 10:30am
    • Testing (blackbox, security) - if time permits; pick up in following meeting
    • DevOps (Arm artifacts, Arm testing, …) - if time permits; pick up in following meeting
    • Documentation (in code, cleanup) - if time permits; pick up in following meeting

edgexfoundry.org | @edgexfoundry

Core Services

  • Core Data, Core Metadata, Core Command in Go
    • Config cleanup
    • Interfaces and unit testing
  • Core Config Seed in Go
    • Samsung contribution reviewed
    • Improvements to profile loading
    • documentation & testing

  • Total man weeks: 9
    • Dell Technologies
  • Status:
  • Issues:
    • Samsung code through review process
  • Scope reductions
    • No config seed changes
    • Reduced interface/unit testing work (Delhi)

Testing/Documentation Needs

Supporting Services

  • Logging in Go
    • Complete Cavium work
    • Logging to MongoDB
    • Config cleanup
    • Interfaces and unit testing
  • Notifications in Go
    • Not started yet
  • Scheduler in Go
    • Not started yet
  • Total man weeks: 12+
    • Dell Technologies
    • May need some help from Cavium on ?’s
  • Status:
  • Scope reductions
    • Keep notifications & scheduler in Java for now
    • Reduced interface/unit testing work (Delhi)

Testing/Documentation needs

All supporting services already in Java

MongoLite is being released in the summer (Footprint = 10 MB)

Future consideration of alternate databases

Application Services

  • Export Distro in Go
    • Config cleanup
    • Interfaces and unit testing
    • Validate event
    • Azure IoT Hub connector
    • Google IoT Core connector
    • 0MQ connector
    • Security Implementation based on Security Recommendation?
  • Export Client in Go
    • Config cleanup
    • Interfaces and unit testing
    • Security Implementation based on Security Recommendation?
  • Rules Engine replacement
  • Total man weeks: 20+
    • Mainflux & Cavium(?)
    • Some help from Dell on config cleanup
    • Beechwoods on Security (Java or Go?)
  • Status:
  • Scope reductions
    • Keep rules engine in Java for now
    • Reduced interface/unit testing work (Delhi)

Priority is to at have Azure, Google IoT Core, and 0MQ in Go first


  • Device Service SDK in Go
    • Requirements completion
  • Device Service SDK in C/C++
  • Example DS in Go
    • Improved documentation

  • Total man weeks: 18+
    • Canonical (Go)
    • IoTech (C)
  • Status: Go C
  • Issues: resolve some open requirements issues
  • To be determined:
    • DS in Go or C (Non-MVP)

This is not a replacement of the Device Services

Consider ramping up a separate Device Services weekly/bi-weekly meeting

Security Services

  • Reverse Proxy
    • Token (JWT) based AA
  • Data Protection Services (Vault)
  • Security Testing

  • Total man weeks: 10 (???)
    • ForgeRock/Dell - reverse proxy/AA
    • RSA/Beechwoods - DPS
    • IoTech - testing
  • Status:
  • Scope reductions
    • reduced or no testing

Reverse Proxy is currently looking to be Kong

Need to update estimate for threat modeling

Looking at Pen testing next year

Need to loop folks from testing side into security discussions

Risk factors include coordination with the other teams

Reduced documentation also a potential scope reduction item

Need a security messaging document for California release

System Management

  • System Management API in each service
  • System Management Agent
  • Sys Mgmt tie to one cloud system (non MVP)

  • Total man weeks: 12+ (???)
    • Dell
  • Status:
  • Issues: still some design issues with regard to config/registry integration
  • Scope reductions
    • Move all of sys mgmt to Delhi


  • Automated Blackbox testing of all services
    • logging, notifications, rules engine, scheduler, export client, device service (generic)
  • Performance Testing
    • “Rasp Pi 3” measures
    • < 250 Mb RAM, startup under 1 min, latency from ingest to actuate 1 min
  • Native ARM Testing

  • Total man weeks: 9
    • IoTech
    • DevOps, Cavium support of ARM testing
  • Status:
  • Issues: where/how to do the performance testing
  • Scope reductions
    • Performance tests to Delhi

Documentation & Miscellaneous

  • Move documentation to Github
  • Update and cleanup documentation
  • Other tasks???

  • Total man weeks: 4 (???)
    • IoTech
    • Entire community
  • Status:


  • Arm 64 artifacts
    • EXE and Docker containers
  • Arm 32 artifacts
    • EXE and Docker containers
  • Intel artifacts
    • EXE and Docker containers

  • Total man weeks: 6 (???)
    • LF
  • Status:
  • Scope reductions
    • No ARM 32 support

Development Environment Needs

Keith Steele

edgexfoundry.org | @edgexfoundry

Required California Development Environment

Developer/QA Tools

Accounts and some amount of available cloud resources (number of storage, compute, etc. hours) for

    • Google IoT Core
    • Azure IoT Hub
    • AWS IoT Core
    • Watson IoT Platform
    • Pivotal Cloud Foundry Instance
  • Cloud provided MQTT broker for testing various parts of EdgeX MQTT use (export services, device services, etc.)

Virtual Lab

  • Cloud-based environment that is cable of launching, running and monitoring thousands of instances of EdgeX for volume, scalability and performance concerns.
  • Also allows testing system management functionality as it relates to multiple deployments

  • Devices in this lab would be virtual devices simulated through software
  • IOT Pulse System manaemnet Test Environment

Physical Device Lab

  • Intel and Arm based gateway(s) to run EdgeX
  • Devices (for those protocols already supported by EdgeX) connected to the gateway(s)
    • BACNet
    • Modbus
    • BLE
    • SNMP
    • Serial
    • OPC-UA
    • Other devices would be added as more protocols are handled by EdgeX
  • A small local network may be necessary
  • Internet connectivity and firewall protection
  • Internet camera mounted over the devices to be able to see any physical actuation

edgexfoundry.org | @edgexfoundry

Add PulseIoT Center to list of IoT Services

Action Planning

Keith Steele

edgexfoundry.org | @edgexfoundry

California Release Planning Action Items

  • Scope Reductions
  • Resource Additions
  • Other

Next TSC F2F Meetings

Keith Steele

edgexfoundry.org | @edgexfoundry

EdgeX TSC F2F Meeting(s)

  • Discussion on next TSC F2F Meeting(s)
  • April - California Contributor Meeting (London/Hanover) -- potential F2F for Hanover (ad hoc)
  • Week 11th June June - US California Dell to host -- Dell/VMWare to confirm
  • October
  • Following meeting would be in Asia

edgexfoundry.org | @edgexfoundry

Thank You

edgexfoundry.org | @edgexfoundry

EdgeX Foundry TSC Meeting 3/28/2018 - Google Slides