Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagebash
sudo -i
visudo 
# Uncomment the line below
%wheel  ALL=(ALL)       NOPASSWD: ALL

Step 2. Add sudo user to wheel group

...

Code Block
languagebash
usermod –aG wheel onaplab

...

Code Block
languagebash
# Login as super user
sudo -i

# Check for the following parameter
cat /sys/module/kvm_intel/parameters/nested
N
# If it is Y, there is nothing else to be done. It is already enabled!

# If it is N, do the following:
# Edit /etc/default/grub file, and include kvm-intel.nested=1
GRUB_CMDLINE_LINUX parameter
GRUB_CMDLINE_LINUX="crashkernel=auto
console=ttyS0,38400n8,kvm-intel.nested=1"

# Rebuild your GRUB configuration
sudo grub2-mkconfig -o /boot/grub2/grub.cfg

# Enable nested KVM capabilities in /etc/modprobe.d/kvm.conf
# By uncommenting the below line

options kvm_intel nested=1

### Reboot the server
reboot

# Now, we should have the nested KVM capabilities enabled
cat /sys/module/kvm_intel/parameters/nested
Y

Step 4. Install VNC Server (Optional)

Follow instructions at:

https://www.tecmint.com/install-and-configure-vnc-server-in-centos-7/

...

Code Block
languagebash
cat <<\EOF >> netdefault.xml
<network>
  <name>default</name>
  <bridge name="vmbr0"/>
  <forward mode='route' dev='eno24'/>
 # <forward/>
  <ip address="10.121.7.129" netmask="255.255.255.224">
    <dhcp>
      <range start="10.121.7.144" end="10.121.7.158"/>
    </dhcp>
  </ip>
</network>
EOF

sudo virsh net-list
sudo virsh net-destroy default
sudo virsh net-undefine default
sudo virsh net-define netdefault.xml
sudo virsh net-start default
sudo virsh net-autostart default

...

Code Block
languagebash
# Run commands below on the Host Server
ssh-keygen
cd ~/.ssh
chmod 600 id_rsa
chmod 600 id_rsa.pub
chmod 700 config
chmod 600 known_hosts

cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys

echo "# Increase the server timeout value" >> ~/.ssh/config
echo "ServerAliveInterval 120" >> ~/.ssh/config

Step 2. Download software and install EMCO

...

Code Block
languagebash
#### On the Host Server 

sudo yum install -y git deltarpm
mkdir -p amcop_deploy
cd amcop_deploy

## Download the installation package zip file from 


wget --load-cookies /tmp/cookies.txt "https://drivedocs.google.com/file/d/1aFtChA454uAMuoEyV4m-jWiRDrZGyYgx/view?usp=sharing

unzip amcop_install_v1.0.zipuc?export=download&confirm=$(wget --quiet --save-cookies /tmp/cookies.txt --keep-session-cookies --no-check-certificate 'https://docs.google.com/uc?export=download&id=1NE6dfbt3l6u2D6MRocdL04_xMjPn06HZ' -O- | sed -rn 's/.*confirm=([0-9A-Za-z_]+).*/\1\n/p')&id=1NE6dfbt3l6u2D6MRocdL04_xMjPn06HZ" -O amcop_install_v1.0.zip  && rm -rf /tmp/cookies.txt 

unzip amcop_install_v1.0.zip

sudo chown -R onaplab:onaplab ~/amcop_deploy/

cd ~/amcop_deploy/aarna-stream/util-scripts
./prep_baremetal_centos.sh


####### Install EMCO/AMCOP
# Edit inventory.ini file. Use IP address of Host Server and the username.

cd ~/amcop_deploy/aarna-stream/anod_lite/ansible/deployment
vi inventory.ini
[deployment_host]
10.121.1.12 ansible_user=onaplab


nohup ansible-playbook ./main.yml -i inventory.ini -e deployment_env=on-prem -e jump_host_user=onaplab --private-key=/home/onaplab/.ssh/id_rsa -e vm_user=onaplab &

...

Code Block
languagebash
# On the Host Server
cd /home/onaplab/amcop_deploy/aarna-stream/util-scripts

# Add "--cpu host" option to the end of the below line
vi create_qem_vm.sh

virt-install --connect qemu:///system --name $vm_name --ram $(($mem << 10)) --vcpus=$vCPU --os-type linux --os-variant $os_variant --disk path=/var/lib/libvirt/images/$vm_name/"$vm_name".qcow2,format=qcow2 --disk /var/lib/libvirt/images/$vm_name/$vm_name-cidata.iso,device=cdrom --import --network network=default --noautoconsole —cpu—-cpu host

# Save the file

Step 2. Deploy two Edge Cluster VMs.

...

Code Block
languagebash
### Cleanup
sudo virsh destroy  edge_k8s-1
sudo virsh undefine  edge_k8s-1
sudo virsh pool-destroy  edge_k8s-1
sudo virsh pool-undefine  edge_k8s-1
sudo rm /var/lib/libvirt/images/edge_k8s-1/edge_k8s-1-cidata.iso
sudo rm /var/lib/libvirt/images/edge_k8s-1/edge_k8s-1.qcow2

sudo virsh destroy  edge_k8s-2
sudo virsh undefine  edge_k8s-2
sudo virsh pool-destroy  edge_k8s-2
sudo virsh pool-undefine  edge_k8s-2
sudo rm /var/lib/libvirt/images/edge_k8s-2/edge_k8s-2-cidata.iso
sudo rm /var/lib/libvirt/images/edge_k8s-2/edge_k8s-2.qcow2 rm /var/lib/libvirt/images/edge_k8s-2/edge_k8s-2.qcow2

Modify sshd_config on VMs

To ensure that user onaplab can successfully ssh into EMCO and edge cluster VMs, add user onaplab to the sshd_config file.


Code Block
languagebash
## ssh to each VM:
ssh  onaplab@10.121.7.152

sudo -i
cd /etc/ssh
vi sshd_config
AllowUsers ubuntu onaplab

## Save the changes and exit the file

Deployment Verification

EMCO Deployment Verification

...

Code Block
languagebash
# Determine IP address of EMCO VM:
[onaplab@os12 ~]$ sudo virsh list --all
 Id    Name                           State
----------------------------------------------------
 6     amcop-vm-01                    running
 9     edge_k8s-1                     running
 10    edge_k8s-2                     running

[onaplab@os12 ~]$ sudo domifaddr amcop-vm-01
sudo: domifaddr: command not found
[onaplab@os12 ~]$ sudo virsh domifaddr amcop-vm-01
 Name       MAC address          Protocol     Address
-------------------------------------------------------------------------------
 vnet0      52:54:00:1a:8e:8b    ipv4         10.121.7.145/27

# ssh to EMCO VM. You should be able to ssh without specifying the key:
[onaplab@os12 ~]$ ssh onaplab@10.121.7.145

# Verify K8S pods:
onaplab@emco:~$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                            READY   STATUS     RESTARTS   AGE
kube-system   calico-kube-controllers-6f954885fb-bb2mr        1/1     Running    0          28d
kube-system   calico-node-ldcpv                               1/1     Running    0          28d
kube-system   coredns-6b968665c4-6558h                        1/1     Running    0          28d
kube-system   coredns-6b968665c4-rq6bf                        0/1     Pending    0          28d
kube-system   dns-autoscaler-5fc5fdbf6-njch7                  1/1     Running    0          28d
kube-system   kube-apiserver-node1                            1/1     Running    0          28d
kube-system   kube-controller-manager-node1                   1/1     Running    0          28d
kube-system   kube-proxy-gg95d                                1/1     Running    0          28d
kube-system   kube-scheduler-node1                            1/1     Running    0          28d
kube-system   kubernetes-dashboard-6c7466966c-cjpxm           1/1     Running    0          28d
kube-system   nodelocaldns-7pxcs                              1/1     Running    0          28d
kube-system   tiller-deploy-8756df4d9-zq52m                   1/1     Running    0          28d
onap          dev-cassandra-0                                 1/1     Running    0          28d
onap          dev-cassandra-1                                 1/1     Running    0          28d
onap          dev-cassandra-2                                 1/1     Running    0          28d
onap          dev-cds-blueprints-processor-6d697cc4d6-wzlfj   0/1     Init:1/3   0          28d
onap          dev-cds-db-0                                    1/1     Running    0          28d
onap          dev-cds-py-executor-7dcdc5f7f6-tpfmg            1/1     Running    0          28d
onap          dev-cds-sdc-listener-f99d4588d-nt2tk            0/1     Init:0/1   4021       28d
onap          dev-cds-ui-7768bb4b-cfbzd                       1/1     Running    0          28d
onap          dev-mariadb-galera-0                            1/1     Running    0          28d
onap          dev-mariadb-galera-1                            1/1     Running    0          28d
onap          dev-mariadb-galera-2                            1/1     Running    0          28d
onap4k8s      clm-668c45d96d-99gpb                            1/1     Running    0          28d
onap4k8s      emcoui-57846bd5df-c774f                         1/1     Running    0          28d
onap4k8s      etcd-768d5b6cc-ptmmr                            1/1     Running    0          28d
onap4k8s      middleend-6d67c9bf54-tvs7s                      1/1     Running    0          28d
onap4k8s      mongo-7988cb488b-kf29q                          1/1     Running    0          28d
onap4k8s      ncm-9f4b85787-nqnlm                             1/1     Running    0          28d
onap4k8s      orchestrator-5fd4845f8f-qsxlf                   1/1     Running    0          28d
onap4k8s      ovnaction-f794f65b6-w85ms                       1/1     Running    0          28d
onap4k8s      rsync-7d9f5fbd9b-r72sp                          1/1     Running    0          28d

# Verify K8S services:
onaplab@emco:~$ kubectl get svc --all-namespaces
NAMESPACE     NAME                               TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)                                                  AGE
default       kubernetes                         ClusterIP   10.233.0.1      <none>        443/TCP                                                  28d
kube-system   coredns                            ClusterIP   10.233.0.3      <none>        53/UDP,53/TCP,9153/TCP                                   28d
kube-system   kubernetes-dashboard               ClusterIP   10.233.35.188   <none>        443/TCP                                                  28d
kube-system   tiller-deploy                      ClusterIP   10.233.33.249   <none>        44134/TCP                                                28d
onap          cassandra                          ClusterIP   None            <none>        7000/TCP,7001/TCP,7199/TCP,9042/TCP,9160/TCP,61621/TCP   28d
onap          cds-blueprints-processor-cluster   ClusterIP   10.233.4.219    <none>        5701/TCP                                                 28d
onap          cds-blueprints-processor-grpc      ClusterIP   10.233.34.1     <none>        9111/TCP                                                 28d
onap          cds-blueprints-processor-http      ClusterIP   10.233.31.74    <none>        8080/TCP                                                 28d
onap          cds-db                             ClusterIP   None            <none>        3306/TCP                                                 28d
onap          cds-py-executor                    ClusterIP   10.233.43.240   <none>        50052/TCP,50053/TCP                                      28d
onap          cds-sdc-listener                   ClusterIP   10.233.2.48     <none>        8080/TCP                                                 28d
onap          cds-ui                             NodePort    10.233.55.19    <none>        3000:30497/TCP                                           28d
onap          mariadb-galera                     ClusterIP   None            <none>        3306/TCP                                                 28d
onap4k8s      clm                                NodePort    10.233.59.50    <none>        9061:31856/TCP                                           28d
onap4k8s      emcoui                             NodePort    10.233.2.5      <none>        9080:30480/TCP                                           28d
onap4k8s      etcd                               ClusterIP   10.233.54.80    <none>        2379/TCP,2380/TCP                                        28d
onap4k8s      middleend                          NodePort    10.233.11.225   <none>        9891:31289/TCP                                           28d
onap4k8s      mongo                              ClusterIP   10.233.19.133   <none>        27017/TCP                                                28d
onap4k8s      ncm                                NodePort    10.233.16.20    <none>        9031:32737/TCP                                           28d
onap4k8s      orchestrator                       NodePort    10.233.23.25    <none>        9015:31298/TCP                                           28d
onap4k8s      ovnaction                          NodePort    10.233.37.45    <none>        9053:32514/TCP,9051:31181/TCP                            28d
onap4k8s      rsync                              NodePort    10.233.60.47    <none>        9041:30555/TCP                                           28d



...

Code Block
languagebash
sudo virsh destroy amcop-vm-01
sudo virsh undefine amcop-vm-01
sudo virsh pool-destroy amcop-vm-01
sudo virsh pool-undefine amcop-vm-01
sudo rm /var/lib/libvirt/images/amcop-vm-01/amcop-vm-01-cidata.iso
sudo rm /var/lib/libvirt/images/amcop-vm-01/amcop-vm-01.qcow2

sudo virsh destroy  edge_k8s-1
sudo virsh undefine  edge_k8s-1
sudo virsh pool-destroy  edge_k8s-1
sudo virsh pool-undefine  edge_k8s-1
sudo rm /var/lib/libvirt/images/edge_k8s-1/edge_k8s-1-cidata.iso
sudo rm /var/lib/libvirt/images/edge_k8s-1/edge_k8s-1.qcow2

sudo virsh destroy  edge_k8s-2
sudo virsh undefine  edge_k8s-2
sudo virsh pool-destroy  edge_k8s-2
sudo virsh pool-undefine  edge_k8s-2
sudo rm /var/lib/libvirt/images/edge_k8s-2/edge_k8s-2-cidata.iso
sudo rm /var/lib/libvirt/images/edge_k8s-2/edge_k8s-2.qcow2

sudo rm -rf ~/amcop_deploy
sudo rm -rf ~/aarna_stream 

License

References

AMCOP Quickstart Guide (Bare Metal) - EMCO Install Guide by Aarna Networks
AMCOP User Guide - EMCO Config Guide by Aarna Networks

...