| #!/bin/sh |
| mkdir -p /etc/systemd/system/scripts |
| cat > /etc/systemd/system/scripts/osm-vimemu-startup.sh <<-'EOF' |
| #!/bin/sh |
| |
| export OSM_HOSTNAME=127.0.0.1 |
| export OSM_SOL005=True |
| |
| echo "Waiting for OSM startup" |
| while true; do |
| # wait for startup of osm |
| RC=$(osm vim-list) |
| if [ "$?" -eq 0 ]; then |
| break |
| fi |
| sleep 2 |
| done |
| echo "OSM is up" |
| sleep 10 |
| export VIMEMU_HOSTNAME=$(docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' vim-emu) |
| osm vim-create --name vim-emulator --user username --password password --auth_url http://$VIMEMU_HOSTNAME:6001/v2.0 --tenant tenantName --account_type openstack |
| osm vnfd-create /home/vagrant/vim-emu/examples/vnfs/ping.tar.gz |
| osm vnfd-create /home/vagrant/vim-emu/examples/vnfs/pong.tar.gz |
| osm nsd-create /home/vagrant/vim-emu/examples/services/pingpong_nsd.tar.gz |
| osm ns-create --nsd_name pingpong --ns_name test --vim_account vim-emulator |
| |
| echo "VIM emulator created" |
| systemctl disable osm-vimemu-setup.service |
| EOF |
| chmod +x /etc/systemd/system/scripts/osm-vimemu-startup.sh |
| |
| cat > /etc/systemd/system/osm-vimemu-setup.service <<-'EOF' |
| [Unit] |
| Description=OSM VIM emulator setup |
| |
| [Service] |
| Type=oneshot |
| ExecStart=/etc/systemd/system/scripts/osm-vimemu-startup.sh |
| RemainAfterExit=yes |
| TimeoutSec=120 |
| |
| # Output needs to appear in instance console output |
| StandardOutput=journal+console |
| |
| [Install] |
| WantedBy=multi-user.target |
| EOF |
| |
| systemctl enable osm-vimemu-setup.service |