mkisofs can be installed using brew indeed. It won't help out off the box
though. I think it should not be used from a unit test but at best from an
integration test. As it is an integration with an external tool. (look
later)

On Wed, May 23, 2018 at 10:11 AM, Wido den Hollander <w...@widodh.nl> wrote:

>
>
> On 05/22/2018 08:58 PM, Tutkowski, Mike wrote:
> > Hi Rohit,
> >
> > I’ve tried a few things so far, but none seem to install genisoimage in
> /usr/bin as the test indicates is required.
> >
>
> genisoimage isn't a binary which is generated by CloudStack, you have to
> install it.
>
> Under Ubuntu Linux this would be:
>
> $ apt install mkisofs
>
> But I don't know how this works under MacOS, maybe using brew?
>
> Wido
>
> > From https://cwiki.apache.org/confluence/display/CLOUDSTACK/
> Setting+Up+a+CloudStack+Development+Environment+on+Mac+OS+X, I’ve tried
> these steps:
> >
> > • sudo port install cdrtools; or using brew: brew install cdrtools
> (could take a long time)
> > 'brew install cdrtools' did not work for me on OSX 10.9.  However, 'brew
> install dvdrtools' did work for me...
> > • NOTE - If after the above steps, for any reason, mkisofs is still not
> installed, download it from the net. One good link to get mkisofs for mac
> is - http://www.helios.de/viewart.html?id=1000-en#download . Follow the
> instructions in the section "Download HELIOS “mkisofs” tested binary
> versions". Use the macosx86 binary if you're running mac os x on an intel
> platform. After downloading the mkisofs binary, copy it over to
> /usr/local/bin/.
> >
> > I only use Mac OS X to build the code locally. I don’t actually run the
> management server from this machine (I run it on Ubuntu).
> >
> > For the time being at least, I can just use –DskipTests=true when
> building on Mac OS X.
> >
> > Talk to you later,
> > Mike
> >
> > On 5/22/18, 12:19 AM, "Rohit Yadav" <rohit.ya...@shapeblue.com> wrote:
> >
> >     Hi Mike,
> >
> >
> >     Is genisoimage or mkisofs available on osx? This is usually
> installed at /usr/bin/ on CentOS6/CentOS7/Ubuntu Linux. Can you try brew or
> something else to install it?
> >
> >     They are also used by injectkeys.sh/.py when the management server
> starts. The change is part of a recent PR I did and added a unit test for
> it where it tries to build a config drive ISO file. If genisoimage is not
> availabe on OSX, we can add some environment check to the unit test to skip
> on non-Linux environments.
> >
> >
> >     - Rohit
> >
> >     <https://cloudstack.apache.org>
> >
> >
> >
> >     ________________________________
> >     From: Tutkowski, Mike <mike.tutkow...@netapp.com>
> >     Sent: Tuesday, May 22, 2018 2:13:23 AM
> >     To: dev@cloudstack.apache.org
> >     Subject: Re: Can't build master
> >
> >     Just an FYI that this is on OS X Version 10.11.6.
> >
> >     From: "Tutkowski, Mike" <mike.tutkow...@netapp.com>
> >     Date: Monday, May 21, 2018 at 2:42 PM
> >     To: "dev@cloudstack.apache.org" <dev@cloudstack.apache.org>
> >     Subject: Can't build master
> >
> >     Hi,
> >
> >     Did I miss an e-mail or something? I’m having trouble building
> master (below).
> >
> >     Thanks!
> >     Mike
> >
> >     Running org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilderTest
> >     log4j:WARN No appenders could be found for logger
> (org.apache.cloudstack.storage.configdrive.ConfigDriveBuilder).
> >     log4j:WARN Please initialize the log4j system properly.
> >     log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig
> for more info.
> >     Tests run: 2, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> 0.296 sec <<< FAILURE! - in org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilderTest
> >     
> > testConfigDriveBuild(org.apache.cloudstack.storage.configdrive.ConfigDriveBuilderTest)
> Time elapsed: 0.278 sec  <<< ERROR!
> >     com.cloud.utils.exception.CloudRuntimeException: Unable to create
> iso file: i-x-y.iso due to java.io.IOException: Cannot run program
> "/usr/bin/genisoimage": error=2, No such file or directory
> >                     at java.lang.ProcessBuilder.
> start(ProcessBuilder.java:1048)
> >                     at com.cloud.utils.script.Script.
> execute(Script.java:215)
> >                     at com.cloud.utils.script.Script.
> execute(Script.java:183)
> >                     at org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilder.buildConfigDrive(ConfigDriveBuilder.java:152)
> >                     at org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilderTest.testConfigDriveBuild(ConfigDriveBuilderTest.java:
> 56)
> >                     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
> >                     at sun.reflect.NativeMethodAccessorImpl.invoke(
> NativeMethodAccessorImpl.java:62)
> >                     at sun.reflect.DelegatingMethodAccessorImpl.invoke(
> DelegatingMethodAccessorImpl.java:43)
> >                     at java.lang.reflect.Method.invoke(Method.java:498)
> >                     at org.junit.runners.model.FrameworkMethod$1.
> runReflectiveCall(FrameworkMethod.java:50)
> >                     at org.junit.internal.runners.
> model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> >                     at org.junit.runners.model.FrameworkMethod.
> invokeExplosively(FrameworkMethod.java:47)
> >                     at org.junit.internal.runners.
> statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> >                     at org.junit.runners.ParentRunner.runLeaf(
> ParentRunner.java:325)
> >                     at org.junit.runners.BlockJUnit4ClassRunner.
> runChild(BlockJUnit4ClassRunner.java:78)
> >                     at org.junit.runners.BlockJUnit4ClassRunner.
> runChild(BlockJUnit4ClassRunner.java:57)
> >                     at org.junit.runners.ParentRunner$3.run(
> ParentRunner.java:290)
> >                     at org.junit.runners.ParentRunner$1.schedule(
> ParentRunner.java:71)
> >                     at org.junit.runners.ParentRunner.runChildren(
> ParentRunner.java:288)
> >                     at org.junit.runners.ParentRunner.access$000(
> ParentRunner.java:58)
> >                     at org.junit.runners.ParentRunner$2.evaluate(
> ParentRunner.java:268)
> >                     at org.junit.runners.ParentRunner.run(ParentRunner.
> java:363)
> >                     at org.apache.maven.surefire.
> junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
> >                     at org.apache.maven.surefire.junit4.JUnit4Provider.
> executeWithRerun(JUnit4Provider.java:173)
> >                     at org.apache.maven.surefire.junit4.JUnit4Provider.
> executeTestSet(JUnit4Provider.java:153)
> >                     at org.apache.maven.surefire.
> junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
> >                     at org.apache.maven.surefire.booter.ForkedBooter.
> invokeProviderInSameClassLoader(ForkedBooter.java:203)
> >                     at org.apache.maven.surefire.booter.ForkedBooter.
> runSuitesInProcess(ForkedBooter.java:155)
> >                     at org.apache.maven.surefire.
> booter.ForkedBooter.main(ForkedBooter.java:103)
> >     Caused by: java.io.IOException: error=2, No such file or directory
> >                     at java.lang.UNIXProcess.forkAndExec(Native Method)
> >                     at java.lang.UNIXProcess.<init>(
> UNIXProcess.java:247)
> >                     at java.lang.ProcessImpl.start(ProcessImpl.java:134)
> >                     at java.lang.ProcessBuilder.
> start(ProcessBuilder.java:1029)
> >                     ... 28 more
> >
> >                     at org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilder.buildConfigDrive(ConfigDriveBuilder.java:156)
> >                     at org.apache.cloudstack.storage.configdrive.
> ConfigDriveBuilderTest.testConfigDriveBuild(ConfigDriveBuilderTest.java:
> 56)
> >
> >
> >     Results :
> >
> >     Tests in error:
> >       ConfigDriveBuilderTest.testConfigDriveBuild:56 » CloudRuntime
> Unable to create...
> >
> >     Tests run: 2, Failures: 0, Errors: 1, Skipped: 0
> >
> >     [INFO] ------------------------------------------------------------
> ------------
> >     [INFO] Reactor Summary:
> >     [INFO]
> >     [INFO] Apache CloudStack Developer Tools - Checkstyle Configuration
> SUCCESS [  1.644 s]
> >     [INFO] Apache CloudStack .................................. SUCCESS
> [  1.714 s]
> >     [INFO] Apache CloudStack Framework - Managed Context ...... SUCCESS
> [  5.043 s]
> >     [INFO] Apache CloudStack Framework ........................ SUCCESS
> [  0.213 s]
> >     [INFO] Apache CloudStack Framework - Certificate Authority  SUCCESS
> [  1.503 s]
> >     [INFO] Apache CloudStack Utils ............................ SUCCESS
> [ 35.634 s]
> >     [INFO] Apache CloudStack Framework - Database ............. SUCCESS
> [ 16.478 s]
> >     [INFO] Apache CloudStack Framework - Configuration ........ SUCCESS
> [ 17.546 s]
> >     [INFO] Apache CloudStack Framework - Direct Download to Primary
> Storage SUCCESS [  1.822 s]
> >     [INFO] Apache CloudStack API .............................. SUCCESS
> [01:39 min]
> >     [INFO] Apache CloudStack Framework - REST ................. SUCCESS
> [ 12.480 s]
> >     [INFO] Apache CloudStack Framework - IPC .................. SUCCESS
> [ 11.541 s]
> >     [INFO] Apache CloudStack Cloud Engine ..................... SUCCESS
> [  0.111 s]
> >     [INFO] Apache CloudStack Cloud Engine API ................. SUCCESS
> [  8.813 s]
> >     [INFO] Apache CloudStack Framework - Security ............. SUCCESS
> [  3.798 s]
> >     [INFO] Apache CloudStack Core ............................. SUCCESS
> [ 30.158 s]
> >     [INFO] Apache CloudStack Agents ........................... SUCCESS
> [ 10.025 s]
> >     [INFO] Apache CloudStack Framework - Clustering ........... SUCCESS
> [  8.291 s]
> >     [INFO] Apache CloudStack Framework - Event Notification ... SUCCESS
> [  2.173 s]
> >     [INFO] Apache CloudStack Cloud Engine Schema Component .... SUCCESS
> [ 35.588 s]
> >     [INFO] Apache CloudStack Framework - Jobs ................. SUCCESS
> [  6.366 s]
> >     [INFO] Apache CloudStack Cloud Engine Internal Components API
> SUCCESS [  3.570 s]
> >     [INFO] Apache CloudStack Agent Management Servers Load Balancer
> SUCCESS [  1.136 s]
> >     [INFO] Apache CloudStack Framework - Storage Config Drive Component
> FAILURE [  4.557 s]
> >
> >
> >     rohit.ya...@shapeblue.com
> >     www.shapeblue.com
> >     53 Chandos Place, Covent Garden, London  WC2N 4HSUK
> >     @shapeblue
> >
> >
> >
> >
> >
>



-- 
Daan

Reply via email to