Resetting the Photon Controller Deployer configuration

PHOTON_square140As mentioned previously, I’m spending some time these days working on the Photon Controller product. Right now, I’m just familiarizing myself with it as much as possible. As I try different things, and test various options, I find that I repeatedly need to reset the Photon Controller Deployer to allow me to start a new Photon Controller. The Deployer is simply used to roll-out Photon Controller initially. It is not needed after that initial deployment step. In case you are involved in something similar, I added the steps here. Hopefully you will find them useful.

*** Please note that at the time of writing, Photon Controller is still not GA ***

*** The steps highlighted here may change in the GA version of the product ***

The first thing to note is that you cannot deploy multiple controllers from the same management appliance; you need to remove the old deployment and create a new one. If you don’t you will hit an error similar to this:

photon controller deployment already existsOk – so how do you reset it back to a vanilla configuration? First, you need to SSH to the Photon Controller Deployer appliance. You can login as user “esxcloud” with the default password “vmware”. Then you need to become superuser using “su -“, and provide the password credentials that you provided when you did the initial deployment of the deployer appliance. Now you need to run the following commands to clean up the previous configuration:

[ ~ ]# rm -rf /etc/esxcloud/deployer/deployer/sandbox_18000/
[ ~ ]# rm -rf /etc/esxcloud/cloud-store/cloud-store/sandbox_19000/
[ ~ ]# reboot

The reboot will be very quick. However if you try to deploy a new Photon Controller straight away, you will hit the same issue as I hit, namely a “t.data is null” failure during the initial Add hosts step:

t.data is nullOk, this is not a very helpful error message, but it boils down to the fact that one of the containers on the Photon Controller Deployer is not running. The container in question is the “installer_ui” container. You must restart it manually. SSH back to the Deployer appliance, and run the following commands as user “esxcloud” (scroll/slide right to see the full output):

esxcloud [ ~ ]$ docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                            PORTS               NAMES
3a002da677db        esxcloud/installer_ui     "/bin/sh -c 'sh /etc/"   2 days ago          Exited (137) About a minute ago                       ui_installer
dff68fdb8e92        esxcloud/cloud-store      "bash /etc/esxcloud/r"   2 days ago          Up About a minute                                     cloud-store_installer
05ccbefd05e3        esxcloud/housekeeper      "bash /etc/esxcloud/r"   2 days ago          Up About a minute                                     housekeeper_installer
5f8690fa305b        esxcloud/deployer         "bash /etc/esxcloud/r"   2 days ago          Up About a minute                                     deployer_installer
e677a66bcf20        esxcloud/management-api   "bash /etc/esxcloud/r"   2 days ago          Up About a minute                                     management-api_installer
37a2c29482dd        esxcloud/zookeeper        "bash /etc/esxcloud/r"   2 days ago          Up About a minute                                     zookeeper_installer
esxcloud [ ~ ]$ docker restart 3a002da677db
3a002da677db
esxcloud [ ~ ]$ docker ps -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS              PORTS               NAMES
3a002da677db        esxcloud/installer_ui     "/bin/sh -c 'sh /etc/"   2 days ago          Up 1 seconds                            ui_installer
dff68fdb8e92        esxcloud/cloud-store      "bash /etc/esxcloud/r"   2 days ago          Up About a minute                       cloud-store_installer
05ccbefd05e3        esxcloud/housekeeper      "bash /etc/esxcloud/r"   2 days ago          Up About a minute                       housekeeper_installer
5f8690fa305b        esxcloud/deployer         "bash /etc/esxcloud/r"   2 days ago          Up About a minute                       deployer_installer
e677a66bcf20        esxcloud/management-api   "bash /etc/esxcloud/r"   2 days ago          Up About a minute                       management-api_installer
37a2c29482dd        esxcloud/zookeeper        "bash /etc/esxcloud/r"   2 days ago          Up About a minute                       zookeeper_installer
esxcloud [ ~ ]$ 

Now you should be able to start a new Photon Controller deployment.

One comment
  1. Or (I had to do this many, many times!) deploy the installer VM, take a snapshot BEFORE the first power on (so you don’t have to remember to start the installer_ui on each boot), then just roll back to the snapshot each time you need to re-deploy/deploy another controller, this way you can deploy multiple controllers from the same appliance.

Comments are closed.