specs

Last updated: 2024-09-27 10:47:32.126619 File source: link on GitLab

Milestone: Device Management Service Version 0.5.x

Context / links:

Release management

The goal of the process is to expose all developed functionalities with frozen scope, as described above, to a rigorous internal and community testing via succession of release candidate builds.

Branching strategy

In preparation for this release process we will be changing the branching strategy as discussed and agreed in this issue and tracked by this issue. In summary:

  • We will operate on two branches: main (for trunk development) and release (for minor / final releases and patches).

  • The public dms binaries will be built from release branch tags in the form of v{version_number}-{suffix}, e.g. v0.5.0-rc1, etc. and released via gitlab release page as usual.

  • Interim builds between scheduled release candidates will be tagged with suffix -p{patch_number}, e.g. v0.5.0-rc1-p1, etc.

Release process

The release process of Device Management Service Version 0.5.x is scheduled to start September 15, 2024 and finish December 15, 2024. It involves the following steps in chronological order:

  1. Feature scope freeze

  2. Specification and documentation system launch

  3. Project management portal launch

  4. Test management system launch (feature environment, CI/CD pipeline and QA visibility)

  5. Release candidates testing and delivering full feature scope

The currently scheduled release candidates are:

  1. v0.5.0-boot -- bootstrap release;

  2. v0.5.0-rc1 -- first release candidate;

  3. v0.5.0-rc2 -- second release candidate;

  4. v0.5.0-rc3 -- third release candidate;

  5. v0.5.0-rc4 -- fourth release candidate;

  6. v0.5.0 -- final release

The internal latest updated document with release process dates and countdown is available to view here. Feature scope management is done via DMS 0.5 pubic issue board.

Feature scope freeze

We first define the final scope of the dms features that we are releasing within this milestone, which is done within this section of the document. The scope of each feature should defined by functional test cases / scenarios associated with each feature and linked in Acceptance tests row of each table. All required test cases and scenarios pertaining to the feature scope freeze shall be written by the time of the last last release candidate release. The work is tracked by the work package dms/tests integrated into the test management system. Until then we will be continuing to implement all the features as they are explained in this document.

Specification and documentation portal launch

Documentation portal was operating internally since end of 2023, but was not fully aligned with the specification and documentation process that involves the whole team and including updates of documentation into acceptance criteria of each pull request. Documentation portal shall be launched in August. The work involving finishing and launching documentation portal are tracked by this issue.

Project management portal launch

Project management portal has been operating internally since Q4 2023, but was not exposed publicly as of yet. It will be launched publicly by the end of August 2024. The work involved in finishing and launching the project management portal for the dms v.0.5 milestone is tracked by this issue

Test management system launch

NuNet test management system consists of three main components, which have been developed for months now and are close to completion, but need to be finally coordinated and aligned in the preparation for the start of the DMS v0.5 release process and release candidate testing internally as well as via the community contributions. The components of the test management system are:

  1. CI/CD pipeline that publishes and makes available for further publishing all testing artifacts and reports; These are further used by developers, QA engineers and shall be exposed to community developers publicly;

  2. Feature environment features a small network of geographically distributed virtual machines connected via public internet, and allows for the execution of selected CI/CD pipeline stages automatically on heterogenous hardware environments -- testing functionality of the fully built DMS; Most of the acceptance tests of the frozen feature scope will be running via the

  3. QA management portal is a web portal (Testmo) which exposes all test artifacts via single interface and provides all information for NuNet QA team to see which test are passing / failing for every built of the DMS.

All three components are tightly coupled and will be internally released in quick succession, the last week of August - first week of September, targeting finalizing the test management system launch at the end of first week of September, so that the quality of release candidates can be fully validated by QA team.

Both feature environment and CI/CD process are instrumental to reach release level quality of the developed features. Both have been in development for months prior to current moment and are close to completion. Both are moving targets as they will develop together with the platform. Nevertheless, we aim to launch them as described above in the first half of August.

Release testing start

Given that all prerequisites are launched and prepared, we aim at starting the release process September 15, 2024 by releasing the first release candidate and exposing it to testing. We will release at least 3/4 release candidates and then final release, but the process will be fluid as explained here and most probably fill feature more minor release candidate releases per the adopted branching strategy.

Release

After testing the frozen feature scope of the release, we aim at releasing the 0.5.0 version of device-management-service during the second half of December 2024. For current / updated schedule and details, see release process kick-start presenatation and constantly updated countdown document.

Feature scope

Infrastructure

Feature environment

CI/CD pipeline

Test management

Documentation

Specification and documentation system

Project management portal

Implementation

Actor model with Object/Security Capabilities

Object/Security Capabilities (UCAN)

Dynamic method dispatch/invocation

Local access (API and CMD)

Local database interface and implementation

Executor interface and implementation

Machine benchmarking

p2p network and routing

Storage interface

IP over Libp2p

Observability and Telemetry

Definition of compute workflows/recursive jobs

Job deployment and orchestration model

Hardware capability model

Supervision model

Tokenomics interface

Last updated