Browse code

Restructured Installation

Change-Id: I8085250e9c3a7285b859fdd65b367aed23624d7b
Reviewed-on: http://photon-jenkins.eng.vmware.com:8082/6254
Reviewed-by: Stuart Clements <sclements@vmware.com>
Tested-by: Stuart Clements <sclements@vmware.com>

Vidya Vasudevan authored on 2018/11/28 19:06:15
Showing 305 changed files
1 1
deleted file mode 100644
... ...
@@ -1,169 +0,0 @@
1
-# Photon OS Frequently Asked Questions
2
-
3
-* [What is Photon OS?](#q-what-is-photon-os)
4
-* [How do I get started with Photon OS?](#q-how-do-i-get-started-with-photon-os)
5
-* [Can I upgrade my existing Photon OS 1.0 VMs?](#q-can-i-upgrade-my-existing-photon-os-10-vms)
6
-* [What kind of support comes with Photon OS?](#q-what-kind-of-support-comes-with-photon-os)
7
-* [How can I contribute to Photon OS?](#q-how-can-i-contribute-to-photon-os)
8
-* [How is Photon OS patched?](#q-how-is-Photon-OS-patched)
9
-* [How does Photon OS relate to Project Lightwave?](#q-how-does-photon-os-relate-to-project-lightwave)
10
-* [Will VMware continue to support other container host runtime offerings on vSphere?](#q-will-vmware-continue-to-support-other-container-host-runtime-offerings-on-vsphere)
11
-* [How to report a security vulnerability in Photon OS?](#q-how-to-report-a-security-vulnerability-in-photon-os)
12
-* [What are the Docker improvements in Photon OS 2.0?](#q-what-are-the-docker-improvements-in-photon-os-20)
13
-* [Why is VMware creating Photon OS?](#q-why-is-vmware-creating-photon-os)
14
-* [Why is VMware open-sourcing Photon OS?](#q-why-is-vmware-open-sourcing-photon-os)
15
-* [In what way is Photon OS "optimized for VMware?"](#q-in-what-way-is-photon-os-optimized-for-vmware)
16
-* [Why can't I SSH in as root?](#q-why-cant-i-ssh-in-as-root)
17
-* [Why isn't netstat working?](#q-why-is-netstat-not-working)
18
-* [Why do all of my cloned Photon OS instances have the same IP address when using DHCP?](#q-why-do-all-of-my-cloned-photon-os-instances-have-the-same-ip-address-when-using-dhcp)
19
-* [How to install new packages?](#how-to-install-new-packages)
20
-* [Why is the yum command not working in a minimal installation?](#q-why-the-yum-command-not-working-in-a-minimal-installation)
21
-* [How to install all build essentials?](#q-how-to-install-all-build-essentials)
22
-* [How to build new package for Photon OS?](#q-how-to-build-new-package-for-photon-os)
23
-* [I just booted into freshly installed Photon OS instance, why isn't "docker ps" working?](#q-i-just-booted-into-freshly-installed-photon-os-instance-why-isnt-docker-ps-working)
24
-* [What is the difference between Minimal and Full installation?](#q-what-is-the-difference-between-minimal-and-full-installation)
25
-* [What packages are included in Minimal and Full?](#q-what-packages-are-included-in-minimal-and-full)
26
-* [How do I transfer or share files between Photon OS and my host machine?](#q-how-do-i-transfer-or-share-files-between-photon-and-my-host-machine)
27
-* [Why is the ISO over 2GB, when I hear that Photon OS is a minimal container runtime?](#q-why-is-the-iso-over-2gb-when-i-hear-that-photon-os-is-a-minimal-container-runtime)
28
-
29
-***
30
-
31
-# Getting Started
32
-
33
-## Q. What is Photon OS?
34
-A. Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
35
-
36
-## Q. How do I get started with Photon OS?
37
-A. Start by deciding your target platform. Photon OS 2.0 has been certified in public cloud environments - Microsoft Azure (new), Google Compute Engine (GCE), Amazon Elastic Compute Cloud (EC2) - as well as on VMware vSphere, VMware Fusion, and VMware Workstation.
38
-Next, download the latest binary distributions for your target platform. The binaries are hosted on [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/). For download instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
39
-Finally, go to the installation instructions for your target platform, which are listed here:  [Quick Start](photon-admin-guide.md#getting-started-with-photon-os-20).
40
-
41
-## Q. Can I upgrade my existing Photon OS 1.0 VMs?
42
-A. Yes, there is an in-place upgrade path for Photon OS 1.0 implementations. You simply download an upgrade package, run a script, and reboot the VM. Refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md).
43
-
44
-## Q. What kind of support comes with Photon OS?
45
-A. Photon OS is supported through community efforts and direct developer engagement in the communities. Potential users of Photon OS should start with the [Photon microsite](http://vmware.com/photon).
46
-
47
-Developers who might want the source code, including those interested in making contributions, should visit the [Photon OS Github repository](https://github.com/vmware/photon). 
48
-
49
-## Q. How can I contribute to Photon OS?
50
-A. We welcome community participation in the development of Photon OS and look forward to broad ecosystem engagement around the project. Getting your idea into Photon OS is just a [GitHub](https://vmware.github.io/photon) pull request away. When you submit a pull request, you'll be asked to accept the Contributor License Agreement (CLA). 
51
-
52
-## Q. How is Photon OS patched?
53
-A. Within a major release, updates will be delivered as package updates. Security updates will be delivered on an as-needed basis. Non-security related updates will happen quarterly, but may not include every, single package update. The focus is on delivering a valid, functional updated stack every quarter.
54
-
55
-Photon OS isn't "patched," as a whole - instead, individual packages are updated (potentially, with patches applied to that individual package). For instance, if a package releases a fix for a critical vulnerability, we'll update the package in the Photon OS repository, for critical issues probably within a day or two. At that point, customers get that updated package by running, "tdnf update <package>"
56
- 
57
-## Q. How does Photon OS relate to Project Lightwave?
58
-A. Project Lightwave is an open-sourced project that provides enterprise-grade identity and access management services, and can be used to solve key security, governance, and compliance challenges for a variety of use cases within the enterprise.
59
-Through integration between Photon OS and Project Lightwave, organizations can enforce security and 
60
-governance on container workloads, for example, by ensuring only authorized containers are run on authorized hosts, by authorized users. For details about Lightwave, see [https://github.com/vmware/lightwave](https://github.com/vmware/lightwave).
61
-
62
-## Q. Will VMware continue to support other container host runtime offerings on vSphere?
63
-A. YES, VMware is committed to delivering an infrastructure for all workloads, and for vSphere to have the largest guest OS support in the industry and support customer choice. 
64
-Toward those goals, VMware will continue to work with our technology partners to support new Guest Operating Systems and container host runtimes as they come to the market. Open-sourcing Photon OS will enable optimizations and enhancements for container host runtimes on VMware Platform are available as reference implementation for other container host runtimes as well.
65
-
66
-# Photon OS
67
-## Q. What is Photon OS?
68
-A. Photon OS is an open source, Linux container host runtime optimized for VMware vSphere®. Photon OS is extensible, lightweight, and supports the most common container formats including Docker, Rocket and Garden. Photon OS includes a small footprint, yum-compatible, package-based lifecycle management system, and can support an rpm-ostree image-based system versioning. When used with development tools and environments such as VMware Fusion®, VMware Workstation™, HashiCorp (Vagrant and Atlas) and a production runtime environment (vSphere, VMware vCloud® Air™), Photon OS allows seamless migration of containers-based Apps from development to production.
69
-
70
-## Q. How to report a security vulnerability in Photon OS?
71
-A. VMware encourages users who become aware of a security vulnerability in VMware products to contact VMware with details of the vulnerability. VMware has established an email address that should be used for reporting a vulnerability. Please send descriptions of any vulnerabilities found to security@vmware.com. Please include details on the software and hardware configuration of your system so that we can duplicate the issue being reported.
72
-
73
-Note: We encourage use of encrypted email. Our public PGP key is found at [kb.vmware.com/kb/1055](http://kb.vmware.com/kb/1055).
74
-
75
-VMware hopes that users encountering a new vulnerability will contact us privately as it is in the best interests of our customers that VMware has an opportunity to investigate and confirm a suspected vulnerability before it becomes public knowledge.
76
-
77
-In the case of vulnerabilities found in third-party software components used in VMware products, please also notify VMware as described above.
78
-
79
-## Q. What are the Docker improvements in Photon OS 2.0?
80
-In Photon OS 2.0, the Docker image size (compressed and uncompressed) was reduced to less than a third of its size in Photon OS 1.0. This gain resulted from:
81
-- using toybox (instead of standard core tools), which brings the docker image size from 50MB (in 1.0) to 14MB (in 2.0)
82
-- a package split - in Photon OS 2.0, the binary set contains only bash, tdnf, and toybox; all other installed packages are now libraries only.
83
-
84
-## Q. Why is VMware creating Photon OS?
85
-A. It's about workloads - VMware has always positioned our vSphere platform as a secure, highly-performant platform for enterprise applications. With containers, providing an optimized runtime ensures that customers can embrace these new workload technologies without disrupting existing operations. Over time, Photon OS will extend the capabilities of the software-defined data center such as security, identity and resource management to containerized workloads. Organizations can then leverage a single infrastructure architecture for both traditional and cloud-native Apps, and leverage existing investments in tools, skills and technologies. This converged environment will simplify operation and troubleshooting, and ease the adoption of Cloud-Native Apps. 
86
-
87
-Photon OS can provide a reference implementation for optimizing containers on VMware platforms across compute, network, storage and management. For example, Photon OS can deliver performance through kernel tuning to remove redundant caching between the Linux kernel and the vSphere hypervisor, and advanced security services through network micro-segmentation delivered by VMware NSX™, and more.
88
-
89
-## Q. Why is VMware open-sourcing Photon OS?
90
-A. Open-sourcing Photon OS encourages discussion, innovation, and collaboration with others in the container ecosystem. In particular, we want to make sure the innovations we introduce to Photon to run containers effectively on VMware are also available to any other container runtime OS. 
91
-Additionally, VMware is committed to supporting industry and de facto standards, as doing so also supports stronger security, interoperability, and choice for our customers. 
92
-
93
-## Q. In what way is Photon OS "optimized for VMware?"
94
-
95
-Photon OS 1.0 introduced extensive optimizations for VMware environments, which are described in detail in the following VMware white paper: [Deploying Cloud-Native Applications with Photon OS](https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/whitepaper/vmware-deploying-cloud-native-apps-with-photon-os.pdf). Photon OS 2.0 enhances VMware optimization. The kernel message dumper (new in Photon OS 2.0) is a paravirt feature that extends debugging support. In case of a guest panic, the kernel (through the paravirt channel) dumps the entire kernel log buffer (including the panic message) into the VMware log file (vmware.log) for easy, consolidated access. Previously, this information was stored in a huge vmss (VM suspend state) file.
96
-
97
-## Q. Why can't I SSH in as root?
98
-A. By default Photon does not permit root login to ssh. To make yourself login as root using SSH set PermitRootLogin yes in /etc/ssh/sshd_config, and restart the sshd deamon.
99
-
100
-## Q. Why is netstat not working?
101
-A. netstat is deprecated, ss or ip (part of iproute2) should be used instead.
102
-
103
-## Q. Why do all of my cloned Photon OS instances have the same IP address when using DHCP?
104
-A. Photon OS uses the contents of /etc/machine-id to determine the duid that is used for DHCP requests. If you're going to use a Photon OS instance as the base system for cloning to create additional Photon OS instances, you should clear the machine-id with:
105
-~~~~
106
-    echo -n > /etc/machine-id
107
-~~~~
108
-With this value cleared, systemd will regenerate the machine-id and, as a result, all DHCP requests will contain a unique duid. 
109
-
110
-# How to install new packages?
111
-## Q. Why is the yum command not working in a minimal installation?
112
-A. yum has package dependencies that make the system larger than it needs to be. Photon OS includes [tdnf](https://github.com/vmware/tdnf) - 'tiny' dandified yum - to provide package management and yum-functionality in a much, much smaller footprint. To install packages from cdrom, mount cdrom using following command
113
-~~~~
114
-     mount /dev/cdrom /media/cdrom
115
-~~~~
116
-Then, you can use tdnf to install new packages. For example, to install the vim editor, 
117
-~~~~
118
-     tdnf install vim
119
-~~~~
120
-## Q. How to install all build essentials?
121
-A. Following command can be used to install all build essentials.
122
-~~~~
123
-curl -L https://git.io/v1boE | xargs -I {} tdnf install -y {}
124
-~~~~
125
-## Q. How to build new package for Photon OS??
126
-A. Assuming you have an Ubuntu development environment, setup and get the latest code pull into /workspace. Lets assume your package name is foo with version 1.0.
127
-~~~~
128
-    cp foo-1.0.tar.gz /workspace/photon/SOURCES
129
-    cp foo.spec /workspace/photon/SPECS/foo/
130
-    cd /workspace/photon/support/package-builder
131
-    sudo python ./build_package.py -i foo
132
-~~~~
133
-## Q. I just booted into freshly installed Photon OS instance, why isn't "docker ps" working?
134
-A. Make sure docker daemon is running. By design and default in Photon OS, the docker daemon/engine is not started at boot time. To start the docker daemon for the current session, use the command:
135
-~~~~
136
-    systemctl start docker
137
-~~~~
138
-To start the docker daemon, on boot, use the command:
139
-~~~~
140
-    systemctl enable docker
141
-~~~~
142
-## Q. What is the difference between Minimal and Full installation?
143
-A. Minimal is the minimal set of packages for a container runtime, plus cloud-init.
144
-Full contains all the packages shipped with ISO.
145
-
146
-## Q. What packages are included in Minimal and Full?
147
-A. See [packages_minimal.json](https://github.com/vmware/photon/blob/dev/common/data/packages_minimal.json) as an example
148
-
149
-## Q. How do I transfer or share files between Photon and my host machine?
150
-A. Use vmhgfs-fuse to transfer files between Photon and your host machine:
151
-1. Enable Shared folders in the Workstation or Fusion UI (edit the VM settings and choose Options->Enabled shared folders).
152
-2. Make sure open-vm-tools is installed (it is installed by default in the Minimal installation and OVA import).
153
-3. Run vmware-hgfsclient to list the shares.
154
-
155
-Next, do one of the following:
156
-
157
-- Run the following to mount:
158
-~~~~
159
-vmhgfs-fuse .host:/$(vmware-hgfsclient) /mnt/hgfs
160
-~~~~
161
-OR
162
-
163
-- Add the following line to /etc/fstab:
164
-~~~~
165
-.host:/ /mnt/hgfs fuse.vmhgfs-fuse <options> 0 0
166
-~~~~
167
-
168
-## Q. Why is the ISO over 2GB, when I hear that Photon OS is a minimal container runtime?
169
-A. ISO includes a repository with all Photon OS packages. When you mount the ISO to a machine and boot to the Photon installer, you'll be able to choose the Photon Minimal installation option and the hypervisor-optimized Linux kernel, which will reduce the storage size.
170 1
\ No newline at end of file
... ...
@@ -13,13 +13,38 @@
13 13
 - [Installation Guide](photon_installation/README.md)
14 14
     - [Downloading Photon OS](photon_installation/Downloading-Photon-OS.md)
15 15
     - [Build an ISO from the source code for Photon OS](photon_installation/build-photon.md)
16
+        - [Folder Layout](photon_installation/folder_layout.md)
17
+        * [Build Prerequisites](photon_installation/build_prerequisites.md)
18
+        * [Building the ISO](photon_installation/build_the_iso.md)
19
+        * [Use the Cached Toolchain and RPMS](photon_installation/Use_the_Cached_Toolchain_and_RPMS.md)
20
+        * [Use Cached Sources](photon_installation/use_cached_sources.md)
21
+        * [View Build Logs](photon_installation/view_build_logs.md)
16 22
     - [Running Photon OS on vSphere](photon_installation/Running-Photon-OS-on-vSphere.md)
23
+        - [Prerequisites](photon_installation/photon_os_vsphere_prerequisites.md)
24
+        - [Importing the OVA for Photon OS 3.0](photon_installation/importing_ova_for_photon_os_3.0.md)
25
+        - [Installing the ISO Image for Photon OS 3.0](photon_installation/installing-the-iso-image-for-photon-os-30.md)
17 26
     - [Running Photon OS on Fusion](photon_installation/Running-Project-Photon-on-Fusion.md)
27
+        - [Prerequisites](photon_installation/photon_os_fusion_prerequisites.md)
28
+        - [Importing the OVA for Photon OS 3.0](photon_installation/importing-the-ova-for-photon-os-3.0-fusion.md)
29
+        - [Installing the ISO Image for Photon OS 3.0](photon_installation/installing-the-iso-image-for-photon-os-30-fusion.md)
18 30
     - [Running Photon OS on Workstation](photon_installation/Running-Photon-OS-on-Workstation.md)
31
+        - [Prerequisites](photon_installation/photon_os_workstation_prerequisites.md)
32
+        - [Importing the OVA for Photon OS 3.0](photon_installation/importing_ova_for_photon_os_3.0-workstation.md)
33
+        - [Installing the ISO Image for Photon OS 2.0](photon_installation/installing-the-iso-image-for-photon-os-30-workstation.md)
19 34
     - [Running Photon OS on AWS EC2](photon_installation/Running-Photon-OS-on-Amazon-Elastic-Cloud-Compute.md)
35
+        - [Prerequisites](photon_installation/photon_os_ecc_prerequisites.md)
36
+        - [Set Up Photon OS on EC2](photon_installation/set-up-PhotonOS-on-ec2.md)
37
+        - [Deploy a Containerized Application in Photon OS using SSH](photon_installation/deploying-a-containerized-application-in-photon-os-ssh.md)
38
+        - [Launch the Web Server with Cloud-Init](photon_installation/launch-web-server-with-cloud-init.md)
39
+        - [Terminate the AMI Instance](photon_installation/terminate-the-ami-instance.md)
20 40
     - [Running Photon OS on Microsoft Azure](photon_installation/Running-Photon-OS-on-Microsoft-Azure.md)
41
+        - [Prerequisites](photon_installation/photon-os-azure-prerequisites.md)
42
+        - [Set Up Azure Storage and Uploading the VHD](photon_installation/setting-up-azure-storage-and-uploading-the-vhd.md)
43
+        - [Remove Photon OS From Azure](photon_installation/remove-photon-os-from-azure.md)
21 44
     - [Running Photon OS on Google Compute Engine](photon_installation/Running-Photon-OS-on-Google-Compute-Engine.md)
22
-        -  [Photon OS on GCE](photon_installation/gce.md)
45
+        - [Prerequisites for Photon OS on GCE](photon_installation/photon-os-gce-prerequisites.md)
46
+        - [Installing Photon OS on Google Compute Engine](photon_installation/installing-photon-os-on-google-compute-engine.md)
47
+    - [Deploying a Containerized Application in Photon OS](photon_installation/deploying-a-containerized-application-in-photon-os.md)
23 48
     - [Installing and Using Lightwave on Photon OS](photon_installation/Installing-and-Using-Lightwave-on-Photon-OS.md)
24 49
         - [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](photon_installation/Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) 
25 50
         - [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](photon_installation/Installing-Lightwave-Client-and-Joining-a-Domain.md)
... ...
@@ -78,7 +103,7 @@
78 78
         - [Network Configuration Manager - C API](photon_admin/netmgr.c.md)
79 79
         - [Network Configuration Manager - Python API](photon_admin/netmgr.python.md)
80 80
     -   [Cloud-Init on Photon OS](photon_admin/cloud-init-on-photon-os.md)
81
-        - [Deploy Photon OS With `cloud-init`](photon_admin/deploy_photon_with_cloud-init.md  
81
+        - [Deploy Photon OS With cloud-init](photon_admin/deploy_photon_with_cloud-init.md) 
82 82
         - [Creating a Stand-Alone Photon Machine with cloud-init](photon_admin/creating-a-stand-alone-photon-machine-with-cloud-init.md)
83 83
         -   [Customizing a Photon OS Machine on EC2](photon_admin/customizing-a-photon-os-machine-on-ec2.md)
84 84
         -   [Running a Photon OS Machine on GCE](photon_admin/running-a-photon-os-machine-on-gce.md)
85 85
deleted file mode 100644
... ...
@@ -1,437 +0,0 @@
1
-#
2
-# A fatal error has been detected by the Java Runtime Environment:
3
-#
4
-#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x67f59af3, pid=7412, tid=0x000024d8
5
-#
6
-# JRE version: Java(TM) SE Runtime Environment (8.0_121-b13) (build 1.8.0_121-b13)
7
-# Java VM: Java HotSpot(TM) Client VM (25.121-b13 mixed mode windows-x86 )
8
-# Problematic frame:
9
-# C  [awt.dll+0xa9af3]
10
-#
11
-# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
12
-#
13
-# If you would like to submit a bug report, please visit:
14
-#   http://bugreport.java.com/bugreport/crash.jsp
15
-# The crash happened outside the Java Virtual Machine in native code.
16
-# See problematic frame for where to report the bug.
17
-#
18
-
19
-
20
-Current thread (0x356ee400):  JavaThread "AWT-EventQueue-0" [_thread_in_native, id=9432, stack(0x364e0000,0x36530000)]
21
-
22
-siginfo: ExceptionCode=0xc0000005, reading address 0x00000004
23
-
24
-Registers:
25
-EAX=0x0000000d, EBX=0x860114b6, ECX=0x00000000, EDX=0x02a3f110
26
-ESP=0x3652dec8, EBP=0x73fd6870, ESI=0x35656a28, EDI=0x3a761f58
27
-EIP=0x67f59af3, EFLAGS=0x00010213
28
-
29
-Top of Stack: (sp=0x3652dec8)
30
-0x3652dec8:   67ede936 860114b6 3a761f58 356ee540
31
-0x3652ded8:   3652df98 3652e450 67f0b3db 356ee540
32
-0x3652dee8:   3a761f58 3652e450 67f0b3f2 00000001
33
-0x3652def8:   00000000 00000000 67edbb85 356ee540
34
-0x3652df08:   3652e450 356ee400 00000000 3647cb60
35
-0x3652df18:   06ad8bb8 2395d2f8 0696b330 3a7c6608
36
-0x3652df28:   3652e454 356ee540 00000000 00000212
37
-0x3652df38:   3652e678 04a50044 3652e678 046bfafc 
38
-
39
-Instructions: (pc=0x67f59af3)
40
-0x67f59ad3:   00 00 c3 8b 41 04 8b 80 0c 0c 00 00 c3 8b 01 83
41
-0x67f59ae3:   78 04 08 7e 03 33 c0 c3 8b 49 04 e9 30 eb fe ff
42
-0x67f59af3:   8b 49 04 85 c9 74 05 e9 3e e9 fe ff 33 c0 c2 04
43
-0x67f59b03:   00 8b 49 04 85 c9 74 05 e9 53 e9 fe ff c2 04 00 
44
-
45
-
46
-Register to memory mapping:
47
-
48
-EAX=0x0000000d is an unknown value
49
-EBX=0x860114b6 is an unknown value
50
-ECX=0x00000000 is an unknown value
51
-EDX=0x02a3f110 is an unknown value
52
-ESP=0x3652dec8 is pointing into the stack for thread: 0x356ee400
53
-EBP=0x73fd6870 is an unknown value
54
-ESI=0x35656a28 is an unknown value
55
-EDI=0x3a761f58 is an unknown value
56
-
57
-
58
-Stack: [0x364e0000,0x36530000],  sp=0x3652dec8,  free space=311k
59
-Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
60
-C  [awt.dll+0xa9af3]
61
-
62
-Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
63
-J 9605  sun.java2d.windows.GDIBlitLoops.nativeBlit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/pipe/Region;IIIIIIIIIZ)V (0 bytes) @ 0x04461f58 [0x04461e90+0xc8]
64
-j  sun.java2d.windows.GDIBlitLoops.Blit(Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Ljava/awt/Composite;Lsun/java2d/pipe/Region;IIIIII)V+33
65
-J 89487 C1 sun.java2d.pipe.DrawImage.blitSurfaceData(Lsun/java2d/SunGraphics2D;Lsun/java2d/pipe/Region;Lsun/java2d/SurfaceData;Lsun/java2d/SurfaceData;Lsun/java2d/loops/SurfaceType;Lsun/java2d/loops/SurfaceType;IIIIIILjava/awt/Color;)V (145 bytes) @ 0x04d0bf40 [0x04d0bd20+0x220]
66
-J 89489 C1 sun.java2d.pipe.DrawImage.renderImageCopy(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;Ljava/awt/Color;IIIIII)Z (147 bytes) @ 0x04d0c75c [0x04d0c640+0x11c]
67
-J 89508 C1 sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;)Z (105 bytes) @ 0x0448b870 [0x0448b690+0x1e0]
68
-J 89507 C1 sun.java2d.pipe.DrawImage.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (60 bytes) @ 0x044828e8 [0x04482780+0x168]
69
-J 90071 C1 sun.java2d.pipe.ValidatePipe.copyImage(Lsun/java2d/SunGraphics2D;Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (29 bytes) @ 0x04664ae8 [0x04664a70+0x78]
70
-J 89502 C1 sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/Color;Ljava/awt/image/ImageObserver;)Z (145 bytes) @ 0x046ee30c [0x046ee110+0x1fc]
71
-J 89501 C1 sun.java2d.SunGraphics2D.drawImage(Ljava/awt/Image;IILjava/awt/image/ImageObserver;)Z (11 bytes) @ 0x0460c880 [0x0460c840+0x40]
72
-J 5670 C1 javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Ljavax/swing/JComponent;Ljava/awt/Image;Ljava/awt/Graphics;IIII)V (294 bytes) @ 0x04ba3588 [0x04ba33e0+0x1a8]
73
-J 6197 C1 javax.swing.RepaintManager$PaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)Z (189 bytes) @ 0x044a510c [0x044a4ed0+0x23c]
74
-J 9480 C1 javax.swing.RepaintManager.paint(Ljavax/swing/JComponent;Ljavax/swing/JComponent;Ljava/awt/Graphics;IIII)V (93 bytes) @ 0x047763f0 [0x04776200+0x1f0]
75
-J 6349 C1 javax.swing.JComponent.paint(Ljava/awt/Graphics;)V (409 bytes) @ 0x0479bc30 [0x0479b8a0+0x390]
76
-j  java.awt.GraphicsCallback$PaintCallback.run(Ljava/awt/Component;Ljava/awt/Graphics;)V+2
77
-j  sun.awt.SunGraphicsCallback.runOneComponent(Ljava/awt/Component;Ljava/awt/Rectangle;Ljava/awt/Graphics;Ljava/awt/Shape;I)V+155
78
-j  sun.awt.SunGraphicsCallback.runComponents([Ljava/awt/Component;Ljava/awt/Graphics;I)V+194
79
-j  java.awt.Container.paint(Ljava/awt/Graphics;)V+58
80
-j  java.awt.Window.paint(Ljava/awt/Graphics;)V+68
81
-J 9473 C1 javax.swing.RepaintManager$4.run()Ljava/lang/Void; (278 bytes) @ 0x0454d4f4 [0x0454d220+0x2d4]
82
-J 9472 C1 javax.swing.RepaintManager$4.run()Ljava/lang/Object; (5 bytes) @ 0x0475e820 [0x0475e800+0x20]
83
-v  ~StubRoutines::call_stub
84
-J 558  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x04530b47 [0x04530ae0+0x67]
85
-J 5621 C1 javax.swing.RepaintManager.paintDirtyRegions(Ljava/util/Map;)V (196 bytes) @ 0x04b919fc [0x04b91620+0x3dc]
86
-J 42029 C1 javax.swing.RepaintManager.paintDirtyRegions()V (50 bytes) @ 0x044df9e4 [0x044df8a0+0x144]
87
-J 15502 C1 javax.swing.RepaintManager.prePaintDirtyRegions()V (91 bytes) @ 0x04b8c3f4 [0x04b8c230+0x1c4]
88
-J 16217 C1 javax.swing.RepaintManager$ProcessingRunnable.run()V (41 bytes) @ 0x0449c024 [0x0449bef0+0x134]
89
-J 4662 C1 java.awt.event.InvocationEvent.dispatch()V (69 bytes) @ 0x04a93c9c [0x04a93bb0+0xec]
90
-J 3280 C1 java.awt.EventQueue.dispatchEventImpl(Ljava/awt/AWTEvent;Ljava/lang/Object;)V (149 bytes) @ 0x045b5ed0 [0x045b5a10+0x4c0]
91
-J 3277 C1 java.awt.EventQueue$3.run()Ljava/lang/Void; (60 bytes) @ 0x0461205c [0x04612000+0x5c]
92
-J 3276 C1 java.awt.EventQueue$3.run()Ljava/lang/Object; (5 bytes) @ 0x04612420 [0x04612400+0x20]
93
-v  ~StubRoutines::call_stub
94
-J 558  java.security.AccessController.doPrivileged(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object; (0 bytes) @ 0x04530b47 [0x04530ae0+0x67]
95
-J 3272 C1 java.awt.EventQueue.dispatchEvent(Ljava/awt/AWTEvent;)V (80 bytes) @ 0x045b6988 [0x045b6780+0x208]
96
-J 2053 C1 java.awt.EventDispatchThread.pumpOneEventForFilters(I)V (295 bytes) @ 0x0475b850 [0x0475b1c0+0x690]
97
-J 8555% C1 java.awt.EventDispatchThread.pumpEventsForFilter(ILjava/awt/Conditional;Ljava/awt/EventFilter;)V (47 bytes) @ 0x049f09b0 [0x049f0900+0xb0]
98
-j  java.awt.EventDispatchThread.pumpEventsForHierarchy(ILjava/awt/Conditional;Ljava/awt/Component;)V+11
99
-j  java.awt.EventDispatchThread.pumpEvents(ILjava/awt/Conditional;)V+4
100
-j  java.awt.EventDispatchThread.pumpEvents(Ljava/awt/Conditional;)V+3
101
-j  java.awt.EventDispatchThread.run()V+9
102
-v  ~StubRoutines::call_stub
103
-
104
-
105
-Java Threads: ( => current thread )
106
-  0x34e68c00 JavaThread "Detect hyperlinks at caret" daemon [_thread_blocked, id=18560, stack(0x02720000,0x02770000)]
107
-  0x39ef0400 JavaThread "Thread-6" daemon [_thread_in_native, id=12800, stack(0x04050000,0x040a0000)]
108
-  0x39eef800 JavaThread "Tooltip timer in CC Editor" daemon [_thread_blocked, id=18596, stack(0x3b990000,0x3b9e0000)]
109
-  0x39eef000 JavaThread "Brackets Highlighter" [_thread_blocked, id=18440, stack(0x3d960000,0x3d9b0000)]
110
-  0x39eefc00 JavaThread "OxygenSingletonChecker-Thread" [_thread_in_native, id=18436, stack(0x3d8d0000,0x3d920000)]
111
-  0x39ef0800 JavaThread "DB Sessions Manager fire timer" daemon [_thread_blocked, id=236, stack(0x3b680000,0x3b6d0000)]
112
-  0x39eee800 JavaThread "AutomaticallyValidation" daemon [_thread_blocked, id=15736, stack(0x3b040000,0x3b540000)]
113
-  0x39eee400 JavaThread "Autosave" daemon [_thread_blocked, id=380, stack(0x3afb0000,0x3b000000)]
114
-  0x3559f400 JavaThread "TimerQueue" daemon [_thread_blocked, id=9548, stack(0x39aa0000,0x39af0000)]
115
-  0x3589c800 JavaThread "AutomaticallyValidation" daemon [_thread_blocked, id=14680, stack(0x38f70000,0x39470000)]
116
-  0x35664400 JavaThread "Autosave" daemon [_thread_blocked, id=13888, stack(0x38d30000,0x38d80000)]
117
-=>0x356ee400 JavaThread "AWT-EventQueue-0" [_thread_in_native, id=9432, stack(0x364e0000,0x36530000)]
118
-  0x35662c00 JavaThread "AWT-Shutdown" [_thread_blocked, id=16980, stack(0x350b0000,0x35100000)]
119
-  0x34bfd000 JavaThread "AWT-Windows" daemon [_thread_in_native, id=14568, stack(0x34f30000,0x34f80000)]
120
-  0x34bfb800 JavaThread "Java2D Disposer" daemon [_thread_blocked, id=8768, stack(0x349f0000,0x34a40000)]
121
-  0x342c1000 JavaThread "Service Thread" daemon [_thread_blocked, id=13732, stack(0x347e0000,0x34830000)]
122
-  0x34295000 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=4676, stack(0x34750000,0x347a0000)]
123
-  0x34294000 JavaThread "Attach Listener" daemon [_thread_blocked, id=17952, stack(0x346c0000,0x34710000)]
124
-  0x3429fc00 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=15196, stack(0x34630000,0x34680000)]
125
-  0x34288c00 JavaThread "Finalizer" daemon [_thread_blocked, id=12364, stack(0x344b0000,0x34500000)]
126
-  0x34273400 JavaThread "Reference Handler" daemon [_thread_blocked, id=12572, stack(0x34420000,0x34470000)]
127
-  0x0439e000 JavaThread "main" [_thread_blocked, id=2632, stack(0x00400000,0x00450000)]
128
-
129
-Other Threads:
130
-  0x3426e800 VMThread [stack: 0x34390000,0x343e0000] [id=12312]
131
-  0x342c5000 WatcherThread [stack: 0x34870000,0x348c0000] [id=13116]
132
-
133
-VM state:not at safepoint (normal execution)
134
-
135
-VM Mutex/Monitor currently owned by a thread: None
136
-
137
-Heap:
138
- PSYoungGen      total 204544K, used 27794K [0x236c0000, 0x31080000, 0x32000000)
139
-  eden space 185856K, 10% used [0x236c0000,0x248eeb58,0x2ec40000)
140
-  from space 18688K, 49% used [0x2ec40000,0x2f535f08,0x2fe80000)
141
-  to   space 18176K, 0% used [0x2fec0000,0x2fec0000,0x31080000)
142
- ParOldGen       total 139520K, used 113347K [0x06400000, 0x0ec40000, 0x236c0000)
143
-  object space 139520K, 81% used [0x06400000,0x0d2b0ea8,0x0ec40000)
144
- Metaspace       used 46052K, capacity 46410K, committed 46464K, reserved 46464K
145
-
146
-Card table byte_map: [0x32000000,0x32160000] byte_map_base: 0x31fce000
147
-
148
-Marking Bits: (ParMarkBitMap*) 0x71bf1d88
149
- Begin Bits: [0x32450000, 0x32f40000)
150
- End Bits:   [0x32f40000, 0x33a30000)
151
-
152
-Polling page: 0x04030000
153
-
154
-CodeCache: size=32768Kb used=8317Kb max_used=9585Kb free=24450Kb
155
- bounds [0x043a0000, 0x04d38000, 0x063a0000]
156
- total_blobs=4388 nmethods=4072 adapters=241
157
- compilation: enabled
158
-
159
-Compilation events (10 events):
160
-Event: 197196.968 Thread 0x34295000 93066             sun.java2d.loops.GraphicsPrimitiveMgr::locate (104 bytes)
161
-Event: 197196.969 Thread 0x34295000 nmethod 93066 0x0487b2c8 code [0x0487b420, 0x0487b710]
162
-Event: 197196.969 Thread 0x34295000 93067   !         java.awt.GradientPaintContext::<init> (649 bytes)
163
-Event: 197196.971 Thread 0x34295000 nmethod 93067 0x0487e7c8 code [0x0487ea00, 0x0487f524]
164
-Event: 197196.974 Thread 0x34295000 93068             java.awt.Component::getBackground (29 bytes)
165
-Event: 197196.974 Thread 0x34295000 nmethod 93068 0x049ed308 code [0x049ed410, 0x049ed4dc]
166
-Event: 197197.526 Thread 0x34295000 93069             sun.awt.geom.Order1::compareTo (347 bytes)
167
-Event: 197197.527 Thread 0x34295000 nmethod 93069 0x049b1188 code [0x049b1390, 0x049b1b0c]
168
-Event: 197197.528 Thread 0x34295000 93070             sun.awt.geom.Edge::compareTo (118 bytes)
169
-Event: 197197.528 Thread 0x34295000 nmethod 93070 0x0487e208 code [0x0487e330, 0x0487e57c]
170
-
171
-GC Heap History (10 events):
172
-Event: 11269.931 GC heap before
173
-{Heap before GC invocations=187 (full 8):
174
- PSYoungGen      total 205312K, used 190662K [0x236c0000, 0x31400000, 0x32000000)
175
-  eden space 184576K, 100% used [0x236c0000,0x2eb00000,0x2eb00000)
176
-  from space 20736K, 29% used [0x2ff40000,0x305319f8,0x31380000)
177
-  to   space 20736K, 0% used [0x2eb00000,0x2eb00000,0x2ff40000)
178
- ParOldGen       total 139520K, used 112979K [0x06400000, 0x0ec40000, 0x236c0000)
179
-  object space 139520K, 80% used [0x06400000,0x0d254e88,0x0ec40000)
180
- Metaspace       used 46031K, capacity 46407K, committed 46464K, reserved 46464K
181
-Event: 11269.950 GC heap after
182
-Heap after GC invocations=187 (full 8):
183
- PSYoungGen      total 205312K, used 7890K [0x236c0000, 0x312c0000, 0x32000000)
184
-  eden space 184576K, 0% used [0x236c0000,0x236c0000,0x2eb00000)
185
-  from space 20736K, 38% used [0x2eb00000,0x2f2b4918,0x2ff40000)
186
-  to   space 19968K, 0% used [0x2ff40000,0x2ff40000,0x312c0000)
187
- ParOldGen       total 139520K, used 113043K [0x06400000, 0x0ec40000, 0x236c0000)
188
-  object space 139520K, 81% used [0x06400000,0x0d264e88,0x0ec40000)
189
- Metaspace       used 46031K, capacity 46407K, committed 46464K, reserved 46464K
190
-}
191
-Event: 11334.893 GC heap before
192
-{Heap before GC invocations=188 (full 8):
193
- PSYoungGen      total 205312K, used 192466K [0x236c0000, 0x312c0000, 0x32000000)
194
-  eden space 184576K, 100% used [0x236c0000,0x2eb00000,0x2eb00000)
195
-  from space 20736K, 38% used [0x2eb00000,0x2f2b4918,0x2ff40000)
196
-  to   space 19968K, 0% used [0x2ff40000,0x2ff40000,0x312c0000)
197
- ParOldGen       total 139520K, used 113043K [0x06400000, 0x0ec40000, 0x236c0000)
198
-  object space 139520K, 81% used [0x06400000,0x0d264e88,0x0ec40000)
199
- Metaspace       used 46031K, capacity 46407K, committed 46464K, reserved 46464K
200
-Event: 11334.909 GC heap after
201
-Heap after GC invocations=188 (full 8):
202
- PSYoungGen      total 204288K, used 11110K [0x236c0000, 0x311c0000, 0x32000000)
203
-  eden space 185344K, 0% used [0x236c0000,0x236c0000,0x2ebc0000)
204
-  from space 18944K, 58% used [0x2ff40000,0x30a19b60,0x311c0000)
205
-  to   space 19456K, 0% used [0x2ebc0000,0x2ebc0000,0x2fec0000)
206
- ParOldGen       total 139520K, used 113111K [0x06400000, 0x0ec40000, 0x236c0000)
207
-  object space 139520K, 81% used [0x06400000,0x0d275e88,0x0ec40000)
208
- Metaspace       used 46031K, capacity 46407K, committed 46464K, reserved 46464K
209
-}
210
-Event: 11610.701 GC heap before
211
-{Heap before GC invocations=189 (full 8):
212
- PSYoungGen      total 204288K, used 196454K [0x236c0000, 0x311c0000, 0x32000000)
213
-  eden space 185344K, 100% used [0x236c0000,0x2ebc0000,0x2ebc0000)
214
-  from space 18944K, 58% used [0x2ff40000,0x30a19b60,0x311c0000)
215
-  to   space 19456K, 0% used [0x2ebc0000,0x2ebc0000,0x2fec0000)
216
- ParOldGen       total 139520K, used 113111K [0x06400000, 0x0ec40000, 0x236c0000)
217
-  object space 139520K, 81% used [0x06400000,0x0d275e88,0x0ec40000)
218
- Metaspace       used 46049K, capacity 46407K, committed 46464K, reserved 46464K
219
-Event: 11610.716 GC heap after
220
-Heap after GC invocations=189 (full 8):
221
- PSYoungGen      total 204800K, used 12716K [0x236c0000, 0x31280000, 0x32000000)
222
-  eden space 185344K, 0% used [0x236c0000,0x236c0000,0x2ebc0000)
223
-  from space 19456K, 65% used [0x2ebc0000,0x2f82b2a0,0x2fec0000)
224
-  to   space 19456K, 0% used [0x2ff80000,0x2ff80000,0x31280000)
225
- ParOldGen       total 139520K, used 113151K [0x06400000, 0x0ec40000, 0x236c0000)
226
-  object space 139520K, 81% used [0x06400000,0x0d27fe88,0x0ec40000)
227
- Metaspace       used 46049K, capacity 46407K, committed 46464K, reserved 46464K
228
-}
229
-Event: 12021.584 GC heap before
230
-{Heap before GC invocations=190 (full 8):
231
- PSYoungGen      total 204800K, used 198060K [0x236c0000, 0x31280000, 0x32000000)
232
-  eden space 185344K, 100% used [0x236c0000,0x2ebc0000,0x2ebc0000)
233
-  from space 19456K, 65% used [0x2ebc0000,0x2f82b2a0,0x2fec0000)
234
-  to   space 19456K, 0% used [0x2ff80000,0x2ff80000,0x31280000)
235
- ParOldGen       total 139520K, used 113151K [0x06400000, 0x0ec40000, 0x236c0000)
236
-  object space 139520K, 81% used [0x06400000,0x0d27fe88,0x0ec40000)
237
- Metaspace       used 46051K, capacity 46410K, committed 46464K, reserved 46464K
238
-Event: 12021.614 GC heap after
239
-Heap after GC invocations=190 (full 8):
240
- PSYoungGen      total 203520K, used 9471K [0x236c0000, 0x310c0000, 0x32000000)
241
-  eden space 185856K, 0% used [0x236c0000,0x236c0000,0x2ec40000)
242
-  from space 17664K, 53% used [0x2ff80000,0x308bfec8,0x310c0000)
243
-  to   space 18688K, 0% used [0x2ec40000,0x2ec40000,0x2fe80000)
244
- ParOldGen       total 139520K, used 113319K [0x06400000, 0x0ec40000, 0x236c0000)
245
-  object space 139520K, 81% used [0x06400000,0x0d2a9ea8,0x0ec40000)
246
- Metaspace       used 46051K, capacity 46410K, committed 46464K, reserved 46464K
247
-}
248
-Event: 12046.556 GC heap before
249
-{Heap before GC invocations=191 (full 8):
250
- PSYoungGen      total 203520K, used 195327K [0x236c0000, 0x310c0000, 0x32000000)
251
-  eden space 185856K, 100% used [0x236c0000,0x2ec40000,0x2ec40000)
252
-  from space 17664K, 53% used [0x2ff80000,0x308bfec8,0x310c0000)
253
-  to   space 18688K, 0% used [0x2ec40000,0x2ec40000,0x2fe80000)
254
- ParOldGen       total 139520K, used 113319K [0x06400000, 0x0ec40000, 0x236c0000)
255
-  object space 139520K, 81% used [0x06400000,0x0d2a9ea8,0x0ec40000)
256
- Metaspace       used 46051K, capacity 46410K, committed 46464K, reserved 46464K
257
-Event: 12046.564 GC heap after
258
-Heap after GC invocations=191 (full 8):
259
- PSYoungGen      total 204544K, used 9175K [0x236c0000, 0x31080000, 0x32000000)
260
-  eden space 185856K, 0% used [0x236c0000,0x236c0000,0x2ec40000)
261
-  from space 18688K, 49% used [0x2ec40000,0x2f535f08,0x2fe80000)
262
-  to   space 18176K, 0% used [0x2fec0000,0x2fec0000,0x31080000)
263
- ParOldGen       total 139520K, used 113347K [0x06400000, 0x0ec40000, 0x236c0000)
264
-  object space 139520K, 81% used [0x06400000,0x0d2b0ea8,0x0ec40000)
265
- Metaspace       used 46051K, capacity 46410K, committed 46464K, reserved 46464K
266
-}
267
-
268
-Deoptimization events (0 events):
269
-No events
270
-
271
-Internal exceptions (10 events):
272
-Event: 12029.843 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x26da75d8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
273
-Event: 12031.924 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x27835228) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
274
-Event: 12032.452 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x283416c8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
275
-Event: 12033.949 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2914b838) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
276
-Event: 12034.857 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x29ca17c8) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
277
-Event: 12035.359 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2a72aeb0) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
278
-Event: 12037.776 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2b2ed528) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
279
-Event: 12039.552 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2c2b1a00) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
280
-Event: 12040.289 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2cd42590) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
281
-Event: 12043.506 Thread 0x356ee400 Exception <a 'java/io/FileNotFoundException'> (0x2d9f8250) thrown at [C:\workspace\8-2-build-windows-i586-cygwin\jdk8u121\8372\hotspot\src\share\vm\prims\jni.cpp, line 709]
282
-
283
-Events (10 events):
284
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x0487f788
285
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04881388
286
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04881c08
287
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04884548
288
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04884d48
289
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04885888
290
-Event: 197196.907 Thread 0x34295000 flushing nmethod 0x04886288
291
-Event: 197196.940 Thread 0x34295000 flushing nmethod 0x049ed248
292
-Event: 197196.941 Thread 0x34295000 flushing nmethod 0x04ae3008
293
-Event: 197196.941 Thread 0x34295000 flushing nmethod 0x04c15ac8
294
-
295
-
296
-Dynamic libraries:
297
-0x00030000 - 0x000d3000 	C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe
298
-0x77370000 - 0x774fd000 	C:\windows\SYSTEM32\ntdll.dll
299
-0x75180000 - 0x75250000 	C:\windows\System32\KERNEL32.DLL
300
-0x75c60000 - 0x75e37000 	C:\windows\System32\KERNELBASE.dll
301
-0x752e0000 - 0x75455000 	C:\windows\System32\USER32.dll
302
-0x752c0000 - 0x752d6000 	C:\windows\System32\win32u.dll
303
-0x73fd0000 - 0x73ff2000 	C:\windows\System32\GDI32.dll
304
-0x75550000 - 0x756ae000 	C:\windows\System32\gdi32full.dll
305
-0x73f50000 - 0x73fcc000 	C:\windows\System32\msvcp_win.dll
306
-0x74560000 - 0x74677000 	C:\windows\System32\ucrtbase.dll
307
-0x75700000 - 0x75778000 	C:\windows\System32\ADVAPI32.dll
308
-0x75780000 - 0x7583d000 	C:\windows\System32\msvcrt.dll
309
-0x756b0000 - 0x756f3000 	C:\windows\System32\sechost.dll
310
-0x73dc0000 - 0x73e7e000 	C:\windows\System32\RPCRT4.dll
311
-0x73d90000 - 0x73db0000 	C:\windows\System32\SspiCli.dll
312
-0x73d80000 - 0x73d8a000 	C:\windows\System32\CRYPTBASE.dll
313
-0x75890000 - 0x758e7000 	C:\windows\System32\bcryptPrimitives.dll
314
-0x748d0000 - 0x748f5000 	C:\windows\System32\IMM32.DLL
315
-0x74680000 - 0x748c6000 	C:\windows\System32\combase.dll
316
-0x73d10000 - 0x73d41000 	C:\windows\System32\AwDmRegI.dll
317
-0x69960000 - 0x69b71000 	C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.16299.371_none_5d75084fa7e1cb96\comctl32.dll
318
-0x71860000 - 0x71c2e000 	c:\program files (x86)\oxygen xml author 19\jre\bin\client\jvm.dll
319
-0x77360000 - 0x77366000 	C:\windows\System32\PSAPI.DLL
320
-0x72d10000 - 0x72d18000 	C:\windows\SYSTEM32\VERSION.dll
321
-0x72070000 - 0x7212f000 	C:\windows\SYSTEM32\MSVCR100.dll
322
-0x73400000 - 0x73424000 	C:\windows\SYSTEM32\WINMM.dll
323
-0x728e0000 - 0x728e8000 	C:\windows\SYSTEM32\WSOCK32.dll
324
-0x73e90000 - 0x73ef6000 	C:\windows\System32\WS2_32.dll
325
-0x733d0000 - 0x733f3000 	C:\windows\SYSTEM32\WINMMBASE.dll
326
-0x74f00000 - 0x74f38000 	C:\windows\System32\cfgmgr32.dll
327
-0x71850000 - 0x7185c000 	c:\program files (x86)\oxygen xml author 19\jre\bin\verify.dll
328
-0x706f0000 - 0x70711000 	c:\program files (x86)\oxygen xml author 19\jre\bin\java.dll
329
-0x706d0000 - 0x706e3000 	c:\program files (x86)\oxygen xml author 19\jre\bin\zip.dll
330
-0x76020000 - 0x77353000 	C:\windows\System32\SHELL32.dll
331
-0x75a60000 - 0x75ae8000 	C:\windows\System32\shcore.dll
332
-0x74910000 - 0x74ed6000 	C:\windows\System32\windows.storage.dll
333
-0x73f00000 - 0x73f45000 	C:\windows\System32\shlwapi.dll
334
-0x73db0000 - 0x73dbe000 	C:\windows\System32\kernel.appcore.dll
335
-0x750d0000 - 0x75115000 	C:\windows\System32\powrprof.dll
336
-0x74ee0000 - 0x74ef4000 	C:\windows\System32\profapi.dll
337
-0x706a0000 - 0x706c8000 	C:\Program Files (x86)\Oxygen XML Author 19\.install4j\i4jinst.dll
338
-0x744c0000 - 0x74553000 	C:\windows\System32\OLEAUT32.dll
339
-0x75f20000 - 0x76017000 	C:\windows\System32\ole32.dll
340
-0x71840000 - 0x7184a000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\management.dll
341
-0x70670000 - 0x70691000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\JavaAccessBridge-32.dll
342
-0x67eb0000 - 0x67ff6000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\awt.dll
343
-0x73bc0000 - 0x73c5a000 	C:\windows\SYSTEM32\apphelp.dll
344
-0x73350000 - 0x733c9000 	C:\windows\system32\uxtheme.dll
345
-0x75b10000 - 0x75c54000 	C:\windows\System32\MSCTF.dll
346
-0x71700000 - 0x71787000 	C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\tiptsf.dll
347
-0x73320000 - 0x73343000 	C:\windows\system32\dwmapi.dll
348
-0x70590000 - 0x7066f000 	C:\windows\system32\opengl32.dll
349
-0x70560000 - 0x70585000 	C:\windows\SYSTEM32\GLU32.dll
350
-0x6e4f0000 - 0x6e503000 	C:\windows\SYSTEM32\CRYPTSP.dll
351
-0x6e4c0000 - 0x6e4ef000 	C:\windows\system32\rsaenh.dll
352
-0x73880000 - 0x73899000 	C:\windows\SYSTEM32\bcrypt.dll
353
-0x736a0000 - 0x736c2000 	C:\windows\SYSTEM32\USERENV.dll
354
-0x70540000 - 0x70556000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\net.dll
355
-0x721f0000 - 0x72245000 	C:\windows\system32\mswsock.dll
356
-0x73d50000 - 0x73d80000 	C:\windows\SYSTEM32\IPHLPAPI.DLL
357
-0x74900000 - 0x74907000 	C:\windows\System32\NSI.dll
358
-0x68590000 - 0x685a3000 	C:\windows\SYSTEM32\dhcpcsvc6.DLL
359
-0x68570000 - 0x68584000 	C:\windows\SYSTEM32\dhcpcsvc.DLL
360
-0x70530000 - 0x7053f000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\nio.dll
361
-0x35ea0000 - 0x35edd000 	C:\Program Files (x86)\Oxygen XML Author 19\lib\com\sun\jna\win32-x86\jnidispatch.dll
362
-0x6b7a0000 - 0x6b7d9000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\fontmanager.dll
363
-0x754c0000 - 0x75542000 	C:\windows\System32\clbcatq.dll
364
-0x64040000 - 0x641de000 	C:\Windows\System32\uiautomationcore.dll
365
-0x69dc0000 - 0x69e46000 	C:\windows\SYSTEM32\sxs.dll
366
-0x66010000 - 0x6609c000 	C:\Windows\System32\CoreMessaging.dll
367
-0x6b760000 - 0x6b792000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\t2k.dll
368
-0x63e00000 - 0x64034000 	C:\Windows\System32\CoreUIComponents.dll
369
-0x72db0000 - 0x72dd8000 	C:\windows\SYSTEM32\ntmarta.dll
370
-0x6ae60000 - 0x6af2b000 	C:\windows\SYSTEM32\wintypes.dll
371
-0x6b730000 - 0x6b754000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\dcpr.dll
372
-0x73610000 - 0x7369e000 	C:\windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.16299.371_none_d02abd455f338e37\comctl32.dll
373
-0x6b710000 - 0x6b726000 	C:\Program Files (x86)\Oxygen XML Author 19\lib\WindowsNativeHelper32.dll
374
-0x75e40000 - 0x75f14000 	C:\windows\System32\COMDLG32.dll
375
-0x6b6f0000 - 0x6b710000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\sunec.dll
376
-0x72290000 - 0x722a1000 	C:\windows\system32\napinsp.dll
377
-0x72270000 - 0x72286000 	C:\windows\system32\pnrpnsp.dll
378
-0x72250000 - 0x72263000 	C:\windows\system32\NLAapi.dll
379
-0x72150000 - 0x721e4000 	C:\windows\SYSTEM32\DNSAPI.dll
380
-0x72140000 - 0x7214c000 	C:\windows\System32\winrnr.dll
381
-0x72130000 - 0x72140000 	C:\windows\System32\wshbth.dll
382
-0x6a210000 - 0x6a25e000 	C:\windows\System32\fwpuclnt.dll
383
-0x71da0000 - 0x71da8000 	C:\Windows\System32\rasadhlp.dll
384
-0x6b6e0000 - 0x6b6e9000 	C:\Program Files (x86)\Oxygen XML Author 19\jre\bin\sunmscapi.dll
385
-0x74f40000 - 0x750c2000 	C:\windows\System32\CRYPT32.dll
386
-0x73e80000 - 0x73e8e000 	C:\windows\System32\MSASN1.dll
387
-0x69d40000 - 0x69db7000 	C:\windows\System32\TextInputFramework.dll
388
-0x735a0000 - 0x735f6000 	C:\Windows\System32\OLEACC.dll
389
-0x6a790000 - 0x6a7fe000 	C:\windows\SYSTEM32\twinapi.dll
390
-0x68c20000 - 0x68d54000 	C:\windows\SYSTEM32\twinapi.appcore.dll
391
-0x6b660000 - 0x6b67a000 	C:\windows\SYSTEM32\RMCLIENT.dll
392
-0x3ce40000 - 0x3cea1000 	\\?\C:\PROGRA~2\OXYGEN~1\lib\hunspell\HUNSPE~1.DLL
393
-0x66b80000 - 0x66cee000 	C:\windows\SYSTEM32\WindowsCodecs.dll
394
-0x6e510000 - 0x6e558000 	C:\windows\system32\dataexchange.dll
395
-0x6a050000 - 0x6a14e000 	C:\windows\system32\dcomp.dll
396
-0x68d60000 - 0x68f9e000 	C:\windows\system32\d3d11.dll
397
-0x6b510000 - 0x6b5a3000 	C:\windows\system32\dxgi.dll
398
-0x6bb90000 - 0x6bbcd000 	C:\windows\SYSTEM32\edputil.dll
399
-0x6b1c0000 - 0x6b1d6000 	C:\windows\SYSTEM32\CLDAPI.dll
400
-0x6b180000 - 0x6b1b6000 	C:\windows\SYSTEM32\AEPIC.dll
401
-0x6b170000 - 0x6b178000 	C:\windows\SYSTEM32\FLTLIB.DLL
402
-0x736e0000 - 0x7385b000 	C:\windows\SYSTEM32\PROPSYS.dll
403
-0x6ddc0000 - 0x6df4c000 	C:\windows\SYSTEM32\urlmon.dll
404
-0x75af0000 - 0x75b09000 	C:\windows\System32\imagehlp.dll
405
-0x722b0000 - 0x724ca000 	C:\windows\SYSTEM32\iertutil.dll
406
-0x6b040000 - 0x6b09e000 	C:\windows\SYSTEM32\msiso.dll
407
-0x70840000 - 0x709c1000 	C:\windows\SYSTEM32\dbghelp.dll
408
-
409
-VM Arguments:
410
-jvm_args: -Dexe4j.semaphoreName=Local\c:_program_files_(x86)_oxygen_xml_author_19_oxygenauthor19.1.exe -Dexe4j.isInstall4j=true -Dexe4j.moduleName=C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe -Dexe4j.tempDir= -Dexe4j.unextractedPosition=0 -Djava.library.path=C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Perforce;C:\Program Files\Perforce\DVCS\;C:\Program Files\Go\bin;C:\Program Files\nodejs\;C:\Users\vasudevanv\Desktop\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;C:\Users\vasudevanv\AppData\Local\Microsoft\WindowsApps;C:\Users\vasudevanv\go\bin;C:\Users\vasudevanv\AppData\Roaming\npm;C:\AWork\VIC\VIC-Deployment\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;;c:\program files (x86)\oxygen xml author 19\jre\bin -Dexe4j.consoleCodepage=cp0 -Dcom.oxygenxml.app.descriptor=ro.sync.exml.AuthorFrameDescriptor -XX:-OmitStackTraceInFastThrow -XX:SoftRefLRUPolicyMSPerMB=10 -Dsun.java2d.noddraw=true -Dsun.awt.nopixfmt=true -Dsun.java2d.dpiaware=true -Djava.net.preferIPv4Stack=true -Dsun.awt.keepWorkingSetOnMinimize=true -Dinstall4j.launcherId=19 -Dinstall4j.swt=false -Xmx700m -Dcom.oxygenxml.language=English -XX:+UseParallelGC -XX:ErrorFile=C:\Users\VASUDE~1\AppData\Local\Temp\/oxy_jvm_crash.log -XX:OnError=C:\Program Files (x86)\Oxygen XML Author 19/rp.exe 
411
-java_command: C:\Program Files (x86)\Oxygen XML Author 19\oxygenAuthor19.1.exe
412
-java_class_path (initial): C:\Program Files (x86)\Oxygen XML Author 19\.install4j\i4jruntime.jar;C:\Program Files (x86)\Oxygen XML Author 19\.\lib\oxygenAuthor.jar
413
-Launcher Type: generic
414
-
415
-Environment Variables:
416
-PATH=C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Program Files (x86)\RSA SecurID Token Common;C:\Program Files\RSA SecurID Token Common;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Perforce;C:\Program Files\Perforce\DVCS\;C:\Program Files\Go\bin;C:\Program Files\nodejs\;C:\Users\vasudevanv\Desktop\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;C:\Users\vasudevanv\AppData\Local\Microsoft\WindowsApps;C:\Users\vasudevanv\go\bin;C:\Users\vasudevanv\AppData\Roaming\npm;C:\AWork\VIC\VIC-Deployment\vic;C:\Users\vasudevanv\Desktop\vic_19917.tar\vic_19917\vic;;c:\program files (x86)\oxygen xml author 19\jre\bin
417
-USERNAME=vasudevanv
418
-OS=Windows_NT
419
-PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
420
-
421
-
422
-
423
-
424
-OS: Windows 10.0 , 64 bit Build 16299 (10.0.16299.15)
425
-
426
-CPU:total 4 (2 cores per cpu, 2 threads per core) family 6 model 142 stepping 9, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx
427
-
428
-Memory: 4k page, physical 16658884k(8676108k free), swap 19149252k(8924604k free)
429
-
430
-vm_info: Java HotSpot(TM) Client VM (25.121-b13) for windows-x86 JRE (1.8.0_121-b13), built on Dec 12 2016 18:17:00 by "java_re" with MS VC++ 10.0 (VS2010)
431
-
432
-time: Sun Nov 18 17:26:10 2018
433
-elapsed time: 197197 seconds (2d 6h 46m 37s)
434
-
435 1
deleted file mode 100644
436 2
Binary files a/docs/images/Nginx.jpg and /dev/null differ
437 3
deleted file mode 100644
438 4
Binary files a/docs/images/fs-docker-confirm.png and /dev/null differ
439 5
deleted file mode 100644
440 6
Binary files a/docs/images/fs-docker-ifconfig.png and /dev/null differ
441 7
deleted file mode 100644
442 8
Binary files a/docs/images/fs-docker-run.png and /dev/null differ
443 9
deleted file mode 100644
444 10
Binary files a/docs/images/fs-iso-disk-erase.png and /dev/null differ
445 11
deleted file mode 100644
446 12
Binary files a/docs/images/fs-iso-finish.png and /dev/null differ
447 13
deleted file mode 100644
448 14
Binary files a/docs/images/fs-iso-hostname.png and /dev/null differ
449 15
deleted file mode 100644
450 16
Binary files a/docs/images/fs-iso-install-option.png and /dev/null differ
451 17
deleted file mode 100644
452 18
Binary files a/docs/images/fs-iso-install.png and /dev/null differ
453 19
deleted file mode 100644
454 20
Binary files a/docs/images/fs-iso-installed.png and /dev/null differ
455 21
deleted file mode 100644
456 22
Binary files a/docs/images/fs-iso-kernel.png and /dev/null differ
457 23
deleted file mode 100644
458 24
Binary files a/docs/images/fs-iso-license.png and /dev/null differ
459 25
deleted file mode 100644
460 26
Binary files a/docs/images/fs-iso-login.png and /dev/null differ
461 27
deleted file mode 100644
462 28
Binary files a/docs/images/fs-iso-name.png and /dev/null differ
463 29
deleted file mode 100644
464 30
Binary files a/docs/images/fs-iso-new-prompt.png and /dev/null differ
465 31
deleted file mode 100644
466 32
Binary files a/docs/images/fs-iso-new-selected.png and /dev/null differ
467 33
deleted file mode 100644
468 34
Binary files a/docs/images/fs-iso-new.png and /dev/null differ
469 35
deleted file mode 100644
470 36
Binary files a/docs/images/fs-iso-os.png and /dev/null differ
471 37
deleted file mode 100644
472 38
Binary files a/docs/images/fs-iso-partition-custom.png and /dev/null differ
473 39
deleted file mode 100644
474 40
Binary files a/docs/images/fs-iso-partition-new.png and /dev/null differ
475 41
deleted file mode 100644
476 42
Binary files a/docs/images/fs-iso-partition.png and /dev/null differ
477 43
deleted file mode 100644
478 44
Binary files a/docs/images/fs-iso-root-password-confirm.png and /dev/null differ
479 45
deleted file mode 100644
480 46
Binary files a/docs/images/fs-iso-root-password.png and /dev/null differ
481 47
deleted file mode 100644
482 48
Binary files a/docs/images/fs-iso-settings.png and /dev/null differ
483 49
deleted file mode 100644
484 50
Binary files a/docs/images/fs-iso-splash.png and /dev/null differ
485 51
deleted file mode 100644
486 52
Binary files a/docs/images/fs-iso-virtual-disk.png and /dev/null differ
487 53
deleted file mode 100644
488 54
Binary files a/docs/images/fs-ova-finish.png and /dev/null differ
489 55
deleted file mode 100644
490 56
Binary files a/docs/images/fs-ova-import.png and /dev/null differ
491 57
deleted file mode 100644
492 58
Binary files a/docs/images/fs-ova-license.png and /dev/null differ
493 59
deleted file mode 100644
494 60
Binary files a/docs/images/fs-ova-login.png and /dev/null differ
495 61
deleted file mode 100644
496 62
Binary files a/docs/images/fs-ova-name.png and /dev/null differ
497 63
deleted file mode 100644
498 64
Binary files a/docs/images/fs-ova-os-confirm.png and /dev/null differ
499 65
deleted file mode 100644
500 66
Binary files a/docs/images/fs-ova-os.png and /dev/null differ
501 67
deleted file mode 100644
502 68
Binary files a/docs/images/fs-ova-selected.png and /dev/null differ
503 69
deleted file mode 100644
504 70
Binary files a/docs/images/fs-ova-settings.png and /dev/null differ
505 71
deleted file mode 100644
506 72
Binary files a/docs/images/fs-ova-splash.png and /dev/null differ
507 73
deleted file mode 100644
508 74
Binary files a/docs/images/fs-ova-upgrade.png and /dev/null differ
509 75
deleted file mode 100644
510 76
Binary files a/docs/images/fs-version.png and /dev/null differ
511 77
deleted file mode 100644
512 78
Binary files a/docs/images/fs_version.png and /dev/null differ
513 79
deleted file mode 100644
514 80
Binary files a/docs/images/gce1.jpg and /dev/null differ
515 81
deleted file mode 100644
516 82
Binary files a/docs/images/gce2.jpg and /dev/null differ
517 83
deleted file mode 100644
518 84
Binary files a/docs/images/gce4.jpg and /dev/null differ
519 85
deleted file mode 100644
520 86
Binary files a/docs/images/gce5.jpg and /dev/null differ
521 87
deleted file mode 100644
522 88
Binary files a/docs/images/gce6.jpg and /dev/null differ
523 89
deleted file mode 100644
524 90
Binary files a/docs/images/grub-edit-menu-changepw.png and /dev/null differ
525 91
deleted file mode 100644
526 92
Binary files a/docs/images/grub-edit-menu-orig.png and /dev/null differ
527 93
deleted file mode 100644
528 94
Binary files a/docs/images/vs-docker-confirm.png and /dev/null differ
529 95
deleted file mode 100644
530 96
Binary files a/docs/images/vs-docker-ifconfig.png and /dev/null differ
531 97
deleted file mode 100644
532 98
Binary files a/docs/images/vs-docker-run.png and /dev/null differ
533 99
deleted file mode 100644
534 100
Binary files a/docs/images/vs-iso-customize.png and /dev/null differ
535 101
deleted file mode 100644
536 102
Binary files a/docs/images/vs-iso-datastore.png and /dev/null differ
537 103
deleted file mode 100644
538 104
Binary files a/docs/images/vs-iso-erase.png and /dev/null differ
539 105
deleted file mode 100644
540 106
Binary files a/docs/images/vs-iso-hostname.png and /dev/null differ
541 107
deleted file mode 100644
542 108
Binary files a/docs/images/vs-iso-install-option.png and /dev/null differ
543 109
deleted file mode 100644
544 110
Binary files a/docs/images/vs-iso-install.png and /dev/null differ
545 111
deleted file mode 100644
546 112
Binary files a/docs/images/vs-iso-installed.png and /dev/null differ
547 113
deleted file mode 100644
548 114
Binary files a/docs/images/vs-iso-kernel.png and /dev/null differ
549 115
deleted file mode 100644
550 116
Binary files a/docs/images/vs-iso-license.png and /dev/null differ
551 117
deleted file mode 100644
552 118
Binary files a/docs/images/vs-iso-login.png and /dev/null differ
553 119
deleted file mode 100644
554 120
Binary files a/docs/images/vs-iso-name.png and /dev/null differ
555 121
deleted file mode 100644
556 122
Binary files a/docs/images/vs-iso-new.png and /dev/null differ
557 123
deleted file mode 100644
558 124
Binary files a/docs/images/vs-iso-os.png and /dev/null differ
559 125
deleted file mode 100644
560 126
Binary files a/docs/images/vs-iso-partition-custom.png and /dev/null differ
561 127
deleted file mode 100644
562 128
Binary files a/docs/images/vs-iso-partition-new.png and /dev/null differ
563 129
deleted file mode 100644
564 130
Binary files a/docs/images/vs-iso-partition.png and /dev/null differ
565 131
deleted file mode 100644
566 132
Binary files a/docs/images/vs-iso-ready.png and /dev/null differ
567 133
deleted file mode 100644
568 134
Binary files a/docs/images/vs-iso-root-password-confirm.png and /dev/null differ
569 135
deleted file mode 100644
570 136
Binary files a/docs/images/vs-iso-root-password.png and /dev/null differ
571 137
deleted file mode 100644
572 138
Binary files a/docs/images/vs-iso-splash.png and /dev/null differ
573 139
deleted file mode 100644
574 140
Binary files a/docs/images/vs-ova-deployment-options.png and /dev/null differ
575 141
deleted file mode 100644
576 142
Binary files a/docs/images/vs-ova-license.png and /dev/null differ
577 143
deleted file mode 100644
578 144
Binary files a/docs/images/vs-ova-login.png and /dev/null differ
579 145
deleted file mode 100644
580 146
Binary files a/docs/images/vs-ova-name-selected.png and /dev/null differ
581 147
deleted file mode 100644
582 148
Binary files a/docs/images/vs-ova-new-vm-ova.png and /dev/null differ
583 149
deleted file mode 100644
584 150
Binary files a/docs/images/vs-ova-new-vm.png and /dev/null differ
585 151
deleted file mode 100644
586 152
Binary files a/docs/images/vs-ova-settings.png and /dev/null differ
587 153
deleted file mode 100644
588 154
Binary files a/docs/images/vs-ova-splash.png and /dev/null differ
589 155
deleted file mode 100644
590 156
Binary files a/docs/images/vs-ova-storage.png and /dev/null differ
591 157
deleted file mode 100644
592 158
Binary files a/docs/images/vsphere1.jpg and /dev/null differ
593 159
deleted file mode 100644
594 160
Binary files a/docs/images/vsphere12.jpg and /dev/null differ
595 161
deleted file mode 100644
596 162
Binary files a/docs/images/vsphere13.jpg and /dev/null differ
597 163
deleted file mode 100644
598 164
Binary files a/docs/images/vsphere2.jpg and /dev/null differ
599 165
deleted file mode 100644
600 166
Binary files a/docs/images/vsphere3.jpg and /dev/null differ
601 167
deleted file mode 100644
602 168
Binary files a/docs/images/vsphere4.jpg and /dev/null differ
603 169
deleted file mode 100644
604 170
Binary files a/docs/images/vsphere5.jpg and /dev/null differ
605 171
deleted file mode 100644
606 172
Binary files a/docs/images/vsphere6.png and /dev/null differ
607 173
deleted file mode 100644
608 174
Binary files a/docs/images/vsphere7.jpg and /dev/null differ
609 175
deleted file mode 100644
610 176
Binary files a/docs/images/vsphere8.png and /dev/null differ
611 177
deleted file mode 100644
612 178
Binary files a/docs/images/vsphere9.jpg and /dev/null differ
613 179
deleted file mode 100644
614 180
Binary files a/docs/images/ws-docker-confirm.png and /dev/null differ
615 181
deleted file mode 100644
616 182
Binary files a/docs/images/ws-docker-ifconfig.png and /dev/null differ
617 183
deleted file mode 100644
618 184
Binary files a/docs/images/ws-docker-run.png and /dev/null differ
619 185
deleted file mode 100644
620 186
Binary files a/docs/images/ws-iso-cd.png and /dev/null differ
621 187
deleted file mode 100644
622 188
Binary files a/docs/images/ws-iso-customize.png and /dev/null differ
623 189
deleted file mode 100644
624 190
Binary files a/docs/images/ws-iso-disk-erase.png and /dev/null differ
625 191
deleted file mode 100644
626 192
Binary files a/docs/images/ws-iso-disk-partition-custom.png and /dev/null differ
627 193
deleted file mode 100644
628 194
Binary files a/docs/images/ws-iso-disk-partition-new.png and /dev/null differ
629 195
deleted file mode 100644
630 196
Binary files a/docs/images/ws-iso-disk-partition.png and /dev/null differ
631 197
deleted file mode 100644
632 198
Binary files a/docs/images/ws-iso-disk.png and /dev/null differ
633 199
deleted file mode 100644
634 200
Binary files a/docs/images/ws-iso-efi.png and /dev/null differ
635 201
deleted file mode 100644
636 202
Binary files a/docs/images/ws-iso-hostname.png and /dev/null differ
637 203
deleted file mode 100644
638 204
Binary files a/docs/images/ws-iso-install-option.png and /dev/null differ
639 205
deleted file mode 100644
640 206
Binary files a/docs/images/ws-iso-install.png and /dev/null differ
641 207
deleted file mode 100644
642 208
Binary files a/docs/images/ws-iso-installed.png and /dev/null differ
643 209
deleted file mode 100644
644 210
Binary files a/docs/images/ws-iso-installer.png and /dev/null differ
645 211
deleted file mode 100644
646 212
Binary files a/docs/images/ws-iso-kernel.png and /dev/null differ
647 213
deleted file mode 100644
648 214
Binary files a/docs/images/ws-iso-license.png and /dev/null differ
649 215
deleted file mode 100644
650 216
Binary files a/docs/images/ws-iso-login.png and /dev/null differ
651 217
deleted file mode 100644
652 218
Binary files a/docs/images/ws-iso-name.png and /dev/null differ
653 219
deleted file mode 100644
654 220
Binary files a/docs/images/ws-iso-new.png and /dev/null differ
655 221
deleted file mode 100644
656 222
Binary files a/docs/images/ws-iso-os.png and /dev/null differ
657 223
deleted file mode 100644
658 224
Binary files a/docs/images/ws-iso-root-password-confirm.png and /dev/null differ
659 225
deleted file mode 100644
660 226
Binary files a/docs/images/ws-iso-root-password.png and /dev/null differ
661 227
deleted file mode 100644
662 228
Binary files a/docs/images/ws-iso-selected.png and /dev/null differ
663 229
deleted file mode 100644
664 230
Binary files a/docs/images/ws-iso-settings.png and /dev/null differ
665 231
deleted file mode 100644
666 232
Binary files a/docs/images/ws-iso-splash.png and /dev/null differ
667 233
deleted file mode 100644
668 234
Binary files a/docs/images/ws-iso-summary.png and /dev/null differ
669 235
deleted file mode 100644
670 236
Binary files a/docs/images/ws-iso-typical.png and /dev/null differ
671 237
deleted file mode 100755
672 238
Binary files a/docs/images/ws-new-vm.png and /dev/null differ
673 239
deleted file mode 100644
674 240
Binary files a/docs/images/ws-ova-import.png and /dev/null differ
675 241
deleted file mode 100644
676 242
Binary files a/docs/images/ws-ova-license.png and /dev/null differ
677 243
deleted file mode 100644
678 244
Binary files a/docs/images/ws-ova-os.png and /dev/null differ
679 245
deleted file mode 100644
680 246
Binary files a/docs/images/ws-ova-password.png and /dev/null differ
681 247
deleted file mode 100644
682 248
Binary files a/docs/images/ws-ova-path.png and /dev/null differ
683 249
deleted file mode 100644
684 250
Binary files a/docs/images/ws-ova-settings-edit.png and /dev/null differ
685 251
deleted file mode 100644
686 252
Binary files a/docs/images/ws-ova-settings-efi.png and /dev/null differ
687 253
deleted file mode 100644
688 254
Binary files a/docs/images/ws-ova-settings-options.png and /dev/null differ
689 255
deleted file mode 100644
690 256
Binary files a/docs/images/ws-ova-settings-photon.png and /dev/null differ
691 257
deleted file mode 100644
692 258
Binary files a/docs/images/ws-ova-settings.png and /dev/null differ
693 259
deleted file mode 100644
694 260
Binary files a/docs/images/ws-ova-splash.png and /dev/null differ
695 261
deleted file mode 100644
696 262
Binary files a/docs/images/ws_version.png and /dev/null differ
... ...
@@ -59,7 +59,7 @@
59 59
     - [Network Configuration Manager - C API](netmgr.c.md)
60 60
     - [Network Configuration Manager - Python API](netmgr.python.md)        
61 61
 -   [Cloud-Init on Photon OS](cloud-init-on-photon-os.md)
62
-    - [Deploy Photon OS With `cloud-init`](deploy_photon_with_cloud-init.md
62
+    - [Deploy Photon OS With cloud-init](deploy_photon_with_cloud-init.md)
63 63
     - [Creating a Stand-Alone Photon Machine with
64 64
         cloud-init](creating-a-stand-alone-photon-machine-with-cloud-init.md)
65 65
     -   [Customizing a Photon OS Machine on
... ...
@@ -2,7 +2,7 @@
2 2
 
3 3
 The minimal and full versions of Photon OS include the cloud-init service as a built-in component. Cloud-init is a set of Python scripts that initialize cloud instances of Linux machines. The cloud-init scripts configure SSH keys and run commands to customize the machine without user interaction. The commands can set the root password, create a hostname, configure networking, write files to disk, upgrade packages, run custom scripts, and restart the system. 
4 4
 
5
-- [Deploy Photon OS With `cloud-init`](deploy_photon_with_cloud-init.md)
5
+- [Deploy Photon OS With cloud-init](deploy_photon_with_cloud-init.md)
6 6
 - [Creating a Stand-Alone Photon Machine with cloud-init](creating-a-stand-alone-photon-machine-with-cloud-init.md)
7 7
 - [Customizing a Photon OS Machine on EC2](customizing-a-photon-os-machine-on-ec2.md)
8 8
 - [Running a Photon OS Machine on GCE](running-a-photon-os-machine-on-gce.md)
9 9
\ No newline at end of file
... ...
@@ -4,8 +4,8 @@ Project Lightwave is an open-sourced project that provides enterprise-grade iden
4 4
 
5 5
 ## Procedure
6 6
 
7
-1. [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md)
8
-2. [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md)
9
-3. [Installing the Photon Management Daemon on a Lightwave Client](Installing-the-Photon-Management-Daemon-on-a-Lightwave-Client.md)
10
-4. [Remotely Upgrade a Single Photon OS Machine With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-a-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md)
11
-5. [Remotely Upgrade Multiple Photon OS Machines With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md)
7
+- [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md)
8
+- [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md)
9
+- [Installing the Photon Management Daemon on a Lightwave Client](Installing-the-Photon-Management-Daemon-on-a-Lightwave-Client.md)
10
+- [Remotely Upgrade a Single Photon OS Machine With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-a-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md)
11
+- [Remotely Upgrade Multiple Photon OS Machines With Lightwave Client and Photon Management Daemon Installed](Remotely-Upgrade-Photon-OS-Machine-With-Lightwave-Client-and-Photon-Management-Daemon-Installed.md)
... ...
@@ -1,262 +1,12 @@
1 1
 # Running Photon OS on Amazon Elastic Cloud Compute
2 2
 
3
-This guide describes how to get Photon OS up and running on Amazon Web Services Elastic Cloud Compute (EC2), customize Photon with cloud-init, connect to it with SSH, and run a containerized application.
4
- 
5
-## About Photon OS?
6
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](#https://vmware.github.io/photon/).
7
-
8
-## Prerequisites
9
-
10
-Using Photon OS within AWS EC2 requires the following resources:
11
-
12
-- **AWS account**. Working with EC2 requires an Amazon account for AWS with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Amazon. See [Setting Up with Amazon EC2](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html).
13
-- **Amazon tools**. The following examples also assume that you have installed and configured the Amazon AWS CLI and the EC2 CLI and AMI tools, including ec2-ami-tools.
14
-
15
-See [Installing the AWS Command Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/installing.html), [Setting Up the Amazon EC2 Command Line Interface Tools on Linux](#http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html), and [Configuring AWS Command-Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). Also see [Setting Up the AMI Tools](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html).
16
-This article uses an Ubuntu 14.04 workstation to generate the keys and certificates that AWS requires.
17
-
18
-## Downloading the Photon OS Image for Amazon
19
-
20
-VMware packages Photon OS as a cloud-ready Amazon machine image (AMI) that you can download for free from [Bintray](https://bintray.com/vmware/photon).
21
-
22
-Download the Photon OS AMI now and save it on your workstation. For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
23
-
24
-**Note**: The AMI version of Photon is a virtual appliance with the information and packages that Amazon needs to launch an instance of Photon in the cloud. To build the AMI version, VMware starts with the minimal version of Photon OS and adds the sudo and tar packages to it. 
25
-
26
-## Getting Photon OS Up and Running on EC2
27
-
28
-To run Photon OS on EC2, you must use cloud-init with an EC2 data source. The cloud-init service configures the cloud instance of a Linux image. An _instance_ is a virtual server in the Amazon cloud. 
29
-
30
-The examples in this article show how to generate SSH and RSA keys for your Photon instance, upload the Photon OS `.ami` image to the Amazon cloud, and configure it with cloud-init. In many of the examples, you must replace information with your own paths, account details, or other information from Amazon. 
31
-
32
-### Step 1: Create a Key Pair
33
-
34
-The first step is to generate SSH keys on, for instance, an Ubuntu workstation: 
35
-
36
-	ssh-keygen -f ~/.ssh/mykeypair
37
-
38
-The command generates a public key in the file with a `.pub` extension and a private key in a file with no extension. Keep the private key file and remember the name of your key pair; the name is the file name of the two files without an extension. You'll need the name later to connect to the Photon instance.
39
-
40
-Change the mode bits of the public key pair file to protect its security. In the command, include the path to the file if you need to. 
41
-
42
-	chown 600 mykeypair.pub
43
-
44
-Change the mode bits on your private key pair file so that only you can view it:
45
-
46
-	chmod 400 mykeypair
47
-
48
-To import your public key pair file (but not your private key pair file), connect to the EC2 console at https://console.aws.amazon.com/ec2/ and select the region for the key pair. A key pair works in only one region, and the instance of Photon that will be uploaded later must be in the same region as the key pair. Select `key pairs` under `Network & Security`, and then import the public key pair file that you generated earlier. 
49
-
50
-For more information, see [Importing Your Own Key Pair to Amazon EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws).
51
-
52
-### Step 2: Generate a Certificate
53
-
54
-When you bundle up an image for EC2, Amazon requires an RSA user signing certificate. You create the certificate by using openssl to first generate a private RSA key and then to generate the RSA certificate that references the private RSA key. Amazon uses the pairing of the private key and the user signing certificate for  handshake verification. 
55
-
56
-First, on Ubuntu 14.04 or another workstation that includes openssl, run the following command to generate a private key. If you change the name of the key, keep in mind that you will need to include the name of the key in the next command, which generates the certificate. 
57
-
58
-	openssl genrsa 2048 > myprivatersakey.pem
59
-
60
-Remember where you store your private key locally; you'll need it again later. 
61
-
62
-Second, run the following command to generate the certificate. The command prompts you to provide more information, but because you are generating a user signing certificate, not a server certificate, you can just type `Enter` for each prompt to leave all the fields blank. 
63
-
64
-	openssl req -new -x509 -nodes -sha256 -days 365 -key myprivatersakey.pem -outform PEM -out certificate.pem
65
-
66
-For more information, see the Create a Private Key and the Create the User Signing Certificate sections of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle).
67
-
68
-Third, upload to AWS the certificate value from the `certificate.pem` file that you created in the previous command. Go to the Identity and Access Management console at https://console.aws.amazon.com/iam/, navigate to the name of your user, open the `Security Credentials` section, click `Manage Signing Certificates`, and then click `Upload Signing Certificate`. Open `certificate.pem` in a text editor, copy and paste the contents of the file into the `Certificate Body` field, and then click `Upload Signing Certificate`.
69
-
70
-For more information, see the Upload the User Signing Certificate section of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle).
71
-
72
-### Step 3: Create a Security Group
73
-
74
-The next prerequisite is to create a security group and set it to allow SSH, HTTP, and HTTPS connections over ports 22, 80, and 443, respectively. Connect to the EC2 command-line interface and run the following commands: 
75
-
76
-	aws ec2 create-security-group --group-name photon-sg --description "My Photon security group"
77
-	{
78
-	    "GroupId": "sg-d027efb4"
79
-	}
80
-	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 22 --cidr 0.0.0.0/0
81
-
82
-The `GroupId` is returned by EC2. Write it down; you'll need it later.
83
-
84
-By using `0.0.0.0/0` for SSH ingress on Port 22, you are opening the port to all IP addresses--which is not a security best practice but a convenience for the examples in this article. For a production instance or other instances that are anything more than temporary machines, you should authorize only a specific IP address or range of addresses. See Amazon's document on [Authorizing Inbound Traffic for Linux Instances](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html).
85
-
86
-Repeat the command to allow incoming traffic on Port 80 and on Port 443: 
87
-
88
-	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 80 --cidr 0.0.0.0/0
89
-
90
-	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 443 --cidr 0.0.0.0/0
91
-
92
-Check your work: 
93
-
94
-	aws ec2 describe-security-groups --group-names photon-sg
95
-
96
-### Step 4: Extract the Tarball 
97
-
98
-Next, make a directory to store the image, and then extract the Photon OS image from its archive by running the following `tar` command. (You might have to change the file name to match the version you have.)    
99
-
100
-	mkdir bundled
101
-	tar -zxvf ./photon-ami.tar.gz
102
-
103
-### Step 5: Bundle the Image
104
-
105
-The next step is to run the `ec2-bundle-image` command to create an instance store-backed Linux AMI from the Photon OS image that you extracted in the previous step. The result of the `ec2-bundle-image` command is a manifest that describes the machine in an XML file. 
106
-
107
-The command uses the certificate path to your PEM-encoded RSA public key certificate file; the path to your PEM-encoded RSA private key file; your EC2 user account ID; the correct architecture for Photon OS; the path to the Photon OS AMI image extracted from its tar file; and the `bundled` directory from the previous step. 
108
-
109
-You must replace the values of the certificate path, the private key, and the user account with your own values.
110
-
111
-	$ ec2-bundle-image --cert certificate.pem --privatekey myprivatersakey.pem --user <EC2 account id>  --arch x86_64 --image photon-ami.raw --destination ./bundled/
112
-
113
-### Step 6: Put the Bundle in a Bucket
114
-
115
-Next, make an S3 bucket, replacing `<bucket-name>` with the name that you want. The command creates the bucket in the region specified in your Amazon configuration file, which should be the same region in which you are using your key pair file: 
116
-
117
-	$ aws s3 mb s3://<bucket-name>
118
-
119
-Now upload the bundle to the Amazon S3 cloud. The following command includes the path to the XML file containing the manifest for the Photon OS machine created during the previous step, though you might have to change the file name to match the version you have. The manifest file is typically located in the same directory as the bundle. 
120
-
121
-The command also includes the name of the Amazon S3 bucket in which the bundle is to be stored; your AWS access key ID; and your AWS secret access key.
122
-
123
-	$ ec2-upload-bundle --manifest ./bundled/photon-ami.manifest.xml --bucket <bucket-name> --access-key <Account Access Key> --secret-key <Account Secret key>
124
-
125
-### Step 7: Register the Image
126
-
127
-The final step in creating an AMI before you can launch it is to register it. The following command includes a name for the AMI, its architecture, and its virtualization type. The virtualization type for Photon OS is `hvm`.
128
-
129
-	$ ec2-register <bucket-name>/photon-ami.manifest.xml --name photon-ami --architecture x86_64 --virtualization-type hvm
130
-
131
-Once registered, you can launch as many new instances as you want.
132
-
133
-### Step 8: Run an Instance of the Image with Cloud-Init
134
-
135
-Now things get a little tricky. In the following command, the `user-data-file` option instructs cloud-init to import the cloud-config data in `user-data.txt`.  
136
-
137
-The command also includes the ID of the AMI, which you can obtain by running `ec2-describe-images`; the instance type of `m3.medium`, which is a general purpose instance type; and the name of key pair, which should be replaced with your own--otherwise, you won't be able to connect to the instance. 
138
-
139
-Before you run the command, change directories to the directory containing the `mykeypair` file and add the path to the `user-data.txt`. 
140
-
141
-	$ ec2-run-instances <ami-ID> --instance-type m3.medium -g photon-sg --key mykeypair --user-data-file user-data.txt
142
-
143
-Here are the contents of the `user-data.txt` file that cloud-init applies to the machine the first time it boots up in the cloud.  
144
-
145
-	#cloud-config
146
-	hostname: photon-on-01
147
-	groups:
148
-	- cloud-admins
149
-	- cloud-users
150
-	users:
151
-	- default
152
-	- name: photonadmin
153
-	   gecos: photon test admin user
154
-	   primary-group: cloud-admins
155
-	   groups: cloud-users
156
-	   lock-passwd: false
157
-	   passwd: vmware
158
-	- name: photonuser
159
-	   gecos: photon test user
160
-	   primary-group: cloud-users
161
-	   groups: users
162
-	   passwd: vmware
163
-	packages:
164
-	- vim
165
-
166
-### Step 9: Get the IP Address of Your Image
167
-
168
-Now run the following command to check on the state of the instance that you launched: 
169
-
170
-	$ ec2-describe-instances
171
-
172
-Finally, you can obtain the external IP address of the instance by running the following query: 
173
-
174
-	$ aws ec2 describe-instances --instance-ids <instance-id> --query 'Reservations[*].Instances[*].PublicIpAddress' --output=text
175
-
176
-If need be, check the cloud-init output log file on EC2 at `/var/log/cloud-init-output.log` to see how EC2 handled the settings in the cloud-init data file. 
177
-
178
-For more information on using cloud-init user data on EC2, see [Running Commands on Your Linux Instance at Launch](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html).
179
-
180
-## Deploy a Containerized Application in Photon OS
181
-
182
-This section shows you how to connect to the Photon instance by using SSH and to launch a web server by running it in Docker.
183
-
184
-### Step 1: Connect with SSH
185
-
186
-Connect to the instance over SSH by specifying the private key (.pem) file and the user name for the Photon machine, which is `root`:
187
-
188
-	ssh -i ~/.ssh/mykeypair root@<public-ip-address-of-instance>
189
-
190
-For complete instructions, see [Connecting to Your Linux Instance Using SSH](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html). 
191
-
192
-### Step 2: Run Docker
193
-
194
-On the minimal version of Photon OS, the docker engine is enabled and running by default, which you can see by running the following command: 
195
-
196
-	systemctl status docker
197
-
198
-### Step 3: Start the Web Server
199
-
200
-**Note**: Please make sure that the proper security policies have been enabled on the Amazon AWS side to enable traffic to port 80 on the VM. 
201
-
202
-Since Docker is running, you can run an application in a container--for example, the Nginx Web Server. This example uses the popular open source web server Nginx. The Nginx application has a customized VMware package that the Docker engine can download directly from the Docker Hub.
203
-
204
-To pull Nginx from its Docker Hub and start it, run the following command: 
205
-
206
-	docker run -p 80:80 vmwarecna/nginx
207
-
208
-The Nginx web server should be bound to the public DNS value for  the instance of Photon OS--that is, the same address with which you connected over SSH. 
209
-
210
-### Step 4: Test the Web Server
211
-
212
-On your local workstation, open a web browser and go to the the public address of the Photon OS instance running Docker. The following screen should appear, showing that the web server is active:
213
-
214
-![Nginx](images/Nginx.jpg)
215
-
216
-When you're done, halt the Docker container by typing `Ctrl+c` in the SSH console where you are connected to EC2. 
217
-
218
-You can now run other containerized applications from the Docker Hub or your own containerized application on Photon OS in the Amazon cloud. 
219
-
220
-## Launching the Web Server with Cloud-Init
221
-
222
-To eliminate the manual effort of running Docker, you can add `docker run` and its arguments to the cloud-init user data file by using `runcmd`: 
223
-
224
-	#cloud-config
225
-	hostname: photon-on-01
226
-	groups:
227
-	- cloud-admins
228
-	- cloud-users
229
-	users:
230
-	- default
231
-	- name: photonadmin
232
-	   gecos: photon test admin user
233
-	   primary-group: cloud-admins
234
-	   groups: cloud-users
235
-	   lock-passwd: false
236
-	   passwd: vmware
237
-	- name: photonuser
238
-	   gecos: photon test user
239
-	   primary-group: cloud-users
240
-	   groups: users
241
-	   passwd: vmware
242
-	packages:
243
-	- vim
244
-	runcmd:
245
-	- docker run -p 80:80 vmwarecna/nginx
246
-
247
-To try this addition, you'll have to run another instance with this new cloud-init data source and then get the instance's public IP address to check that the Nginx web server is running. 
248
-
249
-## Terminating the AMI Instance
250
-
251
-Because Amazon charges you while the instance is running, make sure to shut it down when you're done.  
252
-
253
-First, get the ID of the AMI so you can terminate it: 
254
-
255
-	$ ec2-describe-instances
256
-
257
-Finally, terminate the Photon OS instance by running the following command, replacing the placeholder with the ID that the `ec2-describe-images` command returned. If you ran a second instance of Photon OS with the cloud-init file that runs docker, terminate that instance, too. 
258
-
259
-	$ ec2-terminate-instances <instance-id>
260
-
3
+You can set up Photon OS on Amazon Web Services Elastic Cloud Compute (EC2), customize it with cloud-init, connect to it with SSH.
261 4
 
5
+After you set up Photon OS, you can run a containerized application.
262 6
 
7
+- [Prerequisites](photon_os_ecc_prerequisites.md)
8
+- [Set Up Photon OS on EC2](set-up-PhotonOS-on-ec2.md)
9
+- [Deploy a Containerized Application in Photon OS using SSH](deploying-a-containerized-application-in-photon-os-ssh.md)
10
+- [Launch the Web Server with Cloud-Init](launch-web-server-with-cloud-init.md)
11
+- [Terminate the AMI Instance](terminate-the-ami-instance.md)
12
+ 
... ...
@@ -1,117 +1,6 @@
1 1
 # Running Photon OS on Google Compute Engine
2 2
 
3
-This guide describes how to get started using Photon OS as a virtual machine on Google Compute Engine (GCE). Once Photon OS is installed as an image on GCE, this document shows how to deploy a containerized application in Docker with a single command.
3
+You can use Photon OS as a virtual machine on Google Compute Engine (GCE). You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command.
4 4
 
5
-- [About Photon OS](#about-photon-os)
6
-- [Prerequisites for Photon OS on GCE](#prerequisites-for-photon-os-on-gce)
7
-- [Downloading Photon OS](#downloading-photon-os)
8
-- [Installing Photon OS on Google Compute Engine](#installing-photon-os-on-google-compute-engine)
9
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os)
10
-
11
-## About Photon OS
12
-
13
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see  [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
14
-
15
-## Prerequisites for Photon OS on GCE
16
-
17
-Using Photon OS on Google Compute Engine requires the following resources:
18
-
19
-* An account on Google Compute Engine
20
-* The Google Cloud SDK
21
-* The Photon OS image for GCE
22
-
23
-Keep in mind that, if you try the examples in this document, Google will charge your account for the cloud services that you use. The GCE-ready version of Photon OS, however, comes for free.
24
-
25
-## Downloading Photon OS
26
-
27
-VMware recommends that administrators use the Photon OS image for Google Compute Engine (GCE) to create Photon OS instances on GCE. Although earlier releases of Photon OS required heavy modification of the Photon instance to make the image compatible with GCE, Photon OS 1.0 comes with pre-modified images for popular cloud providers, including GCE.
28
-
29
-You can download the Photon OS image for GCE from the following URL:
30
-
31
-[https://bintray.com/vmware/photon](https://bintray.com/vmware/photon)
32
-
33
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
34
-
35
-## Installing Photon OS on Google Compute Engine
36
-
37
-After you download the Photon OS image for GCE, log into GCE and complete the following steps.
38
-
39
-### Step 1: Create a New Bucket
40
-
41
-Create a new bucket to store your Photon OS image for GCE.
42
-
43
-![gce1](images/gce1.jpg)
44
-
45
-### Step 2: Upload the Photon OS Image
46
-
47
-Once you’ve created the bucket, you’re ready to upload the Photon OS image. While viewing the bucket that you’ve created, click the `Upload files` button, navigate to your Photon OS image and click the `Choose` button. 
48
-
49
-As the image below shows, when the upload finishes, you should see your Photon OS compressed image in the file list for the bucket that you created.
50
-
51
-![gce2](images/gce2.jpg)
52
-
53
-### Step 3: Create a New Image
54
-
55
-Next, you need to create a new image. Click on `Images` in the `Compute` category in the left panel; then, click on the `New Image` button. 
56
-
57
-Enter a name for the image in the `Name` field and change the `Source` to `Cloud Storage file` using the pull-down menu. Then, in the `Cloud Storage file` field, enter the bucket name and filename as the path to the Photon OS image for GCE. In this example, where the bucket was named `photon_storage,` the path is as follows:
58
- 
59
-	photon_storage/photon-gce-2.0-tar.gz
60
-
61
-*Note: The new image form will autopopulate the `gs://` file path prefix.*
62
-
63
-After you’re finished completing the name and Cloud Storage object path, click the `Create` button to create your image. You should be returned to your Images catalog and your Photon OS image should be at the top of the list. 
64
-
65
-### Step 4: Create a New Instance
66
-
67
-To create an instance, check the box next to the Photon OS image and click the `Create Instance` button. 
68
-
69
-On the `Create a new instance` form, provide a name for this instance, confirm the zone into which this instance is to be deployed and, before clicking `Create,` place a check in the boxes for `Allow HTTP traffic` and `Allow HTTPS traffic.` 
70
-
71
-Outside of this demo, your application may or may not require these firewall rules. Please choose accordingly outside of this demo. However, since we will demonstrate a running web server container, we want these ports to be open for our instance. 
72
-
73
-![gce4](images/gce4.jpg)
74
-
75
-When the instance is created you will be returned to your list of VM instances. If you click on the instance, the status page for the instance will allow you to SSH into your Photon OS environment using the SSH button at the top of the panel. 
76
-
77
-At this point, your instance is running and you are ready to start the Docker engine and run a container workload.
78
-
79
-## Deploying a Containerized Application in Photon OS
80
-
81
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded directly through the Docker module from the Docker Hub.
82
-
83
-### Step 1: Run Docker
84
-
85
-To run Docker from the command prompt, enter the command below to initialize the Docker engine:
86
-
87
-    systemctl start docker
88
-
89
-To ensure Docker daemon service runs on every subsequent VM reboot, enter:
90
- 
91
-    systemctl enable docker
92
-
93
-### Step 2: Run the Nginx Web Server
94
-
95
-Now that the Docker daemon service is running, it is a simple task to pull and then start the Nginx Web Server container from Docker Hub.  To do this, type the following command:
96
- 
97
-    docker run -d -p 80:80 vmwarecna/nginx
98
-
99
-This command pulls the Nginx Web Server files and the dependent containers to ensure this containerized application can run.  You will see a screenshot similar to the one below, as the container and dependencies are downloaded and the container is prepared to run:
100
-
101
-![gce5](images/gce5.jpg)
102
-
103
-Once the `docker run` process is completed, you will be returned to the command prompt.  You now have a fully active website up and running through typing just a single command within Photon OS using containers.
104
-
105
-### Step 3: Test the Web Server
106
-
107
-**Note** : Please make sure that the proper security policies have been enabled on the Google GCE side to enable traffic to port 80 on the VM.
108
-
109
-To test that your web server is active, we need to get the IP address of the Photon OS virtual machine. To get the IP address, enter the following command:
110
-
111
-This command displays a list of network adapters connected to the virtual machine. Typically, the web server daemon will be bound to `eth0;` record the IP address associated with `eth0.` Alternatively, visit the status page of your Photon OS instance in GCE where the IP address is listed under `External IP.`
112
-
113
-Start a browser on your host machine and enter the IP address of your Photon OS virtual machine. The following screen should appear, showing that your web server is active:
114
-
115
-![gce6](images/gce6.jpg)
116
-
117
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
5
+- [Prerequisites for Photon OS on GCE](photon-os-gce-prerequisites.md)
6
+- [Installing Photon OS on Google Compute Engine](installing-photon-os-on-google-compute-engine.md)
... ...
@@ -1,247 +1,9 @@
1 1
 # Running Photon OS on Microsoft Azure
2 2
 
3
-Photon OS can serve as a run-time environment for Linux containers on Microsoft Azure. This topic describes how to set up and run the cloud-ready version of Photon OS as an instance of a virtual machine in the Azure cloud. Once running, Docker can run a containerized application in the Photon OS instance.
3
+You can use Photon OS as a run-time environment for Linux containers on Microsoft Azure. You can set up and run the cloud-ready version of Photon OS as an instance of a virtual machine in the Azure cloud. Once Photon OS is running, you can deploy a containerized application in Docker.
4 4
 
5 5
 **Note:** These instructions apply to Photon OS 2.0. There is no Photon OS 1.0 distribution image for Microsoft Azure.
6 6
 
7
-- [About Photon OS](#about-photon-os)
8
-- [Prerequisites](#prerequisites)
9
-- [Downloading and Extracting the Photon OS VHD File](#downloading-and-extracting-the-photon-os-vhd-file)
10
-- [Setting Up Azure Storage and Uploading the VHD](#setting-up-azure-storage-and-uploading-the-vhd)
11
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os)
12
-
13
-# About Photon OS
14
-
15
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see  [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
16
-
17
-# Prerequisites
18
-
19
-- Microsoft Azure account ([sign up](https://azure.microsoft.com) if you don&#39;t already have one)
20
-- Azure CLI 2.0 (install the latest version) - see  [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) and  [Get started with Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest).
21
-- Pair of SSH public / private keys
22
-
23
-# Downloading and Extracting the Photon OS VHD File
24
-
25
-VMware packages Photon OS as a cloud-ready virtual hard disk (VHD file) that you can download for free from  [Bintray](https://bintray.com/vmware/photon). This VHD file is a virtual appliance with the information and packages that Azure needs to launch an instance of Photon in the cloud. After you have downloaded the distribution archive, extract the VHD file from it. You will later need to upload this VHD file to Azure, where it will be stored in an Azure storage account. For download instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
26
-
27
-# Setting Up Azure Storage and Uploading the VHD
28
-
29
-You can use either the Azure Portal or the Azure CLI to set up your Azure storage space, upload the Photon OS VHD file, and create the Photon OS VM.
30
-
31
-## Setting Up Using the Azure Portal
32
-
33
-You can use the Azure portal to set up Photon OS 2.0 in the Azure cloud. The following instructions are brief. Refer to the Azure documentation for details.
34
-
35
-1. Log in to the Azure portal at  [http://portal.azure.com](http://portal.azure.com/).
36
-2. Create a resource group. In the toolbar, choose Resource Groups, click **+Add** , fill in the resource group fields, and choose **Create**.
37
-3. Create a storage account. In the toolbar, choose Storage Accounts, click **+Add** , fill in the storage account fields (and the resource group you just created), and choose **Create**.
38
-4. Select the storage account.
39
-5. Scroll down the storage account control bar, click Containers (below BLOB SERVICE), click **+Container** , fill in the container fields, and choose **Create**.
40
-6. Select the container you just created.
41
-7. Click **Upload** and upload the Photon OS VHD image file to this container.
42
-8. Once the VHD file is uploaded, refer to the Azure documentation for instructions on how to create and manage your Photon OS VM.
43
-
44
-## Setting Up Using the Azure CLI
45
-
46
-You can use the Azure CLI 2.0 to set up Photon OS. You must first  [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest).
47
-
48
-**Note:**  Except where overridden with parameter values, these commands create objects with default settings.
49
-
50
-### Step 1: Create a Resource Group
51
-
52
-From the Azure CLI, create a resource group.
53
-````
54
-az group create \
55
- --name &lt;your_resource_group&gt; \
56
- --location westus
57
-````
58
-
59
-### Step 2: Create a Storage Account
60
-
61
-Create a storage account associated with this resource group.
62
-````
63
-az storage account create \
64
-    --resource-group &lt;your_resource_group&gt; \
65
-    --location westus \
66
-    --name &lt;your_account_name&gt; \
67
-    --kind Storage \
68
-    --sku Standard_LRS
69
-````
70
-### Step 3: List the Keys for the Storage Account
71
-
72
-Retrieve the keys associated with your newly created storage account.
73
-````
74
-az storage account keys list \
75
-    --resource-group &lt;your_resource_group&gt; \
76
-    --account-name &lt;your_account_name&gt;
77
-````
78
-### Step 4: Create the Storage Container
79
-
80
-Create a storage container associated with your newly created storage account.
81
-
82
-**Note:** The sample create.sh script, described below, does this for you programmatically.
83
-````
84
-az storage container create \
85
-    --account-name &lt;your_account_name&gt; \
86
-    --name &lt;your_container_name&gt;
87
-````
88
-### Step 5: Verify Your Setup in the Azure Portal
89
-
90
-1. Log into the Azure portal using your account credentials.
91
-2. From the left toolbar, click **Storage Accounts**. You should see your storage accounts.
92
-3. Select the storage account.
93
-4. Scroll down the storage account control bar and click **Containers** (below BLOB SERVICE). You should see the container you created.
94
-
95
-### Step 6: Upload the Photon OS Distribution to Your Storage Container
96
-
97
-The Photon OS distribution for Azure is 16GB. You can download it locally or to a mounted, shared location.
98
-````
99
-az storage blob upload \
100
-    --account-name &lt;your_account_name&gt; \
101
-    --account-key &lt;your_account_key&gt; \
102
-    --container-name &lt;your_container_name&gt; \
103
-    --type page \
104
-    --file &lt;vhd_path&gt; \
105
-    --name &lt;vm_name&gt;.vhd
106
-````
107
-### Example Setup Script
108
-
109
-You can use the following script (create.sh) to upload your VHD file programmatically and create the VM. Before you run it, specify the following settings:
110
-
111
-- resource_group name
112
-- account_name
113
-- account_key (public or private)
114
-- container_name
115
-- public_key_file
116
-- vhd_path and and vm_name of the Photon OS VHD distribution file
117
-
118
-This script returns the complete IP address of the newly created VM.
119
-````
120
-#!/bin/bash
121
-vhd_path=$1
122
-vm_name=$2
123
-export PATH=$PATH:/root/azure_new/bin/az
124
-echo PATH=$PATH
125
-resource_group=&quot;&quot;
126
-account_name=&quot;&quot;
127
-account_key=&quot;&quot;
128
-container_name=&quot;mydisks&quot;
129
-url=&quot;https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd&quot;
130
-public_key_file=&quot;/root/azure_new/jenkins.pub&quot;
131
-echo &quot;########################&quot;
132
-echo &quot;#   Create container   #&quot;
133
-echo &quot;########################&quot;
134
-/root/azure_new/bin/az storage container create --account-name ${account_name} --name ${container_name}
135
-echo &quot;##################&quot;
136
-echo &quot;#   Upload vhd   #&quot;
137
-echo &quot;##################&quot;
138
-/root/azure_new/bin/az storage blob upload --account-name ${account_name} \
139
-    --account-key ${account_key} \
140
-    --container-name ${container_name} \
141
-    --type page \
142
-    --file ${vhd_path} \
143
-    --name ${vm_name}.vhd
144
-echo &quot;##################&quot;
145
-echo &quot;#   Create vm    #&quot;
146
-echo &quot;##################&quot;
147
-echo &quot;az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk ... ...&quot;
148
-/root/azure_new/bin/az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk
149
-````
150
-### Removing Photon OS from Azure
151
-
152
-You can use the following delete.sh script to programmatically (and silently) remove the VM instance, VHD file, and container.
153
-
154
-**Note:**  Consider deleting idle VMs so that you are not charged when not in use.
155
-
156
-Before you run it, specify the following settings:
157
-
158
-- resource_group name (from step 1, above)
159
-- account_name (from step 2, above)
160
-- account_key (public or private) (from step 3, above)
161
-- container_name (from step 4, above)
162
-- public_key_file
163
-- vm_name of the Photon OS VHD distribution file
164
-
165
-**delete.sh**
166
-
167
-````
168
-#!/bin/bash
169
-vm_name=$1
170
-resource_group=&quot;&quot;
171
-account_name=&quot;&quot;
172
-account_key=&quot;&quot;
173
-container_name=&quot;mydisks&quot;
174
-url=&quot;https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd&quot;
175
-public_key_file=&quot;/root/azure_new/jenkins.pub&quot;
176
-exit_code=0
177
-echo &quot;##################&quot;
178
-echo &quot;#   Delete vm    #&quot;
179
-echo &quot;##################&quot;
180
-echo &quot;az vm list  --resource-group ${resource_group} ... ...&quot;
181
-/root/azure_new/bin/az vm list  --resource-group ${resource_group}
182
-echo &quot;az vm delete --resource-group ${resource_group} --name ${vm_name} --yes ... ...&quot;
183
-/root/azure_new/bin/az vm delete --resource-group ${resource_group} --name ${vm_name} --yes
184
-if [$? -ne 0];then
185
-   exit_code=1
186
-fi
187
-echo &quot;az vm list  --resource-group ${resource_group} ... ...&quot;
188
-/root/azure_new/bin/az vm list  --resource-group ${resource_group}
189
-echo &quot;##############$####&quot;
190
-echo &quot;#   Delete vhd    #&quot;
191
-echo &quot;###############$###&quot;
192
-echo &quot;az storage blob list --account-name ${account_name} --container-name ${container_name} ... ...&quot;
193
-/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name}
194
-echo &quot;az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd ... ...&quot;
195
-/root/azure_new/bin/az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd
196
-if [$? -ne 0];then
197
-   exit_code=1
198
-fi
199
-echo &quot;az storage blob list --account-name ${account_name} --container-name ${container_name} ... ...&quot;
200
-/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name}
201
-echo &quot;########################&quot;
202
-echo &quot;#   Delete container   #&quot;
203
-echo &quot;########################&quot;
204
-/root/azure_new/bin/az storage container delete --account-name ${account_name} --name ${container_name}
205
-/root/azure_new/bin/az storage container delete --account-name ${account_name} --name vhds
206
-exit ${exit_code}
207
-````
208
-
209
-## Deploying a Containerized Application in Photon OS
210
-
211
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub.
212
-
213
-### Step 1: Run Docker
214
-
215
-To run Docker from the command prompt, enter the following command, which initializes the docker engine:
216
-````
217
-systemctl start docker
218
-````
219
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command:
220
-````
221
-systemctl enable docker
222
-````
223
-### Step 2: Run the Nginx Web Server
224
-
225
-Now the Docker daemon service is running, it is a simple task to &quot;pull&quot; and start the Nginx Web Server container from Docker Hub. To do this, type the following command:
226
-````
227
-docker run -d -p 80:80 vmwarecna/nginx
228
-````
229
-
230
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run.
231
-
232
-![Azure docker run](images/azure-docker-run.png)
233
-
234
-After the "docker run" process completes, you return to the command prompt. You now have a fully active website up and running in a container.
235
-
236
-### Step 3: Test the Web Server
237
-
238
-**Note** : Please make sure that the proper security policies have been enabled on the Microsoft Azure side to enable traffic to port 80 on the VM.
239
-
240
-To test that your Web Server is active:
241
-
242
-1. Run the ifconfig command to get the IP address of the Photon OS Virtual Machine.
243
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "eth0."
244
-2. Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine.
245
-3. You should see a screen confirming that the nginx web server is successfully installed and working.
246
-
247
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
7
+- [Prerequisites](photon-os-azure-prerequisites.md)
8
+- [Set Up Azure Storage and Uploading the VHD](setting-up-azure-storage-and-uploading-the-vhd.md)
9
+- [Remove Photon OS From Azure](remove-photon-os-from-azure.md)
... ...
@@ -1,359 +1,11 @@
1 1
 # Running Photon OS on Workstation 
2 2
 
3
-This guide describes how to get started using Photon OS as a virtual machine within VMware Workstation. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on Workstation. Once Photon OS is installed, this document shows how to deploy a containerized application in Docker with a single command.
3
+You can use Photon OS as a virtual machine within VMware Workstation. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command.
4 4
 
5
-- [About Photon OS](#about-photon-os)
6
-- [Requirements](#requirements)
7
-- [Deciding Whether to Use OVA or ISO](#deciding-whether-to-use-ova-or-iso)
8
-- [Downloading Photon OS](#downloading-photon-os)
9
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20)
10
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20)
11
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os)
12
-- [Installing Photon OS 1.0](#installing-photon-os-10)
13 5
 
14
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). 
6
+- [Prerequisites](photon_os_workstation_prerequisites.md)
7
+- [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0-workstation.md)
8
+- [Installing the ISO Image for Photon OS 2.0](installing-the-iso-image-for-photon-os-30-workstation.md)
15 9
 
16
-# About Photon OS
10
+**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). 
17 11
 
18
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see  [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
19
-
20
-# Requirements
21
-
22
-Using Photon OS within VMware Workstation requires the following resources:
23
-
24
-| **Resource** | **Description** |
25
-| --- | --- |
26
-| VMware Workstation | VMware Workstation must be installed (Workstation 10 or higher). The latest version is recommended. |
27
-| Memory | 2GB of free RAM (recommended) |
28
-| Storage | **Minimal Photon install** : 512MB of free space (minimum); **Full Photon install** : 4GB of free space (minimum); 8GB is recommended |
29
-| Distribution File | Photon OS ISO or OVA file downloaded from bintray ([https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)).
30
-
31
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Workstation and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
32
-
33
-**Note:**  The setup instructions in this guide use VMware Workstation Professional version 12.5.7.
34
-
35
-![Workstation version](images/ws_version.png)
36
-
37
-# Deciding Whether to Use OVA or ISO
38
-
39
-The first step is decide whether to use the the OVA or ISO distribution to set up Photon OS.
40
-
41
-- **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. For Workstation, choose the OVA with Hardware Version 11 (_not_ 13). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
42
-- **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
43
-
44
-If you're just looking for the fastest way to get up and running, start with the OVA.
45
-
46
-# Downloading Photon OS
47
-
48
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS:
49
-
50
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
51
-
52
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
53
-
54
-# Importing the OVA for Photon OS 2.0
55
-
56
-Using the OVA is the easiest way to create a Photon OS VM on VMware Workstation.
57
-
58
-## Step 1: Start the Import Process
59
-
60
-After you've downloaded the OVA file (OVA with Hardware Version 11), do one of the following:
61
-
62
-- Double-click it to start the import process, or
63
-- Start VMware Workstation and, from the File menu, choose **Open**.
64
-
65
-![OVA file](images/ws-ova-import.png)
66
-
67
-## Step 2: Specify the Name and Storage Location
68
-
69
-Change the name and storage location, if you want.
70
-
71
-![Name and Storage Location](images/ws-ova-path.png)
72
-
73
-Choose **Import**.
74
-
75
-![License](images/ws-ova-license.png)
76
-
77
-Review the License Agreement and choose **Accept**.
78
-
79
-## Step 3: Configure VM Settings
80
-
81
-Once the OVA is imported, Workstation displays a summary of the settings for your Photon OS VM.
82
-
83
-![Settings](images/ws-ova-settings.png)
84
-
85
-Choose **Edit virtual machine settings**. Workstation displays the Virtual Machine settings. You can either accept the defaults or change settings as needed.
86
-
87
-![OVA settings](images/ws-ova-settings-edit.png)
88
-
89
-Select the Options tab.
90
-
91
-![Options](images/ws-ova-settings-options.png)
92
-
93
-Under Guest operating system, select **Linux**.
94
-
95
-For Version, click the list and select **VMWare Photon 64-bit**.
96
-
97
-![Version](images/ws-ova-os.png)
98
-
99
-**Note:**  If you want to configure a secure boot for the Photon OS VM, select **Advanced**  and select (check) **Boot with EFI instead of BIOS**. The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
100
-
101
-![EFI boot](images/ws-ova-settings-efi.png)
102
-
103
-Choose **OK**.
104
-
105
-## Step 4: Power on the VM
106
-
107
-From the tab, choose  **Power on this virtual machine**.
108
-
109
-![OVA splash](images/ws-ova-splash.png)
110
-
111
-After the splash screen, Workstation will prompt you to log in.
112
-
113
-## Step 5: Update Login Credentials
114
-
115
-**Note** : Because of limitations within OVA support on Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
116
-
117
-| **Setting** | **Value** |
118
-| --- | --- |
119
-| Username | ``root`` |
120
-| Password | ``changeme`` |
121
-
122
-After you provide these credentials, Workstation prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt.
123
-
124
-![OVA password](images/ws-ova-password.png)
125
-
126
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os).
127
-
128
-# Installing the ISO Image for Photon OS 2.0
129
-
130
-After you have downloaded the Photon OS ISO image into a folder of your choice, open VMware Workstation.
131
-
132
-## Step 1: Start the Installation Process
133
-
134
-From the File menu, choose **New Virtual Machine**  to create a new virtual machine.
135
-
136
-![New virtural machine](images/ws-iso-new.png)
137
-
138
-Select **Typical** or **Custom**, and then choose **Next**. These instructions refer to a Typical installation.
139
-
140
-![Typical installation](images/ws-iso-typical.png)
141
-
142
-## Step 2: Select the ISO Image
143
-
144
-Select **Installer disc image file (iso)**, choose **Browse** and select the Photon OS ISO file.
145
-
146
-![Photon ISO file](images/ws-iso-selected.png)
147
-
148
-## Step 3: Select the Operating System
149
-
150
-Choose **Next**. Select the Guest operating system.
151
-
152
-For the Guest operating system, select **Linux**.
153
-
154
-Click the Version dropdown and select **VMware Photon 64-bit**  from the list.
155
-
156
-![Operating System](images/ws-iso-os.png)
157
-
158
-## Step 4: Specify the VM Name and Location
159
-
160
-Choose **Next**. Specify a virtual machine name and location.
161
-
162
-![VM Name and Location](images/ws-iso-name.png)
163
-
164
-## Step 5: Specify Disk Options
165
-
166
-Choose **Next**. Specify the maximum disk size and whether you want to split the virtual disk into multiple files or store it as a single file.
167
-
168
-![Disk options](images/ws-iso-disk.png)
169
-
170
-## Step 6: Configure VM Settings
171
-
172
-Choose **Next**. Workstation displays a summary of your selections.
173
-
174
-![Workstation settings](images/ws-iso-summary.png)
175
-
176
-**Important** : _Before_ you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. To remove unnecessary devices, choose **Customize hardware**.
177
-
178
-![Customize hardware](images/ws-iso-customize.png)
179
-
180
-Consider removing the following components, which are not used by Photon OS:
181
-
182
-- Select **Sound Card**, un-tick the **Connect at power on** option. Confirm your action and choose **Close** to return to the VM Settings by .
183
-- Select **USB Controller** and ensure that the **Share Bluetooth devices with the virtual machine** setting is unchecked (it should be unchecked, by default) and then choose **Close**.
184
-- Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default) and then choose **Close**.
185
-- At this stage we have now made all the necessary customizations and you are ready to select the Photon OS ISO image to boot and begin the installation process.
186
-- Choose  **Finish**.
187
-
188
-In Workstation, choose **Edit virtual machine settings**, select **CD/DVD (IDE)**, and verify that **Connect at power on** is selected.
189
-
190
-![CD/DVD](images/ws-iso-cd.png)
191
-
192
-## Step 7: Configure a Secure Boot (Optional)
193
-
194
-**Note:**  If you want to configure a secure boot for the Photon OS VM, in Workstation, choose  **Edit virtual machine settings**, select  **Options**, choose **Advanced**, and select **Boot with EFI instead of BIOS**.
195
-
196
-![Boot with EFI](images/ws-iso-efi.png)
197
-
198
-The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
199
-
200
-Choose **OK**.
201
-
202
-![ISO settings](images/ws-iso-settings.png)
203
-
204
-## Step 8: Power On the VM
205
-
206
-Choose **Power on this virtual machine**.
207
-
208
-When you see the Photon Installer boot menu, press Enter on your keyboard to start installing.
209
-
210
-![Installer](images/ws-iso-installer.png)
211
-
212
-Review the license agreement.
213
-
214
-![License agreement](images/ws-iso-license.png)
215
-
216
-Choose **Accept** and press Enter.
217
-
218
-## Step 9: Configure the Partition
219
-
220
-The installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom**  if you want to configure individual partitions, and then press the Enter key.
221
-
222
-![Partition](images/ws-iso-disk-partition.png)
223
-
224
-**Note:**  If you choose Custom, the installer displays the following screen.
225
-
226
-![Custom partition](images/ws-iso-disk-partition-custom.png)
227
-
228
-For each custom partition, choose **Create New**  and specify the following information:
229
-
230
-![New partition](images/ws-iso-disk-partition-new.png)
231
-
232
-**Size** - Preallocated size of this partition, in MB.
233
-
234
-**Type** - One of the following options:
235
-
236
-- **ext3** - ext3 file system
237
-- **ext4** - ext4 file system
238
-- **swap** - swap partition
239
-
240
-**Mountpoint** - Mount point for this partition.
241
-
242
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key.
243
-
244
-The installer prompts you to confirm that you want to erase the entire disk. Choose  **Yes**  and press the Enter key.
245
-
246
-![Disk erase](images/ws-iso-disk-erase.png)
247
-
248
-## Step 10: Select an Installation Option
249
-
250
-After partitioning the disk, the installer will prompt you to select an installation option.
251
-
252
-![installation option](images/ws-iso-install-option.png)
253
-
254
-Each installation option provides a different run-time environment, depending on your requirements.
255
-
256
-| **Option** | **Description** |
257
-| --- | --- |
258
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
259
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
260
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
261
-
262
-**Note:**  The option you choose determines the disk and memory resources required for your installation.
263
-
264
-Select the option you want and press the Enter key.
265
-
266
-## Step 11: Select the Linux Kernel
267
-
268
-Select a Linux kernel to install.
269
-
270
-![Kernel](images/ws-iso-kernel.png)
271
-
272
-- **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
273
-- **Generic** means that all components are included.
274
-
275
-Choose **Next** and press the Enter key.
276
-
277
-## Step 12: Specify the Hostname
278
-
279
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
280
-
281
-![Hostname](images/ws-iso-hostname.png)
282
-
283
-Press the Enter key.
284
-
285
-## Step 13: Specify the System root Password
286
-
287
-**_Note_** _: Photon OS will not permit commonly used dictionary words to be set as a root password._
288
-
289
-The installer prompts you to enter the system root password. Type the password and press the Enter key.
290
-
291
-![Password](images/ws-iso-root-password.png)
292
-
293
-The installer prompts you to confirm the root password by typing it a second time.
294
-
295
-![Confirm password](images/ws-iso-root-password-confirm.png)
296
-
297
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
298
-
299
-## Step 14: Reboot the VM and Log In
300
-
301
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
302
-
303
-![confirmation message](images/ws-iso-installed.png)
304
-
305
-Press any key on the keyboard and the virtual machine will reboot into Photon OS.
306
-
307
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
308
-
309
-![Splash screen](images/ws-iso-splash.png)
310
-
311
-At the login prompt, type **root**  as the username and provide the password chosen during the installation.
312
-
313
-![Password](images/ws-iso-login.png)
314
-
315
-You have now successfully set up Photon OS and are ready to use your container run-time environment. Proceed to the next section to deploy a containerized application.
316
-
317
-# Deploying a Containerized Application in Photon OS
318
-
319
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded directly through the Docker module from the Docker Hub.
320
-
321
-## Step 1: Run Docker
322
-
323
-To run Docker from the command prompt, enter the following command, which initializes the docker engine:
324
-
325
-    systemctl start docker
326
-
327
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command:
328
-
329
-    systemctl enable docker
330
-
331
-## Step 2: Run the Nginx Web Server
332
-
333
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command:
334
-
335
-    docker run -d -p 80:80 vmwarecna/nginx
336
-
337
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run.
338
-
339
-![Docker run](images/ws-docker-run.png)
340
-
341
-After the **docker run**  process completes, you return to the command prompt. You now have a fully active website up and running in a container.
342
-
343
-## Step 3: Test the Web Server
344
-
345
-To test that your Web Server is active, run the **ifconfig** command to get the IP address of the Photon OS Virtual Machine.
346
-
347
-![IP config](images/ws-docker-ifconfig.png)
348
-
349
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "**eth0**".
350
-
351
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine (the **inet addr** for eth0). You should see a screen similar to the following example as confirmation that your web server is active.
352
-
353
-![Confirmation](images/ws-docker-confirm.png)
354
-
355
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
356
-
357
-# Installing Photon OS 1.0
358
-
359
-Refer to the Photon OS 1.0 installation instructions in [Running Photon OS on Fusion](Running-Project-Photon-on-Fusion.md).
... ...
@@ -1,503 +1,11 @@
1 1
 # Running Photon OS on vSphere
2 2
 
3
-This guide describes how to get started using Photon OS as a virtual machine within VMware vSphere. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on vSphere. Once Photon OS is installed, this document highlights how to deploy a containerized application in Docker with a single command.
3
+You can use Photon OS as a virtual machine within VMware vSphere. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on vSphere. After you install Photon OS, you can deploy a containerized application in Docker with a single command.
4 4
 
5
-- [About Photon OS](#about-photon-os)
6
-- [Deciding Whether to Use OVA or ISO](#deciding-whether-to-use-ova-or-iso)
7
-- [Downloading Photon OS](#downloading-photon-os)
8
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20)
9
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20)
10
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os)
11
-- [Installing Photon OS v1.0](#installing-photon-os-10)
5
+- [Prerequisites](photon_os_vsphere_prerequisites.md)
6
+- [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0.md)
7
+- [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30.md)
12 8
 
13
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). 
14
-
15
-## About Photon OS
16
-
17
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see  [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
18
-
19
-## Requirements
20
-
21
-Using Photon OS within VMware vSphere requires the following resources:
22
-
23
-| **Resources** | **Description** |
24
-| --- | --- |
25
-| VMware vSphere installed | VMware web client (v6.5) for ESXi hosts (recommended) **Note:** vSphere 6 and vSphere 5.5 (these clients provide limited support; not all features are available). |
26
-| Memory | ESXi host with 2GB of free RAM (recommended) |
27
-| Storage | **Minimal Photon install** : ESXi host with at least 512MB of free space (minimum); **Full Photon install** : ESXi host with at least 4GB of free space (minimum); 16GB is recommended |
28
-| Distribution File | Photon OS ISO or OVA file downloaded from Bintray |
29
-
30
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
31
-
32
-**Note:** The setup instructions in this guide use VMware vSphere 6 and the vSphere web client.
33
-
34
-## Deciding Whether to Use OVA or ISO
35
-
36
-The first step is decide whether to use the OVA or ISO distribution to set up Photon OS.
37
-
38
-- **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
39
-- **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
40
-
41
-If you're just looking for the fastest way to get up and running, start with the OVA.
42
-
43
-## Downloading Photon OS
44
-
45
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS:
46
-
47
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
48
-
49
-For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
50
-
51
-**Note:** For ISO installation, you will need to upload to a datashare that is attached to the ESXi host, or mount the file share (where the ISO resides) as a data store.
52
-
53
-## Importing the OVA for Photon OS 2.0
54
-
55
-Using the OVA is a fast and easy way to create a Photon OS VM on VMware vSphere.
56
-
57
-After you've downloaded the OVA, log in to your vSphere environment.
58
-
59
-### Step 1: Start the Import Process
60
-
61
-From the Actions pull-down menu, choose **Create/Register VM**.
62
-
63
-![Create/Register VM](images/vs-ova-new-vm.png)
64
-
65
-In the Select creation type window, choose  **Deploy a virtual machine from an OVF or OVA file**.
66
-
67
-(images/vs-ova-new-vm-ova.png)
68
-
69
-Choose **Next**.
70
-
71
-### Step 2: Select the OVA File
72
-
73
-Enter a name for the virtual machine, and select the OVA file.
74
-
75
-![OVA file](images/vs-ova-name-selected.png)
76
-
77
-Choose **Next**.
78
-
79
-### Step 3: Specify the Target Datastore
80
-
81
-From the Select storage screen, select the target datastore for your VM.
82
-
83
-![Target datastore](images/vs-ova-storage.png)
84
-
85
-Choose  **Next**.
86
-
87
-### Step 4: Accept the License Agreement
88
-
89
-Read through the Photon OS License Agreement, and then choose **I Agree**.
90
-
91
-![License](images/vs-ova-license.png)
92
-
93
-Choose **Next**.
94
-
95
-### Step 5: Select Deployment Options
96
-
97
-Select deployment options.
98
-
99
-![Deployment Options](images/vs-ova-deployment-options.png)
100
-
101
-Photon OS is provisioned with a maximum disk size. By default, Photon OS uses only the portion of disk space that it needs, usually much less that the entire disk size ( **Thin** client). If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Thick**  instead.
102
-
103
-Choose **Next**.
104
-
105
-### Step 6: Verify Deployment Settings
106
-
107
-Verify your deployment settings.
108
-
109
-![Deployment settings](images/vs-ova-settings.png)
110
-
111
-Click **Finish**. vSphere uploads and validates your OVA. Depending on bandwidth, this operation might take a while.
112
-
113
-When finished, vShield powers up a new VM based on your selections.
114
-
115
-### Step 7: Change Login Settings
116
-
117
-![Login settings](images/vs-ova-splash.png)
118
-
119
-After the VM is booted, open the command window. vSphere prompts you to log in.
120
-
121
-**Note**: Because of limitations within OVA support on vSphere, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
122
-
123
-| **Setting** | **Value** |
124
-| --- | --- |
125
-| Username | ``root`` |
126
-| Password | ``changeme`` |
127
-
128
-After you provide these credentials, vSphere prompts you to create a new password and type it a second time to verify it.
129
-
130
-**Note:** For security, Photon OS forbids common dictionary words for the root password.  
131
-
132
-Once logged in, you will see the shell prompt.
133
-
134
-![Shell prompt](images/vs-ova-login.png)
135
-
136
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os).
137
-
138
-### Step 9: Export the VM as a Template (Optional)
139
-
140
-Consider converting this imported VM into a template (from the Actions menu, choose **Export** ) so that you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances.
141
-
142
-## Installing the ISO Image for Photon OS 2.0
143
-
144
-After you have downloaded the Photon OS ISO image into a folder of your choice, complete the following steps.
145
-
146
-### Step 1: Upload the ISO Image
147
-
148
-Upload the ISO image to a datastore that is attached to the host on which you'll create the Photon OS virtual machine.
149
-
150
-### Step 2: Create a New VM
151
-
152
-Log in to your vSphere environment. In the Virtual Machines window, choose **Create/Register VM**.
153
-
154
-On the Select creation type screen, select **Create a new virtual machine**.
155
-
156
-![Create new virtual machine](images/vs-iso-new.png)
157
-
158
-Choose **Next**.
159
-
160
-### Step 3: Configure VM Settings
161
-
162
-Specify a VM name.
163
-
164
-![VM name](images/vs-iso-name.png)
165
-
166
-Specify a guest operating system.
167
-
168
-- For Compatibility, select **ESXi 6.5**.
169
-- For Guest OS family, select **Linux**.
170
-- For Guest OS version, select **VMware Photon OS (64-bit)**.
171
-
172
-![Guest operating system](images/vs-iso-os.png)
173
-
174
-Choose  **Next**.
175
-
176
-### Step 4: Select the Target Datastore
177
-
178
-Select the datastore where you want to store the VM.
179
-
180
-![Target datastore](images/vs-iso-datastore.png)
181
-
182
-Click **Next**.
183
-
184
-### Step 5: Customize VM Settings
185
-
186
-Customize the virtual machine settings.
187
-
188
-![v](images/vs-iso-customize.png)
189
-
190
-For CD/DVD Drive 1, click the drop-down and select **Datastore ISO file**.
191
-
192
-In the Datastore browser, select the ISO that you want to import.
193
-
194
-Change other settings as applicable.
195
-
196
-- The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed. Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, Connect At Power On.
197
-- If you want to configure a secure boot for the Photon OS VM you created, choose the VM Options tab, expand Boot Options, and select EFI from the firmware drop-down.  An EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
198
-
199
-Choose **Next**.
200
-
201
-### Step 6: Verify VM Settings
202
-
203
-The installer displays a summary of your selected settings.
204
-
205
-![Summary](images/vs-iso-ready.png)
206
-
207
-Click **Finish**. vSphere creates the VM.
208
-
209
-### Step 7: Power on the VM
210
-
211
-Select the VM and power it on.
212
-
213
-![Power on VM](images/vs-iso-install.png)
214
-
215
-When you see the Photon Installer boot menu, press Enter on your keyboard to start installing.
216
-
217
-### Step 8: Accept the License Agreement
218
-
219
-Read the License Agreement and press the Enter key to accept.
220
-
221
-![License Agreement](images/vs-iso-license.png)
222
-
223
-### Step 9: Configure the Partition
224
-
225
-The installer will detect one disk, which should be the 16GB volume configured as part of the virtual machine creation. Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom**  if you want to configure individual partitions, and then press the Enter key.
226
-
227
-![Partition](images/vs-iso-partition.png)
228
-
229
-**Note:**  If you choose Custom, the installer displays the following screen.
230
-
231
-![Custom Partition](images/vs-iso-partition-custom.png)
232
-
233
-For each custom partition, choose **Create New**  and specify the following information:
234
-
235
-![New Partition](images/vs-iso-partition-new.png)
236
-
237
-**Size** - Preallocated size of this partition, in MB.
238
-
239
-**Type** - One of the following options:
240
-
241
-- **ext3** - ext3 file system
242
-- **ext4** - ext4 file system
243
-- **swap** - swap partition
244
-
245
-**Mountpoint** - Mount point for this partition.
246
-
247
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key.
248
-
249
-The installer prompts you to confirm that you want to erase the entire disk.
250
-
251
-![Erase disk](images/vs-iso-erase.png)
252
-
253
-Choose **Yes** and press the Enter key.
254
-
255
-### Step 10: Select an Installation Option
256
-
257
-After partitioning the disk, the installer will prompt you to select an installation option.
258
-
259
-![Installation Option](images/vs-iso-install-option.png)
260
-
261
-Each install option provides a different run-time environment, depending on your requirements.
262
-
263
-| **Option** | **Description** |
264
-| --- | --- |
265
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
266
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
267
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
268
-
269
-**Note:**  The option you choose determines the disk and memory resources required for your installation.
270
-
271
-Select the option you want and press the Enter key.
272
-
273
-### Step 11: Select the Linux Kernel
274
-
275
-Select a Linux kernel to install.
276
-
277
-![Linux Kernel](images/vs-iso-kernel.png)
278
-
279
-- **Hypervisor**  optimized means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
280
-- **Generic**  means that all components are included.
281
-
282
-Choose **Next** and press the Enter key.
283
-
284
-### Step 12: Specify the Hostname
285
-
286
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
287
-
288
-![Hostname](images/vs-iso-hostname.png)
289
-
290
-Press the Enter key.
291
-
292
-### Step 13: Specify the System root Password
293
-
294
-The installer prompts you to enter the system root password.
295
-
296
-_Note: Photon OS will not permit commonly used dictionary words to be set as a root password._
297
-
298
-![Root password](images/vs-iso-root-password.png)
299
-
300
-Type a password and press the Enter key.
301
-
302
-The installer prompts you to confirm your root password by typing it a second time.
303
-
304
-![Password confirmation](images/vs-iso-root-password-confirm.png)
305
-
306
-**Note:** If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 ( [http://kb.vmware.com/kb/196](http://kb.vmware.com/kb/196)) for a setting to apply to the virtual machine.
307
-
308
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
309
-
310
-### Step 14: Reboot the VM and Log In
311
-
312
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
313
-
314
-![Boot VM](images/vs-iso-installed.png)
315
-
316
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
317
-
318
-![Login prompt](images/vs-iso-splash.png)
319
-
320
-At the login prompt, type **root**  as the username and provide the password chosen during the installation.
321
-
322
-![Password](images/vs-iso-login.png)
323
-
324
-You have now successfully setup Photon OS and are ready to use your container runtime environment. Proceed to the next section to deploy a containerized application.
325
-
326
-## Deploying a Containerized Application in Photon OS
327
-
328
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub.
329
-
330
-### Step 1: Run Docker
331
-
332
-To run Docker from the command prompt, enter the following command, which initializes the docker engine:
333
-
334
-    systemctl start docker
335
-
336
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command:
337
-
338
-    systemctl enable docker
339
-
340
-### Step 2: Run the Nginx Web Server
341
-
342
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command:
343
-
344
-    docker run -d -p 80:80 vmwarecna/nginx
345
-
346
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run.
347
-
348
-![Docker run](images/vs-docker-run.png)
349
-
350
-After the **docker run**  process completes, you return to the command prompt. You now have a fully active website up and running in a container!
351
-
352
-### Step 3: Test the Web Server
353
-
354
-To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine.
355
-
356
-![IP address](images/vs-docker-ifconfig.png)
357
-
358
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on **eth0**.
359
-
360
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active.
361
-
362
-![Docker confirmation](images/vs-docker-confirm.png)
363
-
364
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
365
-
366
-## Installing Photon OS v1.0
367
-
368
-This section provides installation instructions for Photon OS v1.0.
369
-
370
-### Photon OS 1.0 Prerequisites
371
-
372
-In order to install and start using Photon OS with VMware vSphere, the following pre-requisites must be satisfied: 
373
-
374
-* VMware vSphere 5.5 or VMware vSphere 6.0 installed 
375
-* ESXi host with recommended 2GB of free RAM
376
-* ESXi host with recommended 8GB of free disk space
377
-* The Photon OS ISO downloaded from Bintray
378
-
379
-This document uses VMware vSphere 6. VMware recommends that you use the latest version, though vSphere 5.5 or later should work as well. 
380
-
381
-### Importing the Photon OS 1.0 OVA
382
-
383
-Using the OVA is a fast and easy way to create a Photon OS VM. Once you’ve downloaded the OVA, log in to your vSphere environment and, from the `Actions` pull-down menu, select, `Deploy OVF Template …` On the popup window, point vSphere to the OVA file that you’ve downloaded. 
384
-
385
-![vsphere1](images/vsphere1.jpg)
386
-
387
-Click the `Next` button at the bottom of the window and vSphere will upload and validate your OVA. Depending on bandwidth, this operation might take a while. 
388
-
389
-After validating the image, vSphere will present a summary of the details of the OVA. Click the `Next` button to proceed to selecting a location to store the imported Photon OS instance.
390
-
391
-Click `Finish`
392
-
393
-At this point, you’ve got a Photon OS instance ready to go; but before you power on that Photon OS instance, consider first converting this VM into a template. By converting this imported VM to a template, you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances. 
394
-
395
-The OVA contains a default password of "changeme" for the root account that must be changed upon initial login. For security, Photon OS forbids common dictionary words for the root password.
396
- 
397
-### Installing the Photon OS 1.0 ISO Image
398
-
399
-Once the ISO image has been uploaded to a datastore that is attached to the host on which you’ll create the Photon OS virtual machine, start the installation process by creating a new virtual machine.
400
-When creating a new VM, the first thing you’ll need to specify is the compatibility of that VM with ESXi versions. Select a compatibility level for your VM, as shown below. Photon OS shouldn’t require any particular compatibility, but VMware recommends that you choose the latest available option for your release of vSphere.
401
-
402
-![vsphere2](images/vsphere2.jpg)
403
-
404
-When prompted for the `Guest OS Family,` choose `Linux` and, for Guest OS Version, choose `Other 3.x Linux (64-bit)`. 
405
-
406
-![vsphere3](images/vsphere3.jpg)
407
-
408
-The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed.  Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, `Connect At Power On.`
409
-
410
-![vsphere4](images/vsphere4.jpg)
411
-
412
-To summarize, these are the settings we recommend as a starting point for your Photon OS container runtime host: Thin provisioned, hardware compatibility: ESXi 6.0 and later (VM version 11).
413
-
414
-Power on the Photon OS virtual machine and, within a few seconds, the Photon Installer Boot Menu will appear.  Download and install the Remote Console if you do not have it already; otherwise, click `Launch Remote Console` to interact with the installer.
415
-
416
-![vsphere5](images/vsphere5.jpg)
417
-
418
-Once connected to the remote console, select `Install` to proceed.
419
-
420
-![vsphere6](images/vsphere6.png)
421
-
422
-After you accept the EULA, the installer will detect one disk, which should be the 20GB volume configured as part of the virtual machine creation. Select the disk and press enter.  When you are prompted to confirm that it is okay to erase the entire disk, select `Yes` to accept and proceed with the installation.
423
-
424
-![vsphere7](images/vsphere7.jpg)
425
-
426
-You will now be presented with several installation options:
427
-
428
-![vsphere8](images/vsphere8.png)
429
-
430
-Each install option provides a different runtime environment:
431
-
432
-* Photon Minimal: Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. 
433
-
434
-* Photon Full: Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. 
435
-
436
-* Photon OSTree Host: This installation profile creates a Photon OS instance that will source its packages from a central rpm-ostree server and continue to have the library and state of packages managed by the definition that is maintained on the central rpm-ostree server. Use Photon OStree Hosts when you are interested in experimenting with the concept of a centrally authored and maintained OS version. This concept of treating the OS as a versioned, atomic entity can simplify lifecycle management and security at scale. 
437
-
438
-* Photon OSTree Server: This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the Photon OSTree Host installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts.  
439
-
440
-For the purposes of this how-to guide, select the option to install Photon Minimal. Once `Photon Minimal` is highlighted, press the Enter key on your keyboard.
441
-
442
-You will now be prompted for a hostname. Photon OS will prepopulate a randomly generated, unique hostname; you can either use this suggestion or enter your own hostname, as shown in the screenshot below:
443
-
444
-![vsphere9](images/vsphere9.jpg)
445
-
446
-After selecting a hostname and pressing Enter, you will be prompted to first type and, then, confirm the system root password. If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 (http://kb.vmware.com/kb/196) for a setting to apply to the virtual machine.
447
-
448
-*Note: Photon OS will not permit commonly used dictionary words to be set as a root password.*
449
-
450
-After confirming the password, the installation process should begin.
451
-
452
-Installation times will vary based on system hardware and installation options, but most installations complete in less than a minute. Once the installation completes, press any key and the virtual machine will reboot into Photon OS.
453
-
454
-As the initial boot process begins, you will see the Photon splash screen before you are taken to a login prompt.
455
-
456
-At the login prompt, enter `root` as the username and provide the password chosen during the installation. 
457
-
458
-You have now successfully setup Photon OS and are ready to use your container runtime environment.
459
- 
460
-### Installing a Containerized Application in Photon OS 1.0
461
-Now that you have your container runtime environment up and running, you may be wondering, “what can I do now?” A command prompt is not the most exciting thing. To help demonstrate the ease with which you can deploy a containerized application, this section showcases how you can quickly get a web server up and running.
462
-
463
-For this example, we will use the popular open source web server Nginx. The Nginx application has a customized VMware package  published as a dockerfile that can be downloaded directly in Docker from the Docker Hub.
464
-
465
-To run Docker from the command prompt, enter the command below to initialize the docker engine:
466
-
467
-`systemctl start docker`
468
-
469
-To ensure the docker daemon service runs on every subsequent VM reboot, enter:
470
-
471
-`systemctl enable docker`
472
-
473
-Now that the docker daemon service is running, it is a simple task to pull and start the Nginx Web Server container from Docker Hub.  To do this, enter the following command:
474
-
475
-`docker run -d -p 80:80 vmwarecna/nginx`
476
-
477
-This will then pull the Nginx Web Server files and appropriate dependent containers to ensure this containerized application can run.  You will see a screenshot similar to below, as the container and dependencies are downloaded and the container is prepared to run: 
478
-
479
-![vsphere12](images/vsphere12.jpg)
480
-
481
-Once the `docker run` process is completed, you will be returned to the command prompt.  You now have a fully active web server up and running through typing just a single command within Photon OS using containers.
482
-
483
-To test that your web server is active, we need to get the IP address of the Photon OS Virtual Machine. To get the IP address, enter the following command: 
484
-
485
-	ifconfig
486
-
487
-This will now display a list of adapters connected to the virtual machine.  Typically, the web server daemon will be bound to `eth0.`  
488
-
489
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine.  The following screen will appear showing that your web server is active:
490
-
491
-![vsphere13](images/vsphere13.jpg)
492
-
493
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
494
-
495
-If you are having trouble viewing the screen that shows the web server is active, you might have to add an iptables rule to your container VM to allow traffic on Port 80:
496
-
497
-`iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT`
498
-
499
-In addition, you might have to modify /etc/httpd/httpd.conf to listen on Port 80 by adding the following line:  
500
-
501
-`Listen 0.0.0.0:80`
9
+**Note**: If you want to upgrade an existing Photon 1.0 VM, see [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). 
502 10
 
503 11
 
... ...
@@ -1,514 +1,10 @@
1 1
 # Running Photon OS on Fusion
2 2
 
3
-This guide describes how to get started using Photon OS as a virtual machine within VMware Fusion. It provides instructions for downloading Photon OS (as an OVA or ISO file), describes the various installation options, and walks through the steps of installing the Photon OS distribution on Fusion. Once Photon OS is installed, this document shows how to deploy a containerized application in Docker with a single command.
3
+You can use Photon OS as a virtual machine within VMware Fusion. You can download Photon OS, as an OVA or ISO file, and install the Photon OS distribution on Fusion. After you install Photon OS, you can deploy a containerized application in Docker with a single command.
4 4
 
5
-- [About Photon OS](#about-photon-os)
6
-- [Requirements](#requirements)
7
-- [Deciding Whether to Use an OVA or ISO](#deciding-whether-to-use-an-ova-or-iso)
8
-- [Downloading Photon OS](#downloading-photon-os)
9
-- [Importing the OVA for Photon OS 2.0](#importing-the-ova-for-photon-os-20)
10
-- [Installing the ISO Image for Photon OS 2.0](#installing-the-iso-image-for-photon-os-20)
11
-- [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os)
12
-- [Installing Photon OS 1.0](#installing-photon-os-10)
5
+- [Prerequisites](photon_os_fusion_prerequisites.md)
6
+- [Importing the OVA for Photon OS 3.0](importing-the-ova-for-photon-os-3.0-fusion.md)
7
+- [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30-fusion.md)
13 8
 
14
-**Note**: If you want to upgrade an existing Photon 1.0 VM, refer to the instructions in [Upgrading to Photon OS 2.0](Upgrading-to-Photon-OS-2.0.md). 
9
+**Note**: If you want to upgrade an existing Photon 1.0 VM, see [Upgrading to Photon OS 3.0](Upgrading-to-Photon-OS-3.0.md). 
15 10
 
16
-# About Photon OS
17
-
18
-Photon OS™ is an open source Linux container host optimized for cloud-native applications, cloud platforms, and VMware infrastructure. Photon OS provides a secure run-time environment for efficiently running containers. For an overview, see [https://vmware.github.io/photon/](https://vmware.github.io/photon/).
19
-
20
-# Requirements
21
-
22
-Using Photon OS within VMware Fusion requires the following resources:
23
-
24
-| **Resource** | **Description** |
25
-| --- | --- |
26
-| VMware Fusion | VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended. |
27
-| Memory | 2GB of free RAM (recommended) |
28
-| Storage | **Minimal Photon install** : 512MB of free space (minimum); **Full Photon install** : 4GB of free space (minimum); 8GB recommended. |
29
-| Distribution File | Photon OS ISO or OVA file downloaded from bintray ( [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)). |
30
-
31
-Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Fusion and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
32
-
33
-**Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot.
34
-
35
-![Fusion version](images/fs-version.png)
36
-
37
-# Deciding Whether to Use an OVA or ISO
38
-
39
-The first step is decide whether to use the OVA or ISO distribution to set up Photon OS.
40
-
41
-- **OVA import**: Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. Choose the OVA with Hardware Version 11 (_not_ 13). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using **tdnf**.
42
-- **ISO install**: The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
43
-
44
-If you're just looking for the fastest way to get up and running, start with the OVA.
45
-
46
-# Downloading Photon OS
47
-
48
-Once you've decided which way to install, you'll need to download the correct binaries. Go to the following Bintray URL and download the latest release of Photon OS:
49
-
50
-[https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
51
-
52
-For instructions, see  [Downloading Photon OS](Downloading-Photon-OS.md).
53
-
54
-# Importing the OVA for Photon OS 2.0
55
-
56
-Importing the OVA image is the easiest way to create a Photon OS VM.
57
-
58
-## Step 1: Start the Import Process
59
-
60
-After you have downloaded the latest Photon OS OVA image (OVA with Hardware Version 11) into a folder of your choice, open VMware Fusion. From the File menu, choose **Import …**. Fusion prompts you to choose an existing virtual machine.
61
-
62
-![Import process](images/fs-ova-import.png)
63
-
64
-Choose the **Choose File …**  button to locate and select the Photon OS OVA, then choose **Continue**.
65
-
66
-![Select OVA ](images/fs-ova-selected.png)
67
-
68
-## Step 2: Specify the Name and Storage Location
69
-
70
-Provide the name and storage location for your Photon OS VM, then choose **Save**.
71
-
72
-![Name and storage location](images/fs-ova-name.png)
73
-
74
-Review the Photon OS License Agreement, then choose **Accept** to start the import process.
75
-
76
-![License](images/fs-ova-license.png)
77
-
78
-## Step 3: Configure VM Settings
79
-
80
-After the OVA is imported, Fusion displays a confirmation that the import has completed and a summary of the settings for your Photon OS VM. The following screen shot is an example (your settings may vary).
81
-
82
-![VM settings](images/fs-ova-finish.png)
83
-
84
-**Important:** Choose **Customize Settings**  to change the operating system (as recognized by the hypervisor) for the newly imported VM.
85
-
86
-![Custom settings](images/fs-ova-settings.png)
87
-
88
-Choose **General**.
89
-
90
-Click the selection box next to **OS**, select **Linux** , and then select **VMware Photon 64-bit**.
91
-
92
-![Operating system](images/fs-ova-os.png)
93
-
94
-Close the settings window. Fusion prompts you to verify that you want to change the operating system.
95
-
96
-![Confirm settings](images/fs-ova-os-confirm.png)
97
-
98
-Click **Change**. Your Photon OS VM is ready to power on.
99
-
100
-## Step 4: Power on the VM
101
-
102
-Power on the Photon OS VM. Fusion may ask you whether you want to upgrade this VM.
103
-
104
-![Upgrade VM](images/fs-ova-upgrade.png)
105
-
106
-How you respond depends on which hardware version (13 or 11) that you want to use. Upgrade if you need to use devices supported only in hardware version 13. Don't upgrade if you want to be compatible with older tools that are supported in hardware version 11.
107
-
108
-## Step 5: Update Login Credentials
109
-
110
-![Splash screen](images/fs-ova-splash.png)
111
-
112
-After the VM is booted, Fusion prompts you to log in.
113
-
114
-**Note** : Because of limitations within OVA support on Fusion, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
115
-
116
-| **Setting** | **Value** |
117
-| --- | --- |
118
-| Username | ``root`` |
119
-| Password | ``changeme`` |
120
-
121
-After you provide these credentials, Fusion prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt.
122
-
123
-![Login](images/fs-ova-login.png)
124
-
125
-Once complete, proceed to [Deploying a Containerized Application in Photon OS](#deploying-a-containerized-application-in-photon-os).
126
-
127
-# Installing the ISO Image for Photon OS 2.0
128
-
129
-After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Fusion.
130
-
131
-## Step 1: Start the Installation Process
132
-
133
-From the File menu, choose  **New**.
134
-
135
-![Installation](images/fs-iso-new.png)
136
-
137
-From the Select the Installation Method dialog, select **Install from disc or image**, and then choose **Continue**.
138
-
139
-![Installation method](images/fs-iso-new-prompt.png)
140
-
141
-## Step 2: Select the ISO Image
142
-
143
-Drag a disc image onto the window or choose **Use another disc or disc image...**, choose the ISO file you want, and then choose **Continue**.
144
-
145
-![ISO image](images/fs-iso-new-selected.png)
146
-
147
-## Step 3: Select the Operating System
148
-
149
-On the Choose Operating System dialog, select **Linux**  in the left-hand column and **VMware Photon 64-bit**  in the right-hand column.
150
-
151
-![Operating system](images/fs-iso-os.png)
152
-
153
-Choose **Continue**.
154
-
155
-## Step 4: Select the Virtual Disk (Optional)
156
-
157
-If you are using a Fusion version that is older than Fusion 8, you might see the following dialog.
158
-
159
-![Virtual disk](images/fs-iso-virtual-disk.png)
160
-
161
-If you see this dialog, unless you're installing into an existing machine, choose **Create a new virtual disk**  from the Choose a Virtual Disk dialog, and then choose **Continue**.
162
-
163
-**Note:** Fusion v8 and later automatically defaults to creating a new 8GB disk and formats it automatically. If you want to use an existing disk, or if you want to pre-allocate all 8GB, go into VM Settings, choose **Add Device**, and choose either **New Hard Disk** or **Existing Hard Disk**. Expand **Advanced options**  and configure whether you want to pre-allocate disk space (disabled by default) or split into multiple files (enabled by default).
164
-
165
-## Step 5: Configure VM Settings
166
-
167
-**Important:** Before you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment.
168
-
169
-![VM settings](images/fs-iso-finish.png)
170
-
171
-To remove unnecessary devices, choose **Customize Settings**.
172
-
173
-First, choose a name for your Virtual Machine, along with the folder into which you create the Virtual Machine (or accept the default folder).
174
-
175
-![Custom settings](images/fs-iso-name.png)
176
-
177
-Choose **Save**. The virtual machine will be created. The Settings screen allows you to customize virtual hardware for the new virtual machine. If it does not automatically appear, open **Settings** from the Virtual Machine menu bar.
178
-
179
-![Settings](images/fs-iso-settings.png)
180
-
181
-You can remove (recommended) the following components that are not used by Photon OS:
182
-
183
-- Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default). Select **Show All** to return to the VM Settings.
184
-- Select **CD/DVD (IDE)** and ensure that the **Connect CD/DVD Drive** box is checked (it should be checked by default). Select **Show All** to return to the VM Settings.
185
-- Select **Sound Card**, un-check the **Connect Sound Card** Option, and click **Remove Sound Card.** Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
186
-- Select **USB &amp; Bluetooth** and uncheck the **Share Bluetooth devices with Linux** setting. Select **Show All** to return to the VM Settings.
187
-- Select **Printer** and press the **Remove Printer Port** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
188
-- Select **Camera** and press the **Remove Camera** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
189
-- Select **Advanced** and ensure that the **Pass Power Status to VM** option is unchecked (it should be unchecked, by default). Select **Show All,** but do not close the VM Settings window.
190
-
191
-By default, Photon OS is configured with a disk size of 8GB. However, Photon OS uses only the portion of disk space it needs, usually much less that the entire disk size. If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Hard Disk**, expand **Advanced options**, and check **Pre-allocate disk space** (by default, it is unchecked). Select **Show All** to return to the VM Settings.
192
-
193
-## Step 6: Configure a Secure Boot (Optional)
194
-
195
-**Note:**  If you want to configure a secure boot for the Photon OS VM you created, edit its .vmx file  and add the following line:
196
-
197
-**firmware = "efi"**
198
-
199
-The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
200
-
201
-After you have made the customizations you want, close the Virtual Machine Settings window. You are now ready to boot and begin the installation process.
202
-
203
-## Step 7: Power On the VM
204
-
205
-Return to the Fusion main menu, select the Photon OS Virtual Machine, and click **Start Up** (you can also choose **Start Up** from the Virtual Machine menu).
206
-
207
-Fusion powers on the host and starts the installation. Within a few seconds, Fusion displays the Photon OS installer boot menu.
208
-
209
-![Photon OS installer](images/fs-iso-install.png)
210
-
211
-Press the Enter key on your keyboard to start installing.
212
-
213
-![License](images/fs-iso-license.png)
214
-
215
-Read the License Agreement and press the Enter key to accept.
216
-
217
-## Step 8: Configure the Partition
218
-
219
-The Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation.
220
-
221
-![Partition](images/fs-iso-partition.png)
222
-
223
-Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key.
224
-
225
-**Note:** If you choose **Custom**, the installer displays the following screen.
226
-
227
-![Custom partition](images/fs-iso-partition-custom.png)
228
-
229
-For each custom partition, choose **Create New**  and specify the following information:
230
-
231
-![New partition](images/fs-iso-partition-new.png)
232
-
233
-**Size** - Preallocated size of this partition, in MB.
234
-
235
-**Type** - One of the following options:
236
-
237
-- **ext3** - ext3 file system
238
-- **ext4** - ext4 file system
239
-- **swap** - swap partition
240
-
241
-**Mountpoint** - Mount point for this partition.
242
-
243
-Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next**  and press the Enter key.
244
-
245
-The installer prompts you to confirm that you want to erase the entire disk.
246
-
247
-![Disk erase](images/fs-iso-disk-erase.png)
248
-
249
-Choose **Yes** and press the Enter key to accept and proceed with the installation.
250
-
251
-## Step 9: Select an Installation Option
252
-
253
-After partitioning, the installer prompts you to select one of three installation options:
254
-
255
-![Installation options](images/fs-iso-install-option.png)
256
-
257
-Each install option provides a different run-time environment. Select the option that best meets your requirements.
258
-
259
-| **Option** | **Description** |
260
-| --- | --- |
261
-| **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
262
-| **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
263
-| **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
264
-
265
-**Note:** The option you choose determines the disk and memory resources required for your installation.
266
-
267
-Select the option you want and press the Enter key.
268
-
269
-## Step 10: Select the Linux Kernel
270
-
271
-The installer prompts you to select the Linux kernel to install:
272
-
273
-![Linux kernel](images/fs-iso-kernel.png)
274
-
275
-- **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
276
-- **Generic** means that all components are included.
277
-
278
-## Step 11: Specify the Hostname
279
-
280
-The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
281
-
282
-![Hostname](images/fs-iso-hostname.png)
283
-
284
-Press the Enter key.
285
-
286
-## Step 12: Specify the System root Password
287
-
288
-_Note: Photon OS will not permit commonly used dictionary words to be set as a root password._
289
-
290
-The installer prompts you to enter the system root password. Type the password, and then press the Enter key.
291
-
292
-![Password](images/fs-iso-root-password.png)
293
-
294
-Confirm the root password by typing it a second time.
295
-
296
-![Password confirmation](images/fs-iso-root-password-confirm.png)
297
-
298
-Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
299
-
300
-Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
301
-
302
-![Confirmation](images/fs-iso-installed.png)
303
-
304
-## Step 13: Reboot the VM and Log In
305
-
306
-Press any key on the keyboard and the virtual machine will reboot into Photon OS.
307
-
308
-![Reboot](images/fs-iso-splash.png)
309
-
310
-As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
311
-
312
-At the login prompt, enter **root**  as the username and provide the password chosen during the installation.
313
-
314
-![Password](images/fs-iso-login.png)
315
-
316
-You have now successfully setup Photon OS and are ready to use your container run-time environment. Proceed to the next section to deploy a containerized application.
317
-
318
-# Deploying a Containerized Application in Photon OS
319
-
320
-Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub.
321
-
322
-## Step 1: Run Docker
323
-
324
-To run Docker from the command prompt, enter the following command, which initializes the docker engine:
325
-
326
-    systemctl start docker
327
-
328
-To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command:
329
-
330
-    systemctl enable docker
331
-
332
-## Step 2: Run the Nginx Web Server
333
-
334
-Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command:
335
-
336
-    docker run -d -p 80:80 vmwarecna/nginx
337
-
338
-This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run.
339
-
340
-![Docker run](images/fs-docker-run.png)
341
-
342
-After the **docker run** process completes, you return to the command prompt. You now have a fully active website up and running in a container.
343
-
344
-## Step 3: Test the Web Server
345
-
346
-To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine.
347
-
348
-![IP Address](images/fs-docker-ifconfig.png)
349
-
350
-The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on "eth0."
351
-
352
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active.
353
-
354
-![Confirmation](images/fs-docker-confirm.png)
355
-
356
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
357
-
358
-# Installing Photon OS 1.0
359
-
360
-This section provides setup instructions for Photon OS 1.0.
361
-
362
-## Photon OS 1.0 Prerequisites
363
-In order to install and start using Photon OS with VMware Fusion the following pre-requisites must be satisfied:
364
-* VMware Fusion or VMware Workstation must be installed
365
-* Recommended 2GB of free RAM
366
-* Recommended at least 300MB of free disk space
367
-* Photon OS ISO or OVA
368
-
369
-## Importing the Photon OS 1.0 OVA 
370
-
371
-Using the OVA is the easiest way to create a Photon OS VM. Once you’ve downloaded the OVA, open VMware Fusion and select, “Import …” from the File menu. This will open the “Choose an Existing Virtual Machine” wizard. Use the “Choose File …” button to locate and select the Photon OS OVA.
372
-Note: The “Import” operation is specific to Fusion. For Workstation users, simply double-clicking on the OVA will start the import. 
373
-
374
-![Import](https://cloud.githubusercontent.com/assets/11306358/16094763/4ac80e12-3307-11e6-8e7b-10ea353ddbfc.png)
375
-
376
-Click “Continue” and provide the name and storage location for your Photon OS VM. Then, click "Save."
377
-
378
-![Save](https://cloud.githubusercontent.com/assets/11306358/16094759/4ac50000-3307-11e6-8a34-538f36b95f64.png)
379
-
380
-Clicking “Save” will immediately present the Photon OS EULA. In order to start the import process, you'll need to click "Accept" to accept the EULA. 
381
-
382
-![Accept](https://cloud.githubusercontent.com/assets/11306358/16094758/4ac50668-3307-11e6-86ce-943afa12946f.png)
383
-
384
-Once the import is complete, you should get confirmation that the import was Finished and a summary of the settings for your Photon OS VM. Click “Customize Settings” to change the operating system, as recognized by the hypervisor. Within the "General" System Settings for the newly imported VM, click the selection box next to "OS" and select, "VMware Photon 64-bit," as shown below.
385
-
386
-![Settings](https://cloud.githubusercontent.com/assets/11306358/16095187/24abc4f6-3309-11e6-9faa-c4e7b15ba63a.png) 
387
-
388
-Close the settings window and your Photon OS VM is ready to power on.
389
-
390
-![Confirmation](https://cloud.githubusercontent.com/assets/11306358/16094764/4acf69dc-3307-11e6-9d62-7dd37546a233.png)
391
-
392
-Clicking “Finish” will immediately power on your Photon OS VM. Once the VM is booted, you will be presented with a login prompt. Because of limitations within OVA support on Fusion and Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
393
-
394
-`Username: root`
395
-`Password: changeme`
396
-
397
-As soon as you enter these credentials, you will be forced to create a new password by entering the new password twice before you can access the shell prompt.
398
-
399
-![Login](https://cloud.githubusercontent.com/assets/11306358/16094765/4ad06ce2-3307-11e6-827f-e61107185f42.png)
400
- 
401
-## Installing Photon OS 1.0 on VMware Fusion from an ISO Image	
402
-With the latest Photon OS ISO image downloaded into a folder of your choice, Open VMware Fusion and Select “File->New.” The following screen will appear: 
403
-
404
-![File->New](https://cloud.githubusercontent.com/assets/11306358/14651747/df593c52-0636-11e6-9cbe-bfd0db9bfa89.png)
405
-
406
-Select "Create a custom virtual machine" from the "Select the Installation Method" dialog, then, click continue. On the "Choose Operating System" dialog, select, "Linux" in the left-hand column and "VMware Photon 64-bit" in the right-hand column. 
407
-
408
-![fusion7](https://cloud.githubusercontent.com/assets/11306358/14651749/df6fbd74-0636-11e6-8070-a584bddf39f5.png)
409
-
410
-Unless you're installing into an existing machine, select, "Create a new virtual disk" from the "Choose a Virtual Disk dialog, then click "Continue."
411
-
412
-![fusion7b](https://cloud.githubusercontent.com/assets/11306358/14651751/df7428a0-0636-11e6-85b2-64e2dff9be84.png)
413
-
414
-You're almost finished; but, before finishing the Photon OS Virtual Machine Creation, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container runtime environment.  
415
-
416
-![fusion9](https://cloud.githubusercontent.com/assets/11306358/14651750/df7385f8-0636-11e6-9310-0d7f375dd7b5.png) 
417
-
418
-To remove unnecessary devices, from the screen shown below, select “Customize Settings."
419
-
420
-First, choose a name for your Virtual Machine and the folder into which you would like to create the Virtual Machine.  If the default folder of “Virtual Machines” is acceptable, click “Save”.  
421
-
422
-![Save](https://cloud.githubusercontent.com/assets/11306358/16105478/724ea650-3350-11e6-8e69-272f6a1f6097.png)
423
-
424
-The virtual machine will be created and a new screen will appear, as shown below, that will allow virtual hardware customization to the new virtual machine. If it does not automatically appear, open "Settings" from the Virtual Machine menu bar. 
425
-
426
-![fusion11](https://cloud.githubusercontent.com/assets/11306358/14653053/cd434ffc-063c-11e6-9861-924489b26d75.png)
427
-
428
-It is our recommendation that the following components are removed, since they’re not used by Photon OS:
429
-* Select “Sound Card” and un-tick the “Connect Sound Card” Option and click "Remove Sound Card." Confirm your action and return to the VM Settings by clicking “Show All.”
430
-* Select “Camera” and press the “Remove Camera” button in the bottom left hand corner, confirm your action and then select “Show All” to return to the VM Settings.
431
-* Select “Printer” and press the “Remove Printer Port” button in the bottom left hand corner, confirm your action and then select “Show All” to return to the VM Settings.
432
-* Select “USB & Bluetooth” and uncheck the “Share Bluetooth devices with Linux” setting and then select “Show All”
433
-* Select “Display” and ensure that the “Accelerate 3D Graphics” option is unchecked (it should be unchecked, by default) and, then, return to the VM Settings by selecting “Show All.”
434
-* Select “Advanced” and ensure that the “Pass Power Status to VM” option is unchecked. Select “Show All," but do not close the VM Settings window.
435
-
436
-At this stage we have now made all the necessary customizations and we are ready to select the Photon OS ISO image to boot and begin the installation process. 
437
-
438
-From the Virtual Machine Settings menu in Fusion, select "CD/DVD (IDE)" and, as shown below, point to the downloaded Photon OS ISO and ensure that there is a check in the "Connect CD/DVD Drive" box.
439
-
440
-![Connect CD/DVD](https://cloud.githubusercontent.com/assets/11306358/16105475/72391e0c-3350-11e6-94a2-64587a06e838.png)
441
-
442
-Return to the Fusion main menu, select the Photon OS Virtual Machine and press the “Play” button to power on the host and start the installation.
443
-Within a few seconds the Photon OS Installer Boot Menu will appear.
444
-
445
-![Boot menu](https://cloud.githubusercontent.com/assets/11306358/16105477/724e902a-3350-11e6-8482-7544d2a6c3fb.png)
446
-
447
-Select – “Install” to proceed. 
448
-
449
-![Install](https://cloud.githubusercontent.com/assets/11306358/16105480/7251abca-3350-11e6-8f8e-d26244fd75ff.png)
450
-
451
-After you accept the EULA, the Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Select the disk and press enter.  You will be prompted to confirm it is okay to erase the entire disk, select “Yes” to accept and proceed with the installation.
452
-You will now be presented with four installation options:
453
-
454
-![fusion15](https://cloud.githubusercontent.com/assets/11306358/14651982/d464f31c-0637-11e6-938d-5d6132ccd63f.png)
455
-
456
-Each install option provides a different runtime environment, depending on your requirements:
457
-
458
-* Photon Minimal: Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. 
459
-
460
-* Photon Full: Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. 
461
-
462
-* Photon OSTree Host: This installation profile creates a Photon OS instance that will source its packages from a central rpm-ostree server and continue to have the library and state of packages managed by the definition that is maintained on the central rpm-ostree server. Use Photon OStree Hosts when you are interested in experimenting with the concept of a centrally authored and maintained OS version. This concept of treating the OS as a versioned, atomic entity can simplify lifecycle and security management at scale. 
463
-
464
-* Photon OSTree Server: This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the “Photon OSTree Host” installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts.  
465
-
466
-For the purposes of this how-to guide, select option 1, “Photon Minimal.”  Once this selection is highlighted, press the Enter key on your keyboard.
467
-
468
-You will now be prompted for a hostname. Photon OS will prepopulate a randomly generated, unique hostname; you can either use this suggestion or enter your own hostname. After selecting a hostname and pressing “Enter,” you will be prompted to first enter and, then, confirm the system root password.
469
-
470
-*Note: Photon OS will not permit commonly used dictionary words to be set as a root password.*
471
-
472
-After confirming the password, the installation process should begin.
473
-Installation times will vary based on system hardware and installation options, but most installations complete in less than one minute. Once the install is complete you will get a confirmation prompt on the screen stating “Congratulations, Photon has been installed in xx secs, Press any key to continue to boot…”  - Press any key and the virtual machine will reboot into Photon OS.
474
-
475
-![Reboot](https://cloud.githubusercontent.com/assets/11306358/16105476/724e70c2-3350-11e6-84af-0c487266108d.png)
476
-
477
-As the initial boot process begins, you will see the Photon splash screen before you are taken to a login prompt.
478
-
479
-![Login](https://cloud.githubusercontent.com/assets/11306358/16094764/4acf69dc-3307-11e6-9d62-7dd37546a233.png)
480
-
481
-At the login prompt, enter “root” as the username and provide the password chosen during the installation. 
482
-
483
-You have now successfully setup Photon OS and are ready to use your container runtime environment.
484
-
485
-## Installing a Containerized Application on Photon OS 1.0
486
-
487
-Now that you have your container runtime environment up and running, you may be wondering, “what can I do now?” A command prompt is not the most exciting!  To help to demonstrate the ease in which you can deploy a containerized application, we will showcase how you can quickly get a Web Server up and running.
488
-For this example, we will use the popular open source Web Server Nginx. The Nginx application has a customized VMware package and published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub.
489
-
490
-To run Docker from the command prompt, enter the command below to initialize the docker engine:
491
-
492
-`systemctl start docker`
493
-
494
-To ensure Docker daemon service runs on every subsequent VM reboot, enter:
495
-
496
-`systemctl enable docker`
497
-
498
-Now the Docker daemon service is running, it is a simple task to “pull” and start the Nginx Web Server container from Docker Hub.  To do this, type the following command:
499
-
500
-`docker run -d -p 80:80 vmwarecna/nginx`
501
-
502
-This will then pull the Nginx Web Server files and appropriate dependent container filesystem layers to ensure this containerized application can run.  You will see a screenshot similar to below, as the container and dependencies are downloaded and the container is prepared to run:
503
-
504
-![fusion19](https://cloud.githubusercontent.com/assets/11306358/9568066/b3950dd8-4f04-11e5-9333-ac0551a22ace.jpg)
505
-
506
-Once “docker run” process is completed, you will be returned to the command prompt.  You now have a fully active website up and running in a container!
507
-
508
-To test that your Web Server is active, we need to get the IP address of the Photon OS Virtual Machine. To get the IP address, enter the following command ifconfig. This will now display a list of adapters connected to the virtual machine.  Typically, the web server daemon will be bound on “eth0.”  
509
- 
510
-Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine.  The following screen will appear and that will show that your web server is active: -
511
-
512
-![fusion20](https://cloud.githubusercontent.com/assets/11306358/9568067/b3b6e278-4f04-11e5-93f6-de8383530518.jpg)
513
-
514
-You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
... ...
@@ -6,14 +6,40 @@
6 6
 
7 7
 - [Installation Guide](README.md)
8 8
     - [Downloading Photon OS](Downloading-Photon-OS.md)
9
+    - [Upgrading to Photon OS 3.0](Upgrading_to_photon_os_3.0.md)
9 10
     - [Build an ISO from the source code for Photon OS](build-photon.md)
11
+        - [Folder Layout](folder_layout.md)
12
+        * [Build Prerequisites](build_prerequisites.md)
13
+        * [Building the ISO](build_the_iso.md)
14
+        * [Use the Cached Toolchain and RPMS](Use_the_Cached_Toolchain_and_RPMS.md)
15
+        * [Use Cached Sources](use_cached_sources.md)
16
+        * [View Build Logs](view_build_logs.md)
10 17
     - [Running Photon OS on vSphere](Running-Photon-OS-on-vSphere.md)
18
+        - [Prerequisites](photon_os_vsphere_prerequisites.md)
19
+        - [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0.md)
20
+        - [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30.md)
11 21
     - [Running Photon OS on Fusion](Running-Project-Photon-on-Fusion.md)
22
+        - [Prerequisites](photon_os_fusion_prerequisites.md)
23
+        - [Importing the OVA for Photon OS 3.0](importing-the-ova-for-photon-os-3.0-fusion.md)
24
+        - [Installing the ISO Image for Photon OS 3.0](installing-the-iso-image-for-photon-os-30-fusion.md)
12 25
     - [Running Photon OS on Workstation](Running-Photon-OS-on-Workstation.md)
26
+        - [Prerequisites](photon_os_workstation_prerequisites.md)
27
+        - [Importing the OVA for Photon OS 3.0](importing_ova_for_photon_os_3.0-workstation.md)
28
+        - [Installing the ISO Image for Photon OS 2.0](installing-the-iso-image-for-photon-os-30-workstation.md)
13 29
     - [Running Photon OS on AWS EC2](Running-Photon-OS-on-Amazon-Elastic-Cloud-Compute.md)
30
+        - [Prerequisites](photon_os_ecc_prerequisites.md)
31
+        - [Set Up Photon OS on EC2](set-up-PhotonOS-on-ec2.md)
32
+        - [Deploy a Containerized Application in Photon OS using SSH](deploying-a-containerized-application-in-photon-os-ssh.md)
33
+        - [Launch the Web Server with Cloud-Init](launch-web-server-with-cloud-init.md)
34
+        - [Terminate the AMI Instance](terminate-the-ami-instance.md)
14 35
     - [Running Photon OS on Microsoft Azure](Running-Photon-OS-on-Microsoft-Azure.md)
36
+        - [Prerequisites](photon-os-azure-prerequisites.md)
37
+        - [Set Up Azure Storage and Uploading the VHD](setting-up-azure-storage-and-uploading-the-vhd.md)
38
+        - [Remove Photon OS From Azure](remove-photon-os-from-azure.md)
15 39
     - [Running Photon OS on Google Compute Engine](Running-Photon-OS-on-Google-Compute-Engine.md)
16
-        -   [Photon OS on GCE](gce.md)
40
+        - [Prerequisites for Photon OS on GCE](photon-os-gce-prerequisites.md)
41
+        - [Installing Photon OS on Google Compute Engine](installing-photon-os-on-google-compute-engine.md)
42
+    - [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md)
17 43
     - [Installing and Using Lightwave on Photon OS](Installing-and-Using-Lightwave-on-Photon-OS.md)
18 44
         - [Installing the Lightwave Server and Configuring It as a Domain Controller on a Photon Image](Installing-Lightwave-Server-and-Setting-Up-a-Domain.md) 
19 45
         - [Installing the Lightwave Client on a Photon Image and Joining the Client to a Domain](Installing-Lightwave-Client-and-Joining-a-Domain.md)
20 46
new file mode 100644
... ...
@@ -0,0 +1,5 @@
0
+# Upgrading to Photon OS 3.0
1
+
2
+You can upgrade your existing Photon OS....
3
+
4
+
0 5
new file mode 100644
... ...
@@ -0,0 +1,17 @@
0
+# Use the Cached Toolchain and RPMS
1
+
2
+To use the cached toolchain, run the following command:
3
+
4
+```
5
+mkdir $HOME/photon-cache
6
+sudo make iso PHOTON_CACHE_PATH=$HOME/photon-cache
7
+```
8
+
9
+The directory format of `PHOTON_CACHE_PATH` is as follows:
10
+
11
+```
12
+photon-cache/
13
+├──tools-build.tar.gz
14
+├──RPMS/x86-64/*.rpm
15
+└──RPMX/noarch/*.rpm
16
+```
0 17
\ No newline at end of file
... ...
@@ -1,91 +1,13 @@
1
-# Building an ISO from the Source Code for Photon OS
1
+# Build an ISO from the Source Code for Photon OS
2 2
 
3
-This document describes how to build an ISO from the source code for Photon OS, the open-source minimalist Linux operating system from VMware that is optimized for cloud computing platforms, VMware vSphere deployments, and applications native to the cloud. 
3
+You can build an ISO from the source code for Photon OS. This section describes how to build the ISO, use the cached toolchain and RPMS, and cached sources.
4 4
 
5
-## Folder Layout
5
+* [Folder Layout](folder_layout.md)
6
+* [Build Prerequisites](build_prerequisites.md)
7
+* [Building the ISO](build_the_iso.md)
8
+* [Use the Cached Toolchain and RPMS](Use_the_Cached_Toolchain_and_RPMS.md)
9
+* [Use Cached Sources](use_cached_sources.md)
10
+* [View Build Logs](view_build_logs.md)
6 11
 
7
-Here is the structure of the directories on GitHub that contain the source code for Photon OS:
12
+For information on how to install and build a package on Photon OS from the package's source RPM, see the [Photon OS Administration Guide](photon_admin/building-a-package-from-a-source-rpm.md).
8 13
 
9
-```
10
-photon/
11
-├── Makefile
12
-├── README
13
-├── Dockerfile
14
-├── Vagrantfile
15
-├── SPECS        # RPM SPEC files
16
-├── common       # Build, packaging config
17
-├── docs         # Documentation
18
-├── installer    # Installer used at runtime
19
-├── support      # Build scripts
20
-└── tools
21
-```
22
-
23
-## How to Build the ISO
24
-
25
-The following process for building the ISO assumes that the following prerequisites are in place:
26
-
27
-* A build operating system running the 64-bit version of Ubuntu 14.04 or later
28
-* Packages: bison, gawk, g++, createrepo, python-aptdaemon, genisoimage, texinfo, python-requests
29
-* Docker
30
-* Downloaded the source code from the Photon OS repository on GitHub into `$HOME/workspaces/photon`.
31
-
32
-Here's how to install the packages on Ubuntu: 
33
-
34
-```
35
-sudo apt-get -y install bison gawk g++ createrepo python-aptdaemon genisoimage texinfo python-requests libfuse-dev libssl-dev uuid-dev libreadline-dev kpartx git bc
36
-```
37
-Here's how to get Docker:
38
-```
39
-wget -qO- https://get.docker.com/ | sh
40
-```
41
-
42
-Here's how to make the ISO, assuming you checked out the workspace under `$HOME/workspaces/photon`:
43
-```
44
-cd $HOME/workspaces/photon
45
-sudo make iso
46
-```
47
-The ISO is created at `$HOME/workspaces/photon/stage/photon.iso`
48
-
49
-
50
-## How to Use the Cached Toolchain and RPMS
51
-```
52
-mkdir $HOME/photon-cache
53
-sudo make iso PHOTON_CACHE_PATH=$HOME/photon-cache
54
-```
55
-Directory format of `PHOTON_CACHE_PATH` is as follows.
56
-```
57
-photon-cache/
58
-├──tools-build.tar.gz
59
-├──RPMS/x86-64/*.rpm
60
-└──RPMX/noarch/*.rpm
61
-```
62
-## How to Use Cached Sources
63
-```
64
-mkdir $HOME/photon-sources
65
-sudo make iso PHOTON_SOURCES_PATH=$HOME/photon-sources
66
-```
67
-Directory format of `PHOTON_SOURCES_PATH` is as follows.
68
-```
69
-photon-sources/
70
-├──src1.tar.gz
71
-├──src2.tar.gz
72
-└──...
73
-```
74
-
75
-## Where are the Build Logs?
76
-```
77
-$HOME/workspaces/photon/stage/LOGS
78
-```
79
-
80
-## Building RPMs from their Source RPMs
81
-
82
-For instructions on how to install and build a package on Photon OS from the package's source RPM, see the [Photon OS Administration Guide](https://github.com/vmware/photon/blob/master/docs/photon-admin-guide.md#building-a-package-from-a-source-rpm).
83
-
84
-## Complete Build Environment Using Vagrant
85
-A `Vagrantfile` is available to ensure a quick standup of a development or build environment for Photon. This Vagrantfile uses a box called `photon-build-machine` that is created through a [Packer](http://packer.io) template available under `support/packer-templates`; see the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for more information on how to build `photon-build-machine`.
86
-
87
-## Photon Vagrant Box
88
-As with the build-machine a Packer template is available under `support/packer-templates` to build a Photon based Vagrant box running Docker, see the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for more information on how to build it. 
89
-
90
-## Automated Build Environment and Vagrant Boxes
91
-Convenience `make` targets also exist to build both the `photon-build-machine` and the `photon` Packer templates as well as building a fresh ISO using the `photon-build-machine`. See the [README.md](https://github.com/vmware/photon/blob/master/support/packer-templates/README.md) for details.
92 14
new file mode 100644
... ...
@@ -0,0 +1,10 @@
0
+# Build Prerequisites
1
+
2
+Before you build the ISO, verify that you have the performed the following tasks:
3
+
4
+* Installed a build operating system running the 64-bit version of Ubuntu 14.04 or later version.
5
+* Downloaded and installed the following packages: `bison`, `gawk`, `g++`, `createrepo`, `python-aptdaemon`, `genisoimage`, `texinfo`, `python-requests`
6
+* Installed Docker
7
+* Downloaded the source code from the Photon OS repository on GitHub into `$HOME/workspaces/photon`.
8
+
9
+
0 10
new file mode 100644
... ...
@@ -0,0 +1,26 @@
0
+# Building the ISO
1
+
2
+Perform the following steps to install the packages on Ubuntu: 
3
+
4
+1. Install the packages: 
5
+
6
+    ```
7
+    sudo apt-get -y install bison gawk g++ createrepo python-aptdaemon genisoimage texinfo python-requests libfuse-dev libssl-dev uuid-dev libreadline-dev kpartx git bc
8
+    ```
9
+
10
+
11
+1. Get Docker:
12
+
13
+    ```
14
+    wget -qO- https://get.docker.com/ | sh
15
+    ```
16
+
17
+1. Make the ISO. The example below assumes that you checked out the workspace under `$HOME/workspaces/photon`:
18
+    ```
19
+    cd $HOME/workspaces/photon
20
+    sudo make iso
21
+    ```
22
+    
23
+**Result**
24
+
25
+The ISO is created at `$HOME/workspaces/photon/stage/photon.iso`.
0 26
\ No newline at end of file
1 27
new file mode 100644
... ...
@@ -0,0 +1,39 @@
0
+# Deploy a Containerized Application in Photon OS
1
+
2
+Connect to the Photon instance by using SSH and to launch a web server by running it in Docker.
3
+
4
+1. Connect with SSH
5
+
6
+    Connect to the instance over SSH by specifying the private key (.pem) file and the user name for the Photon machine, which is `root`:
7
+    
8
+    	ssh -i ~/.ssh/mykeypair root@<public-ip-address-of-instance>
9
+    
10
+    For complete instructions, see [Connecting to Your Linux Instance Using SSH](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html). 
11
+
12
+1. Run Docker
13
+
14
+    On the minimal version of Photon OS, the docker engine is enabled and running by default, which you can see by running the following command: 
15
+    
16
+    	systemctl status docker
17
+
18
+1. Start the web server
19
+
20
+    **Note**: Please make sure that the proper security policies have been enabled on the Amazon AWS side to enable traffic to port 80 on the VM. 
21
+    
22
+    Since Docker is running, you can run an application in a container--for example, the Nginx Web Server. This example uses the popular open source web server Nginx. The Nginx application has a customized VMware package that the Docker engine can download directly from the Docker Hub.
23
+    
24
+    To pull Nginx from its Docker Hub and start it, run the following command: 
25
+    
26
+    	docker run -p 80:80 vmwarecna/nginx
27
+    
28
+    The Nginx web server should be bound to the public DNS value for the instance of Photon OS, that is, the same address with which you connected over SSH. 
29
+
30
+1. Test the web server
31
+
32
+    On your local workstation, open a web browser and go to the the public address of the Photon OS instance running Docker. The following screen should appear, showing that the web server is active:
33
+    
34
+    ![Nginx](images/Nginx.jpg)
35
+    
36
+    Stop the Docker container by typing `Ctrl+c` in the SSH console through which you are connected to EC2. 
37
+    
38
+You can now run other containerized applications from the Docker Hub or your own containerized application on Photon OS in the Amazon cloud. 
0 39
new file mode 100644
... ...
@@ -0,0 +1,40 @@
0
+# Deploying a Containerized Application in Photon OS
1
+
2
+Now that you have your container runtime environment up and running, you can easily deploy a containerized application. For this example, you will deploy the popular open source Web Server Nginx. The Nginx application has a customized VMware package that is published as a dockerfile and can be downloaded, directly, through the Docker module from the Docker Hub.
3
+
4
+1. Run Docker
5
+
6
+    To run Docker from the command prompt, enter the following command, which initializes the docker engine:
7
+    
8
+        systemctl start docker
9
+    
10
+    To ensure Docker daemon service runs on every subsequent VM reboot, enter the following command:
11
+    
12
+        systemctl enable docker
13
+
14
+1. Run the Nginx Web Server
15
+
16
+    Now the Docker daemon service is running, it is a simple task to "pull" and start the Nginx Web Server container from Docker Hub. To do this, type the following command:
17
+    
18
+        docker run -d -p 80:80 vmwarecna/nginx
19
+    
20
+    This pulls the Nginx Web Server files and appropriate dependent container filesystem layers required for this containerized application to run.
21
+    
22
+    ![Docker run](images/vs-docker-run.png)
23
+    
24
+    After the **docker run**  process completes, you return to the command prompt. You now have a fully active website up and running in a container!
25
+
26
+1. Test the Web Server
27
+
28
+    To test that your Web Server is active, run the ifconfig command to get the IP address of the Photon OS Virtual Machine.
29
+    
30
+    ![IP address](images/vs-docker-ifconfig.png)
31
+    
32
+    The output displays a list of adapters that are connected to the virtual machine. Typically, the web server daemon will be bound on **eth0**.
33
+    
34
+    Start a browser on your host machine and enter the IP address of your Photon OS Virtual Machine. You should see a screen similar to the following example as confirmation that your web server is active.
35
+    
36
+    ![Docker confirmation](images/vs-docker-confirm.png)
37
+    
38
+    You can now run any other containerized application from Docker Hub or your own containerized application within Photon OS.
39
+
0 40
new file mode 100644
... ...
@@ -0,0 +1,17 @@
0
+# Folder Layout
1
+
2
+The structure of the directories on GitHub that contain the source code for Photon OS is as follows:
3
+
4
+```
5
+photon/
6
+├── Makefile
7
+├── README
8
+├── Dockerfile
9
+├── Vagrantfile
10
+├── SPECS        # RPM SPEC files
11
+├── common       # Build, packaging config
12
+├── docs         # Documentation
13
+├── installer    # Installer used at runtime
14
+├── support      # Build scripts
15
+└── tools
16
+```
0 17
deleted file mode 100644
... ...
@@ -1,151 +0,0 @@
1
-# Photon OS on GCE
2
-
3
-## Google Compute Engine (GCE) Image background
4
-GCE is a service that lets you run virtual machines on Google's infrastructure. You can customize the virtual machine as much as you want, and you can even install your own custom operating system image. Or, you can adopt one of the public [images](https://cloud.google.com/compute/docs/operating-systems/) provided by Google. For any operating system to work with GCE, it must match Google's infrastructure needs. 
5
-Google provides tools that VM instances require to work correctly on GCE:
6
-
7
- *   __[Google startup scripts](https://cloud.google.com/compute/docs/startupscript)__: User can provide some startup script to configure their instances at startup.
8
- *   __[Google Daemon](https://cloud.google.com/compute/docs/metadata)__: Google Daemon creates new accounts and configures ssh to accept public keys using the metadata server.
9
- *   __[Google Cloud SDK](https://cloud.google.com/sdk/)__: Command line tools to manage your images, instances and other objects on GCE.
10
-
11
-Following is the list (extracted from [this link](https://cloud.google.com/compute/docs/tutorials/building-images)) of items that must be done to make Photon OS work on GCE:
12
-
13
- *   Install Google Compute Engine Image packages
14
- *   Install Google Cloud SDK
15
- *   Change GPT partition table to MBR 
16
- *   Update the Grub config for new MBR and serial console output
17
- *   Update ssh configuration
18
- *   Delete ssh host keys
19
- *   Set the time zone to UTC
20
- *   Use the Google NTP server
21
- *   Delete the hostname file.
22
- *   Add Google hosts /etc/hosts
23
- *   Set MTU to 1460. SSH will not work without it.
24
- *   Create /etc/ssh/sshd_not_to_be_run with just the contents “GOOGLE\n”.
25
-
26
-## The GCE-Ready Image of Photon OS 
27
-
28
-The latest version of Photon OS does all of this for you. It bundles the Google startup scripts, daemon, and cloud SDK into a GCE-ready image that has been modified to meet the configuration requirements of GCE. To download the GCE-ready image of Photon OS for free, go to [Bintray](https://bintray.com/vmware/photon/). To use Photon OS with GCE, you do not need to perform the following steps unless you want to go through the exercise of customizing Photon OS to work with GCE. The Photon OS team has already done it for you. For more information, see [Running Photon OS on Google Compute Engine](Running-Photon-OS-on-Google-Compute-Engine.md). 
29
-
30
-## Creating Photon image for GCE
31
-### 1. Prepare Photon Disk
32
-#### Install Photon Minimal on Fusion/Workstation and install some required packages.
33
-      mount /dev/cdrom /media/cdrom
34
-      tdnf install yum
35
-      tdnf install python2-libs
36
-      yum install ntp sudo wget tar which gptfdisk sed findutils grep gzip --nogpgcheck -y
37
-
38
-#### Photon installer installs GPT partition table by default but GCE only accepts MBR(msdos) type partition table. We need to convert GPT to MBR and update the grub. Following are commands to do that.
39
-  
40
-      # Change partition table to MBR from GPT
41
-      sgdisk -m 1:2 /dev/sda
42
-      grub2-install /dev/sda
43
-      
44
-      # Enable serial console on grub for GCE.
45
-      cat << EOF >> /etc/default/grub
46
-      GRUB_CMDLINE_LINUX="console=ttyS0,38400n8"
47
-      GRUB_TERMINAL=serial
48
-      GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"
49
-      EOF
50
-      
51
-      # Create new grub.cfg based on the settings in /etc/default/grub
52
-      grub2-mkconfig -o /boot/grub2/grub.cfg
53
-      
54
-### 2. Install Google Cloud SDK and GCE Packages
55
-      yum install google-daemon google-startup-scripts
56
-      cp /usr/lib/systemd/system/google* /lib/systemd/system/
57
-      cd /lib/systemd/system/multi-user.target.wants/
58
-      
59
-      # Create links in multi-user.target to auto-start these scripts and services.
60
-      for i in ../google*; do  ln -s $i `basename $i`; done
61
-      
62
-      cd /tmp/; wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz --no-check-certificate
63
-      tar -xf google-cloud-sdk.tar.gz
64
-      cd google-cloud-sdk
65
-      ./install.sh
66
-### 3. Update /etc/hosts file with GCE values
67
-      echo "169.254.169.254 metadata.google.internal metadata" >> /etc/hosts
68
-### 4. Remove all servers from ntp.conf and add Google's ntp server.
69
-      sed -i -e "/server/d" /etc/ntp.conf
70
-      cat /etc/ntp.conf
71
-      echo "server 169.254.169.254" >> /etc/ntp.conf
72
-      # Create ntpd.service to auto starting ntp server.
73
-      cat << EOF >> /lib/systemd/system/ntpd.service
74
-      [Unit]
75
-      Description=Network Time Service
76
-      After=network.target nss-lookup.target
77
-
78
-      [Service]
79
-      Type=forking
80
-      PrivateTmp=true
81
-      ExecStart=/usr/sbin/ntpd -g -u ntp:ntp
82
-      Restart=always
83
-      
84
-      [Install]
85
-      WantedBy=multi-user.target
86
-      EOF
87
-      
88
-      # Add link in multi-user.target.wants to auto start this service.
89
-      cd /lib/systemd/system/multi-user.target.wants/
90
-      ln -s ../ntpd.service ntpd.service
91
-      
92
-### 5. Set UTC timezone
93
-      ln -sf /usr/share/zoneinfo/UTC /etc/localtime
94
-
95
-### 6. Update /etc/resolv.conf
96
-      echo "nameserver 8.8.8.8" >> /etc/resolv.conf
97
-
98
-### 7. Remove ssh host keys and add script to regenerate them at boot time.
99
-      rm /etc/ssh/ssh_host_*
100
-      # Depending on the installation, you may need to purge the following keys
101
-      rm /etc/ssh/ssh_host_rsa_key*
102
-      rm /etc/ssh/ssh_host_dsa_key*
103
-      rm /etc/ssh/ssh_host_ecdsa_key*
104
-
105
-      sed -i -e "/exit 0/d" /etc/rc.local
106
-      echo "[ -f /etc/ssh/ssh_host_key ] && echo 'Keys found.' || ssh-keygen -A" >> /etc/rc.local
107
-      echo "exit 0" >> /etc/rc.local
108
-      printf "GOOGLE\n" > /etc/ssh/sshd_not_to_be_run
109
-      
110
-      # Edit sshd_config and ssh_config as per instructions on [this link](https://cloud.google.com/compute/docs/tutorials/building-images).
111
-      
112
-### 8. Change MTU to 1460 for network interface.
113
-      # Create a startup service in systemd that will change MTU and exits
114
-      cat << EOF >> /lib/systemd/system/eth0.service
115
-      [Unit]
116
-      Description=Network interface initialization
117
-      After=local-fs.target network-online.target network.target
118
-      Wants=local-fs.target network-online.target network.target
119
-
120
-      [Service]
121
-      ExecStart=/bin/ifconfig eth0 mtu 1460 up
122
-      Type=oneshot
123
-
124
-      [Install]
125
-      WantedBy=multi-user.target
126
-      EOF
127
-      # Make this service auto-start at boot.
128
-      cd /lib/systemd/system/multi-user.target.wants/
129
-      ln -s ../eth0.service eth0.service
130
-
131
-### 9. Pack and Upload to GCE.
132
-#### Shutdown the Photon VM and copy its disk to tmp folder.       
133
-      # You will need to install Google Cloud SDK on host machine to upload the image and play with GCE.
134
-      cp Virtual\ Machines.localized/photon.vmwarevm/Virtual\ Disk.vmdk /tmp/disk.vmdk
135
-      cd /tmp
136
-      # GCE needs disk to be named as disk.raw with raw format.
137
-      qemu-img convert -f vmdk -O raw disk.vmdk disk.raw
138
-      
139
-      # ONLY GNU tar will work to create acceptable tar.gz file for GCE. MAC's default tar is BSDTar which will not work. 
140
-      # On Mac OS X ensure that you have gtar "GNU Tar" installed. exmaple: gtar -Szcf photon.tar.gz disk.raw 
141
-
142
-      gtar -Szcf photon.tar.gz disk.raw 
143
-      
144
-      # Upload
145
-      gsutil cp photon.tar.gz gs://photon-bucket
146
-      
147
-      # Create image
148
-      gcloud compute --project "<project name>" images create "photon-beta-vYYYYMMDD" --description "Photon Beta" --source-uri https://storage.googleapis.com/photon-bucket/photon032315.tar.gz
149
-      
150
-      # Create instance on GCE of photon image
151
-      gcloud compute --project "photon" instances create "photon" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/devstorage.read_only" "https://www.googleapis.com/auth/logging.write" --image "https://www.googleapis.com/compute/v1/projects/photon/global/images/photon" --boot-disk-type "pd-standard" --boot-disk-device-name "photon"
152 1
new file mode 100644
153 2
Binary files /dev/null and b/docs/photon_installation/images/Nginx.jpg differ
154 3
new file mode 100644
155 4
Binary files /dev/null and b/docs/photon_installation/images/fs-docker-confirm.png differ
156 5
new file mode 100644
157 6
Binary files /dev/null and b/docs/photon_installation/images/fs-docker-ifconfig.png differ
158 7
new file mode 100644
159 8
Binary files /dev/null and b/docs/photon_installation/images/fs-docker-run.png differ
160 9
new file mode 100644
161 10
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-disk-erase.png differ
162 11
new file mode 100644
163 12
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-finish.png differ
164 13
new file mode 100644
165 14
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-hostname.png differ
166 15
new file mode 100644
167 16
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-install-option.png differ
168 17
new file mode 100644
169 18
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-install.png differ
170 19
new file mode 100644
171 20
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-installed.png differ
172 21
new file mode 100644
173 22
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-kernel.png differ
174 23
new file mode 100644
175 24
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-license.png differ
176 25
new file mode 100644
177 26
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-login.png differ
178 27
new file mode 100644
179 28
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-name.png differ
180 29
new file mode 100644
181 30
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-new-prompt.png differ
182 31
new file mode 100644
183 32
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-new-selected.png differ
184 33
new file mode 100644
185 34
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-new.png differ
186 35
new file mode 100644
187 36
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-os.png differ
188 37
new file mode 100644
189 38
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-partition-custom.png differ
190 39
new file mode 100644
191 40
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-partition-new.png differ
192 41
new file mode 100644
193 42
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-partition.png differ
194 43
new file mode 100644
195 44
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-root-password-confirm.png differ
196 45
new file mode 100644
197 46
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-root-password.png differ
198 47
new file mode 100644
199 48
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-settings.png differ
200 49
new file mode 100644
201 50
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-splash.png differ
202 51
new file mode 100644
203 52
Binary files /dev/null and b/docs/photon_installation/images/fs-iso-virtual-disk.png differ
204 53
new file mode 100644
205 54
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-finish.png differ
206 55
new file mode 100644
207 56
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-import.png differ
208 57
new file mode 100644
209 58
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-license.png differ
210 59
new file mode 100644
211 60
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-login.png differ
212 61
new file mode 100644
213 62
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-name.png differ
214 63
new file mode 100644
215 64
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-os-confirm.png differ
216 65
new file mode 100644
217 66
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-os.png differ
218 67
new file mode 100644
219 68
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-selected.png differ
220 69
new file mode 100644
221 70
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-settings.png differ
222 71
new file mode 100644
223 72
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-splash.png differ
224 73
new file mode 100644
225 74
Binary files /dev/null and b/docs/photon_installation/images/fs-ova-upgrade.png differ
226 75
new file mode 100644
227 76
Binary files /dev/null and b/docs/photon_installation/images/fs-version.png differ
228 77
new file mode 100644
229 78
Binary files /dev/null and b/docs/photon_installation/images/fs_version.png differ
230 79
new file mode 100644
231 80
Binary files /dev/null and b/docs/photon_installation/images/gce1.jpg differ
232 81
new file mode 100644
233 82
Binary files /dev/null and b/docs/photon_installation/images/gce2.jpg differ
234 83
new file mode 100644
235 84
Binary files /dev/null and b/docs/photon_installation/images/gce4.jpg differ
236 85
new file mode 100644
237 86
Binary files /dev/null and b/docs/photon_installation/images/gce5.jpg differ
238 87
new file mode 100644
239 88
Binary files /dev/null and b/docs/photon_installation/images/gce6.jpg differ
240 89
new file mode 100644
241 90
Binary files /dev/null and b/docs/photon_installation/images/grub-edit-menu-changepw.png differ
242 91
new file mode 100644
243 92
Binary files /dev/null and b/docs/photon_installation/images/grub-edit-menu-orig.png differ
244 93
new file mode 100644
245 94
Binary files /dev/null and b/docs/photon_installation/images/vs-docker-confirm.png differ
246 95
new file mode 100644
247 96
Binary files /dev/null and b/docs/photon_installation/images/vs-docker-ifconfig.png differ
248 97
new file mode 100644
249 98
Binary files /dev/null and b/docs/photon_installation/images/vs-docker-run.png differ
250 99
new file mode 100644
251 100
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-customize.png differ
252 101
new file mode 100644
253 102
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-datastore.png differ
254 103
new file mode 100644
255 104
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-erase.png differ
256 105
new file mode 100644
257 106
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-hostname.png differ
258 107
new file mode 100644
259 108
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-install-option.png differ
260 109
new file mode 100644
261 110
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-install.png differ
262 111
new file mode 100644
263 112
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-installed.png differ
264 113
new file mode 100644
265 114
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-kernel.png differ
266 115
new file mode 100644
267 116
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-license.png differ
268 117
new file mode 100644
269 118
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-login.png differ
270 119
new file mode 100644
271 120
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-name.png differ
272 121
new file mode 100644
273 122
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-new.png differ
274 123
new file mode 100644
275 124
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-os.png differ
276 125
new file mode 100644
277 126
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-partition-custom.png differ
278 127
new file mode 100644
279 128
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-partition-new.png differ
280 129
new file mode 100644
281 130
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-partition.png differ
282 131
new file mode 100644
283 132
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-ready.png differ
284 133
new file mode 100644
285 134
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-root-password-confirm.png differ
286 135
new file mode 100644
287 136
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-root-password.png differ
288 137
new file mode 100644
289 138
Binary files /dev/null and b/docs/photon_installation/images/vs-iso-splash.png differ
290 139
new file mode 100644
291 140
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-deployment-options.png differ
292 141
new file mode 100644
293 142
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-license.png differ
294 143
new file mode 100644
295 144
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-login.png differ
296 145
new file mode 100644
297 146
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-name-selected.png differ
298 147
new file mode 100644
299 148
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-new-vm-ova.png differ
300 149
new file mode 100644
301 150
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-new-vm.png differ
302 151
new file mode 100644
303 152
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-settings.png differ
304 153
new file mode 100644
305 154
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-splash.png differ
306 155
new file mode 100644
307 156
Binary files /dev/null and b/docs/photon_installation/images/vs-ova-storage.png differ
308 157
new file mode 100644
309 158
Binary files /dev/null and b/docs/photon_installation/images/vsphere1.jpg differ
310 159
new file mode 100644
311 160
Binary files /dev/null and b/docs/photon_installation/images/vsphere12.jpg differ
312 161
new file mode 100644
313 162
Binary files /dev/null and b/docs/photon_installation/images/vsphere13.jpg differ
314 163
new file mode 100644
315 164
Binary files /dev/null and b/docs/photon_installation/images/vsphere2.jpg differ
316 165
new file mode 100644
317 166
Binary files /dev/null and b/docs/photon_installation/images/vsphere3.jpg differ
318 167
new file mode 100644
319 168
Binary files /dev/null and b/docs/photon_installation/images/vsphere4.jpg differ
320 169
new file mode 100644
321 170
Binary files /dev/null and b/docs/photon_installation/images/vsphere5.jpg differ
322 171
new file mode 100644
323 172
Binary files /dev/null and b/docs/photon_installation/images/vsphere6.png differ
324 173
new file mode 100644
325 174
Binary files /dev/null and b/docs/photon_installation/images/vsphere7.jpg differ
326 175
new file mode 100644
327 176
Binary files /dev/null and b/docs/photon_installation/images/vsphere8.png differ
328 177
new file mode 100644
329 178
Binary files /dev/null and b/docs/photon_installation/images/vsphere9.jpg differ
330 179
new file mode 100644
331 180
Binary files /dev/null and b/docs/photon_installation/images/ws-docker-confirm.png differ
332 181
new file mode 100644
333 182
Binary files /dev/null and b/docs/photon_installation/images/ws-docker-ifconfig.png differ
334 183
new file mode 100644
335 184
Binary files /dev/null and b/docs/photon_installation/images/ws-docker-run.png differ
336 185
new file mode 100644
337 186
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-cd.png differ
338 187
new file mode 100644
339 188
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-customize.png differ
340 189
new file mode 100644
341 190
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-disk-erase.png differ
342 191
new file mode 100644
343 192
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-disk-partition-custom.png differ
344 193
new file mode 100644
345 194
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-disk-partition-new.png differ
346 195
new file mode 100644
347 196
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-disk-partition.png differ
348 197
new file mode 100644
349 198
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-disk.png differ
350 199
new file mode 100644
351 200
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-efi.png differ
352 201
new file mode 100644
353 202
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-hostname.png differ
354 203
new file mode 100644
355 204
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-install-option.png differ
356 205
new file mode 100644
357 206
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-install.png differ
358 207
new file mode 100644
359 208
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-installed.png differ
360 209
new file mode 100644
361 210
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-installer.png differ
362 211
new file mode 100644
363 212
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-kernel.png differ
364 213
new file mode 100644
365 214
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-license.png differ
366 215
new file mode 100644
367 216
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-login.png differ
368 217
new file mode 100644
369 218
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-name.png differ
370 219
new file mode 100644
371 220
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-new.png differ
372 221
new file mode 100644
373 222
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-os.png differ
374 223
new file mode 100644
375 224
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-root-password-confirm.png differ
376 225
new file mode 100644
377 226
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-root-password.png differ
378 227
new file mode 100644
379 228
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-selected.png differ
380 229
new file mode 100644
381 230
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-settings.png differ
382 231
new file mode 100644
383 232
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-splash.png differ
384 233
new file mode 100644
385 234
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-summary.png differ
386 235
new file mode 100644
387 236
Binary files /dev/null and b/docs/photon_installation/images/ws-iso-typical.png differ
388 237
new file mode 100644
389 238
Binary files /dev/null and b/docs/photon_installation/images/ws-new-vm.png differ
390 239
new file mode 100644
391 240
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-import.png differ
392 241
new file mode 100644
393 242
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-license.png differ
394 243
new file mode 100644
395 244
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-os.png differ
396 245
new file mode 100644
397 246
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-password.png differ
398 247
new file mode 100644
399 248
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-path.png differ
400 249
new file mode 100644
401 250
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-settings-edit.png differ
402 251
new file mode 100644
403 252
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-settings-efi.png differ
404 253
new file mode 100644
405 254
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-settings-options.png differ
406 255
new file mode 100644
407 256
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-settings-photon.png differ
408 257
new file mode 100644
409 258
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-settings.png differ
410 259
new file mode 100644
411 260
Binary files /dev/null and b/docs/photon_installation/images/ws-ova-splash.png differ
412 261
new file mode 100644
413 262
Binary files /dev/null and b/docs/photon_installation/images/ws_version.png differ
414 263
new file mode 100644
... ...
@@ -0,0 +1,74 @@
0
+# Importing the OVA for Photon OS 3.0
1
+
2
+Using the OVA is a fast and easy way to create a Photon OS VM on Fusion.
3
+
4
+After you have downloaded the Photon OS OVA image (OVA with Hardware Version 11) into a folder of your choice, open VMware Fusion and perform the following steps:
5
+
6
+1. Start the Import Process
7
+
8
+    From the File menu, choose **Import …**. Fusion prompts you to choose an existing virtual machine.
9
+
10
+    ![Import process](images/fs-ova-import.png)
11
+
12
+    Choose the **Choose File …**  button to locate and select the Photon OS OVA, then choose **Continue**.
13
+
14
+    ![Select OVA ](images/fs-ova-selected.png)
15
+
16
+1. Specify the Name and Storage Location
17
+
18
+    Provide the name and storage location for your Photon OS VM, then choose **Save**.
19
+    
20
+    ![Name and storage location](images/fs-ova-name.png)
21
+    
22
+    Review the Photon OS License Agreement, then choose **Accept** to start the import process.
23
+    
24
+    ![License](images/fs-ova-license.png)
25
+
26
+1. Configure VM Settings
27
+
28
+    After the OVA is imported, Fusion displays a confirmation that the import has completed and a summary of the settings for your Photon OS VM. The following screen shot is an example (your settings may vary).
29
+    
30
+    ![VM settings](images/fs-ova-finish.png)
31
+    
32
+    **Important:** Choose **Customize Settings**  to change the operating system (as recognized by the hypervisor) for the newly imported VM.
33
+    
34
+    ![Custom settings](images/fs-ova-settings.png)
35
+    
36
+    Choose **General**.
37
+    
38
+    Click the selection box next to **OS**, select **Linux** , and then select **VMware Photon 64-bit**.
39
+    
40
+    ![Operating system](images/fs-ova-os.png)
41
+    
42
+    Close the settings window. Fusion prompts you to verify that you want to change the operating system.
43
+    
44
+    ![Confirm settings](images/fs-ova-os-confirm.png)
45
+    
46
+    Click **Change**. Your Photon OS VM is ready to power on.
47
+
48
+1. Power on the VM
49
+
50
+    Power on the Photon OS VM. Fusion may ask you whether you want to upgrade this VM.
51
+    
52
+    ![Upgrade VM](images/fs-ova-upgrade.png)
53
+    
54
+    How you respond depends on which hardware version (13 or 11) that you want to use. Upgrade if you need to use devices supported only in hardware version 13. Don't upgrade if you want to be compatible with older tools that are supported in hardware version 11.
55
+
56
+1. Update Login Credentials
57
+
58
+    ![Splash screen](images/fs-ova-splash.png)
59
+    
60
+    After the VM is booted, Fusion prompts you to log in.
61
+    
62
+    **Note** : Because of limitations within OVA support on Fusion, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
63
+    
64
+    | **Setting** | **Value** |
65
+    | --- | --- |
66
+    | Username | ``root`` |
67
+    | Password | ``changeme`` |
68
+    
69
+    After you provide these credentials, Fusion prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt.
70
+    
71
+    ![Login](images/fs-ova-login.png)
72
+    
73
+Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os-fusion.md).
0 74
\ No newline at end of file
1 75
new file mode 100644
... ...
@@ -0,0 +1,73 @@
0
+# Importing the OVA for Photon OS 3.0
1
+
2
+Using the OVA is the easiest way to create a Photon OS VM on VMware Workstation. 
3
+
4
+After you have downloaded the the OVA file (OVA with Hardware Version 11), perform the following steps:
5
+
6
+1. Start the Import Process
7
+
8
+    - Double-click it to start the import process, or
9
+    - Start VMware Workstation and, from the File menu, choose **Open**.
10
+
11
+    ![OVA file](images/ws-ova-import.png)
12
+
13
+1. Specify the Name and Storage Location
14
+
15
+    Change the name and storage location, if you want.
16
+    
17
+    ![Name and Storage Location](images/ws-ova-path.png)
18
+    
19
+    Choose **Import**.
20
+    
21
+    ![License](images/ws-ova-license.png)
22
+    
23
+    Review the License Agreement and choose **Accept**.
24
+
25
+1. Configure VM Settings
26
+
27
+    Once the OVA is imported, Workstation displays a summary of the settings for your Photon OS VM.
28
+    
29
+    ![Settings](images/ws-ova-settings.png)
30
+    
31
+    Choose **Edit virtual machine settings**. Workstation displays the Virtual Machine settings. You can either accept the defaults or change settings as needed.
32
+    
33
+    ![OVA settings](images/ws-ova-settings-edit.png)
34
+    
35
+    Select the Options tab.
36
+    
37
+    ![Options](images/ws-ova-settings-options.png)
38
+
39
+    Under Guest operating system, select **Linux**.
40
+    
41
+    For Version, click the list and select **VMWare Photon 64-bit**.
42
+    
43
+    ![Version](images/ws-ova-os.png)
44
+    
45
+    **Note:**  If you want to configure a secure boot for the Photon OS VM, select **Advanced**  and select (check) **Boot with EFI instead of BIOS**. The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
46
+    
47
+    ![EFI boot](images/ws-ova-settings-efi.png)
48
+    
49
+    Choose **OK**.
50
+
51
+1. Power on the VM
52
+
53
+    From the tab, choose  **Power on this virtual machine**.
54
+    
55
+    ![OVA splash](images/ws-ova-splash.png)
56
+    
57
+    After the splash screen, Workstation will prompt you to log in.
58
+
59
+1. Update Login Credentials
60
+
61
+    **Note** : Because of limitations within OVA support on Workstation, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA will require an immediate password change upon login. The default account credentials are:
62
+    
63
+    | **Setting** | **Value** |
64
+    | --- | --- |
65
+    | Username | ``root`` |
66
+    | Password | ``changeme`` |
67
+    
68
+    After you provide these credentials, Workstation prompts you to create a new password and type it a second time to verify it. For security, Photon OS forbids common dictionary words for the root password. Once logged in, you will see the shell prompt.
69
+    
70
+    ![OVA password](images/ws-ova-password.png)
71
+    
72
+    Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md).
0 73
\ No newline at end of file
1 74
new file mode 100644
... ...
@@ -0,0 +1,87 @@
0
+# Importing the OVA for Photon OS 3.0
1
+
2
+Using the OVA is a fast and easy way to create a Photon OS VM on VMware vSphere.
3
+
4
+After you have downloaded the OVA, log in to your vSphere environment and perform the following steps:
5
+
6
+1. Start the Import Process
7
+
8
+    From the Actions pull-down menu, choose **Create/Register VM**.
9
+    
10
+    ![Create/Register VM](images/vs-ova-new-vm.png)
11
+    
12
+    In the Select creation type window, choose  **Deploy a virtual machine from an OVF or OVA file**.
13
+    
14
+    (images/vs-ova-new-vm-ova.png)
15
+    
16
+    Choose **Next**.
17
+
18
+1. Select the OVA File
19
+
20
+    Enter a name for the virtual machine, and select the OVA file.
21
+    
22
+    ![OVA file](images/vs-ova-name-selected.png)
23
+    
24
+    Choose **Next**.
25
+
26
+1. Specify the Target Datastore
27
+
28
+    From the Select storage screen, select the target datastore for your VM.
29
+    
30
+    ![Target datastore](images/vs-ova-storage.png)
31
+    
32
+    Choose  **Next**.
33
+
34
+1. Accept the License Agreement
35
+
36
+    Read through the Photon OS License Agreement, and then choose **I Agree**.
37
+    
38
+    ![License](images/vs-ova-license.png)
39
+    
40
+    Choose **Next**.
41
+
42
+1. Select Deployment Options
43
+
44
+    Photon OS is provisioned with a maximum disk size. By default, Photon OS uses only the portion of disk space that it needs, usually much less that the entire disk size ( **Thin** client). If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Thick**  instead.
45
+       
46
+    ![Deployment Options](images/vs-ova-deployment-options.png)
47
+        
48
+    Choose **Next**.
49
+
50
+1. Verify Deployment Settings
51
+
52
+        
53
+    ![Deployment settings](images/vs-ova-settings.png)
54
+    
55
+    Click **Finish**. vSphere uploads and validates your OVA. Depending on bandwidth, this operation might take a while.
56
+    
57
+    When finished, vShield powers up a new VM based on your selections.
58
+
59
+1. Change Login Settings
60
+
61
+    ![Login settings](images/vs-ova-splash.png)
62
+    
63
+    After the VM is booted, open the command window. vSphere prompts you to log in.
64
+    
65
+    **Note**: Because of limitations within OVA support on vSphere, it was necessary to specify a default password for the OVA option. However, all Photon OS instances that are created by importing the OVA require an immediate password change upon login. The default account credentials are:
66
+    
67
+    | **Setting** | **Value** |
68
+    | --- | --- |
69
+    | Username | ``root`` |
70
+    | Password | ``changeme`` |
71
+
72
+    After you provide these credentials, vSphere prompts you to create a new password and type it a second time to verify it.
73
+    
74
+    **Note:** For security, Photon OS forbids common dictionary words for the root password.  
75
+    
76
+    Once logged in, you will see the shell prompt.
77
+    
78
+    ![Shell prompt](images/vs-ova-login.png)
79
+    
80
+    Once complete, proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md).
81
+
82
+1. Export the VM as a Template (Optional)
83
+
84
+    Consider converting this imported VM into a template (from the Actions menu, choose **Export** ) so that you have a master Photon OS instance that can be combined with vSphere Guest Customization to enable rapid provisioning of Photon OS instances.
85
+    
86
+    
0 87
\ No newline at end of file
1 88
new file mode 100644
... ...
@@ -0,0 +1,45 @@
0
+# Installing Photon OS on Google Compute Engine
1
+
2
+After you download the Photon OS image for GCE, log into GCE and install Photon OS. 
3
+
4
+Perform the following steps:
5
+
6
+1. Create a New Bucket
7
+
8
+Create a new bucket to store your Photon OS image for GCE.
9
+
10
+![gce1](images/gce1.jpg)
11
+
12
+1. Upload the Photon OS Image
13
+
14
+While viewing the bucket that created, click the `Upload files` button, navigate to your Photon OS image and click the `Choose` button. 
15
+
16
+When the upload finishes, you can see the Photon OS compressed image in the file list for the bucket that you created.
17
+
18
+![gce2](images/gce2.jpg)
19
+
20
+1. Create a New Image
21
+
22
+To create a new image, click on `Images` in the `Compute` category in the left panel and then click on the `New Image` button. 
23
+
24
+Enter a name for the image in the `Name` field and change the `Source` to `Cloud Storage file` using the pull-down menu. Then, in the `Cloud Storage file` field, enter the bucket name and filename as the path to the Photon OS image for GCE. In this example, where the bucket was named `photon_storage,` the path is as follows:
25
+ 
26
+	`photon_storage/photon-gce-2.0-tar.gz`
27
+
28
+The new image form autopopulates the `gs://` file path prefix.*
29
+
30
+Click the `Create` button to create your image. You must be able to see the Images catalog and your Photon OS image at the top of the list. 
31
+
32
+1. Create a New Instance
33
+
34
+To create an instance, check the box next to the Photon OS image and click the `Create Instance` button. 
35
+
36
+On the `Create a new instance` form, provide a name for this instance, confirm the zone into which this instance is to be deployed and, before clicking `Create,` check the `Allow HTTP traffic` and `Allow HTTPS traffic` options. 
37
+
38
+**Note**: The firewall rules in this example are optional. You can configure the ports according to your requirements. 
39
+
40
+![gce4](images/gce4.jpg)
41
+
42
+When the instance is created you will be returned to your list of VM instances. If you click on the instance, the status page for the instance will allow you to SSH into your Photon OS environment using the SSH button at the top of the panel. 
43
+
44
+At this point, your instance is running and you are ready to start the Docker engine and run a container workload. For more information, see [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os.md).
0 45
\ No newline at end of file
1 46
new file mode 100644
... ...
@@ -0,0 +1,191 @@
0
+# Installing the ISO Image for Photon OS 3.0
1
+
2
+After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Fusion.
3
+
4
+1. Start the Installation Process
5
+
6
+    From the File menu, choose  **New**.
7
+    
8
+    ![Installation](images/fs-iso-new.png)
9
+    
10
+    From the Select the Installation Method dialog, select **Install from disc or image**, and then choose **Continue**.
11
+    
12
+    ![Installation method](images/fs-iso-new-prompt.png)
13
+
14
+1. Select the ISO Image
15
+
16
+    Drag a disc image onto the window or choose **Use another disc or disc image...**, choose the ISO file you want, and then choose **Continue**.
17
+    
18
+    ![ISO image](images/fs-iso-new-selected.png)
19
+
20
+1. Select the Operating System
21
+
22
+    On the Choose Operating System dialog, select **Linux**  in the left-hand column and **VMware Photon 64-bit**  in the right-hand column.
23
+    
24
+    ![Operating system](images/fs-iso-os.png)
25
+
26
+    Choose **Continue**.
27
+
28
+1. Select the Virtual Disk (Optional)
29
+
30
+    If you are using a Fusion version that is older than Fusion 8, you might see the following dialog.
31
+    
32
+    ![Virtual disk](images/fs-iso-virtual-disk.png)
33
+    
34
+    If you see this dialog, unless you're installing into an existing machine, choose **Create a new virtual disk**  from the Choose a Virtual Disk dialog, and then choose **Continue**.
35
+    
36
+    **Note:** Fusion v8 and later automatically defaults to creating a new 8GB disk and formats it automatically. If you want to use an existing disk, or if you want to pre-allocate all 8GB, go into VM Settings, choose **Add Device**, and choose either **New Hard Disk** or **Existing Hard Disk**. Expand **Advanced options**  and configure whether you want to pre-allocate disk space (disabled by default) or split into multiple files (enabled by default).
37
+
38
+1. Configure VM Settings
39
+
40
+    **Important:** Before you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment.
41
+    
42
+    ![VM settings](images/fs-iso-finish.png)
43
+    
44
+    To remove unnecessary devices, choose **Customize Settings**.
45
+    
46
+    First, choose a name for your Virtual Machine, along with the folder into which you create the Virtual Machine (or accept the default folder).
47
+    
48
+    ![Custom settings](images/fs-iso-name.png)
49
+    
50
+    Choose **Save**. The virtual machine will be created. The Settings screen allows you to customize virtual hardware for the new virtual machine. If it does not automatically appear, open **Settings** from the Virtual Machine menu bar.
51
+    
52
+    ![Settings](images/fs-iso-settings.png)
53
+    
54
+    You can remove (recommended) the following components that are not used by Photon OS:
55
+    
56
+    - Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default). Select **Show All** to return to the VM Settings.
57
+    - Select **CD/DVD (IDE)** and ensure that the **Connect CD/DVD Drive** box is checked (it should be checked by default). Select **Show All** to return to the VM Settings.
58
+    - Select **Sound Card**, un-check the **Connect Sound Card** Option, and click **Remove Sound Card.** Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
59
+    - Select **USB &amp; Bluetooth** and uncheck the **Share Bluetooth devices with Linux** setting. Select **Show All** to return to the VM Settings.
60
+    - Select **Printer** and press the **Remove Printer Port** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
61
+    - Select **Camera** and press the **Remove Camera** button in the bottom left hand corner. Choose **Remove** to confirm your action. Select **Show All** to return to the VM Settings.
62
+    - Select **Advanced** and ensure that the **Pass Power Status to VM** option is unchecked (it should be unchecked, by default). Select **Show All,** but do not close the VM Settings window.
63
+    
64
+    By default, Photon OS is configured with a disk size of 8GB. However, Photon OS uses only the portion of disk space it needs, usually much less that the entire disk size. If you want to pre-allocate the entire disk size (reserving it entirely for Photon OS instead), select **Hard Disk**, expand **Advanced options**, and check **Pre-allocate disk space** (by default, it is unchecked). Select **Show All** to return to the VM Settings.
65
+
66
+1. Configure a Secure Boot (Optional)
67
+
68
+    **Note:**  If you want to configure a secure boot for the Photon OS VM you created, edit its .vmx file  and add the following line:
69
+    
70
+    **firmware = "efi"**
71
+    
72
+    The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
73
+    
74
+    After you have made the customizations you want, close the Virtual Machine Settings window. You are now ready to boot and begin the installation process.
75
+
76
+1. Power On the VM
77
+
78
+    Return to the Fusion main menu, select the Photon OS Virtual Machine, and click **Start Up** (you can also choose **Start Up** from the Virtual Machine menu).
79
+    
80
+    Fusion powers on the host and starts the installation. Within a few seconds, Fusion displays the Photon OS installer boot menu.
81
+    
82
+    ![Photon OS installer](images/fs-iso-install.png)
83
+    
84
+    Press the Enter key on your keyboard to start installing.
85
+    
86
+    ![License](images/fs-iso-license.png)
87
+    
88
+    Read the License Agreement and press the Enter key to accept.
89
+
90
+1. Configure the Partition
91
+
92
+    The Installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation.
93
+    
94
+    ![Partition](images/fs-iso-partition.png)
95
+    
96
+    Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom** if you want to configure individual partitions, and then press the Enter key.
97
+    
98
+    **Note:** If you choose **Custom**, the installer displays the following screen.
99
+    
100
+    ![Custom partition](images/fs-iso-partition-custom.png)
101
+    
102
+    For each custom partition, choose **Create New**  and specify the following information:
103
+    
104
+    ![New partition](images/fs-iso-partition-new.png)
105
+    
106
+    **Size** - Preallocated size of this partition, in MB.
107
+    
108
+    **Type** - One of the following options:
109
+    
110
+    - **ext3** - ext3 file system
111
+    - **ext4** - ext4 file system
112
+    - **swap** - swap partition
113
+    
114
+    **Mountpoint** - Mount point for this partition.
115
+    
116
+    Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next**  and press the Enter key.
117
+    
118
+    The installer prompts you to confirm that you want to erase the entire disk.
119
+    
120
+    ![Disk erase](images/fs-iso-disk-erase.png)
121
+    
122
+    Choose **Yes** and press the Enter key to accept and proceed with the installation.
123
+
124
+1. Select an Installation Option
125
+
126
+    After partitioning, the installer prompts you to select one of three installation options:
127
+    
128
+    ![Installation options](images/fs-iso-install-option.png)
129
+    
130
+    Each install option provides a different run-time environment. Select the option that best meets your requirements.
131
+    
132
+    | **Option** | **Description** |
133
+    | --- | --- |
134
+    | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
135
+    | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
136
+    | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
137
+    
138
+    **Note:** The option you choose determines the disk and memory resources required for your installation.
139
+    
140
+    Select the option you want and press the Enter key.
141
+
142
+1. Select the Linux Kernel
143
+
144
+    The installer prompts you to select the Linux kernel to install:
145
+    
146
+    ![Linux kernel](images/fs-iso-kernel.png)
147
+    
148
+    - **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
149
+    - **Generic** means that all components are included.
150
+
151
+1. Specify the Hostname
152
+
153
+    The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
154
+    
155
+    ![Hostname](images/fs-iso-hostname.png)
156
+    
157
+    Press the Enter key.
158
+
159
+1. Specify the System root Password
160
+
161
+    _Note: Photon OS will not permit commonly used dictionary words to be set as a root password._
162
+    
163
+    The installer prompts you to enter the system root password. Type the password, and then press the Enter key.
164
+    
165
+    ![Password](images/fs-iso-root-password.png)
166
+    
167
+    Confirm the root password by typing it a second time.
168
+    
169
+    ![Password confirmation](images/fs-iso-root-password-confirm.png)
170
+    
171
+    Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
172
+    
173
+    Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
174
+    
175
+    ![Confirmation](images/fs-iso-installed.png)
176
+
177
+1. Reboot the VM and Log In
178
+
179
+    Press any key on the keyboard and the virtual machine will reboot into Photon OS.
180
+    
181
+    ![Reboot](images/fs-iso-splash.png)
182
+    
183
+    As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
184
+    
185
+    At the login prompt, enter **root**  as the username and provide the password chosen during the installation.
186
+    
187
+    ![Password](images/fs-iso-login.png)
188
+    
189
+You can now use your container runtime environment and deploy a containerized application.
190
+    
0 191
new file mode 100644
... ...
@@ -0,0 +1,189 @@
0
+# Installing the ISO Image for Photon OS 3.0
1
+
2
+After you have downloaded the latest Photon OS ISO image into a folder of your choice, open VMware Workstation.
3
+
4
+1. Start the Installation Process
5
+
6
+    From the File menu, choose **New Virtual Machine**  to create a new virtual machine.
7
+    
8
+    ![New virtural machine](images/ws-iso-new.png)
9
+    
10
+    Select **Typical** or **Custom**, and then choose **Next**. These instructions refer to a Typical installation.
11
+    
12
+    ![Typical installation](images/ws-iso-typical.png)
13
+
14
+1. Select the ISO Image
15
+
16
+    Select **Installer disc image file (iso)**, choose **Browse** and select the Photon OS ISO file.
17
+    
18
+    ![Photon ISO file](images/ws-iso-selected.png)
19
+
20
+1. Select the Operating System
21
+
22
+    Choose **Next**. Select the Guest operating system.
23
+    
24
+    For the Guest operating system, select **Linux**.
25
+    
26
+    Click the Version dropdown and select **VMware Photon 64-bit**  from the list.
27
+    
28
+    ![Operating System](images/ws-iso-os.png)
29
+
30
+1. Specify the VM Name and Location
31
+
32
+    Choose **Next**. Specify a virtual machine name and location.
33
+    
34
+    ![VM Name and Location](images/ws-iso-name.png)
35
+
36
+1. Specify Disk Options
37
+
38
+    Choose **Next**. Specify the maximum disk size and whether you want to split the virtual disk into multiple files or store it as a single file.
39
+    
40
+    ![Disk options](images/ws-iso-disk.png)
41
+
42
+1. Configure VM Settings
43
+
44
+    Choose **Next**. Workstation displays a summary of your selections.
45
+    
46
+    ![Workstation settings](images/ws-iso-summary.png)
47
+    
48
+    **Important** : _Before_ you finish creating the Photon OS Virtual Machine, we strongly recommend that you customize the virtual machine and remove any unwanted devices that are not needed for a container run-time environment. To remove unnecessary devices, choose **Customize hardware**.
49
+    
50
+    ![Customize hardware](images/ws-iso-customize.png)
51
+    
52
+    Consider removing the following components, which are not used by Photon OS:
53
+    
54
+    - Select **Sound Card**, un-tick the **Connect at power on** option. Confirm your action and choose **Close** to return to the VM Settings by .
55
+    - Select **USB Controller** and ensure that the **Share Bluetooth devices with the virtual machine** setting is unchecked (it should be unchecked, by default) and then choose **Close**.
56
+    - Select **Display** and ensure that the **Accelerate 3D Graphics** option is unchecked (it should be unchecked, by default) and then choose **Close**.
57
+    - At this stage we have now made all the necessary customizations and you are ready to select the Photon OS ISO image to boot and begin the installation process.
58
+    - Choose  **Finish**.
59
+    
60
+    In Workstation, choose **Edit virtual machine settings**, select **CD/DVD (IDE)**, and verify that **Connect at power on** is selected.
61
+    
62
+    ![CD/DVD](images/ws-iso-cd.png)
63
+
64
+1. Configure a Secure Boot (Optional)
65
+
66
+    **Note:**  If you want to configure a secure boot for the Photon OS VM, in Workstation, choose  **Edit virtual machine settings**, select  **Options**, choose **Advanced**, and select **Boot with EFI instead of BIOS**.
67
+    
68
+    ![Boot with EFI](images/ws-iso-efi.png)
69
+    
70
+    The EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
71
+    
72
+    Choose **OK**.
73
+    
74
+    ![ISO settings](images/ws-iso-settings.png)
75
+
76
+1. Power On the VM
77
+
78
+    Choose **Power on this virtual machine**.
79
+    
80
+    When you see the Photon Installer boot menu, press Enter on your keyboard to start installing.
81
+    
82
+    ![Installer](images/ws-iso-installer.png)
83
+    
84
+    Review the license agreement.
85
+    
86
+    ![License agreement](images/ws-iso-license.png)
87
+    
88
+    Choose **Accept** and press Enter.
89
+
90
+1. Configure the Partition
91
+
92
+    The installer will detect one disk, which should be the 8GB volume configured as part of the virtual machine creation. Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom**  if you want to configure individual partitions, and then press the Enter key.
93
+    
94
+    ![Partition](images/ws-iso-disk-partition.png)
95
+    
96
+    **Note:**  If you choose Custom, the installer displays the following screen.
97
+    
98
+    ![Custom partition](images/ws-iso-disk-partition-custom.png)
99
+    
100
+    For each custom partition, choose **Create New**  and specify the following information:
101
+    
102
+    ![New partition](images/ws-iso-disk-partition-new.png)
103
+    
104
+    **Size** - Preallocated size of this partition, in MB.
105
+    
106
+    **Type** - One of the following options:
107
+    
108
+    - **ext3** - ext3 file system
109
+    - **ext4** - ext4 file system
110
+    - **swap** - swap partition
111
+    
112
+    **Mountpoint** - Mount point for this partition.
113
+    
114
+    Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key.
115
+    
116
+    The installer prompts you to confirm that you want to erase the entire disk. Choose  **Yes**  and press the Enter key.
117
+    
118
+    ![Disk erase](images/ws-iso-disk-erase.png)
119
+
120
+1. Select an Installation Option
121
+
122
+    After partitioning the disk, the installer will prompt you to select an installation option.
123
+    
124
+    ![installation option](images/ws-iso-install-option.png)
125
+    
126
+    Each installation option provides a different run-time environment, depending on your requirements.
127
+    
128
+    | **Option** | **Description** |
129
+    | --- | --- |
130
+    | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
131
+    | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
132
+    | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
133
+    
134
+    **Note:**  The option you choose determines the disk and memory resources required for your installation.
135
+    
136
+    Select the option you want and press the Enter key.
137
+
138
+1. Select the Linux Kernel
139
+
140
+    Select a Linux kernel to install.
141
+    
142
+    ![Kernel](images/ws-iso-kernel.png)
143
+    
144
+    - **Hypervisor optimized** means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
145
+    - **Generic** means that all components are included.
146
+    
147
+    Choose **Next** and press the Enter key.
148
+
149
+1. Specify the Hostname
150
+
151
+    The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
152
+    
153
+    ![Hostname](images/ws-iso-hostname.png)
154
+    
155
+    Press the Enter key.
156
+
157
+1. Specify the System root Password
158
+
159
+    **_Note_** _: Photon OS will not permit commonly used dictionary words to be set as a root password._
160
+    
161
+    The installer prompts you to enter the system root password. Type the password and press the Enter key.
162
+    
163
+    ![Password](images/ws-iso-root-password.png)
164
+    
165
+    The installer prompts you to confirm the root password by typing it a second time.
166
+    
167
+    ![Confirm password](images/ws-iso-root-password-confirm.png)
168
+    
169
+    Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
170
+
171
+1. Reboot the VM and Log In
172
+
173
+    Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
174
+    
175
+    ![confirmation message](images/ws-iso-installed.png)
176
+    
177
+    Press any key on the keyboard and the virtual machine will reboot into Photon OS.
178
+    
179
+    As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
180
+    
181
+    ![Splash screen](images/ws-iso-splash.png)
182
+    
183
+    At the login prompt, type **root**  as the username and provide the password chosen during the installation.
184
+    
185
+    ![Password](images/ws-iso-login.png)
186
+
187
+You can now use your container runtime environment and deploy a containerized application.
188
+    
0 189
new file mode 100644
... ...
@@ -0,0 +1,183 @@
0
+# Installing the ISO Image for Photon OS 3.0
1
+
2
+After you download the Photon OS ISO image into a folder of your choice, complete the following steps.
3
+
4
+1. Upload the ISO Image
5
+    
6
+    Upload the ISO image to a datastore that is attached to the host on which you'll create the Photon OS virtual machine.
7
+
8
+1. Create a new VM
9
+
10
+    Log in to your vSphere environment. In the Virtual Machines window, choose **Create/Register VM**.
11
+    
12
+    On the Select creation type screen, select **Create a new virtual machine**.
13
+    
14
+    ![Create new virtual machine](images/vs-iso-new.png)
15
+    
16
+    Choose **Next**.
17
+
18
+1. Configure VM Settings
19
+
20
+    Specify a VM name.
21
+    
22
+    ![VM name](images/vs-iso-name.png)
23
+    
24
+    Specify a guest operating system.
25
+    
26
+    - For Compatibility, select **ESXi 6.5**.
27
+    - For Guest OS family, select **Linux**.
28
+    - For Guest OS version, select **VMware Photon OS (64-bit)**.
29
+    
30
+    ![Guest operating system](images/vs-iso-os.png)
31
+    
32
+    Choose  **Next**.
33
+
34
+1. Select the Target Datastore
35
+
36
+    Select the datastore where you want to store the VM.
37
+    
38
+    ![Target datastore](images/vs-iso-datastore.png)
39
+    
40
+    Click **Next**.
41
+
42
+1. Customize VM Settings
43
+
44
+    Customize the virtual machine settings.
45
+    
46
+    ![Settings](images/vs-iso-customize.png)
47
+    
48
+    For CD/DVD Drive 1, click the drop-down and select **Datastore ISO file**.
49
+    
50
+    In the Datastore browser, select the ISO that you want to import.
51
+    
52
+    Change other settings as applicable.
53
+    
54
+    - The recommended virtual hardware settings for your Photon VM are heavily dependent upon the container load you intend to run within Photon OS – more containers or more intensive containers will require you to adjust these settings for your application load. VMware suggests 2 vCPU, 1024MB memory, 20GB hard disk. Any unwanted devices should be removed. Be sure to mount the Photon OS ISO on the CD/DVD Drive and put a check in the box next to, Connect At Power On.
55
+    - If you want to configure a secure boot for the Photon OS VM you created, choose the VM Options tab, expand Boot Options, and select EFI from the firmware drop-down.  An EFI boot ensures that the ISO content is signed by VMware and that the entire stack is secure.
56
+    
57
+    Choose **Next**.
58
+
59
+1. Verify VM Settings
60
+
61
+    The installer displays a summary of your selected settings.
62
+    
63
+    ![Summary](images/vs-iso-ready.png)
64
+    
65
+    Click **Finish**. vSphere creates the VM.
66
+
67
+1. Power on the VM
68
+
69
+    Select the VM and power it on.
70
+
71
+    ![Power on VM](images/vs-iso-install.png)
72
+    
73
+    When you see the Photon Installer boot menu, press Enter on your keyboard to start installing.
74
+
75
+1. Accept the License Agreement
76
+
77
+    Read the License Agreement and press the Enter key to accept.
78
+    
79
+    ![License Agreement](images/vs-iso-license.png)
80
+
81
+1. Configure the Partition
82
+
83
+    The installer detects one disk, which should be the 16GB volume configured as part of the virtual machine creation. Choose **Auto**  to have the installer automatically allocate the partition, or choose **Custom**  if you want to configure individual partitions, and then press the Enter key.
84
+    
85
+    ![Partition](images/vs-iso-partition.png)
86
+    
87
+    **Note:**  If you choose Custom, the installer displays the following screen.
88
+    
89
+    ![Custom Partition](images/vs-iso-partition-custom.png)
90
+    
91
+    For each custom partition, choose **Create New**  and specify the following information:
92
+    
93
+    ![New Partition](images/vs-iso-partition-new.png)
94
+    
95
+    **Size** - Preallocated size of this partition, in MB.
96
+    
97
+    **Type** - One of the following options:
98
+    
99
+    - **ext3** - ext3 file system
100
+    - **ext4** - ext4 file system
101
+    - **swap** - swap partition
102
+    
103
+    **Mountpoint** - Mount point for this partition.
104
+    
105
+    Choose **OK** and press the Enter key. When you are done defining custom partitions, choose **Next** and press the Enter key.
106
+    
107
+    The installer prompts you to confirm that you want to erase the entire disk.
108
+    
109
+    ![Erase disk](images/vs-iso-erase.png)
110
+    
111
+    Choose **Yes** and press the Enter key.
112
+
113
+    1. Select an Installation Option
114
+    
115
+    After partitioning the disk, the installer prompts you to select an installation option.
116
+    
117
+    ![Installation Option](images/vs-iso-install-option.png)
118
+    
119
+    Each install option provides a different run-time environment, depending on your requirements.
120
+    
121
+    | **Option** | **Description** |
122
+    | --- | --- |
123
+    | **Photon Minimal** | Photon Minimum is a very lightweight version of the container host runtime that is best suited for container management and hosting. There is sufficient packaging and functionality to allow most common operations around modifying existing containers, as well as being a highly performant and full-featured runtime. |
124
+    | **Photon Full** | Photon Full includes several additional packages to enhance the authoring and packaging of containerized applications and/or system customization. For simply running containers, Photon Full will be overkill. Use Photon Full for developing and packaging the application that will be run as a container, as well as authoring the container, itself. For testing and validation purposes, Photon Full will include all components necessary to run containers. |
125
+    | **Photon OSTree Server** | This installation profile will create the server instance that will host the filesystem tree and managed definitions for rpm-ostree managed hosts created with the "Photon OSTree Host" installation profile. Most environments should need only one Photon OSTree Server instance to manage the state of the Photon OSTree Hosts. Use Photon OSTree Server when you are establishing a new repository and management node for Photon OS hosts. |
126
+    
127
+    **Note:**  The option you choose determines the disk and memory resources required for your installation.
128
+    
129
+    Select the option you want and press the Enter key.
130
+
131
+1. Select the Linux Kernel
132
+
133
+    Select a Linux kernel to install.
134
+    
135
+    ![Linux Kernel](images/vs-iso-kernel.png)
136
+    
137
+    - **Hypervisor**  optimized means that any components that are not needed for running under a VMware hypervisor have been removed for faster boot times.
138
+    - **Generic**  means that all components are included.
139
+    
140
+    Choose **Next** and press the Enter key.
141
+
142
+1. Specify the Hostname
143
+
144
+    The installer prompts you for a hostname and suggest a randomly generated, unique hostname that you can change if you want.
145
+    
146
+    ![Hostname](images/vs-iso-hostname.png)
147
+    
148
+    Press the Enter key.
149
+
150
+1. Specify the System root Password
151
+
152
+    The installer prompts you to enter the system root password.
153
+    
154
+    _Note: Photon OS will not permit commonly used dictionary words to be set as a root password._
155
+    
156
+    ![Root password](images/vs-iso-root-password.png)
157
+    
158
+    Type a password and press the Enter key.
159
+    
160
+    The installer prompts you to confirm your root password by typing it a second time.
161
+    
162
+    ![Password confirmation](images/vs-iso-root-password-confirm.png)
163
+    
164
+    **Note:** If you have trouble with unintentional repeated characters in the Remote Console, follow VMware KB 196 ( [http://kb.vmware.com/kb/196](http://kb.vmware.com/kb/196)) for a setting to apply to the virtual machine.
165
+    
166
+    Press the Enter key. The installer proceeds to install the software. Installation times will vary based on the system hardware and installation options you selected. Most installations complete in less than one minute.
167
+
168
+1. Reboot the VM and Log In
169
+
170
+    Once finished, the installer displays a confirmation message (which includes how long it took to install Photon OS) and prompts you to press a key on your keyboard to boot the new VM.
171
+    
172
+    ![Boot VM](images/vs-iso-installed.png)
173
+    
174
+    As the initial boot process begins, the installer displays the Photon splash screen, and then a login prompt.
175
+    
176
+    ![Login prompt](images/vs-iso-splash.png)
177
+    
178
+    At the login prompt, type **root**  as the username and provide the password chosen during the installation.
179
+    
180
+    ![Password](images/vs-iso-login.png)
181
+    
182
+You can now use your container runtime environment and deploy a containerized application.
0 183
\ No newline at end of file
1 184
new file mode 100644
... ...
@@ -0,0 +1,28 @@
0
+# Launch the Web Server with Cloud-Init
1
+
2
+To eliminate the manual effort of running Docker, you can add `docker run` and its arguments to the cloud-init user data file by using `runcmd`: 
3
+
4
+	#cloud-config
5
+	hostname: photon-on-01
6
+	groups:
7
+	- cloud-admins
8
+	- cloud-users
9
+	users:
10
+	- default
11
+	- name: photonadmin
12
+	   gecos: photon test admin user
13
+	   primary-group: cloud-admins
14
+	   groups: cloud-users
15
+	   lock-passwd: false
16
+	   passwd: vmware
17
+	- name: photonuser
18
+	   gecos: photon test user
19
+	   primary-group: cloud-users
20
+	   groups: users
21
+	   passwd: vmware
22
+	packages:
23
+	- vim
24
+	runcmd:
25
+	- docker run -p 80:80 vmwarecna/nginx
26
+
27
+To try this addition, run another instance with the new cloud-init data source and then get the public IP address of the instance to check that the Nginx web server is running. 
0 28
\ No newline at end of file
1 29
new file mode 100644
... ...
@@ -0,0 +1,13 @@
0
+# Prerequisites
1
+
2
+Before you use Photon OS with Microsoft Azure, perform the following prerequisite tasks:
3
+
4
+1. Verify that you have a Microsoft Azure account. To create an account, see [https://azure.microsoft.com](https://azure.microsoft.com)
5
+
6
+1. Install the latest version of Azure CLI. See [Install Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli?view=azure-cli-latest) and [Get started with Azure CLI 2.0](https://docs.microsoft.com/en-us/cli/azure/get-started-with-azure-cli?view=azure-cli-latest).
7
+
8
+1. Verify that that you have a pair of SSH public and private keys. 
9
+
10
+1. Download and extract the Photon OS VHD file.
11
+    
12
+    VMware packages Photon OS as a cloud-ready virtual hard disk (VHD file) that you can download for free from  [Bintray](https://bintray.com/vmware/photon). This VHD file is a virtual appliance with the information and packages that Azure needs to launch an instance of Photon in the cloud. After you have downloaded the distribution archive, extract the VHD file from it. You will later need to upload this VHD file to Azure, where it will be stored in an Azure storage account. For more information, see [Downloading Photon OS](Downloading-Photon-OS.md).
0 13
\ No newline at end of file
1 14
new file mode 100644
... ...
@@ -0,0 +1,51 @@
0
+# Prerequisites
1
+
2
+Before you use Photon OS within VMware Fusion, perform the following prerequisite tasks:
3
+
4
+1. Verify that you have the following resources:
5
+
6
+	<table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10">
7
+	<tbody>
8
+	<tr>
9
+	<td><b>Resource</b></td>
10
+	<td><b>Description</b></td>
11
+	</tr>
12
+	<tr>
13
+	<td> VMware Fusion</td>
14
+	<td>VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended.</p></td>
15
+	</tr>
16
+	<tr>
17
+	<td>Memory</td>
18
+	<td> 2GB of free RAM (recommended) </td>
19
+	</tr>
20
+	<tr>
21
+	<td>Storage</td>
22
+	<td><b>Minimal Photon install</b>: 512MB of free space (minimum); <b>Full Photon install</b>: 4GB of free space (minimum); 8GB is recommended.</td>
23
+	</tr>
24
+	<tr>
25
+	<td>Distribution File</td>
26
+	<td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td>
27
+	</tr>
28
+	</tbody>
29
+	</table>
30
+
31
+	Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
32
+    
33
+	 **Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot.
34
+
35
+	![Fusion version](images/fs_version.png)
36
+
37
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS.
38
+
39
+    - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
40
+    - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
41
+
42
+     To get Photon OS up and running quickly, use the OVA.
43
+    
44
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS:
45
+
46
+    [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
47
+    
48
+    For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
49
+    
50
+    **Note:** For ISO installation, you must upload to a datashare that is attached to the ESXi host, or mount the file share where the ISO resides as a data store.
0 51
new file mode 100644
... ...
@@ -0,0 +1,207 @@
0
+# Prerequisites
1
+
2
+Before you use Photon OS within GCE, verify that you have the following resources:
3
+
4
+1. [Google Compute Engine account](#google-compute-engine-account)
5
+1. [GCE tools](#gce-tools)
6
+1. [Photon OS Image](#photon-os-image)
7
+
8
+## Google Compute Engine Account
9
+
10
+Working with GCE requires a Google Compute Engine account with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Google. The GCE-ready version of Photon OS is free to use.
11
+
12
+## GCE Tools
13
+
14
+GCE is a service that lets you run virtual machines on Google's infrastructure. You can customize the virtual machine as much as you want, and you can even install your own custom operating system image. Or, you can adopt one of the public [images](https://cloud.google.com/compute/docs/operating-systems/) provided by Google. For any operating system to work with GCE, it must match Google's infrastructure needs. Google provides tools that VM instances require to work correctly on GCE:
15
+
16
+ *   __[Google startup scripts](https://cloud.google.com/compute/docs/startupscript)__: You can provide some startup script to configure your instances at startup.
17
+ *   __[Google Daemon](https://cloud.google.com/compute/docs/metadata)__: Google Daemon creates new accounts and configures ssh to accept public keys using the metadata server.
18
+ *   __[Google Cloud SDK](https://cloud.google.com/sdk/)__: Command line tools to manage your images, instances and other objects on GCE.
19
+
20
+Perform the following tasks to make Photon OS work on GCE:
21
+
22
+ 1. Install Google Compute Engine Image packages
23
+ 1. Install Google Cloud SDK
24
+ 1. Change GPT partition table to MBR
25
+ 1. Update the Grub config for new MBR and serial console output
26
+ 1. Update ssh configuration
27
+ 1. Delete ssh host keys
28
+ 1. Set the time zone to UTC
29
+ 1. Use the Google NTP server
30
+ 1. Delete the hostname file.
31
+ 1. Add Google hosts /etc/hosts
32
+ 1. Set MTU to 1460. SSH will not work without it.
33
+ 1. Create `/etc/ssh/sshd_not_to_be_run` with just the contents “GOOGLE\n”.
34
+ 
35
+ For more information see [Importing Boot Disk Images to Compute Engine](https://cloud.google.com/compute/docs/tutorials/building-images).
36
+
37
+## Photon OS Image
38
+
39
+VMware recommends that administrators use the Photon OS image for Google Compute Engine (GCE) to create Photon OS instances on GCE. Photon OS bundles the Google startup scripts, daemon, and cloud SDK into a GCE-ready image that has been modified to meet the configuration requirements of GCE. You can download the Photon OS image for GCE from the following URL: 
40
+[https://bintray.com/vmware/photon](https://bintray.com/vmware/photon)
41
+
42
+For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
43
+
44
+Optionally you can customize Photon OS to work with GCE. 
45
+
46
+### Creating Photon image for GCE
47
+
48
+Perform the following tasks: 
49
+
50
+1. Prepare Photon Disk
51
+    
52
+    1. Install Photon Minimal on Fusion/Workstation and install some required packages.
53
+          
54
+        ```
55
+        mount /dev/cdrom /media/cdrom
56
+        tdnf install yum
57
+        tdnf install python2-libs
58
+        yum install ntp sudo wget tar which gptfdisk sed findutils grep gzip --nogpgcheck -y
59
+    ```
60
+
61
+    1. Convert GPT to MBR and update the grub
62
+    
63
+        Photon installer installs GPT partition table by default but GCE only accepts an MBR (msdos) type partition table. So, you must convert GPT to MBR and update the grub. USe the following commands to update the grub:
64
+        
65
+             ```
66
+           # Change partition table to MBR from GPT
67
+           sgdisk -m 1:2 /dev/sda
68
+           grub2-install /dev/sda
69
+           
70
+           # Enable serial console on grub for GCE.
71
+           cat << EOF >> /etc/default/grub
72
+           GRUB_CMDLINE_LINUX="console=ttyS0,38400n8"
73
+           GRUB_TERMINAL=serial
74
+           GRUB_SERIAL_COMMAND="serial --speed=38400 --unit=0 --word=8 --parity=no --stop=1"
75
+           EOF
76
+           
77
+           # Create new grub.cfg based on the settings in /etc/default/grub
78
+           grub2-mkconfig -o /boot/grub2/grub.cfg
79
+             ```
80
+      
81
+1.  Install Google Cloud SDK and GCE Packages
82
+      
83
+    ```
84
+    yum install google-daemon google-startup-scripts
85
+          cp /usr/lib/systemd/system/google* /lib/systemd/system/
86
+          cd /lib/systemd/system/multi-user.target.wants/
87
+          
88
+          # Create links in multi-user.target to auto-start these scripts and services.
89
+          for i in ../google*; do  ln -s $i `basename $i`; done
90
+          
91
+          cd /tmp/; wget https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz --no-check-certificate
92
+          tar -xf google-cloud-sdk.tar.gz
93
+          cd google-cloud-sdk
94
+          ./install.sh
95
+    ```
96
+
97
+1. Update /etc/hosts file with GCE values as follows:
98
+     
99
+    ```
100
+    echo "169.254.169.254 metadata.google.internal metadata" >> /etc/hosts
101
+    ```
102
+      
103
+1. Remove all servers from ntp.conf and add Google's ntp server.
104
+      
105
+    ```
106
+    sed -i -e "/server/d" /etc/ntp.conf
107
+          cat /etc/ntp.conf
108
+          echo "server 169.254.169.254" >> /etc/ntp.conf
109
+          # Create ntpd.service to auto starting ntp server.
110
+          cat << EOF >> /lib/systemd/system/ntpd.service
111
+          [Unit]
112
+          Description=Network Time Service
113
+          After=network.target nss-lookup.target
114
+    
115
+          [Service]
116
+          Type=forking
117
+          PrivateTmp=true
118
+          ExecStart=/usr/sbin/ntpd -g -u ntp:ntp
119
+          Restart=always
120
+          
121
+          [Install]
122
+          WantedBy=multi-user.target
123
+          EOF
124
+          
125
+          # Add link in multi-user.target.wants to auto start this service.
126
+          cd /lib/systemd/system/multi-user.target.wants/
127
+          ln -s ../ntpd.service ntpd.service
128
+    ```
129
+      
130
+1. Set UTC timezone
131
+      
132
+    ```
133
+    ln -sf /usr/share/zoneinfo/UTC /etc/localtime
134
+    ```
135
+
136
+1. Update /etc/resolv.conf
137
+      
138
+    ```
139
+    echo "nameserver 8.8.8.8" >> /etc/resolv.conf
140
+    ```
141
+
142
+1. Remove ssh host keys and add script to regenerate them at boot time.
143
+      
144
+    ```
145
+    rm /etc/ssh/ssh_host_*
146
+          # Depending on the installation, you may need to purge the following keys
147
+          rm /etc/ssh/ssh_host_rsa_key*
148
+          rm /etc/ssh/ssh_host_dsa_key*
149
+          rm /etc/ssh/ssh_host_ecdsa_key*
150
+    
151
+          sed -i -e "/exit 0/d" /etc/rc.local
152
+          echo "[ -f /etc/ssh/ssh_host_key ] && echo 'Keys found.' || ssh-keygen -A" >> /etc/rc.local
153
+          echo "exit 0" >> /etc/rc.local
154
+          printf "GOOGLE\n" > /etc/ssh/sshd_not_to_be_run
155
+          
156
+          # Edit sshd_config and ssh_config as per instructions on [this link](https://cloud.google.com/compute/docs/tutorials/building-images).
157
+    ```
158
+      
159
+1.  Change MTU to 1460 for network interface.
160
+     
161
+    ```
162
+     # Create a startup service in systemd that will change MTU and exits
163
+          cat << EOF >> /lib/systemd/system/eth0.service
164
+          [Unit]
165
+          Description=Network interface initialization
166
+          After=local-fs.target network-online.target network.target
167
+          Wants=local-fs.target network-online.target network.target
168
+    
169
+          [Service]
170
+          ExecStart=/bin/ifconfig eth0 mtu 1460 up
171
+          Type=oneshot
172
+    
173
+          [Install]
174
+          WantedBy=multi-user.target
175
+          EOF
176
+          # Make this service auto-start at boot.
177
+          cd /lib/systemd/system/multi-user.target.wants/
178
+          ln -s ../eth0.service eth0.service
179
+    ```
180
+
181
+1. Pack and upload to GCE.
182
+
183
+Shut down the Photon VM and copy its disk to THE `tmp` folder.       
184
+         
185
+   ```
186
+   # You will need to install Google Cloud SDK on host machine to upload the image and play with GCE.
187
+         cp Virtual\ Machines.localized/photon.vmwarevm/Virtual\ Disk.vmdk /tmp/disk.vmdk
188
+         cd /tmp
189
+         # GCE needs disk to be named as disk.raw with raw format.
190
+         qemu-img convert -f vmdk -O raw disk.vmdk disk.raw
191
+         
192
+         # ONLY GNU tar will work to create acceptable tar.gz file for GCE. MAC's default tar is BSDTar which will not work. 
193
+         # On Mac OS X ensure that you have gtar "GNU Tar" installed. exmaple: gtar -Szcf photon.tar.gz disk.raw 
194
+   
195
+         gtar -Szcf photon.tar.gz disk.raw 
196
+         
197
+         # Upload
198
+         gsutil cp photon.tar.gz gs://photon-bucket
199
+         
200
+         # Create image
201
+         gcloud compute --project "<project name>" images create "photon-beta-vYYYYMMDD" --description "Photon Beta" --source-uri https://storage.googleapis.com/photon-bucket/photon032315.tar.gz
202
+         
203
+         # Create instance on GCE of photon image
204
+         gcloud compute --project "photon" instances create "photon" --zone "us-central1-f" --machine-type "n1-standard-1" --network "default" --maintenance-policy "MIGRATE" --scopes "https://www.googleapis.com/auth/devstorage.read_only" "https://www.googleapis.com/auth/logging.write" --image "https://www.googleapis.com/compute/v1/projects/photon/global/images/photon" --boot-disk-type "pd-standard" --boot-disk-device-name "photon"
205
+   
206
+   ```
0 207
new file mode 100644
... ...
@@ -0,0 +1,20 @@
0
+# Prerequisites
1
+
2
+Before you use Photon OS with Amazon Elastic Cloud Compute, perform the following prerequisite tasks:
3
+
4
+1. Verify that you have the following resources:
5
+    
6
+    - **AWS account**. Working with EC2 requires an Amazon account for AWS with valid payment information. Keep in mind that, if you try the examples in this document, you will be charged by Amazon. See [Setting Up with Amazon EC2](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/get-set-up-for-amazon-ec2.html).
7
+    - **Amazon tools**. The following examples also assume that you have installed and configured the Amazon AWS CLI and the EC2 CLI and AMI tools, including ec2-ami-tools.
8
+    
9
+    For more information, see [Installing the AWS Command Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/installing.html), [Setting Up the Amazon EC2 Command Line Interface Tools on Linux](#http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html), and [Configuring AWS Command-Line Interface](#http://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html). Also see [Setting Up the AMI Tools](#http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html).
10
+    
11
+    The procedure in this section uses an Ubuntu 14.04 workstation to generate the keys and certificates that AWS requires.
12
+
13
+1. Download the Photon OS image for Amazon. 
14
+
15
+   VMware packages Photon OS as a cloud-ready Amazon machine image (AMI) that you can download for free from [Bintray](https://bintray.com/vmware/photon).
16
+
17
+   Download the Photon OS AMI and save it on your workstation. For more infromation, see [Downloading Photon OS](Downloading-Photon-OS.md).
18
+
19
+   **Note**: The AMI version of Photon is a virtual appliance with the information and packages that Amazon needs to launch an instance of Photon in the cloud. To build the AMI version, VMware starts with the minimal version of Photon OS and adds the sudo and tar packages to it. 
0 20
\ No newline at end of file
1 21
new file mode 100644
... ...
@@ -0,0 +1,50 @@
0
+# Prerequisites
1
+
2
+Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Fusion and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
3
+
4
+Before you use Photon OS within Fusion, perform the following prerequisite tasks:
5
+
6
+1. Verify that you have the following resources:
7
+
8
+	<table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10">
9
+	<tbody>
10
+	<tr>
11
+	<td><b>Resource</b></td>
12
+	<td><b>Description</b></td>
13
+	</tr>
14
+	<tr>
15
+	<td>VMware Fusion</td>
16
+	<td>VMware Fusion (v7.0 or higher) must be installed. The latest version is recommended.</td>
17
+	</tr>
18
+	<tr>
19
+	<td>Memory</td>
20
+	<td>2GB of free RAM (recommended)</td>
21
+	</tr>
22
+	<tr>
23
+	<td>Storage</td>
24
+	<td><b>Minimal Photon install</b> : 512MB of free space (minimum); <b>Full Photon install</b> : 4GB of free space (minimum); 8GB recommended.</td>
25
+	</tr>
26
+	<tr>
27
+	<td>Distribution File</td>
28
+	<td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td>
29
+	</tr>
30
+	</tbody>
31
+	</table>
32
+
33
+
34
+    **Note:** The setup instructions in this guide use VMware Fusion Professional version 8.5.8, as per the following screenshot.
35
+
36
+    ![Fusion version](images/fs-version.png)
37
+
38
+2. Decide whether to use the OVA or ISO distribution to set up Photon OS.
39
+
40
+    - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
41
+    - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
42
+
43
+    To get Photon OS up and running quickly, use the OVA.
44
+    
45
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS:
46
+
47
+    [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
48
+    
49
+    For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
0 50
new file mode 100644
... ...
@@ -0,0 +1,49 @@
0
+# Prerequisites
1
+
2
+Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware vSphere and VMware Fusion), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
3
+
4
+Before you use Photon OS within VMware vSphere, perform the following prerequisite tasks:
5
+
6
+1. Verify that you have the following resources:
7
+
8
+	<table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10">
9
+	<tbody>
10
+	<tr>
11
+	<td><b>Resource</b></td>
12
+	<td><b>Description</b></td>
13
+	</tr>
14
+	<tr>
15
+	<td> VMware vSphere installed</td>
16
+	<td>VMware web client (v6.5) for ESXi hosts (recommended) <p><b>Note</b>: vSphere 6 and vSphere 5.5 (these clients provide limited support; Not all features are available).</p></td>
17
+	</tr>
18
+	<tr>
19
+	<td>Memory</td>
20
+	<td>ESXi host with 2GB of free RAM (recommended)</td>
21
+	</tr>
22
+	<tr>
23
+	<td>Storage</td>
24
+	<td><b>Minimal Photon install</b>: ESXi host with at least 512MB of free space (minimum); <b>Full Photon install</b>: ESXi host with at least 4GB of free space (minimum); 16GB is recommended; 16GB recommended.</td>
25
+	</tr>
26
+	<tr>
27
+	<td>Distribution File</td>
28
+	<td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td>
29
+	</tr>
30
+	</tbody>
31
+	</table>
32
+
33
+    **Note:** The setup instructions in this guide use VMware vSphere 6 and the vSphere web client.
34
+
35
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS.
36
+
37
+    - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
38
+    - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
39
+
40
+    To get Photon OS up and running quickly, use the OVA.
41
+    
42
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS:
43
+
44
+    [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
45
+    
46
+    For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
47
+    
48
+    **Note:** For ISO installation, you must upload to a datashare that is attached to the ESXi host, or mount the file share where the ISO resides as a data store.
0 49
new file mode 100644
... ...
@@ -0,0 +1,50 @@
0
+# Prerequisites
1
+
2
+Before you use Photon OS within Workstation, perform the following prerequisite tasks:
3
+
4
+1. Verify that you have the following resources:
5
+
6
+	<table style="height: 170px;" border="1" width="157" cellspacing="0" cellpadding="10">
7
+	<tbody>
8
+	<tr>
9
+	<td><b>Resource</b></td>
10
+	<td><b>Description</b></td>
11
+	</tr>
12
+	<tr>
13
+	<td> VMware Workstation</td>
14
+	<td>VMware Workstation must be installed (Workstation 10 or higher). The latest version is recommended.</p></td>
15
+	</tr>
16
+	<tr>
17
+	<td>Memory</td>
18
+	<td> 2GB of free RAM (recommended) </td>
19
+	</tr>
20
+	<tr>
21
+	<td>Storage</td>
22
+	<td><b>Minimal Photon install</b>: 512MB of free space (minimum); <b>Full Photon install</b>: 4GB of free space (minimum); 8GB is recommended.</td>
23
+	</tr>
24
+	<tr>
25
+	<td>Distribution File</td>
26
+	<td>Photon OS ISO or OVA file downloaded from bintray (<a href="https://bintray.com/vmware/photon/">https://bintray.com/vmware/photon/</a>).</td>
27
+	</tr>
28
+	</tbody>
29
+	</table>
30
+
31
+
32
+	Resource requirements and recommendations vary depending on several factors, including the host environment (for example, VMware Workstation and VMware vSphere), the distribution file used (ISO or OVA), and the selected installation settings (for example, full or basic installation).
33
+
34
+	**Note:**  The setup instructions in this guide use VMware Workstation Professional version 12.5.7.
35
+
36
+    ![Workstation version](images/ws_version.png)
37
+
38
+1. Decide whether to use the OVA or ISO distribution to set up Photon OS.
39
+
40
+    - **OVA import** : Because of the nature of an OVA, you're getting a pre-installed version of Photon OS. You can choose the hardware version you want (OVA with hardware version 13 or 11). The OVA benefits from a simple import process and some kernel tuning for VMware environments. However, because it's a pre-installed version, the set of packages that are installed are predetermined. Any additional packages that you need can be installed using tdnf.
41
+    - **ISO install** : The ISO, on the other hand, allows for a more complete installation or automated installation via kickstart.
42
+
43
+    To get Photon OS up and running quickly, use the OVA.
44
+    
45
+1. Download Photon OS. Go to the following Bintray URL and download the latest release of Photon OS:
46
+
47
+    [https://bintray.com/vmware/photon/](https://bintray.com/vmware/photon/)
48
+    
49
+    For instructions, see [Downloading Photon OS](Downloading-Photon-OS.md).
0 50
new file mode 100644
... ...
@@ -0,0 +1,60 @@
0
+# Remove Photon OS From Azure
1
+
2
+You can use the following delete.sh script to programmatically and silently remove the VM instance, VHD file, and container.
3
+
4
+Consider deleting idle VMs so that you are not charged when not in use.
5
+
6
+Before you run it, specify the following settings:
7
+
8
+- resource_group name (from step 1, above)
9
+- account_name (from step 2, above)
10
+- account_key (public or private) (from step 3, above)
11
+- container_name (from step 4, above)
12
+- public_key_file
13
+- vm_name of the Photon OS VHD distribution file
14
+
15
+**delete.sh**
16
+
17
+````
18
+#!/bin/bash
19
+vm_name=$1
20
+resource_group=&quot;&quot;
21
+account_name=&quot;&quot;
22
+account_key=&quot;&quot;
23
+container_name=&quot;mydisks&quot;
24
+url=&quot;https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd&quot;
25
+public_key_file=&quot;/root/azure_new/jenkins.pub&quot;
26
+exit_code=0
27
+echo &quot;##################&quot;
28
+echo &quot;#   Delete vm    #&quot;
29
+echo &quot;##################&quot;
30
+echo &quot;az vm list  --resource-group ${resource_group} ... ...&quot;
31
+/root/azure_new/bin/az vm list  --resource-group ${resource_group}
32
+echo &quot;az vm delete --resource-group ${resource_group} --name ${vm_name} --yes ... ...&quot;
33
+/root/azure_new/bin/az vm delete --resource-group ${resource_group} --name ${vm_name} --yes
34
+if [$? -ne 0];then
35
+   exit_code=1
36
+fi
37
+echo &quot;az vm list  --resource-group ${resource_group} ... ...&quot;
38
+/root/azure_new/bin/az vm list  --resource-group ${resource_group}
39
+echo &quot;##############$####&quot;
40
+echo &quot;#   Delete vhd    #&quot;
41
+echo &quot;###############$###&quot;
42
+echo &quot;az storage blob list --account-name ${account_name} --container-name ${container_name} ... ...&quot;
43
+/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name}
44
+echo &quot;az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd ... ...&quot;
45
+/root/azure_new/bin/az storage blob delete --account-name ${account_name} --container-name ${container_name} --name ${vm_name}.vhd
46
+if [$? -ne 0];then
47
+   exit_code=1
48
+fi
49
+echo &quot;az storage blob list --account-name ${account_name} --container-name ${container_name} ... ...&quot;
50
+/root/azure_new/bin/az storage blob list --account-name ${account_name} --container-name ${container_name}
51
+echo &quot;########################&quot;
52
+echo &quot;#   Delete container   #&quot;
53
+echo &quot;########################&quot;
54
+/root/azure_new/bin/az storage container delete --account-name ${account_name} --name ${container_name}
55
+/root/azure_new/bin/az storage container delete --account-name ${account_name} --name vhds
56
+exit ${exit_code}
57
+````
58
+
59
+You can now proceed to [Deploying a Containerized Application in Photon OS](deploying-a-containerized-application-in-photon-os-fusion.md).
0 60
\ No newline at end of file
1 61
new file mode 100644
... ...
@@ -0,0 +1,166 @@
0
+# Set Up Photon OS on EC2
1
+
2
+To run Photon OS on EC2, you must use cloud-init with an EC2 data source. The cloud-init service configures the cloud instance of a Linux image. An _instance_ is a virtual server in the Amazon cloud. 
3
+
4
+The examples in this section show how to generate SSH and RSA keys for your Photon instance, upload the Photon OS `.ami` image to the Amazon cloud, and configure it with cloud-init. In the examples, replace information with your own paths, account details, or other information from Amazon. 
5
+
6
+Perform the following steps to set up Photon OS on EC2
7
+
8
+1. Create a key pair.
9
+
10
+    Generate SSH keys on, for instance, an Ubuntu workstation: 
11
+        	
12
+    ```
13
+    ssh-keygen -f ~/.ssh/mykeypair
14
+    ```
15
+    
16
+    The command generates a public key in the file with a `.pub` extension and a private key in a file with no extension. Keep the private key file and remember the name of your key pair. The name is the file name of the two files without an extension. You will need the name later to connect to the Photon instance.
17
+    
18
+    Change the mode bits of the public key pair file to protect its security. In the command, include the path to the file if you need to.  
19
+    	
20
+    ```
21
+    chown 600 mykeypair.pub
22
+    ```
23
+    
24
+    Change the mode bits on your private key pair file so that only you can view it:  
25
+    	
26
+    ```
27
+    chmod 400 mykeypair
28
+    ```
29
+
30
+    To import your public key pair file, but not your private key pair file, connect to the EC2 console at https://console.aws.amazon.com/ec2/ and select the region for the key pair. A key pair works only in one region, and the instance of Photon OS that will be uploaded later must be in the same region as the key pair. Select `key pairs` under `Network & Security`, and then import the public key pair file that you generated earlier. 
31
+    
32
+    For more information, see [Importing Your Own Key Pair to Amazon EC2](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws).
33
+
34
+1. Generate a certificate.
35
+
36
+    When you bundle up an image for EC2, Amazon requires an RSA user signing certificate. You create the certificate by using openssl to first generate a private RSA key and then to generate the RSA certificate that references the private RSA key. Amazon uses the pairing of the private key and the user signing certificate for  handshake verification. 
37
+    
38
+    1. On Ubuntu 14.04 or another workstation that includes `openssl`, run the following command to generate a private key. If you change the name of the key, keep in mind that you will need to include the name of the key in the next command, which generates the certificate.
39
+       	
40
+        ```
41
+    openssl genrsa 2048 > myprivatersakey.pem
42
+    ```
43
+   
44
+        Make a note of your private key as you will need it again later. 
45
+    
46
+    1. Run the following command to generate the certificate. The command prompts you to provide more information, but because you are generating a user signing certificate, not a server certificate, you can just type `Enter` for each prompt to leave all the fields blank.
47
+    	
48
+        ```
49
+openssl req -new -x509 -nodes -sha256 -days 365 -key myprivatersakey.pem -outform PEM -out certificate.pem
50
+```
51
+   
52
+        For more information, see the Create a Private Key and the Create the User Signing Certificate sections of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle).
53
+    
54
+     1. Upload to AWS the certificate value from the `certificate.pem` file that you created in the previous command. Go to the Identity and Access Management console at https://console.aws.amazon.com/iam/, navigate to the name of your user, open the `Security Credentials` section, click `Manage Signing Certificates`, and then click `Upload Signing Certificate`. Open `certificate.pem` in a text editor, copy and paste the contents of the file into the `Certificate Body` field, and then click `Upload Signing Certificate`.
55
+    
56
+    For more information, see the Upload the User Signing Certificate section of [Setting Up the AMI Tools](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-up-ami-tools.html#ami-upload-bundle).
57
+
58
+1. Create a security group.
59
+
60
+    Create a security group and set it to allow SSH, HTTP, and HTTPS connections over ports 22, 80, and 443, respectively.
61
+    Connect to the EC2 command-line interface and run the following commands: 
62
+    
63
+    	aws ec2 create-security-group --group-name photon-sg --description "My Photon security group"
64
+    	{
65
+    	    "GroupId": "sg-d027efb4"
66
+    	}
67
+    	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 22 --cidr 0.0.0.0/0
68
+    
69
+    Make a note of the `GroupId` that is returned by EC2 as you will need it again later.
70
+    
71
+    By using `0.0.0.0/0` for SSH ingress on Port 22, you open the port to all IP addresses--which is not a security best practice but a convenience for the examples in this article. For a production instance or other instances that are anything more than temporary machines, you must authorize only a specific IP address or range of addresses. For more information, see [Authorizing Inbound Traffic for Linux Instances](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/authorizing-access-to-an-instance.html).
72
+    
73
+    Repeat the command to allow incoming traffic on Port 80 and on Port 443: 
74
+    
75
+    	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 80 --cidr 0.0.0.0/0
76
+    
77
+    	aws ec2 authorize-security-group-ingress --group-name photon-sg --protocol tcp --port 443 --cidr 0.0.0.0/0
78
+    
79
+    Check your update: 
80
+    
81
+    	aws ec2 describe-security-groups --group-names photon-sg
82
+
83
+1. Extract the tarball.
84
+
85
+    Make a directory to store the image and then extract the Photon OS image from its archive by running the following `tar` command. If required, change the file name to match the version you have.    
86
+    
87
+    	mkdir bundled
88
+    	tar -zxvf ./photon-ami.tar.gz
89
+
90
+1. Bundle the image.
91
+
92
+    Run the `ec2-bundle-image` command to create an instance store-backed Linux AMI from the Photon OS image that you extracted in the previous step. The result of the `ec2-bundle-image` command is a manifest that describes the machine in an XML file. 
93
+    
94
+    The command uses the certificate path to your PEM-encoded RSA public key certificate file, the path to your PEM-encoded RSA private key file, your EC2 user account ID; the correct architecture for Photon OS, the path to the Photon OS AMI image extracted from its tar file, and the `bundled` directory from the previous step. 
95
+    
96
+    Replace the values of the certificate path, the private key, and the user account with your own values.
97
+    
98
+    	$ ec2-bundle-image --cert certificate.pem --privatekey myprivatersakey.pem --user <EC2 account id>  --arch x86_64 --image photon-ami.raw --destination ./bundled/
99
+
100
+1. Put the bundle in a bucket.
101
+
102
+    Make an S3 bucket, replacing `<bucket-name>` with the name that you want. The command creates the bucket in the region specified in your Amazon configuration file, which should be the same region in which you are using your key pair file: 
103
+    
104
+    	$ aws s3 mb s3://<bucket-name>
105
+    
106
+    Upload the bundle to the Amazon S3 cloud. The following command includes the path to the XML file containing the manifest for the Photon OS machine created during the previous step, though you might have to change the file name to match the version you have. The manifest file is typically located in the same directory as the bundle. 
107
+    
108
+    The command also includes the name of the Amazon S3 bucket in which the bundle is to be stored; your AWS access key ID; and your AWS secret access key.
109
+    
110
+    	$ ec2-upload-bundle --manifest ./bundled/photon-ami.manifest.xml --bucket <bucket-name> --access-key <Account Access Key> --secret-key <Account Secret key>
111
+
112
+1. Register the Image
113
+
114
+    Run the following command to register the image. The command includes a name for the AMI, its architecture, and its virtualization type. The virtualization type for Photon OS is `hvm`.
115
+    
116
+    	$ ec2-register <bucket-name>/photon-ami.manifest.xml --name photon-ami --architecture x86_64 --virtualization-type hvm
117
+    
118
+    Once the image is registered, you can launch as many new instances as you require.
119
+
120
+1. Run an instance of the image with Cloud-Init.
121
+
122
+    In the below command, the `user-data-file` option instructs cloud-init to import the cloud-config data in `user-data.txt`.  
123
+    
124
+    Before you run the command, change directories to the directory containing the `mykeypair` file and add the path to the `user-data.txt`. 
125
+    
126
+    	$ ec2-run-instances <ami-ID> --instance-type m3.medium -g photon-sg --key mykeypair --user-data-file user-data.txt
127
+    
128
+    The command also includes the ID of the AMI, which you can obtain by running `ec2-describe-images`. Replace the instance type of `m3.medium` and the name of key pair with your own values to be able to connect to the instance. 
129
+    
130
+    The following are the contents of the `user-data.txt` file that `cloud-init` applies to the machine the first time it boots up in the cloud.  
131
+    
132
+    	#cloud-config
133
+    	hostname: photon-on-01
134
+    	groups:
135
+    	- cloud-admins
136
+    	- cloud-users
137
+    	users:
138
+    	- default
139
+    	- name: photonadmin
140
+    	   gecos: photon test admin user
141
+    	   primary-group: cloud-admins
142
+    	   groups: cloud-users
143
+    	   lock-passwd: false
144
+    	   passwd: vmware
145
+    	- name: photonuser
146
+    	   gecos: photon test user
147
+    	   primary-group: cloud-users
148
+    	   groups: users
149
+    	   passwd: vmware
150
+    	packages:
151
+    	- vim
152
+
153
+1. Get the IP address of your image.
154
+
155
+    Run the following command to check on the state of the instance that you launched: 
156
+    
157
+    	$ ec2-describe-instances
158
+    
159
+    Obtain the external IP address of the instance by running the following query: 
160
+    
161
+    	$ aws ec2 describe-instances --instance-ids <instance-id> --query 'Reservations[*].Instances[*].PublicIpAddress' --output=text
162
+    
163
+Optionally, check the cloud-init output log file on EC2 at `/var/log/cloud-init-output.log` to see how EC2 handles the settings in the cloud-init data file. 
164
+    
165
+For more information on using cloud-init user data on EC2, see [Running Commands on Your Linux Instance at Launch](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html).
0 166
\ No newline at end of file
1 167
new file mode 100644
... ...
@@ -0,0 +1,126 @@
0
+# Set Up Azure Storage and Uploading the VHD
1
+
2
+You can use either the Azure Portal or the Azure CLI to set up your Azure storage space, upload the Photon OS VHD file, and create the Photon OS VM.
3
+
4
+## Setting Up Using the Azure Portal
5
+
6
+You can use the Azure portal to set up Photon OS 2.0 in the Azure cloud. The following instructions are brief. Refer to the Azure documentation for details.
7
+
8
+1. Log in to the Azure portal at  [http://portal.azure.com](http://portal.azure.com/).
9
+2. Create a resource group. In the toolbar, choose Resource Groups, click **+Add** , fill in the resource group fields, and choose **Create**.
10
+3. Create a storage account. In the toolbar, choose Storage Accounts, click **+Add** , fill in the storage account fields (and the resource group you just created), and choose **Create**.
11
+4. Select the storage account.
12
+5. Scroll down the storage account control bar, click Containers (below BLOB SERVICE), click **+Container** , fill in the container fields, and choose **Create**.
13
+6. Select the container you just created.
14
+7. Click **Upload** and upload the Photon OS VHD image file to this container.
15
+8. Once the VHD file is uploaded, refer to the Azure documentation for instructions on how to create and manage your Photon OS VM.
16
+
17
+## Setting Up Using the Azure CLI
18
+
19
+You can use the Azure CLI 2.0 to set up Photon OS. 
20
+
21
+**Note:**  Except where overridden with parameter values, these commands create objects with default settings.
22
+
23
+1. Create a resource group.
24
+
25
+    From the Azure CLI, create a resource group.
26
+    ````
27
+    az group create \
28
+     --name &lt;your_resource_group&gt; \
29
+     --location westus
30
+    ````
31
+
32
+1. Create a storage account
33
+
34
+    Create a storage account associated with this resource group.
35
+    ````
36
+    az storage account create \
37
+        --resource-group &lt;your_resource_group&gt; \
38
+        --location westus \
39
+        --name &lt;your_account_name&gt; \
40
+        --kind Storage \
41
+        --sku Standard_LRS
42
+    ````
43
+
44
+1. List the Keys for the Storage Account
45
+
46
+    Retrieve the keys associated with your newly created storage account.
47
+    ````
48
+    az storage account keys list \
49
+        --resource-group &lt;your_resource_group&gt; \
50
+        --account-name &lt;your_account_name&gt;
51
+    ````
52
+    
53
+1. Create the Storage Container
54
+
55
+    Create a storage container associated with your newly created storage account.
56
+    
57
+    **Note:** The sample create.sh script, described below, does this for you programmatically.
58
+    ````
59
+    az storage container create \
60
+        --account-name &lt;your_account_name&gt; \
61
+        --name &lt;your_container_name&gt;
62
+    ````
63
+1. Verify Your Setup in the Azure Portal
64
+
65
+    1. Log into the Azure portal using your account credentials.
66
+    2. From the left toolbar, click **Storage Accounts**. You should see your storage accounts.
67
+    3. Select the storage account.
68
+    4. Scroll down the storage account control bar and click **Containers** (below BLOB SERVICE). You should see the container you created.
69
+
70
+1. Upload the Photon OS Distribution to Your Storage Container
71
+
72
+    The Photon OS distribution for Azure is 16GB. You can download it locally or to a mounted, shared location.
73
+    ````
74
+    az storage blob upload \
75
+        --account-name &lt;your_account_name&gt; \
76
+        --account-key &lt;your_account_key&gt; \
77
+        --container-name &lt;your_container_name&gt; \
78
+        --type page \
79
+        --file &lt;vhd_path&gt; \
80
+        --name &lt;vm_name&gt;.vhd
81
+    ````
82
+
83
+### Example Setup Script
84
+
85
+You can use the following script (create.sh) to upload your VHD file programmatically and create the VM. Before you run it, specify the following settings:
86
+
87
+- resource_group name
88
+- account_name
89
+- account_key (public or private)
90
+- container_name
91
+- public_key_file
92
+- vhd_path and and vm_name of the Photon OS VHD distribution file
93
+
94
+The following script returns the complete IP address of the newly created VM.
95
+````
96
+#!/bin/bash
97
+vhd_path=$1
98
+vm_name=$2
99
+export PATH=$PATH:/root/azure_new/bin/az
100
+echo PATH=$PATH
101
+resource_group=&quot;&quot;
102
+account_name=&quot;&quot;
103
+account_key=&quot;&quot;
104
+container_name=&quot;mydisks&quot;
105
+url=&quot;https://${account_name}.blob.core.windows.net/${container_name}/${vm_name}.vhd&quot;
106
+public_key_file=&quot;/root/azure_new/jenkins.pub&quot;
107
+echo &quot;########################&quot;
108
+echo &quot;#   Create container   #&quot;
109
+echo &quot;########################&quot;
110
+/root/azure_new/bin/az storage container create --account-name ${account_name} --name ${container_name}
111
+echo &quot;##################&quot;
112
+echo &quot;#   Upload vhd   #&quot;
113
+echo &quot;##################&quot;
114
+/root/azure_new/bin/az storage blob upload --account-name ${account_name} \
115
+    --account-key ${account_key} \
116
+    --container-name ${container_name} \
117
+    --type page \
118
+    --file ${vhd_path} \
119
+    --name ${vm_name}.vhd
120
+echo &quot;##################&quot;
121
+echo &quot;#   Create vm    #&quot;
122
+echo &quot;##################&quot;
123
+echo &quot;az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk ... ...&quot;
124
+/root/azure_new/bin/az vm create --resource-group ${resource_group} --location westus --name ${vm_name} --storage-account ${account_name} --os-type linux --admin-username michellew --ssh-key-value ${public_key_file} --image ${url} --use-unmanaged-disk
125
+````
0 126
new file mode 100644
... ...
@@ -0,0 +1,17 @@
0
+# Terminate the AMI Instance
1
+
2
+Because Amazon charges you while the instance is running, you must shut it down when you have finsihed using it.  
3
+
4
+1. Get the ID of the AMI so you can terminate it:
5
+	
6
+    ```
7
+$ ec2-describe-instances
8
+```
9
+
10
+1. Terminate the Photon OS instance by running the following command: 
11
+	
12
+    ```
13
+$ ec2-terminate-instances <instance-id>
14
+```
15
+
16
+    Replace the placeholder with the ID that the `ec2-describe-images` command returned. If you ran a second instance of Photon OS with the cloud-init file that runs docker, terminate that instance as well.
0 17
\ No newline at end of file
1 18
new file mode 100644
... ...
@@ -0,0 +1,16 @@
0
+# Use Cached Sources
1
+
2
+To use the cached sources, run the following command:
3
+
4
+```
5
+mkdir $HOME/photon-sources
6
+sudo make iso PHOTON_SOURCES_PATH=$HOME/photon-sources
7
+```
8
+The directory format of `PHOTON_SOURCES_PATH` is as follows:
9
+
10
+```
11
+photon-sources/
12
+├──src1.tar.gz
13
+├──src2.tar.gz
14
+└──...
15
+```
0 16
new file mode 100644
... ...
@@ -0,0 +1,7 @@
0
+# View Build Logs
1
+
2
+You can view build logs at the following location:
3
+
4
+```
5
+$HOME/workspaces/photon/stage/LOGS
6
+```