User Tools

Site Tools


network_stuff:juniper:vqfx:step-by-step-vqfx

This is an old revision of the document!


INSTALLATION:
Based on https://codingpackets.com/blog/juniper-vqfx-vagrant-libvirt-box-install

mkdir -p ~/vagrant/boxes/juniper/vqfx
cd ~/vagrant/boxes/juniper/vqfx
cp /data/images/vqfx10k-pfe-virtualbox.box /root/vagrant/boxes/juniper/vqfx/
cp /data/images/jinstall-vqfx-10-f-17.4R1.16.img /root/vagrant/boxes/juniper/vqfx/
tar -xvf vqfx10k-pfe-virtualbox.box


qemu-img convert -f vmdk -O qcow2 packer-virtualbox-ovf-1520878605-disk001.vmdk pfe.qcow2


curl -O https://raw.githubusercontent.com/vagrant-libvirt/vagrant-libvirt/master/tools/create_box.sh
chmod 775 create_box.sh 
echo '{"provider":"libvirt","format":"qcow2","virtual_size":6}' > metadata.json
bash create_box.sh pfe.qcow2


cat << EOF > pfe.json
{
  "name": "juniper/vqfx-pfe",
  "description": "Juniper vQFX Packet Forwarding Engine",
  "versions": [
    {
      "version": "17.4R1.16",
      "providers": [
        {
          "name": "libvirt",
          "url": "file:///root/vagrant/boxes/juniper/vqfx/pfe.box"
        }
      ]
    }
  ]
}
EOF
  vagrant box add pfe.json


mv jinstall-vqfx-10-f-17.4R1.16.img vqfx-re.qcow2
virt-install \
    --name vqfx-re \
    --os-type unix \
    --memory 1024 \
    --vcpus=1 \
    --import \
    --disk path=vqfx-re.qcow2,size=4,bus=ide,format=qcow2 \
    --network=network:vagrant-libvirt,model=e1000 \
    --network=network:vagrant-libvirt,model=e1000 \
    --graphics none


set interfaces em0 unit 0 family inet dhcp
set system services ssh root-login allow
set system root-authentication plain-text-password
commit and-quit
show interfaces terse | match em0.0    
em0.0                   up    up   inet     192.168.121.74/24


ssh root@192.168.121.74
cli
start shell user root

# root shell
cat << EOF > bootup.sh
#! /bin/sh
logger "STARTING sleep 60s to complete boot process"
sleep 60
logger "AFTER 60s"
logger "STARTING configuration using script"
/usr/sbin/cli -c 'configure;set interfaces em0.0 family inet dhcp;commit comment "Commit by script"'
EOF


chmod +x bootup.sh
crontab -e
@reboot /bin/sh /var/root/bootup.sh


cli

set system login user vagrant uid 2000
set system login user vagrant class super-user
set system login user vagrant authentication encrypted-password "$6$lUoxFIpU$ZiC3/b2UNpGvasntcvkNV4WVDJXBeZ.VqE6yPezbaGOos17vM9BhlTH.LBJb9DZE8fCoBtH0RWNhrbaYpZqxJ/"
set system login user vagrant authentication ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key"
set system root-authentication encrypted-password "$1$nq.N1UsY$JxA/ESAj3KuXseXE597gg0"
set system root-authentication ssh-rsa "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key"
set system host-name vqfx
set system services ssh root-login allow
set system services netconf ssh
commit and-quit
exit


ssh vagrant@192.168.121.74 -i ~/.vagrant.d/insecure_private_key
exit


#Now from console
delete interfaces em0
commit and-quit
request system power-off


echo '{“provider”:“libvirt”,“format”:“qcow2”,“virtual_size”:4}' > metadata.json

bash create_box.sh vqfx-re.qcow2
cat << EOF > re.json
{
  "name": "juniper/vqfx-re",
  "description": "Juniper vQFX Routing Engine",
  "versions": [
    {
      "version": "17.4R1.16",
      "providers": [
        {
          "name": "libvirt",
          "url": "file:///root/vagrant/boxes/juniper/vqfx/vqfx-re.box"
        }
      ]
    }
  ]
}
EOF
vagrant box add re.json


cd /home/jaime.santos.amandi/junos-vqfx-vagrant-virtual-lab
vagrant up
network_stuff/juniper/vqfx/step-by-step-vqfx.1579870393.txt.gz · Last modified: (external edit)