Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 7 additions & 47 deletions docs/developer_guide/set_up_dev_env/dev_env_kind.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
Develop on KinD
===============

This guide walks you through the process to set up the Edge Orchestrator development environment on KinD
and deploy ENIC (Edge Node in a Container) to run basic sanity tests. KinD and ENIC is useful to
validate lifecycle management operations on already provisioned Edge Node.
This guide walks you through the process of setting up the Edge Orchestrator
development environment on KinD (Kubernetes in Docker) to run basic sanity
tests. KinD, along with a virtual Edge Node, is useful for validating
lifecycle management operations when no physical Edge Node is available.

.. note::
ENIC only emulates the real Edge Node and does not cover full Edge Node lifecycle management (from Day0 provisioning).
To set up developer environment that is closest to the real-world deployment, see :doc:`/developer_guide/set_up_dev_env/dev_env_onprem`.

System Requirements
-------------------

Your development machine must meet the following minimum requirements:

- Recommended Operating System: Ubuntu\* 22.04 Server
- Recommended Operating System: Ubuntu\* 24.04 Server

- Processor: 16 cores or more

Expand Down Expand Up @@ -175,50 +175,10 @@ To set up your development environment, follow these steps:

You can now reach the Edge Orchestrator UI at ``https://web-ui.kind.internal``.

#. To deploy, register and provision ENiC:

* To deploy ENiC run the command below.
The first argument defines number of ENiCs you want to deploy.
For the second argument choose ``dev`` or ``dev-minimal``, based on the orchestrator profile you selected.

.. code-block:: bash

ORCH_ORG=sample-org
ORCH_PROJECT=sample-project
ORCH_USER=sample-project-onboarding-user
ORCH_USER_API=sample-project-api-user
mage devUtils:deployEnic 1 dev

* ENiC Pod(s) will be created and running. You can list ENiC Pods with:

.. code-block:: bash

kubectl get pods -n enic

* To grab ENiC logs use commands from the `ENiC documentation <https://github.com/open-edge-platform/virtual-edge-node/tree/main/edge-node-container#edge-node-logs>`_.

* At this point ENiC Pod(s) will only be deployed, but won't be registered/onboarded to the Edge Orchestrator or provisioned.
To get emulated hardware details (UUID, Serial Number - may be needed for further registration) run:

.. code-block:: bash

mage devUtils:getEnicSerialNumber
mage devUtils:getEnicUUID

* If needed, perform automated registration and provisioning. By default, ENiC will provisioned with Ubuntu OS.
Note that you will need to repeat these command for all ENiC Pods if you deploy more than one.

.. code-block:: bash

ORCH_USER=sample-project-api-user mage devUtils:registerEnic enic-0

ORCH_USER=sample-project-api-user mage devUtils:provisionEnic enic-0

* Wait until ENiC is provisioned:
.. note::
If you need a virtual Edge Node for local testing, consider using the `virtual edge node (pico) <https://github.com/open-edge-platform/virtual-edge-node/tree/main/pico>`_ project.

.. code-block:: bash

mage devUtils:WaitForEnic

#. To get the Keycloak admin password for accessing Edge Orchestrator services, run:

Expand Down
5 changes: 2 additions & 3 deletions docs/developer_guide/set_up_dev_env/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,8 @@ As a developer you have two options on how to set up your developer environment
#. :doc:`/developer_guide/set_up_dev_env/dev_env_kind` to deploy a test instance of the Edge Orchestrator
on the KinD cluster. Choose this option if:

* You do not need to develop/or test OS provisioning. For testing on KinD you will use `ENiC (Edge Node in a Container) <https://github.com/open-edge-platform/virtual-edge-node/tree/main/edge-node-container>`_
that only simulates an Edge Node and does not run OS provisioning steps.
However, ENiC is enough to perform basic sanity tests (such as Edge Node statuses, some Day1/Day2 operations, etc.).
* You do not need to develop/or test OS provisioning. KinD does not emulate full OS provisioning and is intended
to perform basic sanity tests on already provisioned Edge Nodes (such as Edge Node statuses and some Day1/Day2 operations).

* You have limited resources.

Expand Down
Loading