I have recently tried to play with Photon OS and here are some my notes.
IP SettingsNetwork configuration files are in directory
/etc/systemd/network/IP settings are leased from DHCP by default. It is configured in file /etc/systemd/network/10-dhcp-en.network
File contains following config
[Match]To use static IP settings it is good to move DHCP config file down in alphabetical order and create config file with static IP settings.
mv 10-dhcp-en.network 99-dhcp-en.networkcp 99-dhcp-en.network 10-static-en.networkfile /etc/systemd/network/10-static-en.network should looks similar to
Network can be restarted by command
systemctl restart systemd-networkdand network settings can be checked by command
Package managementPhoton OS uses TDNF (Tiny DNF) package manager. It is based on Fedora's DNF. This is a development by VMware that comes with compatible repository and package management capabilities. Note that not every dnf command is available but the basic ones are there.
- tdnf install libxml2
- tdnf install openssl-devel
- tdnf install binutils
- tdnf install pkg-config
- tdnf perl-Crypt-SSLeay
- tdnf install cpan
- tdnf libuuid-devel
- tdnf install make
Log ManagementYou will not find typical linux /var/log/messages
Instead, journald is used and you have to use command journalctl
Equivalent to tail -f /var/log/messages is
System servicesSystem services are control by command systemctl
To check service status use
systemctl status dockerTo start service use
systemctl start dockerTo enable service after system start use
systemctl enable docker
Docker and containerized PowerCLIOne of key use cases for Photon OS is to be a docker host, therefore, docker is preinstalled in Photon OS. You can see further Docker information by command
docker infoIf Docker is running on your system, you can very quickly spin up docker container. Let's use example of containerized PowerCLI. To download container image from DockerHup use command
docker pull vmware/powerclicoreto check all downloaded images use the command
docker images -a
root@photon-machine [ ~ ]# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE vmware/powerclicore latest a8e3349371c5 6 weeks ago 610 MB root@photon-machine [ ~ ]#
Now you can run powercli container interactively (-i) and in allocated pseudo-TTY (-t). Option -rm stands for "Automatically remove the container when it exits".
docker run --rm -it vmware/powerclicore
root@photon-machine [ ~ ]# docker run --rm -it --name powercli vmware/powerclicore PowerShell Copyright (C) Microsoft Corporation. All rights reserved.erclicore --name powercl Welcome to VMware vSphere PowerCLI! Log in to a vCenter Server or ESX host: Connect-VIServer To find out what commands are available, type: Get-VICommand Once you've connected, display all virtual machines: Get-VM Copyright (C) VMware, Inc. All rights reserved. Loading personal and system profiles took 3083ms. PS /powershell#
Now you can use PowerCLI running on linux container. The very first PowerCLI command is usually Connect-VIServer, but you can get following warning and error messages
PS /powershell> Connect-VIServer cmdlet Connect-VIServer at command pipeline position 1 Supply values for the following parameters: Server: vc01.home.uw.cz Specify Credential Please specify server credential User: cdave Password for user cdave: ********* WARNING: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add a permanent exception for this server. Connect-VIServer : 06/07/2017 19:25:44 Connect-VIServer An error occurred while sending the request. At line:1 char:1 + Connect-VIServer + ~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Connect-VIServer], ViError + FullyQualifiedErrorId : Client20_ConnectivityServiceImpl_Reconnect_Exception,VMware.VimAutomation.ViCore.Cmdlets.Commands.ConnectVIServer PS /powershell>
To solve the problem you have to adjust PowerCLI configuration by
Set-PowerCLIConfiguration -InvalidCertificateAction ignore -confirm:$false -scope AllThe command above changes PowerCLI configuration for all users.
To use other docker commands you can open another ssh session, and for example list running containers
root@photon-machine [ ~ ]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 6ecccf77891e vmware/powerclicore "powershell" 7 minutes ago Up 7 minutes powercli root@photon-machine [ ~ ]#
... or issue any other docker command.
That's cool, isn't it?