Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Parallels Desktop for Mac #223

Closed
wizonesolutions opened this issue Jul 28, 2013 · 19 comments
Closed

Add support for Parallels Desktop for Mac #223

wizonesolutions opened this issue Jul 28, 2013 · 19 comments

Comments

@wizonesolutions
Copy link

Just as the title says. Veewee has support for this, so Packer adding it would close that gap.

@mitchellh
Copy link
Contributor

Sure, would love to see any pull request for this. Tagging.

@wizonesolutions
Copy link
Author

So I want to do this soon, but I don't know Go. Besides what is documented, is there any particular plugin you'd recommend I copy-paste-change as a starting point? Is Homebrew the best way to install Go on Mac? Thanks!

@kevinmartin
Copy link

Status/Update? :)

@mitchellh
Copy link
Contributor

Nobody is currently working on this as far as I know. I'm currently focusing on some features that are higher-level and beneficial to all builders. Eventually this will make it in though!

@wizonesolutions
Copy link
Author

160 stars on vagrant-parallels :) Probably one of us will try to contribute this eventually. I contributed some code to Veewee; dunno how applicable the logic would be for Packer though, separate programming languages aside. cc @yshahin @legal90

@rickard-von-essen
Copy link
Collaborator

I started to work on a packer builder plugin for Parallels Desktop 9. It's basically a fork of the VirtualBox builder adapted for Parallels. Currently it is not working at all (I just got it to create and start the a VM), but if there are anyone who want to contribute feel free to fork and help me out.

I'll post here when it's in Beta status.

https://github.com/rickard-von-essen/packer-parallels

@mitchellh
Copy link
Contributor

I want to close this issue because I don't want a bunch of these lying around. I'd like to add support for anything/everything at some point, but keeping the issue open doesn't help that. :) If anyone wants to get started as a plugin, I'd love that.

@rickard-von-essen
Copy link
Collaborator

For reference, my parallels builder plugin is now working for at least some of my test cases. If you don't mind troubleshooting beta quality software give it a try. Also there is currently not much documentation, I'll add that shortly.

Also I'll look into creating a fork of vagrant-postprocessor to support vagrant-parallels boxes.

https://github.com/rickard-von-essen/packer-parallels

cc @yshahin @legal90 @wizonesolutions

@legal90
Copy link
Contributor

legal90 commented Mar 18, 2014

@rickard-von-essen, well done! I will check out and and try to test your builder soon.

But I think that we should cooperate together with @YungSang, because he has his own builder too:
https://github.com/YungSang/packer-parallels

cc @YungSang, @racktear

@YungSang
Copy link
Contributor

@rickard-von-essen 's builder implementation is much better than mine. I should have forked it.
But I prefer the directory structure of mine as same as the packer structure and also it is good for post-processor, I believe.
I would like to contribute to https://github.com/rickard-von-essen/packer-parallels .
Thanks.

@knazarov
Copy link

We are thinking about using C API instead of prlctl by the way, as it has access to almost all internals of Parallels Desktop.
Unfortunately we are not very familiar with Go :(

@knazarov
Copy link

@rickard-von-essen, @YungSang would you mind if we fork from you and try to do a spin-off that uses the C API?

@rickard-von-essen
Copy link
Collaborator

@YungSang Regarding the structure I basically forked the virtualbox builder in packer and kept the structure to make it easier to merge it into the packer code if that would be appropriate. You haven't stated a license for your code. I would like to bring over some code you have, especially the vagrant postprocessor (of course with you as commiter).

@rickard-von-essen
Copy link
Collaborator

@racktear I don't mind at all, but it won't work ;-) . I have tried that.

I started to build:
https://github.com/rickard-von-essen/goprlapi
Which works, but as soon as you use go code that uses signal handler (which is done in packer) you will hit:
https://code.google.com/p/go/issues/detail?id=4216
I have asked Parallels about it and their respons is:

Hello Rickard,

Thank you for the information provided.

I regret to inform you that the signal handler registration can not be disabled at this time.

Your support request will be marked as 'Pending Confirmation by Customer'. If you have any additional questions or require some additional assistance, please feel free to re-open the request in the next 14 days by replying to this message.

Best regards,

--

Pavel Yermoshenko
Technical Support Engineer
|| Parallels

Knowledgebase : http://kb.parallels.com 
Follow us on Twitter: @ParallelsCares

Ticket nr: #1857299

@knazarov
Copy link

@rickard-von-essen I'm from Parallels as well as @legal90. We can try to do something about it.

@rickard-von-essen
Copy link
Collaborator

@racktear just realised that. Tell me if do any progress or want any help. If you would like to contact me don't hesitate to send me a email.

@YungSang
Copy link
Contributor

@rickard-von-essen Regarding the structure, that from the builder itself is fine, but I mean I prefer the structure from the top of packer structure. So it can include other types of plugins seamlessly and merge back to packer easily as you mentioned.

Although I don't put any license, please feel free to use any codes from me.
But I'm new to Golang, it's my first practice project with go. :p

@YungSang
Copy link
Contributor

@rickard-von-essen I put the same MPL 2.0 license as Packer, just in case.

@rickard-von-essen
Copy link
Collaborator

I have done some more work on this.
Most importantly I have pulled out the prltype tool (used for sending the bootcommand in the iso builder) to have no direct dependencies on gcc or ParallelsVirtualizationSDK. This is easily installed by homebrew, see https://github.com/rickard-von-essen/prl-utils . And written some dokumentation.

@legal90, @racktear have you hade any time to look into using the SDK directly?

@mitchellh I will go ahead and fork, and create a feature branch and work on getting this code into packer.

rickard-von-essen added a commit to rickard-von-essen/packer that referenced this issue May 1, 2014
Added builder plugins: builder-parallels-iso and builder-parallels-pvm.
rickard-von-essen added a commit to rickard-von-essen/packer that referenced this issue May 1, 2014
Added documentation for Parallels builder.
mitchellh added a commit that referenced this issue May 1, 2014
Add support for Parallels Desktop for Mac [GH-223]
@ghost ghost locked and limited conversation to collaborators Apr 11, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants