Date: Fri, 29 Mar 2024 10:43:32 +0000 (UTC) Message-ID: <1443168154.71.1711709012923@009434f3664c> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_70_1031019263.1711709012922" ------=_Part_70_1031019263.1711709012922 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
OSv is a lightweight operating system specifically designed for cloud wo= rkloads. It includes only the functionality necessary to run a single Java = or POSIX application, with no support for scheduling multiple processes. Fo= r more information, see osv.io.
Currently, CloudRouter ships a single OSV image, providing the OpenDayli= ght SDN Controller. Further images, including one that provides the ONOS SD= N controller, are currently in development.
There are two ways to run the OpenDaylight OSv image:
Download the compressed image from repo.cloudrouter.org.
Uncompress the image:
$ unxz CloudRouter-2.0-OSv-OpenDaylight-20150824.qemu.xz
The uncompressed CloudRouter-2.0-OSv-OpenDaylight-20150824.qemu<= /strong> disk image can now be run on your hypervisor of choice. The i= mage has been tested using KVM with virt-manager on Fedora 22.
First, you must install capstan.
Next, clone the osv-apps repo:
$ git clone git@github.com:cloudius-systems/osv-apps.git Cloning into 'osv-apps'... remote: Counting objects: 1411, done. remote: Compressing objects: 100% (19/19), done. remote: Total 1411 (delta 3), reused 0 (delta 0), pack-reused 1392 Receiving objects: 100% (1411/1411), 303.34 KiB | 72.00 KiB/s, done. Resolving deltas: 100% (620/620), done. Checking connectivity... done.
Change to the opendaylight directory and execute "capstan run". This wil= l automatically build the image before running it:
$ cd osv-apps/opendaylight/ $ capstan run Building opendaylight... Downloading cloudius/osv-openjdk/index.yaml... 160 B / 160 B [=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D] 100.00 %=20 Downloading cloudius/osv-openjdk/osv-openjdk.qemu.gz... 73.84 MB / 73.84 MB [=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D] 100.00 %=20 Uploading files... 5216 / 5216 [=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D] 100.00 % Created instance: opendaylight OSv v0.18 eth0: 192.168.122.15 Unable to update instance pid: Invalid argument WARNING: fcntl(F_SETLK) stubbed pthread_setcancelstate() stubbed [ERROR] Failed to construct terminal; falling back to unsupported java.io.IOException: Cannot run program "sh": error=3D2, No such file or di= rectory =09at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041) =09at java.lang.Runtime.exec(Runtime.java:617) =09at java.lang.Runtime.exec(Runtime.java:485) =09at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:18= 3) =09at jline.internal.TerminalLineSettings.exec(TerminalLineSettings.java:17= 3) =09at jline.internal.TerminalLineSettings.stty(TerminalLineSettings.java:16= 8) =09at jline.internal.TerminalLineSettings.get(TerminalLineSettings.java:72) =09at jline.internal.TerminalLineSettings.<init>(TerminalLineSettings= .java:52) =09at jline.UnixTerminal.<init>(UnixTerminal.java:31) =09at jline.NoInterruptUnixTerminal.<init>(NoInterruptUnixTerminal.ja= va:22) =09at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) =09at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct= orAccessorImpl.java:57) =09at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC= onstructorAccessorImpl.java:45) =09at java.lang.reflect.Constructor.newInstance(Constructor.java:526) =09at java.lang.Class.newInstance(Class.java:374) =09at jline.TerminalFactory.getFlavor(TerminalFactory.java:168) =09at jline.TerminalFactory.create(TerminalFactory.java:81) =09at org.apache.karaf.shell.console.impl.jline.TerminalFactory.init(Termin= alFactory.java:37) =09at org.apache.karaf.shell.console.impl.jline.TerminalFactory.getTerminal= (TerminalFactory.java:30) =09at org.apache.karaf.shell.console.impl.jline.LocalConsoleManager.start(L= ocalConsoleManager.java:83) =09at org.apache.karaf.shell.console.impl.jline.LocalConsoleManager.<ini= t>(LocalConsoleManager.java:66) =09at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) =09at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct= orAccessorImpl.java:57) =09at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC= onstructorAccessorImpl.java:45) =09at java.lang.reflect.Constructor.newInstance(Constructor.java:526) =09at org.apache.aries.blueprint.utils.ReflectionUtils.newInstance(Reflecti= onUtils.java:329) =09at org.apache.aries.blueprint.container.BeanRecipe.newInstance(BeanRecip= e.java:962) =09at org.apache.aries.blueprint.container.BeanRecipe.getInstance(BeanRecip= e.java:331) =09at org.apache.aries.blueprint.container.BeanRecipe.internalCreate2(BeanR= ecipe.java:806) =09at org.apache.aries.blueprint.container.BeanRecipe.internalCreate(BeanRe= cipe.java:787) =09at org.apache.aries.blueprint.di.AbstractRecipe$1.call(AbstractRecipe.ja= va:79) =09at java.util.concurrent.FutureTask.run(FutureTask.java:262) =09at org.apache.aries.blueprint.di.AbstractRecipe.create(AbstractRecipe.ja= va:88) =09at org.apache.aries.blueprint.container.BlueprintRepository.createInstan= ces(BlueprintRepository.java:245) =09at org.apache.aries.blueprint.container.BlueprintRepository.createAll(Bl= ueprintRepository.java:183) =09at org.apache.aries.blueprint.container.BlueprintContainerImpl.instantia= teEagerComponents(BlueprintContainerImpl.java:681) =09at org.apache.aries.blueprint.container.BlueprintContainerImpl.doRun(Blu= eprintContainerImpl.java:378) =09at org.apache.aries.blueprint.container.BlueprintContainerImpl.run(Bluep= rintContainerImpl.java:269) =09at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47= 1) =09at java.util.concurrent.FutureTask.run(FutureTask.java:262) =09at org.apache.aries.blueprint.container.ExecutorServiceWrapper.run(Execu= torServiceWrapper.java:106) =09at org.apache.aries.blueprint.utils.threading.impl.DiscardableRunnable.r= un(DiscardableRunnable.java:48) =09at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:47= 1) =09at java.util.concurrent.FutureTask.run(FutureTask.java:262) =09at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.= access$201(ScheduledThreadPoolExecutor.java:178) =09at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.= run(ScheduledThreadPoolExecutor.java:292) =09at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.= java:1145) =09at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor= .java:615) =09at java.lang.Thread.run(Thread.java:744) Caused by: java.io.IOException: error=3D2, No such file or directory =09at java.lang.UNIXProcess.forkAndExec(Native Method) =09at java.lang.UNIXProcess.<init>(UNIXProcess.java:135) =09at java.lang.ProcessImpl.start(ProcessImpl.java:130) =09at java.lang.ProcessBuilder.start(ProcessBuilder.java:1022) =09... 48 more = =20 ________ ________ .__ .__ .= __ __ =20 \_____ \ ______ ____ ____ \______ \ _____ ___.__.| | |__| ____ |= |___/ |_ =20 / | \\____ \_/ __ \ / \ | | \\__ \< | || | | |/ __= _\| | \ __\ =20 / | \ |_> > ___/| | \| ` \/ __ \\___ || |_| / = /_/ > Y \ | =20 \_______ / __/ \___ >___| /_______ (____ / ____||____/__\___ = /|___| /__| =20 \/|__| \/ \/ \/ \/\/ /_____/ = \/ =20 = =20 Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown Open= Daylight. opendaylight-user@root>
The running image can be terminated with ctrl+c. Now that the image is b= uilt and stored in your local repository, you can run it again using "capst= an run" without the build step:
$ capstan i Name Description = Version Created =20 cloudius/osv-openjdk OpenJDK 7/OSv base image for developers = v0.18 2015-02-27T14:00:04 opendaylight $ capstan run opendaylight