-#Edge Location Provider Network configuration
-#Net A - Provider Network
-#If provider having specific Gateway and DNS server details in the edge location
-#export PROVIDER_NETWORK_GATEWAY="10.10.110.1"
-#export PROVIDER_NETWORK_DNS="8.8.8.8"
-
-#Ironic Metal3 settings for provisioning network
-#Interface to which Ironic provision network to be connected
-#Net B - Provisioning Network
-export IRONIC_INTERFACE="eno2"
-
-#Ironic Metal3 setting for IPMI LAN Network
-#Interface to which Ironic IPMI LAN should bind
-#Net C - IPMI LAN Network
-export IRONIC_IPMI_INTERFACE="eno1"
-
-#Interface IP for the IPMI LAN, ICN verfiy the LAN Connection is active or not
-#Net C - IPMI LAN Network
-export IRONIC_IPMI_INTERFACE_IP="10.10.10.10"
-```
-
-#### Running
-After configuring the node inventory file and network configuration
-files, please run `make install` from the ICN parent directory as
-shown below:
-
-``` shell
-root@pod11-jump:# git clone "https://gerrit.akraino.org/r/icn"
-Cloning into 'icn'...
-remote: Counting objects: 69, done
-remote: Finding sources: 100% (69/69)
-remote: Total 4248 (delta 13), reused 4221 (delta 13)
-Receiving objects: 100% (4248/4248), 7.74 MiB | 21.84 MiB/s, done.
-Resolving deltas: 100% (1078/1078), done.
-root@pod11-jump:# cd icn/
-root@pod11-jump:# vim Makefile
-root@pod11-jump:# make install
-```
-
-The following steps occurs once the `make install` command is given.
-1. All the software required to run the bootstrap cluster is
- downloaded and installed.
-2. k8s cluster to maintain the bootstrap cluster and all the servers
- in the edge location is installed.
-3. Metal3 specific network configuration such as local DHCP server
- networking for each edge location, Ironic networking for both
- provisioning network and IPMI LAN network are identified and
- created.
-4. Metal3 is launched with IPMI configuration as configured in
- "user_config.sh" and provisions the bare metal servers using IPMI
- LAN network. For more information refer to the [Debugging
- Failures](#debugging-failures) section.
-5. Metal3 launch verification runs with a timeout of 60 mins by
- checking the status of all the servers being provisioned or not.
- 1. All servers are provisioned in parallel. For example, if your
- deployment is having 10 servers in the edge location, all the 10
- servers are provisioned at the same time.
- 2. Metal3 launch verification takes care of checking all the
- servers are provisioned, the network interfaces are up and
- provisioned with a provider network gateway and DNS server.
- 3. Metal3 launch verification checks the status of all servers
- given in user_config.sh to make sure all the servers are
- provisioned. For example, if 8 servers are provisioned and 2
- servers are not provisioned, launch verification makes sure all
- servers are provisioned before launch k8s clusters on those
- servers.
-6. BPA bare metal components are invoked with the MAC address of the
- servers provisioned by Metal3, BPA bare metal components decide the
- cluster size and also the number of clusters required in the edge
- location.
-7. BPA bare metal runs the containerized Kuberenetes Reference
- Deployment (KUD) as a job for each cluster. KUD installs the k8s
- cluster on the slice of servers and install ONAP4K8S and all other
- default plugins such as Multus, OVN, OVN4NFV, NFD, Virtlet and
- SRIOV.
-8. BPA REST API agent installed in the bootstrap cluster or jump
- server, and this install rest-api, rook/ceph, MinIO as the cloud
- storage. This provides a way for user to upload their own software,
- container images or OS image to jump server.
-
-## Virtual Deployment Guide
-
-### Standard Deployment Overview
-![Figure 2](figure-2.png)*Figure 2: Virtual Deployment Architecture*
-
-Virtual deployment is used for the development environment using
-Metal3 virtual deployment to create VM with PXE boot. VM Ansible
-scripts the node inventory file in /opt/ironic. No setting is required
-from the user to deploy the virtual deployment.
-
-### Snapshot Deployment Overview
-No snapshot is implemented in ICN R2.
-
-### Special Requirements for Virtual Deployment
-
-#### Install Jump Server
-Jump server is required to be installed with Ubuntu 18.04. This will
-install all the VMs and install the k8s clusters. Same as bare metal
-deployment, use `make vm_install` to install virtual deployment.
-
-#### Verifying the Setup - VMs
-`make verify_all` installs two VMs with name master-0 and worker-0
-with 8GB RAM and 8 vCPUs and installs k8s cluster on the VMs using the
-ICN BPA operator and install the ICN BPA REST API verifier. BPA
-operator installs the multi-cluster KUD to bring up k8s with all
-addons and plugins.
-
-# Verifying the Setup
-ICN blueprint checks all the setup in both bare metal and VM
-deployment. Verify script will check that Metal3 provisioned the OS in
-each bare metal servers by checking with a timeout period of 60 sec
-and interval of 30. BPA operator verifier will check whether the KUD
-installation is complete by doing plain curl command to the k8s
-cluster installed in bare metal and VM setup.
-
-**Bare Metal Verifier**: Run the `make bm_verifer`, it will verify the
-bare-metal deployment.
-
-**Verifier**: Run the `make vm_verifier`, it will verify the virtual
-deployment.
-
-# Developer Guide and Troubleshooting
-For development uses the virtual deployment, it take up to 10 mins to
-bring up the virtual BMC VMs with PXE boot. Virtual deployment works
-well for the BPA operator development for Metal3 installation scripts.
-
-## Utilization of Images
-No images provided in this ICN release.
-
-## Post-deployment Configuration
-No post-deployment configuration required in this ICN release.
-
-## Debugging Failures
-* For first time installation enable KVM console in the trial or lab
- servers using Raritan console or use Intel web BMC console.
-
- ![Figure 3](figure-3.png)
-* Deprovision state will result in Ironic agent sleeping before next
- heartbeat - it is not an error. It results in bare metal server
- without OS and installed with ramdisk.
-* Deprovision in Metal3 is not straight forward - Metal3 follows
- various stages from provisioned, deprovisioning and ready. ICN
- blueprint take care navigating the deprovisioning states and
- removing the BareMetalHost (BMH) custom resouce in case of cleaning.
-* Manual BMH cleaning of BMH or force cleaning of BMH resource result
- in hang state - use `make bmh_clean` to remove the BMH state.
-* Logs of Ironic, openstack baremetal command to see the state of the
- server.
-* Logs of baremetal operator gives failure related to images or images
- md5sum errors.
-* It is not possible to change the state from provision to deprovision
- or deprovision to provision without completing that state. All the
- issues are handled in ICN scripts.
-* k8s cluster failure can be debugged by KUD Pod logs.
-
-## Reporting a Bug
-Required Linux Foundation ID to launch bug in ICN:
-https://jira.akraino.org/projects/ICN/issues
-
-# Uninstall Guide
-
-## Bare Metal deployment
-The command `make clean_all` uninstalls all the components installed by
-`make install`
-* It de-provision all the servers provisioned and removes them from
- Ironic database.
-* Baremetal operator is deleted followed by Ironic database and
- container.
-* Network configuration such internal DHCP server, provisioning
- interfaces and IPMI LAN interfaces are deleted.
-* docker images built during the `make install` are deleted, such as
- all Ironic, baremetal operator, BPA operator and KUD images.
-* KUD will reset the bootstrap cluster - k8s cluster is torn down in
- the jump server and all the associated docker images are removed.
-* All software packages installed by `make install_all` are removed,
- such as Ironic, openstack utility tool, docker packages and basic
- prerequisite packages.
-
-## Virtual deployment
-The command `make vm_clean_all` uninstalls all the components for the
-virtual deployments.
-
-# Troubleshooting
-
-## Error Message Guide
-The error message is explicit, all messages are captured in log
-directory.
-
-# Maintenance
-
-## Blueprint Package Maintenance
-No packages are maintained in ICN.
-
-## Software maintenance
-Not applicable.
-
-## Hardware maintenance
-Not applicable.
-
-## BluePrint Deployment Maintenance
-Not applicable.
-
-# Frequently Asked Questions
-**How to setup IPMI?**
-
-First, make sure the IPMI tool is installed in your servers, if not
-install them using `apt install ipmitool`. Then, check for the
-ipmitool information of each servers using the command `ipmitool lan
-print 1`. If the above command doesn't show the IPMI information, then
-setup the IPMI static IP address using the following instructions:
-- Mostl easy way to set up IPMI topology in your lab setup is by
- using IPMI tool.
-- Using IPMI tool -
- https://www.thomas-krenn.com/en/wiki/Configuring_IPMI_under_Linux_using_ipmitool
-- IPMI information can be considered during the BIOS setting as well.
-
-**BMC web console URL is not working?**
-
-It is hard to find issues or reason. Check the ipmitool bmc info to
-find the issues, if the URL is not available.