Installing the EDA application

After setting up Kubernetes on the VMs, you can now install Nokia EDA using the playground.

Customizing the installation file

Update the settings for the parameters in the prefs.mk file to control the way EDA is installed.

Table 1. Customizable parameters in the prefs.mk file
Parameter Description
NO_KIND Specifies not to deploy the lab KIND node.

Must be set to 1.

METALLB_VIP Specifies the VIP address of your EDA deployment. Make sure to use a CIDR format, preferably as a /32 (or /128 for an IPv6 VIP).

If you use two networks, this VIP address must be the one used on the fabric management network. ​​If you use a single network, this setting must match the VIP address used for ​EXT_DOMAIN_NAME​ FQDN or IP.​

Example: 203.0.113.10/32

EXT_DOMAIN_NAME The FQDN that resolves to the EDA VIP or the VIP itself.

This setting must refer to the FQDN or VIP address that will be used to access the UI. If you use two networks, this value must be the FQDN or IP address of the OAM network.

EXT_HTTP_PORT The HTTP port that the EDA UI/API should use to redirect to HTTPS.

Set to 80.

EXT_HTTPS_PORT The HTTPS port on which the EDA UI/API listens.

Set to 443.

EXT_IPV4_ADDR The IPv4 IP address used as the VIP address.

If you use two networks, this VIP address must be the one used on the fabric management network.​ ​If you use a single network, this VIP address must be the VIP that matches your ​EXT_DOMAIN_NAME​ FQDN (or IP).

EXT_IPV6_ADDR The IPv6 IP address used as the VIP.

If you use two networks, this VIP address must be the one used on the fabric management network.​ ​If you use a single network, this VIP address must be the VIP that matches your ​EXT_DOMAIN_NAME​ FQDN (or IP).

HTTPS_PROXY Optional: The proxy address for the HTTPS proxy.
HTTP_PROXY Optional: The proxy address for the HTTP proxy.
NO_PROXY Optional: The list of IP addresses, IP ranges and hostnames that should not be proxied.
https_proxy Optional: The proxy address for the HTTPS proxy.
http_proxy Optional: The proxy address for the HTTP proxy.
no_proxy Optional: The list of IP addresses, IP ranges and hostnames that should not be proxied.
LLM_API_KEY Optional: The OpenAI API key for the LLM functionality.
SINGLESTACK_SVCS Optional: Indicates that internal services should be single stack instead of dual stack, if Kubernetes is dual stack.

Boolean.

SIMULATE Specifies if the EDA deployment is to manage simulated workloads (Digital Sandbox) or real hardware. Values: true or false.

By default, this parameter is set to true if the parameter is not provided in the file.

KPT_SETTERS_FILE Advanced configuration file for kpt.

The prefs.mk file

Settings for configurable parameters in the prefs.mk file

Note: The settings for METALLB_VIP and EXT_IPV4_ADDR match the fabric management network.
NO_KIND=1
METALLB_VIP=203.0.113.10/32
EXT_DOMAIN_NAME=eda.domain.tld 
EXT_HTTP_PORT=80 
EXT_HTTPS_PORT=443 
EXT_IPV4_ADDR=203.0.113.10
EXT_IPV6_ADDR=""
HTTPS_PROXY=http://192.0.2.254:8080 
HTTP_PROXY=http://192.0.2.254:8080 
NO_PROXY=192.0.2.0/24,203.0.113.0/24,.domain.tld,172.22.0.0/16,localhost,127.0.0.1,10.0.1.0/24,0.0.0.0,169.254.116.108 
https_proxy=http://192.0.2.254:8080 
http_proxy=http://192.0.2.254:8080 
no_proxy=192.0.2.0/24,203.0.113.0/24,.domain.tld,172.22.0.0/16,localhost,127.0.0.1,10.0.1.0/24,0.0.0.0,169.254.116.108 
LLM_API_KEY=...

Installing Nokia EDA

Follow these steps to install EDA.

  1. Download the latest tools.
    make download-tools
  2. Download the latest packages, including the eda-kpt package.
    make download-pkgs
  3. Set up the MetalLB environment for VIP management.
    make metallb
  4. Install the necessary external packages.
    make install-external-packages
    Note: If this command exits with an error, wait 30 seconds and try again. Sometimes Kubernetes is a bit slower in reconciling the change than the command waits for.
  5. Change the eda-git Kubernetes service to a ClusterIP service instead of a LoadBalancer type.
    kubectl -n eda-system patch service eda-git -p '{"spec": {"type": "ClusterIP"}}'
  6. Generate the EDA core configuration.
    make eda-configure-core
  7. Install EDA core components.
    make eda-install-core
    Note: If the command hangs for a long time (>5 minutes) on "reconcile pending" for a workflowdefinition, cancel the command and try again, KPT is designed to handle these cases. This can occasionally happen depending on the Kubernetes cluster
  8. Verify that the EDA Config Engine is up and running.
    make eda-is-core-ready
  9. Install all the standard EDA apps.
    This step can take approximate 5 to 15 minutes, depending on your connectivity.
    make eda-install-apps
  10. Bootstrap EDA.
    make eda-bootstrap
  11. If your deployment uses two networks, create a second VIP pool for the OAM VIP address.
    make metallb-configure-pools METALLB_VIP=<OAM VIP> LB_POOL_NAME=pool-nb
  12. If your deployment uses two networks, create the OAM UI/API service using the new VIP pool.
    make eda-create-api-lb-svc API_LB_POOL_NAME=pool-nb
  13. Optional: Deploy an example topology.
    make topology-load

Accessing the EDA deployment

You can now access the new EDA deployment using the following methods:
  • use https://OAM-VIP
  • if an FQDN is configured for the EXT_DOMAIN_NAME field, use https://FQDN