IEC Gerrit and Source Code

The bulk of Integrated Edge Cloud (IEC) as of Akraino Release 1 is entirely made up of components of the Integrated Edge Cloud (IEC) Blueprint Family. The IEC family consists of source code repositories starting with the prefix "iec/" and can be found by searching the Akraino Gerrit using this URL: https://gerrit.akraino.org/r/admin/repos/q/filter:iec.. The code reviews  across all these repositories may be found using this URL:  https://gerrit.akraino.org/r/q/projects:%22iec/%22.


Repository Link: https://gerrit.akraino.org/r/gitweb?p=iec.git;a=tree


The directory tree of IEC as following:

$ ls

ci deploy docs LICENSE misc README.rst src tox.ini


$ tree -L 3

├── ci
│   └── labs
│   └── arm
├── deploy
│   └── compass
│   ├── deployIEC.sh
│   ├── deploy.sh
│   └── deployVM.sh
├── docs
│   ├── conf.py
│   ├── conf.yaml
│   ├── index.rst
│   ├── release
│   │   ├── api
│   │   ├── installation
│   │   └── release-notes
│   └── requirements.txt
├── LICENSE
├── misc
│   └── type1
│   ├── macbin
│   └── README.md
├── README.rst
├── src
│   ├── foundation
│   │   ├── api
│   │   ├── hot
│   │   └── scripts
│   ├── use_cases
│   │   └── seba_on_arm
│   └── xConnect
│   └── README
└── tox.ini

IEC Repo Code Structure Description

./iec/docs

  • The documentation in this directory provides a more detailed introduction to IEC

./iec/src/foundation/scripts/

  • A series of scripts are provided to build the IEC infrastructure platform, including: building the k8s cluster and configuring the container network solution.

./iec/src/foundation/scripts/cni

  • Various CNIs which are supported with installations on arm platform, the available CNIs could be referred from the following figure:

./iec/src/foundation/service_mesh

  • A service mesh deployment sample of Bookinfo for arm64 platform

./iec/src/use_cases/seba_on_arm/

  • SDN-Enabled Broadband Access (SEBA) is an Exemplar Platform being built by the ONF and CORD community, which would also be a first use case of IEC. We provide  SEBA source repositories, compiling scripts, test scripts and SEBA installation guide on Arm.

./iec/src/type3_AndroidCloud

./iec/src/type5_SmartNIC

./iec/misc/type1/macbin/

  • This dir contains the miscellaneous information about IEC Type 1 device and software info. Currently we choose the MACCHIATObin board as the main Type 1 hardware platform.

Future development of Integrated Edge Cloud (IEC) will include additional workflows as well as enhancements to the edge reference stack with more advanced support for remote edge, edge cloud with cloud native platforms and VMs. High performance container and VM networking and related eco-systems are highly appreciated, for Arm64 and/or x86_64 platforms. Any related works are also welcome.

IEC Static Code Check

Currently, a source code commit to IEC code repo usually would be subject to a code syntax check under Akraino Jobbuilder job by Tox, which would check the following types of code in general:

  • Bash shell script(.sh)
  • Python(.py)
  • Yaml(.yaml,.yml)
  • ReStructuredText(.rst)

The IEC verify job follows [1], the rules used are the defaults provided by each tool, except where IEC required exceptions, e.g.:

  • git commit message checks, RST checks, shellcheck checks use default configurations;
  • pylint uses [2] to allow some common errors/warnings to be ignored;
  • yamllint uses [3] to allow unquoted truthy values, ignore missing document start markers.


  • No labels