-
Notifications
You must be signed in to change notification settings - Fork 16
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
Vagrant Support #770
Comments
More notes from @JustinProminic
|
I added an example Vagrant project for Royale here: https://github.com/Moonshine-IDE/VagrantRoyaleExample This will run the Royale project on a server created with Vagrant. This is not a very practical example, but it is relatively fast and simple compared to the Vagrant files that we will use in general. |
For quick reference on installation and uninstallation process, here's some earlier discussions with @JoelProminic . Installation
Uninstallation
|
Possible areas to cover: Updating the development breakups based on the suggestion proposed by @JoelProminic :
|
Following are the list of items suggested by @JustinProminic for Vagrant and MacPorts (#921 ) implementation:
(Note: For 1 and 2, usually auto-setup logic handles by MSDKI codes in Moonshine; Since it'd be better to keep the MSKDI changes in Phase 2, we can arrange a static path-check logic in Moonshine side for now) |
To clarify, MacPorts has nothing to do with Vagrant and VirtualBox. See #921 for MacPorts. My suggestion for the developmemnt order on Vagrant support is:
We can break this into multiple issues if desired. |
Thank you, @JoelProminic , for setting up the ordering priorities to this implementation. It'll help me. I have updated the previous ordering/breakups of the tasks. |
- Vagrant context menu options (#770)
While running
I remember last night I was required to run this particular command manually on Terminal before running This was during running from https://github.com/Moonshine-IDE/VagrantRoyaleExample. |
…ng to /opt/vagrant/bin - Added progress notification to status bar (#770)
- Modified/fix to find valid executable in entry's validationPaths (Moonshine-IDE/Moonshine-IDE#770)
- Populating version in About - Fixed valid executable tests using validationPaths from MSDKI entries (#770)
Covered so far:
(Task breakups) |
You shouldn't need to install vagrant-vbguest before every |
I'm seeing the error during every run. |
I'm not entirely sure what is going on, but proposing an inspection to these logs and suggest me. Since this run error, I started to execute the command as this: First run output:
Second run output (same session):
While the second run output seems to start the Vagrant successfully, I'm wondering why the first run terminates abruptly. Further observation: Now if I restarts Moonshine and run only |
Covered so far:
|
Yeah, I noticed in my testing that the script worked on the second time even if there was an error on the shared folder configuration. I think that is is skipping the shared folder setup step in this case and starting anyway. Does the server work properly in your test (and is ~/server populated)? Looking at this error, I think there is something wrong with your current VirtualBox installation. You may want to try reinstalling:
|
No, running http://127.0.0.1:8080/index.html on a browser gives me this error in browser:
I also receive following error in running Vagrant console in Moonshine:
I tried to re-install from VirtualBox-6.1.30-148432-OSX.dmg, but that doesn't makes any difference from earlier tests. |
I'm unclear about the expected behaviour from (A build can be downloaded from Bamboo branch build for Moonshine on macOS) |
I met with @MarkProminic, @Aszusz, and Jesse today to do some testing on macOS and Windows macOSWe tried to test this on Jesse's mac, but we found that her hardware did not support VirtualBox. We were also able to reproduce the issue with missing VirtualBox. After some investigation, we wound that the install location for VirtualBox (and Vagrant), Also note that VirtualBox will require macOS security permissions in order to run properly. The user should normally be prompted automatically for this. WindowsThe
We also found some errors with the Vagrantfile for VagrantRoyaleExample on Windows. I'll create an new issue for this on that repository. |
Some more details for "VirtualBox Home":
|
When revisiting my tests on macOS, I see that I am also now getting the VirtualBox path error:
It seems that I checked that |
I confirmed that changing the Haxe and Neko Home to /usr/local/bin cleared the VBoxManage error in Moonshine. This is not a proper solution, though - it is just a temporary workaround. |
I have added a new "VirtualBox Home" under Some notes,
Please, check. |
- Added VirtualBox in temporary environment settings #770
On executing PowerShell through batch-command on Windows, I have adjusted Vagrant run-codes to accommodate PowerShell path to run with
However, I see other problem during
|
I see Moonshine tries to determine a file if binary by its content - here's the current code that to determine if a file is binary - https://github.com/Moonshine-IDE/Moonshine-IDE/blob/master/ide/MoonshineSharedCore/src/actionScripts/utils/UtilsCore.as#L150. I'm not sure what in the log file makes the difference to determine between Windows and macOS, but I'd prefer to adjust the logic rather than adding any explicit handling for |
This should be fixed now. |
We saw some cases today where we could open a vagrant .log file in Moonshine. Looking at the code snippet, I see that it considers files binary if it finds unicode characters in the ranges 00-08 or 0E-1F. I did some searching in a failing file, and I found a 0x1B character (ESC). It looks like vagrant is writing some control characters to change the position of the cursor, so we may find similar problems for other characters. We may need to investigate a better solution for detecting binary files. UPDATE: Here is a command to test for 0x1B:
|
VirtualBox Home seems to work like I expect now after @rat-moonshine fixed a bug we found in the morning chat. |
Looking through StackOverflow articles, it seems the most discussed and obvious solution on Unix is using Unfortunately, an equivalent solution not easy available for Windows. There is a Win32 port of |
A temporary fix added to open problematic |
I confirmed that I can open vagrant_up.log and other .log files now, at least on macOS Catalina. There was a bug earlier today where Vagrantfile would not open with the below error:
But @rat-moonshine has already resolved the problem. |
@Aszusz and @MarkProminic reported that if we run |
In a cleanly environment, I couldn't able to reproduce the Ruby process hold-up situation when tested between
I wonder if Ruby process hold-up is reason of running many different Vagrant command in a session and if also terminates some process abruptly. |
Ugh, I had done some tests for this last week, but I don't see this in a comment:
I remember the last case was a problem with the original VagrantRoyaleExample, since that script itentionally never finished. I confirmed that killing the "vagrant up" command is not enough to stop the ruby process.
|
I moved the hanging process issue to #970. Otherwise, I think basic Vagrant support is mostly working well. |
@JustinProminic requested that we add support for Vagrant in Moonshine. This will let the user quickly spin up a VM for a test environment or other purpose. Some possible features:
vagrant up
orvagrant halt
to manage an existing configurationHere are some installation instructions. Vagrant also requires at least one configured hypervisor to work (I have generally used VirtualBox).
We need to discuss this more before we start on implementation.
The text was updated successfully, but these errors were encountered: