All: Please follow the markdown style guide [1] for docs. Here formatting of code snippets and spacing between sections need to be cleaned up.
[1] https://github.com/apache/mesos/blob/d150036bfbdb595f43e9cb85b999495865dabf54/docs/markdown-style-guide.md On 1 November 2016 at 23:53, <[email protected]> wrote: > Added documentation on the state of Windows support. > > This consolidates existing Windows documentation into a separate > document. This include how to build and use the Mesos agent > and some caveats to note. > > Review: https://reviews.apache.org/r/53124/ > > > Project: http://git-wip-us.apache.org/repos/asf/mesos/repo > Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/fdd9304c > Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/fdd9304c > Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/fdd9304c > > Branch: refs/heads/master > Commit: fdd9304c414cbd8cfc47f8d575315c539e55843f > Parents: 7d80b98 > Author: Lior Zeno <[email protected]> > Authored: Tue Nov 1 15:23:17 2016 -0700 > Committer: Joseph Wu <[email protected]> > Committed: Tue Nov 1 15:49:26 2016 -0700 > > ---------------------------------------------------------------------- > docs/getting-started.md | 49 ++------------------------ > docs/home.md | 1 + > docs/windows.md | 83 ++++++++++++++++++++++++++++++++++++++++++++ > 3 files changed, 87 insertions(+), 46 deletions(-) > ---------------------------------------------------------------------- > > > http://git-wip-us.apache.org/repos/asf/mesos/blob/fdd9304c/ > docs/getting-started.md > ---------------------------------------------------------------------- > diff --git a/docs/getting-started.md b/docs/getting-started.md > index 69e8da5..460c6cd 100644 > --- a/docs/getting-started.md > +++ b/docs/getting-started.md > @@ -26,7 +26,7 @@ Mesos runs on Linux (64 Bit) and Mac OS X (64 Bit). To > build Mesos from source, > > For full support of process isolation under Linux a recent kernel >=3.10 > is required. > > -Mesos agent also run on Windows. To build Mesos agent from source, Visual > Studio 2015 is required. > +The Mesos agent also runs on Windows. To build Mesos from source, follow > the instructions in the [Windows](windows.md) section. > > Make sure your hostname is resolvable via DNS or via `/etc/hosts` to > allow full support of Docker's host-networking capabilities, needed for > some of the Mesos tests. When in doubt, please validate that `/etc/hosts` > contains your hostname. > > @@ -48,7 +48,7 @@ Following are the instructions for stock Ubuntu 14.04. > If you are using a differ > > # Install other Mesos dependencies. > $ sudo apt-get -y install build-essential python-dev libcurl4-nss-dev > libsasl2-dev libsasl2-modules maven libapr1-dev libsvn-dev > - > + > ### Ubuntu 16.04 > > Following are the instructions for stock Ubuntu 16.04. If you are using a > different OS, please install the packages accordingly. > @@ -188,18 +188,7 @@ Following are the instructions for stock CentOS 7.1. > If you are using a differen > > ### Windows > > -Following are the instructions for stock Windows 10 and Windows Server > 2012 or newer. > - > -1. Install the latest version of [Visual Studio Community 2015]( > https://www.visualstudio.com/post-download-vs?sku=community). > - Make sure to select the Common Tools for Visual C++ and the Windows 10 > SDK. > - Start Visual Studio Community to complete the setup and configuration. > -2. Install [CMake 3.5.2 or later](https://cmake.org/ > files/v3.5/cmake-3.5.2-win32-x86.msi). > - Do not run CMake before finishing the Visual Studio Community setup. > -3. Install [Gnu Patch 2.5.9-7 or later](http://downloads. > sourceforge.net/project/gnuwin32/patch/2.5.9-7/patch-2.5.9-7-setup.exe). > -4. If building from git, make sure you have Windows-style line endings. > - i.e. `git config core.autocrlf true`. > -5. Make sure there are no spaces in your build directory. > - For example, `C:/Program Files (x86)/mesos` is an invalid build > directory. > +Follow the instructions in the [Windows](windows.md) section. > > ## Building Mesos (Posix) > > @@ -223,38 +212,6 @@ In order to speed up the build and reduce verbosity > of the logs, you can append > # Install (Optional). > $ make install > > -## Building Mesos (Windows) > - > - # Start a VS2015 x64 Native Tool command prompt. > - # This can be found by opening VS2015 and looking under the "tools" > - # menu for "Visual Studio Command Prompt". > - > - # Change working directory. > - $ cd mesos > - > - # If you are developing on Windows, we recommend running the > bootstrap. > - # This requires administrator privileges. > - $ .\bootstrap.bat > - > - # Generate the solution and build. > - $ mkdir build > - $ cd build > - $ cmake .. -G "Visual Studio 14 2015 Win64" -DENABLE_LIBEVENT=1 > - > - # After generating the Visual Studio solution you can use the IDE to > open > - # the project and skip the next step. In this case it is recommended > to set > - # `PreferredToolArchitecture` environment variable to `x64`. > - # NOTE: `PreferredToolArchitecture` can be set system-wide via > Control Panel. > - $ msbuild Mesos.sln /p:PreferredToolArchitecture=x64 > - > - # mesos-agent.exe can be found in the <repository>\build\src folder. > - $ cd src > - > - # The Windows agent exposes new isolators that must be used as with > - # the `--isolation` flag. To get started point the agent to a working > - # master, using eiher an IP address or zookeeper information. > - $ mesos-agent.exe --master=<master> --work_dir=<work folder> > --isolation=windows/cpu,filesystem/windows --launcher_dir=<repository>\ > build\src > - > ## Examples > > Mesos comes bundled with example frameworks written in C++, Java and > Python. > > http://git-wip-us.apache.org/repos/asf/mesos/blob/fdd9304c/docs/home.md > ---------------------------------------------------------------------- > diff --git a/docs/home.md b/docs/home.md > index f47f7f9..a581148 100644 > --- a/docs/home.md > +++ b/docs/home.md > @@ -36,6 +36,7 @@ layout: documentation > * [Tools](tools.md) for setting up and running a Mesos cluster. > * [SSL](ssl.md) for enabling and enforcing SSL communication. > * [Container Image](container-image.md) for supporting container images > in Mesos containerizer. > +* [Windows Support](windows.md) for the state of Windows support in > Mesos. > > ## Advanced Features > > > http://git-wip-us.apache.org/repos/asf/mesos/blob/fdd9304c/docs/windows.md > ---------------------------------------------------------------------- > diff --git a/docs/windows.md b/docs/windows.md > new file mode 100644 > index 0000000..bb13acf > --- /dev/null > +++ b/docs/windows.md > @@ -0,0 +1,83 @@ > +--- > +title: Apache Mesos - Windows > +layout: documentation > +--- > + > +# Windows > + > +Mesos 1.0.0 introduced experimental support for Windows. > + > +## Building Mesos > + > +### System Requirements > + > +1. Install the latest version of [Visual Studio Community 2015]( > https://www.visualstudio.com/post-download-vs?sku=community). > + Make sure to select the Common Tools for Visual C++ and the Windows 10 > SDK. > + Start Visual Studio Community to complete the setup and configuration. > +2. Install [CMake 3.5.2 or later](https://cmake.org/ > files/v3.5/cmake-3.5.2-win32-x86.msi). > + Do not run CMake before finishing the Visual Studio Community setup. > +3. Install [Gnu Patch 2.5.9-7 or later](http://downloads. > sourceforge.net/project/gnuwin32/patch/2.5.9-7/patch-2.5.9-7-setup.exe). > +4. If building from git, make sure you have Windows-style line endings. > + i.e. `git config core.autocrlf true`. > +5. Make sure there are no spaces in your build directory. > + For example, `C:/Program Files (x86)/mesos` is an invalid build > directory. > + > +### Build Instructions > + > +Following are the instructions for stock Windows 10 and Windows Server > 2012 or newer. > + > + # Start a VS2015 x64 Native Tool command prompt. > + # This can be found by opening VS2015 and looking under the "tools" > + # menu for "Visual Studio Command Prompt". > + > + # Change working directory. > + $ cd mesos > + > + # If you are developing on Windows, we recommend running the > bootstrap. > + # This requires administrator privileges. > + $ .\bootstrap.bat > + > + # Generate the solution and build. > + $ mkdir build > + $ cd build > + $ cmake .. -G "Visual Studio 14 2015 Win64" -DENABLE_LIBEVENT=1 > + > + # After generating the Visual Studio solution you can use the IDE to > open > + # the project and skip the next step. In this case it is recommended > to set > + # `PreferredToolArchitecture` environment variable to `x64`. > + # NOTE: `PreferredToolArchitecture` can be set system-wide via > Control Panel. > + $ msbuild Mesos.sln /p:PreferredToolArchitecture=x64 > + > + # mesos-agent.exe can be found in the <repository>\build\src folder. > + $ cd src > + > + # The Windows agent exposes new isolators that must be used as with > + # the `--isolation` flag. To get started point the agent to a working > + # master, using eiher an IP address or zookeeper information. > + $ mesos-agent.exe --master=<master> --work_dir=<work folder> > --isolation=windows/cpu,filesystem/windows --launcher_dir=<repository>\ > build\src > + > +## Known Limitations > + > +The current implementation is known to have the following limitations: > + > +* At this point, only the agent is capable of running on Windows, > + the Mesos master must run on a Posix machine. > +* Due to the 260 character `MAX_PATH` limitation on Windows, > + it is required to set the configuration option `--launcher_dir` > + to be a root path, e.g. `C:\`. > + In addition, the `TASK_ID` that is passed to Mesos should be short, > + up to about 40 characters. **NOTE**: If you schedule tasks via Marathon, > + your Marathon task id should be up to four characters long since > Marathon > + generates Mesos `TASK_ID` by appending a UUID (36 characters) onto > + the Marathon task id. > +* Currently runs as Administrator (mainly due to symlinks). > +* Only the `MesosContainerizer` is currently supported, > + which does not provide resource isolation on Windows. > + Resource isolation will be provided via the `DockerContainerizer` > + (e.g. Windows Containers) in the future. > +* Most of the tests are not ported to Windows. > + > +## Status > + > +For more information regarding the status of Windows support in Mesos, > +please refer to the [Jira epic](https://issues.apache. > org/jira/browse/MESOS-3094). > >
