はじめに

Insight of ~ ではなく Insight into ~ が普通の言い回し.. Orz

Photon Controller の Getting Started Guide には VMware Fusion 向けの Photon Controller 全部入りアプライアンスのダウンロードリンクがあります。しかしながら、このアプライアンスに含まれている Photon Controller は Github 上で公開されているコードよりも古いものであり、すでに公開されて 2 ヶ月が経とうとしている Photon Controller の現在の master からは別物になってきています。

特に Cluster Manager。

このエントリーでは、Photon Controller の最新のコードツリーから、Photon Controller の全コンポーネントを一つの仮想アプライアンスに詰め込んだ Devbox をビルドするところまでを追っていきます。

単純な構成でのビルド環境

Devbox は devbox ディレクトリの Vagrantfile を使って作成します。この Vagrantfile は Shell Provisioning の塊で

  • Photon Controller ビルド用コンテナを起動
  • ビルド用のコンテナ内でコンパイル & パッケージング
  • Devbox の各コンテナ作成
  • Devbox の各コンテナ起動

といった作業を自動化しています。

コンテナでビルドするのは、環境の微妙な差異で嵌まることがなくなるので、非常に良いアイディアだと思うのですよ…。

前提

以下のソフトウェアがインストールされていること。

私の環境では Vagrant 1.8.0、VirtualBox 5.0.10 r104061 で確認しています。

ビルド方法

適当なフォルダに Photon Controller のローカルリポジトリを作成し、ここからビルドしていきます。ビルドといっても Vagrantfile の Shell Provisioning 部分に処理が集中しているため、ユーザーが実行するのは、実質 vagrant up のみと非常にシンプルなモノです。

    % mkdir -p ~/tmp/devbox
    % cd ~/tmp/devbox
    % git clone https://github.com/vmware/photon-controller.git
    % cd photon-controller/devbox-photon
    % vagrant up

記事の最後にビルドのログ (VMware Fusion 上の ESXi と接続する構成でのビルド) を載せておきます。

これで開発向けの Photon Controller の各種プロセスを含むコンテナを保持する VirtualBox イメージができあがります。MacbookPro Retina Early 2015 (3.1GHz、2cores、HT) で 7 分弱掛かりました。

Devbox のビルドでは、ローカルリポジトリがソースとしてコンパイルされます。つまり、自身で適当に処理を追加したコードで Devbox を作成できるので、動作の詳細を追ったり、コンテナクラスタ周りの動作を変えたいといった場合に便利に利用できます。

Devbox の動作確認

まず、コンテナが動作しているかを確認します。su のパスワードは “vmware” になります。

    % vagrant ssh
    vagrant [ ~ ]$ su
    Password:
    bash-4.3# docker ps
    CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS               NAMES
    5eab68c1edf1        devbox/cloud_store      "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_cloud_store_container
    0e7f1cfc45f8        devbox/deployer         "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_deployer_container
    9775662a6690        devbox/housekeeper      "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_housekeeper_container
    cbd272a2a2b5        devbox/root_scheduler   "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_root_scheduler_container
    69f274e799e8        devbox/chairman         "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_chairman_container
    ea6bc6115b8a        devbox/management_api   "/bin/bash /etc/esxcl"   6 days ago          Up About a minute                       devbox_management_api_container
    640a34df08d0        devbox/haproxy          "/bin/bash /etc/hapro"   6 days ago          Up About a minute                       devbox_haproxy_container
    c18a8148f7cc        devbox/zookeeper        "/bin/bash /usr/lib/z"   6 days ago          Up About a minute                       devbox_zookeeper_container
    bash-4.3# exit
    exit
    vagrant [ ~ ]$ exit
    logout
    Connection to 127.0.0.1 closed.
    %

次にブラウザで http://localhost:9080/api にアクセスします。このポート番号は、Vagrantfile で NAT が設定されており、仮想アプライアンスの ポート 9000 にフォワードされます。つまり http://localhost:9080/api は Devbox の http://localhost:9000/api にフォワードされ、API FrontEnd の Swagger UI が表示されます。RESTful API に慣れている人は、この画面をドリルダウンするだけで、かなりのことを把握できるのではないかと思います。

もう一押し、curl で Photon Controller の状態を確認します。Getting Started Guide にある Go 言語で実装された CLI バイナリを使っても良いかも知れません。ここでは整形とカラーリングのために jq コマンドを利用しています。python -m json.tool にパイプしても良いでしょう。

    % curl -s -S -X GET http://localhost:9080/status | jq .
    {
      "components": [
        {
          "component": "HOUSEKEEPER",
          "status": "READY",
          "instances": [
            {
              "address": "localhost/127.0.0.1:16000",
              "status": "READY",
              "buildInfo": "version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 03 14:31:38 UTC 2016"
            }
          ],
          "stats": {
            "READY": "1"
          }
        },
        {
          "component": "CHAIRMAN",
          "status": "READY",
          "instances": [
            {
              "address": "localhost/127.0.0.1:13000",
              "status": "READY",
              "buildInfo": "version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 03 14:31:37 UTC 2016"
            }
          ],
          "stats": {
            "READY": "1"
          }
        },
        {
          "component": "ROOT_SCHEDULER",
          "status": "READY",
          "instances": [
            {
              "address": "localhost/127.0.0.1:13010",
              "status": "READY"
            }
          ],
          "stats": {
            "READY": "1"
          }
        },
        {
          "component": "DEPLOYER",
          "status": "READY",
          "instances": [
            {
              "address": "localhost/127.0.0.1:18000",
              "status": "READY",
              "buildInfo": "version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 03 14:31:38 UTC 2016"
            }
          ],
          "stats": {
            "READY": "1"
          }
        },
        {
          "component": "CLOUD_STORE",
          "status": "READY",
          "instances": [
            {
              "address": "localhost/127.0.0.1:19000",
              "status": "READY",
              "buildInfo": "version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 03 14:31:37 UTC 2016"
            }
          ],
          "stats": {
            "READY": "1"
          }
        }
      ],
      "status": "READY"
    }

以下は、Photon CLI での実行結果です。API FrontEnd の URL を target に設定し、ステータスを確認しています。

    % photon-cli target set http://localhost:9080
    API target set to 'http://localhost:9080'
    % photon-cli system status
    Using target 'http://localhost:9080'
    Overall status: READY
    
    Component       Status
    HOUSEKEEPER     READY
    CHAIRMAN        READY
    ROOT_SCHEDULER  READY
    DEPLOYER        READY
    CLOUD_STORE     READY
    %

問題点

確かに Devbox はこれで作成できるのですが、ネットワークが VirtualBox の NAT 接続となっており、他のネットワーク エンティティから Devbox に接続できません。例えば ESXi 上の Photon Controller Agent から Devbox 内の Chairman に通信できないため、ESXi を Photon Controller に認識させることにすら辿り着けません。

ESXi も Nested ESXi として VirtualBox にインストールすれば、確かに通信はできるでしょうが Nested Hypervisor に VirtualBox は対応していません。手元の Mac 一台で、Photon Controller の Devbox と ESXi を連携させるためには、Oracle VirtualBox と VMware Fusion を同居させるという多少の荒行が必要になります。

これが受け容れられない場合は、別サーバーの ESXi か 別 PC/Mac 上の Nested ESXi と合わせての構成をご検討下さいませ。原因を解決するところまで辿り着けていませんが、VMware Fusion の ESXi と VirtualBox 上の Devbox の通信経路が途絶えることがしばしばある (特にサスペンドからの復帰時) ので、ちょいちょい再起動で誤魔化しています。

VMware Fusion 上の ESXi と接続する構成でのビルド

前提

VMware Fusion と Oracle VirtualBox の共存は非常にキモいところです。しかし、Photon Controller と ESXi を同一の Mac 上で動かすためにはやむを得ません。

  • Photon Controller Devbox の Vagrant Shell Provisioning が VirtualBox を前提としてる
  • Oracle VirtualBox が Intel VT-x に対応しておらず Nested Hypervisor を稼働できない

ということで、1 台の Mac 上で Photon Controller を試しきるために、VMware Fusion と Oracle VirtualBox の共存を試みます。

もちろん Devbox を VMware Fusion でビルドできるように Vagrantfile を修正すべしという話はありますが、Vagrant の VMware Plugin のお値段が… $79 (2016/01/10 現在) とか お〜えすえす企業 コワイ。

解決

2 つのデスクトップハイパーバイザーを混ぜることで、色々解決方法はあるかと思います。このエントリでは Devbox の 2 個目の NIC を追加し、これを VMware Fusion の vmnet8 インターフェースにブリッジさせることで、Oracle VirtualBox 上の Devbox と VMware Fusion 上の ESXi の疎通を計ります。

構成

前述の内容を図にすると以下のようになります。

Devbox の 2 個目の NIC を vmnet8 にブリッジさせるところが肝になります。私の環境の vmnet8 ネットワークのアドレスは、

  • Class A を使いたい
  • 10.0.0.0/8 は諸般事情で厳しい。Class B の 172.16.0.0/16 も同様。
  • 縁の無さそうな組織のネットワークアドレスから拝借

というダメ エンジニア的思考で 22.0.0.0/8 となっており、お行儀がよろしくないので適宜アドレスを設定をお願い致します。

環境変数

Devbox をビルドする際に利用できる環境変数は devbox-photon/README.md に記載されています。かなり数が多いのですが、ここでは今回利用するものに絞って紹介致します。

環境変数 値の例 説明
PUBLIC_NETWORK_IP 22.31.1.1 Devbox の 2 個目の NIC の IP アドレス
PUBLIC_NETWORK_NETMASK 22.0.0.0 Devbox の 2 個目の NIC のネットマスク
PUBLIC_NETWORK_GATEWAY 22.255.255.254 Devbox の 2 個目の NIC のゲートウェイ
REAL_AGENT true Fake Agent でなく実施の ESXi を対象とするためのオプション。ここでは Nested とはいえ実際の ESXi を利用するので true
ESXI_IP 22.31.1.101 OVA/OVF で仮想マシンのイメージをアップロードする先の ESXi の IP アドレス。API FrontEnd の設定ファイルに反映される。
ESX_DATASTORE datastore1 OVA/OVF で仮想マシンのイメージをアップロードする先の ESXi のデータストア名。VMware Fusion で Nested ESXi で作成するとデフォルトで HDD 40GB となるのでこれで十分。必要に応じて容量や名前を変更して下さい。
BRIDGE_NETWORK vmnet8 Devbox の 2 個目の NIC をブリッジさせるネットワーク インターフェース名。ifconfig で表示される名前を指定する。

確認

上記環境変数が設定されていることを確認し、vagrant up をやり直します。

% vagrant destroy -f ; vagrant up
% photon-cli target set http://22.31.1.1:9000
API target set to 'http://22.31.1.1:9000'
% photon-cli system status
Using target 'http://22.31.1.1:9000'
Overall status: READY

Component       Status
HOUSEKEEPER     READY
CHAIRMAN        READY
ROOT_SCHEDULER  READY
DEPLOYER        READY
CLOUD_STORE     READY
%

おわりに

これで ESXi と Photon Controller Devbox が通信できるところまで辿り着けました。次のエントリでは、ESXi ホストを Photon Controller に追加し、CloudStore を curl で弄りながら仮想マシンを展開するところまでを辿ります。

vagrant up によるビルドログ

    % vagrant up
    Bringing machine 'photon' up with 'virtualbox' provider...
    ==> photon: Importing base box 'photon-devbox-28'...
    ==> photon: Matching MAC address for NAT networking...
    ==> photon: Setting the name of the VM: devbox-photon_photon_1452423790128_68519
    ==> photon: Clearing any previously set network interfaces...
    ==> photon: Preparing network interfaces based on configuration...
        photon: Adapter 1: nat
        photon: Adapter 2: bridged
    ==> photon: Forwarding ports...
        photon: 8080 (guest) => 9180 (host) (adapter 1)
        photon: 9000 (guest) => 9080 (host) (adapter 1)
        photon: 8082 (guest) => 9082 (host) (adapter 1)
        photon: 2003 (guest) => 9083 (host) (adapter 1)
        photon: 2004 (guest) => 9084 (host) (adapter 1)
        photon: 2181 (guest) => 9085 (host) (adapter 1)
        photon: 13000 (guest) => 9086 (host) (adapter 1)
        photon: 18000 (guest) => 9088 (host) (adapter 1)
        photon: 443 (guest) => 9089 (host) (adapter 1)
        photon: 8080 (guest) => 9090 (host) (adapter 1)
        photon: 22 (guest) => 2222 (host) (adapter 1)
    ==> photon: Running 'pre-boot' VM customizations...
    ==> photon: Booting VM...
    ==> photon: Waiting for machine to boot. This may take a few minutes...
        photon: SSH address: 127.0.0.1:2222
        photon: SSH username: vagrant
        photon: SSH auth method: private key
        photon:
        photon: Vagrant insecure key detected. Vagrant will automatically replace
        photon: this with a newly generated keypair for better security.
        photon:
        photon: Inserting generated public key within guest...
        photon: Removing insecure key from the guest if it's present...
        photon: Key inserted! Disconnecting and reconnecting using new SSH key...
    ==> photon: Machine booted and ready!
    ==> photon: Checking for guest additions in VM...
        photon: The guest additions on this VM do not match the installed version of
        photon: VirtualBox! In most cases this is fine, but in rare cases it can
        photon: prevent things such as shared folders from working properly. If you see
        photon: shared folder errors, please make sure the guest additions within the
        photon: virtual machine match the version of VirtualBox you have installed on
        photon: your host and reload your VM.
        photon:
        photon: Guest Additions Version: 4.3.26
        photon: VirtualBox Version: 5.0
    ==> photon: Setting hostname...
    ==> photon: Configuring and enabling network interfaces...
    ==> photon: Mounting shared folders...
        photon: /gradle => /Users/mohisa/.gradle/devbox-local
        photon: /vagrant => /Users/mohisa/tmp/devbox/photon-controller/devbox-photon
        photon: /home_data => /Users/mohisa
        photon: /devbox_data => /Users/mohisa/tmp/devbox/photon-controller
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: Cleaning up devbox...
    ==> photon: ++ echo 'Cleaning up devbox...'
    ==> photon: +++ docker ps -q
    ==> photon: ++ '[' '!' -z '' ']'
    ==> photon: +++ docker ps -a -q
    ==> photon: ++ '[' '!' -z '' ']'
    ==> photon: ++ echo 'Cleanup done.'
    ==> photon: Cleanup done.
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ ip route del default
    ==> photon: ++ ip route add default via 22.255.255.254 dev enp0s8
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /var/lib/devbox/build ']'
    ==> photon: ++ mkdir -p /var/lib/devbox/build
    ==> photon: ++ cp -r /vagrant/container-artifacts/agent /vagrant/container-artifacts/compile /vagrant/container-artifacts/service /var/lib/devbox/build
    ==> photon: ++ '[' '!' -d /tmp/devbox_datastore ']'
    ==> photon: ++ mkdir -p /tmp/devbox_datastore
    ==> photon: ++ '[' '!' -f /usr/bin/docker ']'
    ==> photon: ++ groupadd -f docker
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ chmod -R 777 /var/log/
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ mkdir /esxcloud
    ==> photon: ++ cd /devbox_data
    ==> photon: ++ cd /esxcloud
    ==> photon: ++ tar xf -
    ==> photon: ++ tar cf - --exclude=tmp/ '--exclude=java/*/build' --exclude=.idea '--exclude=*.iml' --exclude=.ruby .
    ==> photon:
    ==> photon: real    0m5.548s
    ==> photon: user    0m0.375s
    ==> photon: sys 0m0.983s
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ chmod a+x /var/lib/devbox/build/agent/agent_compile_install.sh
    ==> photon: ++ docker run -v /esxcloud:/esxcloud --name agent_compile_install_container -v /var/lib/devbox/build/agent:/etc/esxcloud/agent devbox/compileservices /etc/esxcloud/agent/agent_compile_install.sh
    ==> photon: + export TERM=vt100
    ==> photon: + TERM=vt100
    ==> photon: + sed -i 's/$BINARIES\/bin\/vibauthor/vibauthor/' /esxcloud/python/vib/create_vib.sh
    ==> photon: + cd /esxcloud/python
    ==> photon: + make clean dist
    ==> photon: Clean src/gen-thrift
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/gen-thrift'
    ==> photon: Makefile:56: warning: overriding commands for target `gen/common/__init__.py'
    ==> photon: Makefile:53: warning: ignoring old commands for target `gen/common/__init__.py'
    ==> photon: rm -rf dist   photon.controller.gen.thrift.egg-info gen
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/gen-thrift'
    ==> photon: Clean src/scheduler
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/scheduler'
    ==> photon: rm -rf dist   photon.controller.scheduler.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/scheduler'
    ==> photon: Clean src/common
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/common'
    ==> photon: rm -rf dist   photon.controller.common.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/common'
    ==> photon: Clean src/tools
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tools'
    ==> photon: rm -rf dist   photon.controller.tools.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tools'
    ==> photon: Clean src/pthrift
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pthrift'
    ==> photon: rm -rf dist   photon.controller.pthrift.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pthrift'
    ==> photon: Clean src/host
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/host'
    ==> photon: rm -rf dist   photon.controller.host.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/host'
    ==> photon: Clean src/tserver
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tserver'
    ==> photon: rm -rf dist   photon.controller.tserver.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tserver'
    ==> photon: Clean src/pysdk
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pysdk'
    ==> photon: rm -rf dist   photon.controller.pysdk.egg-info
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pysdk'
    ==> photon: Clean src/agent
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/agent'
    ==> photon: rm -rf dist   photon.controller.agent.egg-info ../../develop/photon.controller.agent.log
    ==> photon: find . -name '*.pyc' -exec rm -rf {} \;
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/agent'
    ==> photon: rm -rf dist develop develop_tools
    ==> photon: Dist src/gen-thrift
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/gen-thrift'
    ==> photon: Makefile:56: warning: overriding commands for target `gen/common/__init__.py'
    ==> photon: Makefile:53: warning: ignoring old commands for target `gen/common/__init__.py'
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/chairman.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/hypervisor/esx.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/hypervisor/fake.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/root_scheduler.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . thrift/echo.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/statsd/statsd.thrift
    ==> photon: rm -f __init__.py
    ==> photon: thrift -r --gen py:new_style -out . ../../../thrift/placement_simulator.thrift
    ==> photon: rm -f __init__.py
    ==> photon: Creating virtualenv
    ==> photon: virtualenv --python=python2.7 ../../develop
    ==> photon: New python executable in ../../develop/bin/python2.7
    ==> photon: Also creating executable in ../../develop/bin/python
    ==> photon: Installing setuptools...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: ..
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: ..
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Installing pip...
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: ......
    ==> photon: done.
    ==> photon: Running virtualenv with interpreter /usr/local/bin/python2.7
    ==> photon: . ../../develop/bin/activate;
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/gen-thrift'
    ==> photon: Dist src/scheduler
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/scheduler'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/scheduler'
    ==> photon: Dist src/common
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/common'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/common'
    ==> photon: Dist src/tools
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tools'
    ==> photon: Creating virtualenv
    ==> photon: virtualenv --python=python2.7 ../../develop_tools
    ==> photon: New python executable in ../../develop_tools/bin/python2.7
    ==> photon: Also creating executable in ../../develop_tools/bin/python
    ==> photon: Installing setuptools...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: ....
    ==> photon: done.
    ==> photon: Installing pip...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Running virtualenv with interpreter /usr/local/bin/python2.7
    ==> photon: . ../../develop_tools/bin/activate;
    ==> photon: ../../develop_tools/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tools'
    ==> photon: Dist src/pthrift
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pthrift'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pthrift'
    ==> photon: Dist src/host
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/host'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/host'
    ==> photon: Dist src/tserver
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tserver'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tserver'
    ==> photon: Dist src/pysdk
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pysdk'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pysdk'
    ==> photon: Dist src/agent
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/agent'
    ==> photon: ../../develop/bin/python setup.py -q sdist -d /esxcloud/python/dist
    ==> photon: warning: sdist: standard file not found: should have one of README, README.txt
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/agent'
    ==> photon: + make vib-only
    ==> photon: Dist src/gen-thrift
    ==> photon: Makefile:56: warning: overriding commands for target `gen/common/__init__.py'
    ==> photon: Makefile:53: warning: ignoring old commands for target `gen/common/__init__.py'
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/gen-thrift'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/gen-thrift'
    ==> photon: Dist src/scheduler
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/scheduler'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/scheduler'
    ==> photon: Dist src/common
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/common'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/common'
    ==> photon: Dist src/tools
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tools'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tools'
    ==> photon: Dist src/pthrift
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pthrift'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pthrift'
    ==> photon: Dist src/host
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/host'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/host'
    ==> photon: Dist src/tserver
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/tserver'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/tserver'
    ==> photon: Dist src/pysdk
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/pysdk'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/pysdk'
    ==> photon: Dist src/agent
    ==> photon: make[1]: Entering directory `/esxcloud/python/src/agent'
    ==> photon: make[1]: Nothing to be done for `dist'.
    ==> photon: make[1]: Leaving directory `/esxcloud/python/src/agent'
    ==> photon: vib/create_vib.sh
    ==> photon: + unset PYTHONPATH
    ==> photon: + ESX_VERSION=5.5.0
    ==> photon: ++ git rev-parse --show-toplevel
    ==> photon: + TOPLEVEL=/esxcloud
    ==> photon: ++ git rev-parse HEAD
    ==> photon: + REVISION=ab986a5701a80d2861a3bdab714c181931b95f12
    ==> photon: +++ git diff-files /esxcloud/python /esxcloud/thrift
    ==> photon: ++ [[ :100644 100644 e18df7a0b20d7a31218f8a9e1133f55bdf5f6729 0000000000000000000000000000000000000000 M    python/.gitignore
    ==> photon: :100644 100644 8d53453deb390462ed3612495f422e802a2cbdd8 0000000000000000000000000000000000000000 M  python/Makefile
    ==> photon: :100644 100644 bd7f09a830cd57727e3c5bf2fef8dafa5a611b5f 0000000000000000000000000000000000000000 M  python/README.md
    ==> photon: :100644 100644 66c10a9c1b173ca5520226be2c60fcbcf12bda1a 0000000000000000000000000000000000000000 M  python/common.mk
    ==> photon: :100755 100755 dc517822ae4543b186f01ed26ff5372412b8945c 0000000000000000000000000000000000000000 M  python/misc/check_copyright
    ==> photon: :100755 100755 98afc950ab921bdef4e15dd969506f2d73d18bb8 0000000000000000000000000000000000000000 M  python/misc/fill_template
    ==> photon: :100755 100755 8835c0d2ba201f24cbce020804b7148af4b96fa0 0000000000000000000000000000000000000000 M  python/misc/get_local_ip
    ==> photon: :100755 100755 ce886bfdb6ef13409b408976c03d903b2220c76b 0000000000000000000000000000000000000000 M  python/misc/get_site_packages_path
    ==> photon: :100755 100755 eb91e3f423cc1fd4e9f24fc4ea63087e3970b879 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/common.sh
    ==> photon: :100755 100755 9f9f891bc993dbb67851be4740e6a5cd2b69053b 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/copy-id
    ==> photon: :100755 100755 00e7520e6b196559daa76785275b6e7db2473459 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/gen-ssh-key
    ==> photon: :100755 100755 f2201593db16473ef74a29bf22a185581c838c75 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/scp
    ==> photon: :100755 100755 6285d32b7beafe6532c171cc6f17237211014297 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/ssh
    ==> photon: :100755 100755 f5ef9745b6ba9322dcb00705e0002c4ebcdfb65c 0000000000000000000000000000000000000000 M  python/misc/resources/scripts/ssh-copy-id
    ==> photon: :100755 100755 dba5227ba2849a6bc64ff05cee698586401bdd4e 0000000000000000000000000000000000000000 M  python/misc/run_integration_test
    ==> photon: :100644 100644 b145c6b6c48528e09d2965b2ed12e7cf6e32bc22 0000000000000000000000000000000000000000 M  python/src/agent/.gitignore
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/agent/MANIFEST.in
    ==> photon: :100644 100644 c4169d058e2978a0b930ac89f554e9d65763853a 0000000000000000000000000000000000000000 M  python/src/agent/Makefile
    ==> photon: :100644 100644 3a8741900bae04128cc758c737cfde01d0fe3804 0000000000000000000000000000000000000000 M  python/src/agent/README.md
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/agent/VERSION
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/agent/agent/__init__.py
    ==> photon: :100755 100755 824d612b6b45d40796e2d6381bdefa356cb3f8f0 0000000000000000000000000000000000000000 M  python/src/agent/agent/agent.py
    ==> photon: :100644 100644 e561584a107c9a32a06aaad0391b85f203b2e48f 0000000000000000000000000000000000000000 M  python/src/agent/agent/agent_config.py
    ==> photon: :100644 100644 ae3a103cac18b68182e47e4d1a032ae8113f4d7a 0000000000000000000000000000000000000000 M  python/src/agent/agent/agent_control_handler.py
    ==> photon: :100644 100644 99ea8c55ba6a2a6bf065ab39204a250479f61b16 0000000000000000000000000000000000000000 M  python/src/agent/agent/chairman_registrant.py
    ==> photon: :100644 100644 deb0adb73fa5728221037b2c87c643d605a49333 0000000000000000000000000000000000000000 M  python/src/agent/agent/plugin.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/__init__.py
    ==> photon: :100644 100644 4f227c8cd2449b67ab8cadf31f8af65cf1259166 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/common_helper_functions.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/integration/__init__.py
    ==> photon: :100644 100644 d39335b9b2462ce22d31af798b6a389eaab03620 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/integration/agent_common_tests.py
    ==> photon: :100644 100644 f37a6d65441e849239a7d9c321fdb36bd4276b65 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/integration/test_agent.py
    ==> photon: :100644 100644 50dab94a5088d9490cb85e43bb0238a5fde16610 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/integration/test_remote_agent.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/stress/__init__.py
    ==> photon: :100644 100644 4edf63053c5c61b8bc010b442a58a91a5692f13d 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/stress/test_remote_stress_agent.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/unit/__init__.py
    ==> photon: :100644 100644 fd3a7859962f54bb76c047faf79f4e1551f7e873 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/unit/test_agent_config.py
    ==> photon: :100644 100644 498ae6d8783c8120c55922364274f731a10d0b55 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/unit/test_agent_control_handler.py
    ==> photon: :100644 100644 9c1503f07d0bd98470a3c3a6a9367e42d0817058 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/unit/test_chairman_registrant.py
    ==> photon: :100644 100644 f8bea46cefc18fbba3937775da494da00e9c436e 0000000000000000000000000000000000000000 M  python/src/agent/agent/tests/zookeeper_utils.py
    ==> photon: :100644 100644 4d8043412b7fe7d0fcf60903d49953ab7cb759e1 0000000000000000000000000000000000000000 M  python/src/agent/agent/version.py
    ==> photon: :100644 100644 874487eff077cc2e553b0cb350d9f682bf013d7a 0000000000000000000000000000000000000000 M  python/src/agent/setup.py
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/common/MANIFEST.in
    ==> photon: :100644 100644 f558d79e7907ccdb870e202778c5538cd28a3463 0000000000000000000000000000000000000000 M  python/src/common/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/common/VERSION
    ==> photon: :100644 100644 ad7e56d5bb3c829ca8d39da0e1ac1a0d853bac89 0000000000000000000000000000000000000000 M  python/src/common/common/__init__.py
    ==> photon: :100644 100644 a49c4f61a947a20d41670793a0a911935e905a29 0000000000000000000000000000000000000000 M  python/src/common/common/blocking_dict.py
    ==> photon: :100644 100644 2a6c624fd73c68060b9eecb742c5a8f002562251 0000000000000000000000000000000000000000 M  python/src/common/common/cache.py
    ==> photon: :100644 100644 78d953c57e3a8bd718308b92253903c5e7c36282 0000000000000000000000000000000000000000 M  python/src/common/common/constants.py
    ==> photon: :100644 100644 0e01c2c055d9e92b71c14f277ee045e9815e4434 0000000000000000000000000000000000000000 M  python/src/common/common/count_up_down_latch.py
    ==> photon: :100644 100644 a207421d479032945df4190dd4f2260ef754bee3 0000000000000000000000000000000000000000 M  python/src/common/common/datastore_tags.py
    ==> photon: :100644 100644 b62b196bb7514905079a894b77aa095ba54b3e30 0000000000000000000000000000000000000000 M  python/src/common/common/equality.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/common/common/esx_tests/__init__.py
    ==> photon: :100755 100755 43b3a6dec0e7f38939c244d9d5f0c045124428ed 0000000000000000000000000000000000000000 M  python/src/common/common/esx_tests/test_thin_copy.py
    ==> photon: :100755 100755 d9b741a8a22c136d92df30311b2efac83c835a78 0000000000000000000000000000000000000000 M  python/src/common/common/esx_tests/test_vsi_value.py
    ==> photon: :100644 100644 a29c55fb2c36601497a1e5af28ddaacb8e3f0fa7 0000000000000000000000000000000000000000 M  python/src/common/common/excepthook.py
    ==> photon: :100644 100644 6363c78b6c762a5141fdeb9e7942f6c2dfbc6b9c 0000000000000000000000000000000000000000 M  python/src/common/common/exclusive_set.py
    ==> photon: :100644 100644 ba2c8d6eac4db943c020b868c68c5a50fd40aa88 0000000000000000000000000000000000000000 M  python/src/common/common/file_io.py
    ==> photon: :100644 100644 2ab70f9b0fe38f15030e64af753f732ed3c1775b 0000000000000000000000000000000000000000 M  python/src/common/common/file_util.py
    ==> photon: :100644 100644 6f10a6d8cc3a7a11c54df0d98b1ae4b251021742 0000000000000000000000000000000000000000 M  python/src/common/common/http.py
    ==> photon: :100644 100644 ae3e6da14b594ffdcf3be46302a6a71d0fc23b0e 0000000000000000000000000000000000000000 M  python/src/common/common/kind.py
    ==> photon: :100644 100644 d64133e3f1c8a1a77fc38be43a65c2b447f749aa 0000000000000000000000000000000000000000 M  python/src/common/common/lock.py
    ==> photon: :100644 100644 274d39f796fe1fc3fa294f8e1a055108368e51eb 0000000000000000000000000000000000000000 M  python/src/common/common/lock_vm.py
    ==> photon: :100644 100644 271fceafa28698a8ef0f886f80d98aceb76b6294 0000000000000000000000000000000000000000 M  python/src/common/common/log.py
    ==> photon: :100644 100644 dca33a117af2a9f94a050d73788fa5fe691c2b2f 0000000000000000000000000000000000000000 M  python/src/common/common/mode.py
    ==> photon: :100644 100644 98442cff37ebfd0e8dd68f07590fdbea94743282 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/__init__.py
    ==> photon: :100644 100644 48e250c6a3461131803250543d3584afe3b0ecd8 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/address.py
    ==> photon: :100644 100644 324df0c329b50310052774dbcd997736530130d0 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/client.py
    ==> photon: :100644 100644 cd5cf3808d73e71304fe015e209a29a835e3a88e 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/decorators.py
    ==> photon: :100644 100644 d9436a03b36f5bf26d6cf0fbbc8d6d935684a617 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/direct_client.py
    ==> photon: :100644 100644 e56dbbeb89f3ac0f0da56455e9c858babc577044 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/rpc_client.py
    ==> photon: :100644 100644 2f60732a1484f24f2a023814ae3a4ef3f348c430 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/serverset.py
    ==> photon: :100644 100644 dafa8740d08a4e40896bbee04e2ae1cf8923da1b 0000000000000000000000000000000000000000 M  python/src/common/common/photon_thrift/validation.py
    ==> photon: :100644 100644 18e820280460de47c24d64fae9e89bc6684e6770 0000000000000000000000000000000000000000 M  python/src/common/common/plugin.py
    ==> photon: :100644 100644 5cfdad7556b3e5aa7175fed274c510a90a0e23da 0000000000000000000000000000000000000000 M  python/src/common/common/request_id.py
    ==> photon: :100644 100644 2961b6f510932ddb8dbc3f6569b9a720ee3e0e55 0000000000000000000000000000000000000000 M  python/src/common/common/service_locator.py
    ==> photon: :100644 100644 454f23e959ddd26e5db8615f9c69caa61d484f44 0000000000000000000000000000000000000000 M  python/src/common/common/service_name.py
    ==> photon: :100644 100644 ec4640edae397a997a0d35530c26c0beb0114b85 0000000000000000000000000000000000000000 M  python/src/common/common/state.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/common/common/tests/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/__init__.py
    ==> photon: :100644 100644 ec535f426a0f617c746441e31b39bc007f27b434 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/file_io_common_tests.py
    ==> photon: :100644 100644 442c4aa0109be16d1b19f6a6685c7c21cc878d0b 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_blocking_dict.py
    ==> photon: :100644 100644 50a0f83d9441ab8292f4b3ddb9d9c0fa04110974 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_cached.py
    ==> photon: :100644 100644 e4b589ce3e3aa9c3ed3e40a89c33479c068a08e6 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_count_up_down_latch.py
    ==> photon: :100644 100644 e043040cff529d5b808e9b029221bdc2f61c1b29 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_datastore_tags.py
    ==> photon: :100644 100644 6b1c6d935110b83e2e7bde982c7473a33de8ca59 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_exclusive_set.py
    ==> photon: :100644 100644 eaaab8b5181a01555f7176649fba968c68341520 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_file.py
    ==> photon: :100644 100644 e62026474919e3daf301ac383448a68e30dca867 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_file_io.py
    ==> photon: :100644 100644 e54cd781ae7507d46929bf80f72f60dfa70a60cf 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_file_io_posix.py
    ==> photon: :100644 100644 897557d7beccf84d03b3b4b4a6e0ff3fa239a706 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_http.py
    ==> photon: :100644 100644 1546d487628d091f8afc7b2e593f0def5098d161 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_lock.py
    ==> photon: :100644 100644 ee22428344f16cd56d43d184b7c51676836ab94d 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_log_decorators.py
    ==> photon: :100644 100644 06cc4e345de7a42edf08075d81249c3be678ec30 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_mode.py
    ==> photon: :100644 100644 00b142a52933f46b60eb300e6acad0d3190b52f3 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_plugin.py
    ==> photon: :100644 100644 c870e2b5b556d345fb10f15792e451f0d6a9bd85 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_quota_line_item.py
    ==> photon: :100644 100644 51c8cf1d4d4d78b7e388f9ffc176e9d8df218248 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_state.py
    ==> photon: :100644 100644 5f72a3e888d2b4956923c750596101de02cb5c21 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/test_thread.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/thrift/__init__.py
    ==> photon: :100644 100644 45d7e971f66cc5ee0de0025c5470ceaa674686bb 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/thrift/test_client.py
    ==> photon: :100644 100644 04ff7f0053ea9a79d24d6bc307d5027e32c6e9a8 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/thrift/test_decorators.py
    ==> photon: :100644 100644 d478451d7ffbc060d394ca4dc7b27f52b2a2fcce 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/thrift/test_static_serverset.py
    ==> photon: :100644 100644 5c5e7fac6a6c500753527059b5b62fb19b032f7a 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/thrift/test_validation.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/common/common/tests/unit/zookeeper/__init__.py
    ==> photon: :100644 100644 8017ccaa11e6ec68e243ae5762cf5c2324eab501 0000000000000000000000000000000000000000 M  python/src/common/common/thread.py
    ==> photon: :100644 100644 aae72e38ded03e7d81f9c8e384bbce1a63cebc7d 0000000000000000000000000000000000000000 M  python/src/common/common/util.py
    ==> photon: :100644 100644 8001779e40462209142d113cb3df208648dc0c7b 0000000000000000000000000000000000000000 M  python/src/common/setup.py
    ==> photon: :100644 100644 8d94b881854faf1a45f151bbf8760e62f0622b56 0000000000000000000000000000000000000000 M  python/src/gen-thrift/.gitignore
    ==> photon: :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M  python/src/gen-thrift/DISABLE_FAST_MAKE
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/gen-thrift/MANIFEST.in
    ==> photon: :100644 100644 bc6e740d27bfa3f6d9666af9c6222f1f06983616 0000000000000000000000000000000000000000 M  python/src/gen-thrift/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/gen-thrift/VERSION
    ==> photon: :100644 100644 7a266db87f20ffb668ae1084cc7af8c70c47f673 0000000000000000000000000000000000000000 M  python/src/gen-thrift/setup.py
    ==> photon: :100644 100644 a3d4086021c475de736b7ff6e0ea68a0e5f04f62 0000000000000000000000000000000000000000 M  python/src/gen-thrift/thrift/echo.thrift
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/host/MANIFEST.in
    ==> photon: :100644 100644 2c11309949016abeca6c0e47b7e86d5fe6cf0cf3 0000000000000000000000000000000000000000 M  python/src/host/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/host/VERSION
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/__init__.p
    ==> photon: y
    ==> photon: :100644 100644 efbd8c096765bd615cc5ac150d97950980f9f40c 0000000000000000000000000000000000000000 M  python/src/host/host/host_client.py
    ==> photon: :100644 100644 03d44d9105998238d30eb16b7b899a2834db13f1 0000000000000000000000000000000000000000 M  python/src/host/host/host_configuration.py
    ==> photon: :100644 100644 1b449878e87c10211382da0e653cf765bbcd2c1f 0000000000000000000000000000000000000000 M  python/src/host/host/host_handler.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/__init__.py
    ==> photon: :100644 100644 7a0f1cc0e945bca66003950eb0cd3d84fe516a55 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/datastore_manager.py
    ==> photon: :100644 100644 705d5c177ae8f3d2947a44ecb5e91c21ab90ac1e 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/disk_manager.py
    ==> photon: :100644 100644 dc2fcfbe242a8d0b029d47b1fe30e5a04550630d 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/disk_placement_manager.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/__init__.py
    ==> photon: :100644 100644 2c3437925cda5f524705860a37889df56b355452 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/datastore_manager.py
    ==> photon: :100644 100644 f3b08905076ac331c78e18472b01b21320bc3500 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/disk_manager.py
    ==> photon: :100644 100644 76c6b17a4eb70969eefd689ff2b5255e045a64fb 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/folder.py
    ==> photon: :100644 100644 7c04089314c567ff2c146190642c9e210f3ebaa6 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/http_disk_transfer.py
    ==> photon: :100644 100644 d4f5510f6994e0b7787d5c385b9190d9e018152e 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/hypervisor.py
    ==> photon: :100644 100644 616e33a3e1b4e5ec30208fb8967983af0ebb6395 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/image_manager.py
    ==> photon: :100644 100644 a935e6222b5883e299144e156276c7c16ba4544f 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/logging_wrappers.py
    ==> photon: :100644 100644 f5063a814626b71fdf4531a170b17c366c39092e 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/network_manager.py
    ==> photon: :100644 100644 c0d5499c7c99f8f027a0438437cb6fd5cc98435f 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/system.py
    ==> photon: :100644 100644 1987b810ccc5d002cb954c57143bbccb91cf0739 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/vim_client.py
    ==> photon: :100644 100644 fcbe1f52b6762f79c2d3b096df37e56bed02544a 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/vm_config.py
    ==> photon: :100644 100644 b7b8fd2bf5c0ffd749dfc1d32e9428c67df7538c 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/esx/vm_manager.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/__init__.py
    ==> photon: :100644 100644 fb79640b8983f5c1591b04eb79f162eff2a4d727 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/datastore_manager.py
    ==> photon: :100644 100644 40cb09605548dbb101cd6a9a181e8812dfd957b7 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/disk_manager.py
    ==> photon: :100644 100644 ee3eeb51645e4d6902313a589ab3a0240368d4c1 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/hypervisor.py
    ==> photon: :100644 100644 55ae3849203dd8ca32de11887d2537199346a186 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/image_manager.py
    ==> photon: :100644 100644 715b2cd4936545390141ab0f1b9502051773895d 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/network_manager.py
    ==> photon: :100644 100644 43111f7b74b374b45a1469a91ed255715ecec266 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/system.py
    ==> photon: :100644 100644 4e2f58df36cb05b2a776a660cb3ea6ce33da93d8 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/fake/vm_manager.py
    ==> photon: :100644 100644 bd0e6e68d2201ab43c4ee99ed6a17ddb2a8865b5 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/hypervisor.py
    ==> photon: :100644 100644 227998c426462867fe84e4c62640d69a1a773027 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/image_manager.py
    ==> photon: :100644 100644 97a52ef13f73c0832e25eeb8c4974de330c4a415 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/image_monitor.py
    ==> photon: :100644 100644 5da30bb0a093ea52362bcc80c57a2132c2ad3bbf 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/image_scanner.py
    ==> photon: :100644 100644 517849f3f88827319e4ac10db903789c7e5956b4 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/image_sweeper.py
    ==> photon: :100644 100644 ea99c7ebacb8dacb70246d3c179c9279f561322e 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/migration.py
    ==> photon: :100644 100644 0e18bea7e74b79cdcc430d0364d39a539130b167 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/network_manager.py
    ==> photon: :100644 100644 25d3a47fc9b2f88f40f7a92a584cea84e6c0bf22 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/placement.py
    ==> photon: :100644 100644 150091cb6d659bb554e5d09fa035f99757e55a60 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/placement_manager.py
    ==> photon: :100644 100644 cb61db02cb64421a482677243e02f1b12be967ca 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/resources.py
    ==> photon: :100644 100644 f4b60a61ba7d26252dcb60f51daee2db0318b99e 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/system.py
    ==> photon: :100644 100644 caae5ce8fe7b8582c661d676ff3856f1aadc155c 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/task_runner.py
    ==> photon: :100644 100644 7cb342e802d95482c245e55cc48c0ad793e1fa3b 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/vm_manager.py
    ==> photon: :100644 100644 61cafa7174ebc0189b9eeb131ad6e7b6bc3be42a 0000000000000000000000000000000000000000 M  python/src/host/host/hypervisor/vm_utils.py
    ==> photon: :100644 100644 3a39cd06a20fea9b08235dae0511274a49963a05 0000000000000000000000000000000000000000 M  python/src/host/host/plugin.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/integration/__init__.py
    ==> photon: :100644 100644 63112c788a3f7fa04eb4420eb514bb02ee66d75f 0000000000000000000000000000000000000000 M  python/src/host/host/tests/integration/test_http_transfer.py
    ==> photon: :100644 100644 f3cefd11cb5b9ad6698c812d5b6414c821034b22 0000000000000000000000000000000000000000 M  python/src/host/host/tests/integration/test_vim_client.py
    ==> photon: :100644 100644 3953d1a776bc9756feb7b7bafe1f84e169a95243 0000000000000000000000000000000000000000 M  python/src/host/host/tests/integration/test_vm_manager.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/__init__.py
    ==> photon: :100644 100644 454f7af0f62527f309081cbe0d6f6c5c82dc19b1 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_datastore_manager.py
    ==> photon: :100644 100644 9fba2c96320442d906fd4c57ca04361fb1ce6ade 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_disk_manager.py
    ==> photon: :100644 100644 21a605d8bf891bd1392de0db8756bc2fbd0b2388 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_image_manager.py
    ==> photon: :100644 100644 a9c1a67edcb0dacb06845be1f2ed8786a351db07 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_image_sweeper.py
    ==> photon: :100644 100644 b963c90ee587222aa505a4538e6b1ebc7765b066 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_network_manager.py
    ==> photon: :100644 100644 9f3c7a12127f8d93389c542050ae96de2f1cd42c 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_vm_config.py
    ==> photon: :100644 100644 318c66462b8114dc923330c55545a23f4a97f8dc 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_esx_vm_manager.py
    ==> photon: :100644 100644 5b75d4630573633929dcdaf614f7b1de372bb33d 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_http_transfer.py
    ==> photon: :100644 100644 09dbb8fd6be0c1605eba2f445844a0df11b32c65 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_hypervisor.py
    ==> photon: :100644 100644 5519c61168a3cf351f75dede9198e556b1208fed 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/esx/test_vim_client.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/fake/__init__.py
    ==> photon: :100644 100644 378799eb8bb7eb0391444910639baff2c351b100 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/fake/test_fake_disk_manager.py
    ==> photon: :100644 100644 dfbde3253f5e16f77093cf05298a24d5856d02b2 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/fake/test_fake_image_manager.py
    ==> photon: :100644 100644 e190c778d0d624353197fcdabfe9fdb3d02c36c8 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/fake/test_fake_vm_manager.py
    ==> photon: :100644 100644 1a1ad5bdff04256855882b3a4e4ede0e104d64c8 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/test_disk_placement_manager.py
    ==> photon: :100644 100644 7f0ab34c7838690f30e9c9ed2d2aaeef157dd8ee 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/test_hypervisor.py
    ==> photon: :100644 100644 776796912b8797c7e371cad857db972854b66558 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/hypervisor/test_placement_manager.py
    ==> photon: :100644 100644 217562aa613cacfbfae5e22a8a91aa7e986a47cd 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/services_helper.py
    ==> photon: :100644 100644 3d1c84f704bd3691236c7e4a0d1ef41741897f3a 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_files/vms/test/bad/bad.vmdk
    ==> photon: :100644 100644 9d45f8995bdf4464430e54ff9e51a1e268148b31 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_files/vms/test/good/good.vmdk
    ==> photon: :100644 100644 699f8eb58a1617ddec5176417a6c3fe09804c3e1 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_host_handler.py
    ==> photon: :100644 100644 d237eba601da2876437c526bfdf18c13e4dcc857 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_image_scanner.py
    ==> photon: :100644 100644 c382060854310b8e830dbaa29fe4f0fa4983c478 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_image_sweeper.py
    ==> photon: :100644 100644 381ce73a96e94d060c615d777fff7b56f765e0ad 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_task_runner.py
    ==> photon: :100644 100644 86c1409a22fee4c5af4c99f4297e572ae5a529e4 0000000000000000000000000000000000000000 M  python/src/host/host/tests/unit/test_vm_utils.py
    ==> photon: :100644 100644 7d474908a452d79327827fbe032583f8df4a47c3 0000000000000000000000000000000000000000 M  python/src/host/setup.py
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/pthrift/MANIFEST.in
    ==> photon: :100644 100644 80944bb2d309d68139b7e52b423fc03b2ebabc37 0000000000000000000000000000000000000000 M  python/src/pthrift/Makefile
    ==> photon: :100644 100644 2f65d91f7c73822d849ea281554a1b0974e29f63 0000000000000000000000000000000000000000 M  python/src/pthrift/README
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/pthrift/VERSION
    ==> photon: :100644 100644 b4de9318bdab145faef7b97f2c1135f8568afda3 0000000000000000000000000000000000000000 M  python/src/pthrift/pthrift/__init__.py
    ==> photon: :100644 100644 967864cae7fda8cf0b14f63ea3f14833daedc8be 0000000000000000000000000000000000000000 M  python/src/pthrift/pthrift/multiplex.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/pthrift/pthrift/tests/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/pthrift/pthrift/tests/unit/__init__.py
    ==> photon: :100644 100644 375f94a5dd8a71edb82c111c9fe561602d4934de 0000000000000000000000000000000000000000 M  python/src/pthrift/pthrift/tests/unit/test_multiplex.py
    ==> photon: :100644 100644 cec62af1bf752c85a24405c86b1237d26d62e1de 0000000000000000000000000000000000000000 M  python/src/pthrift/setup.py
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/pysdk/MANIFEST.in
    ==> photon: :100644 100644 78db5220a44adf1e593594ce3a1dde4b00c46aee 0000000000000000000000000000000000000000 M  python/src/pysdk/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/pysdk/VERSION
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/__init__.py
    ==> photon: :100644 100644 5d07cde910fc1e9b7cfee61227bb072465bc6c50 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/connect.py
    ==> photon: :100644 100644 4bf54c05e6a03e31106d0dc8b878821961cfa325 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/host.py
    ==> photon: :100644 100644 a7365d3435051ddb1cca844e655ccc0e1437c256 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/invt.py
    ==> photon: :100644 100644 2e78528c329d37d619300971e8d0157603080758 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/task.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/tests/unit/__init__.py
    ==> photon: :100644 100644 605c7fcc8497deeece20eb6f1520f20350d6dab6 0000000000000000000000000000000000000000 M  python/src/pysdk/pysdk/vmconfig.py
    ==> photon: :100644 100644 ff4ac6b1886c83aaa6fda0c484bd8e98babafd44 0000000000000000000000000000000000000000 M  python/src/pysdk/setup.py
    ==> photon: :100755 100755 97826b222f18ac2daa850f95198bf36d35aa2ad6 0000000000000000000000000000000000000000 M  python/src/python.mk
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/scheduler/MANIFEST.in
    ==> photon: :100644 100644 6fda921a5ff1edd7f8f20f00605f39e4714a62bf 0000000000000000000000000000000000000000 M  python/src/scheduler/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/scheduler/VERSION
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/__init__.py
    ==> photon: :100644 100644 fefee68c2c2c47bce7c6019f022e5f6996e37417 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/base_scheduler.py
    ==> photon: :100644 100644 d3b1640c7a3bf50dbd93e908e8edd75faf23d95b 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/plugin.py
    ==> photon: :100644 100644 73bf1ee4bafb78a70c75bbb7746b65dbec7ff0c3 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/scheduler_handler.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/tests/__init__.py
    ==> photon: :100644 100644 62a2e6cf132666c45fe9275cc1b342bd9a1c5eb7 0000000000000000000000000000000000000000 M  python/src/scheduler/scheduler/tests/base_kazoo_test.py
    ==> photon: :100644 100644 dc4adfdc4c815b25d60242f71391993b813edfe0 0000000000000000000000000000000000000000 M  python/src/scheduler/setup.py
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/tools/MANIFEST.IN
    ==> photon: :100644 100644 b046905c983fbe296b6c6d16d6de5924c5369b7e 0000000000000000000000000000000000000000 M  python/src/tools/Makef
    ==> photon: ile
    ==> photon: :100644 100644 b052b7e99260e853548dd1395732a07301b06e70 0000000000000000000000000000000000000000 M  python/src/tools/README
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/tools/VERSION
    ==> photon: :100755 100755 2d944be1cb520472ef4acf74e39b6cba246f7dd5 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli
    ==> photon: :100755 100755 3bd3dcbaebf9f7ca0f2b81383f983806964cfa39 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-config-get
    ==> photon: :100755 100755 7057d6fb45ad3056adb27de3f87e3d5dc8be84c3 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-image-copy
    ==> photon: :100755 100755 5c604d2a14c8dc922f426004c98948ac96fc8f10 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-image-delete
    ==> photon: :100755 100755 89bbc7b77c941c34dccae54330de895fd84a1e14 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-image-get
    ==> photon: :100755 100755 a761f3b9b42e596edb1a6c957f4423ca89754c2a 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-image-list
    ==> photon: :100755 100755 abe927928bf6211b057aa02cb3b855aea19fb8ec 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-place
    ==> photon: :100755 100755 2d1a0fef9c97da86eef264b61659fa215696b26f 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-provision
    ==> photon: :100755 100755 2b00efdf902eda2daa942012f3bd01a4ccb3fbe4 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-ticket-get
    ==> photon: :100755 100755 eca4dfa58b9e6f9c8fcb09d20e5d3895f412e0e8 0000000000000000000000000000000000000000 M  python/src/tools/bin/eccli-version
    ==> photon: :100755 100755 76542b0036e571acee49efddc722c20e4816c911 0000000000000000000000000000000000000000 M  python/src/tools/bin/zlookup
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/tools/eccli/__init__.py
    ==> photon: :100644 100644 3b711c774926a5ffd569813a93b929bf4860eecd 0000000000000000000000000000000000000000 M  python/src/tools/eccli/concurrency.py
    ==> photon: :100644 100644 e9749fc710c8bafeed0898d29803223472dba0df 0000000000000000000000000000000000000000 M  python/src/tools/eccli/format.py
    ==> photon: :100644 100644 2dc6c3e1aadbae04cba284d6bc7301bc89a85e84 0000000000000000000000000000000000000000 M  python/src/tools/eccli/optparser.py
    ==> photon: :100644 100644 bd7a0fd16558b62ebb7ee82f2f076083c3d289cf 0000000000000000000000000000000000000000 M  python/src/tools/eccli/thrift.py
    ==> photon: :100644 100644 0652be815928f79446d426c803a54ecc602c9da1 0000000000000000000000000000000000000000 M  python/src/tools/setup.py
    ==> photon: :100644 100644 ceeea233fcb591b592f7edba3d6d3918470c8ac0 0000000000000000000000000000000000000000 M  python/src/tserver/MANIFEST.in
    ==> photon: :100644 100644 deb4e596ab5c67b453ff875970215bc002911239 0000000000000000000000000000000000000000 M  python/src/tserver/Makefile
    ==> photon: :100644 100644 17e51c385ea382d4f2ef124b7032c1604845622d 0000000000000000000000000000000000000000 M  python/src/tserver/VERSION
    ==> photon: :100644 100644 9c49d3dfe3015f661042fe2af707f12d688757b9 0000000000000000000000000000000000000000 M  python/src/tserver/setup.py
    ==> photon: :100644 100644 b4de9318bdab145faef7b97f2c1135f8568afda3 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/tests/__init__.py
    ==> photon: :100644 100644 6da2e1f9d49394414da6359b733fca8957ef3290 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/tests/unit/__init__.py
    ==> photon: :100644 100644 de5316c4b642eeb76ffcd4fc63e558eecfbd21bb 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/tests/unit/test_thrift_server.py
    ==> photon: :100644 100644 ca87a8837962eea5a59aa09baca3dde6f323a6ed 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/tests/unit/test_worker.py
    ==> photon: :100644 100644 08db89e993408a34e7f87a0c18ff184a9b84b2a9 0000000000000000000000000000000000000000 M  python/src/tserver/tserver/thrift_server.py
    ==> photon: :100644 100644 78871ce53aae2739263564fe050c0e32609f1921 0000000000000000000000000000000000000000 M  python/vib/agent/descriptor.xml
    ==> photon: :100755 100755 5b2885103848a5ae032e1c6b444d0943ebefc0b6 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/etc/init.d/photon-controller-agent
    ==> photon: :100644 100644 d0eaef218f21c3e67eddb7886db9d787891b3437 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/etc/opt/vmware/photon/controller/config.json
    ==> photon: :100644 100644 0967ef424bce6791893e9a57bb952f80fd536e93 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/etc/opt/vmware/photon/controller/state.json
    ==> photon: :100644 100644 d84c6521ce928ce34997f9f70c14d16efc9626ea 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/etc/vmware/firewall/photon-controller-agent.xml
    ==> photon: :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/2.6/.gitkeep
    ==> photon: :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/2.6/site-packages/.gitkeep
    ==> photon: :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/2.7/.gitkeep
    ==> photon: :100644 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/2.7/site-packages/.gitkeep
    ==> photon: :100644 100644 3b13418fb55188a0c332d64ba4f766ec6d3103fe 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/sh/photon_controller_init.sh
    ==> photon: :100755 100755 de7f681e1387f532e789e941a928f7b9550b53f1 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/sh/tests/run_esx_tests.sh
    ==> photon: :100644 100644 7775251daed42fcccd538e73ac7d6ed139c38071 0000000000000000000000000000000000000000 M  python/vib/agent/payloads/agent/opt/vmware/photon/controller/ttylinux/ttylinux.ecv
    ==> photon: :100755 100755 d84d008dae61a397916b6929928cf31313f06f81 0000000000000000000000000000000000000000 M  python/vib/create_vib.sh
    ==> photon: :100755 100755 704a68d68aa401938be13705eb4737ff0e88d77e 0000000000000000000000000000000000000000 M  python/vib/deploy_vib.sh
    ==> photon: :100755 100755 9290d0715f51a3f655cbe1567900545c785f6c69 0000000000000000000000000000000000000000 M  python/vib/multi_deploy_vib.sh
    ==> photon: :100644 100644 a5cfc0ec6128bd99a428dd6b5da4b25e86aff0e6 0000000000000000000000000000000000000000 M  thrift/agent.thrift
    ==> photon: :100644 100644 4373d2fe5c35b76919685205cc62f090a0d0c0a9 0000000000000000000000000000000000000000 M  thrift/chairman.thrift
    ==> photon: :100644 100644 5e05373556be895ce8ee43bf25fb968fe5364df0 0000000000000000000000000000000000000000 M  thrift/deployer.thrift
    ==> photon: :100644 100644 24dea7f8d75b2ab8ab7d4b3f557ba89c16258690 0000000000000000000000000000000000000000 M  thrift/echo.thrift
    ==> photon: :100644 100644 5952d6f71ed9548533a4c2c9355e563b77da96c9 0000000000000000000000000000000000000000 M  thrift/flavors.thrift
    ==> photon: :100644 100644 22c9143f2540d7bc91209cb65851c5322c8f2427 0000000000000000000000000000000000000000 M  thrift/host.thrift
    ==> photon: :100644 100644 649f3a94df302139d3dd970059741322d778e8e7 0000000000000000000000000000000000000000 M  thrift/housekeeper.thrift
    ==> photon: :100644 100644 acb3d3e14ebb53e917a6888aef6ca53e74d1e866 0000000000000000000000000000000000000000 M  thrift/hypervisor/esx.thrift
    ==> photon: :100644 100644 6d9b0723dc42f2728c6287fe946d342a3745564b 0000000000000000000000000000000000000000 M  thrift/hypervisor/fake.thrift
    ==> photon: :100644 100644 73259f80371a427ac06c9db69c3896aac85ebaad 0000000000000000000000000000000000000000 M  thrift/placement_simulator.thrift
    ==> photon: :100644 100644 6f30040079a0eaa9c65f64bd35cf5a27f7a27ee7 0000000000000000000000000000000000000000 M  thrift/resource.thrift
    ==> photon: :100644 100644 d71b436cdb45cc292a94cbdd211086c6ff56f651 0000000000000000000000000000000000000000 M  thrift/roles.thrift
    ==> photon: :100644 100644 d4178c168fc6e03af702bef763db46a3face5eca 0000000000000000000000000000000000000000 M  thrift/root_scheduler.thrift
    ==> photon: :100644 100644 5c2cf4bdb8951cc596583d53254d0040ab0f5f32 0000000000000000000000000000000000000000 M  thrift/scheduler.thrift
    ==> photon: :100644 100644 d5f5ae6fcc134d549f0b7687ea93ce4b9a100760 0000000000000000000000000000000000000000 M  thrift/server_address.thrift
    ==> photon: :100644 100644 df7cd7e9891e6825b0e956e126ee90332824fb0c 0000000000000000000000000000000000000000 M  thrift/statsd/data_source.thrift
    ==> photon: :100644 100644 b2708ccaf4839e9ee68afd294c3962dc8147972e 0000000000000000000000000000000000000000 M  thrift/statsd/data_stream.thrift
    ==> photon: :100644 100644 6c5a7e34adba8041f6b1eb0e5b6acd069f4e4691 0000000000000000000000000000000000000000 M  thrift/statsd/statsd.thrift
    ==> photon: :100644 100644 65215557fb93b4ff3db96e0c7750361c3ae242db 0000000000000000000000000000000000000000 M  thrift/status.thrift
    ==> photon: :100644 100644 77b93cc7a78e4c95d826c49328a9161f236ab3b8 0000000000000000000000000000000000000000 M  thrift/tracing.thrift != '' ]]
    ==> photon: ++ echo -dirty
    ==> photon: + DIRTY=-dirty
    ==> photon: ++ mktemp -d -t create_vib.XXXXX
    ==> photon: + TMPDIR=/tmp/create_vib.f3VIn
    ==> photon: + trap 'rm -rf /tmp/create_vib.f3VIn' EXIT
    ==> photon: ++ dirname vib/create_vib.sh
    ==> photon: + cd vib
    ==> photon: + VIB_DIR=/esxcloud/python/vib
    ==> photon: + SRC_VIB_LAYOUT=../vib/agent
    ==> photon: + DEST_VIB_LAYOUT=/tmp/create_vib.f3VIn/vib
    ==> photon: + DEST_VIB_ROOT=/tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller
    ==> photon: + LOG_DIR=/tmp/create_vib.f3VIn/vib/payloads/agent/var/log
    ==> photon: + chmod a+w ../vib/agent/payloads/agent/etc/opt/vmware/photon/controller/config.json ../vib/agent/payloads/agent/etc/opt/vmware/photon/controller/state.json
    ==> photon: + chmod +t ../vib/agent/payloads/agent/etc/opt/vmware/photon/controller/config.json ../vib/agent/payloads/agent/etc/opt/vmware/photon/controller/state.json
    ==> photon: + mkdir -p /tmp/create_vib.f3VIn/vib
    ==> photon: + cd ../vib/agent
    ==> photon: + tar pcf - .
    ==> photon: + cd /tmp/create_vib.f3VIn/vib
    ==> photon: + tar pxf -
    ==> photon: + echo 'PHOTON_CONTROLLER_AGENT_PARAMS=""'
    ==> photon: + mkdir -p /tmp/create_vib.f3VIn/vib/payloads/agent/var/log
    ==> photon: + ln -sf /scratch/log/photon-controller-agent.log /tmp/create_vib.f3VIn/vib/payloads/agent/var/log/photon-controller-agent.log
    ==> photon: + ln -sf /scratch/log/photon-controller-agent-hypervisor.log /tmp/create_vib.f3VIn/vib/payloads/agent/var/log/photon-controller-agent-hypervisor.log
    ==> photon: + for esxver in 6.0.0 5.5.0
    ==> photon: + ESX_VERSION=6.0.0
    ==> photon: + build_for_py_ver 6.0.0
    ==> photon: + esx_version=6.0.0
    ==> photon: + '[' 6.0.0 == 5.5.0 ']'
    ==> photon: + '[' 6.0.0 == 6.0.0 ']'
    ==> photon: + PYTHON_VERSION=2.7
    ==> photon: + PYTHON=python2.7
    ==> photon: + virtualenv --python=python2.7 /tmp/create_vib.f3VIn/virtualenv
    ==> photon: New python executable in /tmp/create_vib.f3VIn/virtualenv/bin/python2.7
    ==> photon: Also creating executable in /tmp/create_vib.f3VIn/virtualenv/bin/python
    ==> photon: Installing setuptools...
    ==> photon: .
    ==> photon: ..
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Installing pip...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ....
    ==> photon: .
    ==> photon: done.
    ==> photon: Running virtualenv with interpreter /usr/local/bin/python2.7
    ==> photon: + . /tmp/create_vib.f3VIn/virtualenv/bin/activate
    ==> photon: ++ deactivate nondestructive
    ==> photon: ++ unset pydoc
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ unset VIRTUAL_ENV
    ==> photon: ++ '[' '!' nondestructive = nondestructive ']'
    ==> photon: ++ VIRTUAL_ENV=/tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ export VIRTUAL_ENV
    ==> photon: ++ _OLD_VIRTUAL_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ PATH=/tmp/create_vib.f3VIn/virtualenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ export PATH
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -z '' ']'
    ==> photon: ++ _OLD_VIRTUAL_PS1=
    ==> photon: ++ '[' x '!=' x ']'
    ==> photon: +++ basename /tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ '[' virtualenv = __ ']'
    ==> photon: +++ basename /tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ PS1='(virtualenv)'
    ==> photon: ++ export PS1
    ==> photon: ++ alias 'pydoc=python -m pydoc'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: + pip install pip==1.3.1
    ==> photon: Requirement already satisfied (use --upgrade to upgrade): pip==1.3.1 in /tmp/create_vib.f3VIn/virtualenv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg
    ==> photon: Cleaning up...
    ==> photon: ++ readlink -nf ../dist
    ==> photon: + DIST_DIR=/esxcloud/python/dist
    ==> photon: ++ pip --version
    ==> photon: ++ awk '{print $2}'
    ==> photon: ++ cut -d. -f1
    ==> photon: + PIP_MAJOR_VER=1
    ==> photon: + PIP_NO_CACHE_OPT=
    ==> photon: + [[ 1 -ge 6 ]]
    ==> photon: + pip install -q -f file:///esxcloud/python/dist photon.controller.agent
    ==> photon: ++ ../misc/get_site_packages_path
    ==> photon: + SRC_SITE_PACKAGES=/tmp/create_vib.f3VIn/virtualenv/lib/python2.7/site-packages
    ==> photon: + DEST_SITE_PACKAGES=/tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages
    ==> photon: + cd /tmp/create_vib.f3VIn/virtualenv/lib/python2.7/site-packages
    ==> photon: + tar cf - .
    ==> photon: + cd /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages
    ==> photon: + tar xf -
    ==> photon: + sed s/#REVISION#/ab986a5701a80d2861a3bdab714c181931b95f12-dirty/g -i /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages/agent/version.py
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages -name '*.py' -exec python2.7 -m py_compile '{}' +
    ==> photon: + '[' -z '' ']'
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages '(' -name '*.py' -or -type d -and -name tests -or -type d -and -name esx_tests ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages '(' -type d -and -name fake ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.7/site-packages -maxdepth 1 '(' -type d -and -name chairman ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib -name .gitkeep -exec rm -rf '{}' ';'
    ==> photon: + FIREWALL_CONF=payloads/agent/etc/vmware/firewall/photon-controller-agent.xml
    ==> photon: + CHAIRMAN_PORT=13000
    ==> photon: + ../misc/fill_template ../vib/agent/payloads/agent/etc/vmware/firewall/photon-controller-agent.xml CHAIRMAN_PORT 13000
    ==> photon: ++ cat ../src/agent/VERSION
    ==> photon: + AGENT_VERSION=0.1.1
    ==> photon: + '[' -n '' ']'
    ==> photon: + AGENT_VERSION=0.1.1.dev
    ==> photon: + ../misc/fill_template ../vib/agent/descriptor.xml ESX_VERSION 6.0.0 AGENT_VERSION 0.1.1.dev
    ==> photon: + deactivate
    ==> photon: + unset pydoc
    ==> photon: + '[' -n /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ']'
    ==> photon: + PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: + export PATH
    ==> photon: + unset _OLD_VIRTUAL_PATH
    ==> photon: + '[' -n '' ']'
    ==> photon: + '[' -n /bin/bash -o -n '' ']'
    ==> photon: + hash -r
    ==> photon: + '[' -n '' ']'
    ==> photon: + unset VIRTUAL_ENV
    ==> photon: + '[' '!' '' = nondestructive ']'
    ==> photon: + unset -f deactivate
    ==> photon: + for esxver in 6.0.0 5.5.0
    ==> photon: + ESX_VERSION=5.5.0
    ==> photon: + build_for_py_ver 5.5.0
    ==> photon: + esx_version=5.5.0
    ==> photon: + '[' 5.5.0 == 5.5.0 ']'
    ==> photon: + PYTHON_VERSION=2.6
    ==> photon: + PYTHON=python2.6
    ==> photon: + virtualenv --python=python2.6 /tmp/create_vib.f3VIn/virtualenv
    ==> photon: New python executable in /tmp/create_vib.f3VIn/virtualenv/bin/python2.6
    ==> photon: Not overwriting existing python script /tmp/create_vib.f3VIn/virtualenv/bin/python (you must use /tmp/create_vib.f3VIn/virtualenv/bin/python2.6)
    ==> photon: Installing setuptools...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Installing pip...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Running virtualenv with interpreter /usr/bin/python2.6
    ==> photon: + . /tmp/create_vib.f3VIn/virtualenv/bin/activate
    ==> photon: ++ deactivate nondestructive
    ==> photon: ++ unset pydoc
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ unset VIRTUAL_ENV
    ==> photon: ++ '[' '!' nondestructive = nondestructive ']'
    ==> photon: ++ VIRTUAL_ENV=/tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ export VIRTUAL_ENV
    ==> photon: ++ _OLD_VIRTUAL_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ PATH=/tmp/create_vib.f3VIn/virtualenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ export PATH
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -z '' ']'
    ==> photon: ++ _OLD_VIRTUAL_PS1='(virtualenv)'
    ==> photon: ++ '[' x '!=' x ']'
    ==> photon: +++ basename /tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ '[' virtualenv = __ ']'
    ==> photon: +++ basename /tmp/create_vib.f3VIn/virtualenv
    ==> photon: ++ PS1='(virtualenv)(virtualenv)'
    ==> photon: ++ export PS1
    ==> photon: ++ alias 'pydoc=python -m pydoc'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: + pip install pip==1.3.1
    ==> photon: Requirement already satisfied (use --upgrade to upgrade): pip==1.3.1 in /tmp/create_vib.f3VIn/virtualenv/lib/python2.6/site-packages/pip-1.3.1-py2.6.egg
    ==> photon: Cleaning up...
    ==> photon: ++ readlink -nf ../dist
    ==> photon: + DIST_DIR=/esxcloud/python/dist
    ==> photon: ++ pip --version
    ==> photon: ++ awk '{print $2}'
    ==> photon: ++ cut -d. -f1
    ==> photon: + PIP_MAJOR_VER=1
    ==> photon: + PIP_NO_CACHE_OPT=
    ==> photon: + [[ 1 -ge 6 ]]
    ==> photon: + pip install -q -f file:///esxcloud/python/dist photon.controller.agent
    ==> photon: ++ ../misc/get_site_packages_path
    ==> photon: + SRC_SITE_PACKAGES=/tmp/create_vib.f3VIn/virtualenv/lib/python2.6/site-packages
    ==> photon: + DEST_SITE_PACKAGES=/tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages
    ==> photon: + cd /tmp/create_vib.f3VIn/virtualenv/lib/python2.6/site-packages
    ==> photon: + tar cf - .
    ==> photon: + cd /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages
    ==> photon: + tar xf -
    ==> photon: + sed s/#REVISION#/ab986a5701a80d2861a3bdab714c181931b95f12-dirty/g -i /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages/agent/version.py
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages -name '*.py' -exec python2.6 -m py_compile '{}' +
    ==> photon: + '[' -z '' ']'
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages '(' -name '*.py' -or -type d -and -name tests -or -type d -and -name esx_tests ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages '(' -type d -and -name fake ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib/payloads/agent/opt/vmware/photon/controller/2.6/site-packages -maxdepth 1 '(' -type d -and -name chairman ')' -exec rm -rf '{}' +
    ==> photon: + find /tmp/create_vib.f3VIn/vib -name .gitkeep -exec rm -rf '{}' ';'
    ==> photon: + FIREWALL_CONF=payloads/agent/etc/vmware/firewall/photon-controller-agent.xml
    ==> photon: + CHAIRMAN_PORT=13000
    ==> photon: + ../misc/fill_template ../vib/agent/payloads/agent/etc/vmware/firewall/photon-controller-agent.xml CHAIRMAN_PORT 13000
    ==> photon: ++ cat ../src/agent/VERSION
    ==> photon: + AGENT_VERSION=0.1.1
    ==> photon: + '[' -n '' ']'
    ==> photon: + AGENT_VERSION=0.1.1.dev
    ==> photon: + ../misc/fill_template ../vib/agent/descriptor.xml ESX_VERSION 5.5.0 AGENT_VERSION 0.1.1.dev
    ==> photon: + deactivate
    ==> photon: + unset pydoc
    ==> photon: + '[' -n /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin ']'
    ==> photon: + PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: + export PATH
    ==> photon: + unset _OLD_VIRTUAL_PATH
    ==> photon: + '[' -n '' ']'
    ==> photon: + '[' -n /bin/bash -o -n '' ']'
    ==> photon: + hash -r
    ==> photon: + '[' -n '(virtualenv)' ']'
    ==> photon: + PS1='(virtualenv)'
    ==> photon: + export PS1
    ==> photon: + unset _OLD_VIRTUAL_PS1
    ==> photon: + unset VIRTUAL_ENV
    ==> photon: + '[' '!' '' = nondestructive ']'
    ==> photon: + unset -f deactivate
    ==> photon: + vibauthor -C -t /tmp/create_vib.f3VIn/vib -v /esxcloud/python/dist/photon-controller-agent-0.1.1.dev-5.5.0.vib -f
    ==> photon: WARNING: extensibility rules check failed, but was ignored because of --force.
    ==> photon: VIB (VMware_bootbank_photon-controller-agent_0.1.1.dev-5.5.0) failed a check of extensibility rules for acceptance level 'community': [u'(line 21: col 0) Element vib failed to validate content'].
    ==> photon: Successfully created /esxcloud/python/dist/photon-controller-agent-0.1.1.dev-5.5.0.vib.
    ==> photon: + rm -rf /tmp/create_vib.f3VIn
    ==> photon: + INSTALL_PATH=/usr/lib/esxcloud/agent
    ==> photon: + RELEASE_PATH=/esxcloud/python/dist
    ==> photon: + rm -rf /usr/lib/esxcloud/agent
    ==> photon: + mkdir -p /usr/lib/esxcloud/agent
    ==> photon: + virtualenv /usr/lib/esxcloud/agent
    ==> photon: New python executable in /usr/lib/esxcloud/agent/bin/python
    ==> photon: Installing setuptools...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: .
    ==> photon: .
    ==> photon: done.
    ==> photon: Installing pip...
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: .
    ==> photon: ..
    ==> photon: ..
    ==> photon: .
    ==> photon: done.
    ==> photon: + . /usr/lib/esxcloud/agent/bin/activate
    ==> photon: ++ deactivate nondestructive
    ==> photon: ++ unset pydoc
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ unset VIRTUAL_ENV
    ==> photon: ++ '[' '!' nondestructive = nondestructive ']'
    ==> photon: ++ VIRTUAL_ENV=/usr/lib/esxcloud/agent
    ==> photon: ++ export VIRTUAL_ENV
    ==> photon: ++ _OLD_VIRTUAL_PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ PATH=/usr/lib/esxcloud/agent/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    ==> photon: ++ export PATH
    ==> photon: ++ '[' -n '' ']'
    ==> photon: ++ '[' -z '' ']'
    ==> photon: ++ _OLD_VIRTUAL_PS1=
    ==> photon: ++ '[' x '!=' x ']'
    ==> photon: +++ basename /usr/lib/esxcloud/agent
    ==> photon: ++ '[' agent = __ ']'
    ==> photon: +++ basename /usr/lib/esxcloud/agent
    ==> photon: ++ PS1='(agent)'
    ==> photon: ++ export PS1
    ==> photon: ++ alias 'pydoc=python -m pydoc'
    ==> photon: ++ '[' -n /bin/bash -o -n '' ']'
    ==> photon: ++ hash -r
    ==> photon: + pip install -q -f file:///esxcloud/python/dist photon.controller.agent
    ==> photon: ++ docker wait agent_compile_install_container
    ==> photon: 0
    ==> photon: ++ docker commit agent_compile_install_container devbox/agent
    ==> photon: 10ee1a3815022b9736ec12143110a6a365a488ee8244ea5410c62a7ddad8e0dd
    ==> photon: ++ '[' -d /var/esxcloud/packages ']'
    ==> photon: ++ mkdir -p /var/esxcloud/packages
    ==> photon: ++ cp /esxcloud/python/dist/photon-controller-agent-0.1.1.dev-5.5.0.vib /var/esxcloud/packages/
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ chmod a+x /var/lib/devbox/build/compile/compile_java.sh
    ==> photon: ++ docker run -v /esxcloud:/esxcloud -v /var/lib/devbox/build:/var/lib/devbox/build -v /gradle:/root/.gradle --name compile_container devbox/compileservices /bin/bash -xe /var/lib/devbox/build/compile/compile_java.sh
    ==> photon: + cd /esxcloud/java
    ==> photon: + '[' -d /esxcloud/java/distributions ']'
    ==> photon: + mkdir /esxcloud/java/distributions
    ==> photon: + mkdir /esxcloud/java/distributions/configurations
    ==> photon: Clean build folders
    ==> photon: + echo Clean build folders
    ==> photon: + rm -rf api-frontend/management/build
    ==> photon: + rm -rf chairman/build
    ==> photon: + rm -rf root-scheduler/build
    ==> photon: + rm -rf housekeeper/build
    ==> photon: + rm -rf cloud-store/build
    ==> photon: + rm -rf deployer/build
    ==> photon: + rm -rf auth-tool/build
    ==> photon: Build all tarballs in parallel
    ==> photon: + echo Build all tarballs in parallel
    ==> photon: + /esxcloud/java/gradlew distTar --parallel -p /esxcloud/java
    ==> photon: Parallel execution is an incubating feature.
    ==> photon: :buildSrc:clean
    ==> photon:
    ==> photon: UP-TO-DATE
    ==> photon: :buildSrc:compileJava
    ==> photon:  UP-TO-DATE
    ==> photon:
    ==> photon: :buildSrc:compileGroovy
    ==> photon: :buildSrc:processResources
    ==> photon:
    ==> photon: :buildSrc:classes
    ==> photon: :buildSrc:jar
    ==> photon:
    ==> photon: :buildSrc:assemble
    ==> photon: :buildSrc:compileTestJava
    ==> photon:  UP-TO-DATE
    ==> photon: :buildSrc:compileTestGroovy
    ==> photon:  UP-TO-DATE
    ==> photon: :buildSrc:processTestResources UP-TO-DATE
    ==> photon: :buildSrc:testClasses
    ==> photon:  UP-TO-DATE
    ==> photon: :buildSrc:test
    ==> photon:  UP-TO-DATE
    ==> photon: :buildSrc:check
    ==> photon:  UP-TO-DATE
    ==> photon: :buildSrc:build
    ==> photon: :common-auth:compileJava
    ==> photon:
    ==> photon: :auth-tool:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :api:resolveThrift
    ==> photon:
    ==> photon: :chairman:resolveThrift
    ==> photon:
    ==> photon: :common:resolveThrift
    ==> photon:
    ==> photon: :common-logging:compileJava
    ==> photon: :api:generateThrift
    ==> photon:
    ==> photon: :common:generateThrift
    ==> photon: :api:compileJava
    ==> photon:
    ==> photon: :common:compileJava
    ==> photon:
    ==> photon: :common-logging:processResources
    ==> photon:
    ==> photon: UP-TO-DATE
    ==> photon: :common-logging:classes
    ==> photon: :common-logging:jar
    ==> photon: :common-dcp:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :cloud-store:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :chairman:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :api-client:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :deployer:resolveThrift
    ==> photon: :nfc-client:processResources
    ==> photon:
    ==> photon: UP-TO-DATE
    ==> photon: :cluster-manager:service-documents:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :cluster-manager:backend:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :deployer:processResources
    ==> photon: :common-tests:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :housekeeper:resolveThrift
    ==> photon: :housekeeper:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :root-scheduler:resolveThrift
    ==> photon: :root-scheduler:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :swagger-jersey:compileJava
    ==> photon:
    ==> photon: :common-auth:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :common-auth:classes
    ==> photon: :common-auth:jar
    ==> photon: :auth-tool:compileJava
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon:
    ==> photon: :api:processResources UP-TO-DATE
    ==> photon: :api:classes
    ==> photon: :auth-tool:classes
    ==> photon: :auth-tool:jar
    ==> photon: :api:jar
    ==> photon: :api-client:compileJava
    ==> photon: :api-client:classes
    ==> photon: :api-client:jar
    ==> photon: :swagger-ui:compileJava UP-TO-DATE
    ==> photon: :swagger-ui:processResources
    ==> photon: :swagger-ui:classes
    ==> photon:
    ==> photon: :swagger-ui:jar
    ==> photon: :api-frontend:api-frontend-common:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :api-frontend:management:resolveThrift
    ==> photon: :api-frontend:management:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :cluster-manager:test-tool:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: Note: /esxcloud/java/swagger-jersey/src/main/java/com/vmware/photon/controller/swagger/resources/SwaggerJsonListing.java uses unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :swagger-jersey:processResources
    ==> photon:  UP-TO-DATE
    ==> photon: :swagger-jersey:classes
    ==> photon: :swagger-jersey:jar
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :common:processResources UP-TO-DATE
    ==> photon: :common:classes
    ==> photon: :common:jar
    ==> photon: :common-dcp:compileJava
    ==> photon:
    ==> photon: :nfc-client:compileJava
    ==> photon:
    ==> photon: :api-frontend:api-frontend-common:compileJava
    ==> photon:
    ==> photon: :nfc-client:classes
    ==> photon: :nfc-client:jar
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :common-dcp:classes
    ==> photon: :common-dcp:jar
    ==> photon: :cloud-store:compileJava
    ==> photon: :cluster-manager:service-documents:compileJava
    ==> photon: :cluster-manager:service-documents:classes
    ==> photon: :cluster-manager:service-documents:jar
    ==> photon: :common-tests:compileJava
    ==> photon:
    ==> photon: :cloud-store:classes
    ==> photon:
    ==> photon: :cloud-store:jar
    ==> photon: :chairman:generateThrift
    ==> photon: Note: /esxcloud/java/api-frontend/api-frontend-common/src/main/java/com/vmware/photon/controller/api/common/entities/base/BaseEntity.java uses or overrides a deprecated API.
    ==> photon: Note: Recompile with -Xlint:deprecation for details.
    ==> photon: :cloud-store:startScripts
    ==> photon:
    ==> photon: :chairman:compileJava
    ==> photon:
    ==> photon: :cloud-store:distTar
    ==> photon: :cluster-manager:backend:compileJava
    ==> photon:
    ==> photon: :common-tests:classes
    ==> photon: :common-tests:jar
    ==> photon: :housekeeper:generateThrift
    ==> photon:
    ==> photon: :housekeeper:compileJava
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon:
    ==> photon: :cluster-manager:backend:classes
    ==> photon:
    ==> photon: :cluster-manager:backend:jar
    ==> photon:
    ==> photon: :root-scheduler:generateThrift
    ==> photon:
    ==> photon: :chairman:classes
    ==> photon: :chairman:jar
    ==> photon:
    ==> photon: :root-scheduler:compileJava
    ==> photon: :chairman:startScripts
    ==> photon: :chairman:distTar
    ==> photon:
    ==> photon: :deployer:generateThrift
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon:
    ==> photon: :housekeeper:classes
    ==> photon:
    ==> photon: :housekeeper:jar
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :housekeeper:startScripts
    ==> photon:
    ==> photon: :root-scheduler:classes
    ==> photon: :deployer:compileJava
    ==> photon:
    ==> photon: :root-scheduler:jar
    ==> photon:
    ==> photon: :housekeeper:distTar
    ==> photon:
    ==> photon: :root-scheduler:startScripts
    ==> photon: :root-scheduler:distTar
    ==> photon:
    ==> photon: :auth-tool:startScripts
    ==> photon: :auth-tool:distTar
    ==> photon:
    ==> photon: :api-frontend:api-frontend-common:classes
    ==> photon: :api-frontend:api-frontend-common:jar
    ==> photon: :api-frontend:management:generateThrift
    ==> photon:
    ==> photon: :cluster-manager:test-tool:compileJava
    ==> photon:
    ==> photon: :api-frontend:management:compileJava
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :deployer:classes
    ==> photon: :deployer:jar
    ==> photon: :cluster-manager:test-tool:classes
    ==> photon: :cluster-manager:test-tool:jar
    ==> photon: :cluster-manager:test-tool:startScripts
    ==> photon:
    ==> photon: :deployer:startScripts
    ==> photon: :cluster-manager:test-tool:distTar
    ==> photon: :deployer:distTar
    ==> photon: Note: Some input files use or override a deprecated API.
    ==> photon: Note: Recompile with -Xlint:deprecation for details.
    ==> photon: Note: Some input files use unchecked or unsafe operations.
    ==> photon: Note: Recompile with -Xlint:unchecked for details.
    ==> photon: :api-frontend:management:classes
    ==> photon: :api-frontend:management:jar
    ==> photon:
    ==> photon: :api-frontend:management:startScripts
    ==> photon: :api-frontend:management:distTar
    ==> photon: BUILD SUCCESSFUL
    ==> photon: Total time: 3 mins 2.489 secs
    ==> photon: This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.8/userguide/gradle_daemon.html
    ==> photon: + echo Consolidate tarballs and config files
    ==> photon: + mv /esxcloud/java/api-frontend/management/build/distributions/management-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/management-api.tar
    ==> photon: Consolidate tarballs and config files
    ==> photon: + cp -r /esxcloud/java/api-frontend/management/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-management-api
    ==> photon: + mv /esxcloud/java/chairman/build/distributions/chairman-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/chairman.tar
    ==> photon: + cp -r /esxcloud/java/chairman/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-chairman
    ==> photon: + mv /esxcloud/java/deployer/build/distributions/deployer-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/deployer.tar
    ==> photon: + cp -r /esxcloud/java/deployer/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-deployer
    ==> photon: + mv /esxcloud/java/housekeeper/build/distributions/housekeeper-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/housekeeper.tar
    ==> photon: + cp -r /esxcloud/java/housekeeper/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-housekeeper
    ==> photon: + mv /esxcloud/java/cloud-store/build/distributions/cloud-store-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/cloud-store.tar
    ==> photon: + cp -r /esxcloud/java/cloud-store/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-cloud-store
    ==> photon: + mv /esxcloud/java/root-scheduler/build/distributions/root-scheduler-0.1.0-SNAPSHOT.tar /esxcloud/java/distributions/root-scheduler.tar
    ==> photon: + cp -r /esxcloud/java/root-scheduler/src/dist/configuration /esxcloud/java/distributions/configurations/configuration-root-scheduler
    ==> photon: + cp -r /esxcloud/java/deployer/src/dist/configuration-haproxy /esxcloud/java/deployer/src/dist/configuration-lightwave /esxcloud/java/deployer/src/dist/configuration-zookeeper /esxcloud/java/distributions/configurations/
    ==> photon: ++ docker wait compile_container
    ==> photon: 0
    ==> photon: ++ docker rm compile_container
    ==> photon: compile_container
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/zookeeper ']'
    ==> photon: ++ '[' '!' -d /vagrant/log/haproxy ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ rm -rf '/vagrant/log/zookeeper/*'
    ==> photon: ++ rm -rf '/vagrant/log/haproxy/*'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-zookeeper
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json zookeeper_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.yml' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.config' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-zookeeper/run.sh ']'
    ==> photon: ++ mustache zookeeper_params.json /esxcloud/java/distributions/configurations/configuration-zookeeper/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-zookeeper/run.sh_temp /esxcloud/java/distributions/configurations/configuration-zookeeper/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.sql' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-zookeeper/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-zookeeper/zoo.cfg ']'
    ==> photon: ++ mustache zookeeper_params.json /esxcloud/java/distributions/configurations/configuration-zookeeper/zoo.cfg
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-zookeeper/zoo.cfg_temp /esxcloud/java/distributions/configurations/configuration-zookeeper/zoo.cfg
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-haproxy
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json haproxy_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-haproxy/*.yml' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-haproxy/*.config' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-haproxy/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-haproxy/run.sh ']'
    ==> photon: ++ mustache haproxy_params.json /esxcloud/java/distributions/configurations/configuration-haproxy/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-haproxy/run.sh_temp /esxcloud/java/distributions/configurations/configuration-haproxy/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-haproxy/*.sql' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-haproxy/*.{yml,config,js,sh,sql,cfg}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-haproxy/haproxy.cfg ']'
    ==> photon: ++ mustache haproxy_params.json /esxcloud/java/distributions/configurations/configuration-haproxy/haproxy.cfg
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-haproxy/haproxy.cfg_temp /esxcloud/java/distributions/configurations/configuration-haproxy/haproxy.cfg
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -d -p 2181:2181 -p 2188:2188 -p 3188:3188 --restart=always --net=host -v /vagrant/log/zookeeper:/var/log/zookeeper -v /esxcloud/java/distributions/configurations/configuration-zookeeper:/var/esxcloud/data/zookeeper -v /esxcloud/java/distributions/configurations/configuration-zookeeper:/usr/lib/zookeeper/conf --name devbox_zookeeper_container --entrypoint /bin/bash devbox/zookeeper /usr/lib/zookeeper/conf/run.sh
    ==> photon: fdc165760493daaf9cef6b295e36a176398db06bfed0c9d40348ab205bb779c4
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -d -p 443:443 -p 8080:8080 -p 8088:8088 --net=host --restart=always -v /esxcloud/java/distributions/configurations/configuration-haproxy:/etc/haproxy -v /vagrant/log/haproxy:/var/log --privileged --name devbox_haproxy_container -e HAPROXY_IP=22.31.1.1 --entrypoint /bin/bash devbox/haproxy /etc/haproxy/run.sh
    ==> photon: ff946eaf047ca2851417a393fb9a3a314fb925309dd78c56d18c05c180e2d3c7
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/management_api ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/management_api ']'
    ==> photon: ++ rm -rf /vagrant/log/management_api/management-api.log /vagrant/log/management_api/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/management_api
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_management_api_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh management-api
    ==> photon: ++ docker wait devbox_management_api_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_management_api_container_temp devbox/management_api
    ==> photon: 789f275dd65676fd45657536dba10a82451a4f017841ddf26183195c076255ad
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-management-api
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json management-api_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-management-api/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-management-api/management-api.yml ']'
    ==> photon: ++ mustache management-api_params.json /esxcloud/java/distributions/configurations/configuration-management-api/management-api.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-management-api/management-api.yml_temp /esxcloud/java/distributions/configurations/configuration-management-api/management-api.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-management-api/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-management-api/*.config' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-management-api/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-management-api/swagger-config.js ']'
    ==> photon: ++ mustache management-api_params.json /esxcloud/java/distributions/configurations/configuration-management-api/swagger-config.js
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-management-api/swagger-config.js_temp /esxcloud/java/distributions/configurations/configuration-management-api/swagger-config.js
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-management-api/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-management-api/run.sh ']'
    ==> photon: ++ mustache management-api_params.json /esxcloud/java/distributions/configurations/configuration-management-api/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-management-api/run.sh_temp /esxcloud/java/distributions/configurations/configuration-management-api/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-management-api/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-management-api/*.sql' ']'
    ==> photon: ++ docker run -d -p 9000:9000 --net=host --name devbox_management_api_container --restart=always -v /vagrant/log/management_api:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/management_api/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-management-api:/etc/esxcloud --entrypoint /bin/bash devbox/management_api /etc/esxcloud/run.sh
    ==> photon: b56e39175d58e75aabbe8249ba0fd375a91bca9b84547824b7e332aa05a242d5
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/chairman ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/chairman ']'
    ==> photon: ++ rm -rf /vagrant/log/chairman/chairman.log /vagrant/log/chairman/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/chairman
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_chairman_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh chairman
    ==> photon: ++ docker wait devbox_chairman_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_chairman_container_temp devbox/chairman
    ==> photon: 47cd3901da325d0c84a11a953c3b9caa925a044745db1a9c05800cf3dc6521b5
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-chairman
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json chairman_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-chairman/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-chairman/chairman.yml ']'
    ==> photon: ++ mustache chairman_params.json /esxcloud/java/distributions/configurations/configuration-chairman/chairman.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-chairman/chairman.yml_temp /esxcloud/java/distributions/configurations/configuration-chairman/chairman.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-chairman/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-chairman/*.config' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-chairman/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-chairman/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-chairman/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-chairman/run.sh ']'
    ==> photon: ++ mustache chairman_params.json /esxcloud/java/distributions/configurations/configuration-chairman/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-chairman/run.sh_temp /esxcloud/java/distributions/configurations/configuration-chairman/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-chairman/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-chairman/*.sql' ']'
    ==> photon: ++ docker run -d -p 13000:13000 --net=host --name devbox_chairman_container --restart=always -v /vagrant/log/chairman:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/chairman/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-chairman:/etc/esxcloud --entrypoint /bin/bash devbox/chairman /etc/esxcloud/run.sh
    ==> photon: 9aa957015be00c6caa7d2d4fa677080a375ad910d20434ef886139b21126532e
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/root_scheduler ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/root_scheduler ']'
    ==> photon: ++ rm -rf /vagrant/log/root_scheduler/root-scheduler.log /vagrant/log/root_scheduler/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/root_scheduler
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_root_scheduler_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh root-scheduler
    ==> photon: ++ docker wait devbox_root_scheduler_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_root_scheduler_container_temp devbox/root_scheduler
    ==> photon: 9d39f3263ba31707542acaafdb8237cb4d4d97b4bbc2495d310b979d852af9d3
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-root-scheduler
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json root-scheduler_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-root-scheduler/root-scheduler.yml ']'
    ==> photon: ++ mustache root-scheduler_params.json /esxcloud/java/distributions/configurations/configuration-root-scheduler/root-scheduler.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-root-scheduler/root-scheduler.yml_temp /esxcloud/java/distributions/configurations/configuration-root-scheduler/root-scheduler.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.config' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-root-scheduler/run.sh ']'
    ==> photon: ++ mustache root-scheduler_params.json /esxcloud/java/distributions/configurations/configuration-root-scheduler/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-root-scheduler/run.sh_temp /esxcloud/java/distributions/configurations/configuration-root-scheduler/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-root-scheduler/*.sql' ']'
    ==> photon: ++ docker run -d -p 13010:13010 --net=host --name devbox_root_scheduler_container --restart=always -v /vagrant/log/root_scheduler:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/root_scheduler/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-root-scheduler:/etc/esxcloud --entrypoint /bin/bash devbox/root_scheduler /etc/esxcloud/run.sh
    ==> photon: ea1a9941f842566fabba2d6bc47c723942a4e677fd237016a27ddf31600bf9d4
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/housekeeper ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/housekeeper ']'
    ==> photon: ++ rm -rf /vagrant/log/housekeeper/housekeeper.log /vagrant/log/housekeeper/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/housekeeper
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_housekeeper_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh housekeeper
    ==> photon: ++ docker wait devbox_housekeeper_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_housekeeper_container_temp devbox/housekeeper
    ==> photon: 006e3215c6935e5df051f585bcc776bc4ad1461e4b538bd81960c20700599547
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-housekeeper
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json housekeeper_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-housekeeper/housekeeper.yml ']'
    ==> photon: ++ mustache housekeeper_params.json /esxcloud/java/distributions/configurations/configuration-housekeeper/housekeeper.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-housekeeper/housekeeper.yml_temp /esxcloud/java/distributions/configurations/configuration-housekeeper/housekeeper.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-housekeeper/dcp_logging.config ']'
    ==> photon: ++ mustache housekeeper_params.json /esxcloud/java/distributions/configurations/configuration-housekeeper/dcp_logging.config
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-housekeeper/dcp_logging.config_temp /esxcloud/java/distributions/configurations/configuration-housekeeper/dcp_logging.config
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-housekeeper/run.sh ']'
    ==> photon: ++ mustache housekeeper_params.json /esxcloud/java/distributions/configurations/configuration-housekeeper/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-housekeeper/run.sh_temp /esxcloud/java/distributions/configurations/configuration-housekeeper/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-housekeeper/*.sql' ']'
    ==> photon: ++ docker run -d -p 16000:16000 -p 16001:16001 --net=host --name devbox_housekeeper_container --restart=always -v /vagrant/log/housekeeper:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/housekeeper/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-housekeeper:/etc/esxcloud --entrypoint /bin/bash devbox/housekeeper /etc/esxcloud/run.sh
    ==> photon: a3ef071465db30b394df04111052b19cf192b49bce4ee52deac6a4fe5b994cc5
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/deployer ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/deployer ']'
    ==> photon: ++ rm -rf /vagrant/log/deployer/deployer.log /vagrant/log/deployer/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/deployer
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_deployer_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh deployer
    ==> photon: cp: cannot stat '/usr/lib/esxcloud/deployer/configuration-postgresql/': No such file or directory
    ==> photon: ++ docker wait devbox_deployer_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_deployer_container_temp devbox/deployer
    ==> photon: 7f5ce53a00040a8c9c3171c478aac950bf0026e9e36e1533b997f15ac5bea328
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-deployer
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json deployer_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-deployer/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-deployer/deployer.yml ']'
    ==> photon: ++ mustache deployer_params.json /esxcloud/java/distributions/configurations/configuration-deployer/deployer.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-deployer/deployer.yml_temp /esxcloud/java/distributions/configurations/configuration-deployer/deployer.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-deployer/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-deployer/deployer_dcp_logging.config ']'
    ==> photon: ++ mustache deployer_params.json /esxcloud/java/distributions/configurations/configuration-deployer/deployer_dcp_logging.config
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-deployer/deployer_dcp_logging.config_temp /esxcloud/java/distributions/configurations/configuration-deployer/deployer_dcp_logging.config
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-deployer/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-deployer/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-deployer/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-deployer/run.sh ']'
    ==> photon: ++ mustache deployer_params.json /esxcloud/java/distributions/configurations/configuration-deployer/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-deployer/run.sh_temp /esxcloud/java/distributions/configurations/configuration-deployer/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-deployer/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-deployer/*.sql' ']'
    ==> photon: ++ docker run -d -p 18000:18000 -p 18001:18001 --net=host --name devbox_deployer_container --restart=always -v /vagrant/log/deployer:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/deployer/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-deployer:/etc/esxcloud --entrypoint /bin/bash devbox/deployer /etc/esxcloud/run.sh
    ==> photon: 2b7af728e5b174f7026986f9061492e253d706869d6c4a93225782afca888e6e
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' '!' -d /vagrant/log/cloud_store ']'
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ '[' -d /vagrant/log/cloud_store ']'
    ==> photon: ++ rm -rf /vagrant/log/cloud_store/cloud-store.log /vagrant/log/cloud_store/script_logs
    ==> photon: ++ mkdir -p /vagrant/log/cloud_store
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: ++ docker run -v /esxcloud/java/distributions:/archive -v /var/lib/devbox/build:/var/lib/devbox/build --name devbox_cloud_store_container_temp --entrypoint /bin/bash devbox/servicebase /var/lib/devbox/build/service/copy_tars.sh cloud-store
    ==> photon: ++ docker wait devbox_cloud_store_container_temp
    ==> photon: 0
    ==> photon: ++ docker commit devbox_cloud_store_container_temp devbox/cloud_store
    ==> photon: 7ca7559be15fe095d259e1f9b6af7cdeccb2e7c19c5a09a3fec5c59bf17f9251
    ==> photon: ++ cd /esxcloud/java/distributions/configurations/configuration-cloud-store
    ==> photon: ++ echo '{     "DEPLOYER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CHAIRMAN_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "CLOUD-STORE_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "ROOT-SCHEDULER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "HOUSEKEEPER_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "MANAGEMENT-API_REGISTRATION_ADDRESS" : "22.31.1.1"
    ==> photon: ,  "TASK_EXPIRATION_THRESHOLD" : "3 minutes"
    ==> photon: ,  "TASK_EXPIRATION_SCAN_INTERVAL" : "3 minutes"
    ==> photon: , "SHARED_SECRET" : "d181c6fe-ebb7-49c7-9ca2-e0a8fdea6ef0"
    ==> photon: ,  "ENABLE_AUTH" : false
    ==> photon: ,  "DB_HOST" : "22.31.1.1"
    ==> photon: ,  "USE_ESX_STORE" : true
    ==> photon: ,  "ESX_HOST" : "22.31.1.101"
    ==> photon: ,  "DATASTORE" : "datastore1"
    ==> photon: ,  "LOAD_BALANCER_SERVERS": [ { "serverName": "devbox-management-api", "serverAddress": "22.31.1.1:9000" } ]
    ==> photon: ,  "APIFE_IP" : "22.31.1.1"
    ==> photon: ,  "ZOOKEEPER_QUORUM" : "22.31.1.1:2181"
    ==> photon: ,  "ENABLE_SYSLOG" : false
    ==> photon: }'
    ==> photon: ++ /usr/bin/jq-linux64 -s '.[0] * .[1]' dynamic_params.json cloud-store_test.json
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-cloud-store/cloud-store.yml ']'
    ==> photon: ++ mustache cloud-store_params.json /esxcloud/java/distributions/configurations/configuration-cloud-store/cloud-store.yml
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-cloud-store/cloud-store.yml_temp /esxcloud/java/distributions/configurations/configuration-cloud-store/cloud-store.yml
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-cloud-store/dcp_logging.config ']'
    ==> photon: ++ mustache cloud-store_params.json /esxcloud/java/distributions/configurations/configuration-cloud-store/dcp_logging.config
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-cloud-store/dcp_logging.config_temp /esxcloud/java/distributions/configurations/configuration-cloud-store/dcp_logging.config
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.js' ']'
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f /esxcloud/java/distributions/configurations/configuration-cloud-store/run.sh ']'
    ==> photon: ++ mustache cloud-store_params.json /esxcloud/java/distributions/configurations/configuration-cloud-store/run.sh
    ==> photon: ++ mv /esxcloud/java/distributions/configurations/configuration-cloud-store/run.sh_temp /esxcloud/java/distributions/configurations/configuration-cloud-store/run.sh
    ==> photon: ++ for config_file in '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.{yml,config,js,sh,sql}'
    ==> photon: ++ '[' -f '/esxcloud/java/distributions/configurations/configuration-cloud-store/*.sql' ']'
    ==> photon: ++ docker run -d -p 19000:19000 --net=host --name devbox_cloud_store_container --restart=always -v /vagrant/log/cloud_store:/vagrant/log -v /devbox_data/tmp:/devbox_data/tmp -v /vagrant/log/cloud_store/script_logs:/vagrant/log/script_logs -v /var/esxcloud:/var/esxcloud -v /tmp/devbox_datastore:/tmp -v /esxcloud/java/distributions/configurations/configuration-cloud-store:/etc/esxcloud --entrypoint /bin/bash devbox/cloud_store /etc/esxcloud/run.sh
    ==> photon: 5de458df00fe2e1882a9f1e3c511b8f7ae53e3bb519c0b9ea67ddfeaa2b0eff6
    ==> photon: Running provisioner: shell...
        photon: Running: inline script
    ==> photon: Containers:
    ==> photon: CONTAINER ID
    ==> photon:
    ==> photon: IMAGE
    ==> photon:
    ==> photon:
    ==> photon:
    ==> photon: COMMAND
    ==> photon:
    ==> photon:
    ==> photon:
    ==> photon: CREATED
    ==> photon:
    ==> photon:
    ==> photon: STATUS
    ==> photon:
    ==> photon:
    ==> photon:
    ==> photon: PORTS
    ==> photon:
    ==> photon:
    ==> photon: NAMES
    ==> photon: 5de458df00fe
    ==> photon:
    ==> photon: devbox/cloud_store
    ==> photon:
    ==> photon: "/bin/bash /etc/esxcl"
    ==> photon:
    ==> photon: 1 seconds ago       Up Less than a second                       devbox_cloud_store_container
    ==> photon: 2b7af728e5b1        devbox/deployer         "/bin/bash /etc/esxcl"   9 seconds ago       Up 8 seconds                                devbox_deployer_container
    ==> photon: a3ef071465db        devbox/housekeeper      "/bin/bash /etc/esxcl"   16 seconds ago      Up 15 seconds                               devbox_housekeeper_container
    ==> photon: ea1a9941f842        devbox/root_scheduler   "/bin/bash /etc/esxcl"   23 seconds ago      Up 22 seconds                               devbox_root_scheduler_container
    ==> photon: 9aa957015be0        devbox/chairman         "/bin/bash /etc/esxcl"   34 seconds ago      Up 33 seconds                               devbox_chairman_container
    ==> photon: b56e39175d58        devbox/management_api   "/bin/bash /etc/esxcl"   39 seconds ago      Up 38 seconds                               devbox_management_api_container
    ==> photon: ff946eaf047c        devbox/haproxy          "/bin/bash /etc/hapro"   45 seconds ago      Up 44 seconds                               devbox_haproxy_container
    ==> photon: fdc165760493        devbox/zookeeper        "/bin/bash /usr/lib/z"   46 seconds ago      Up 45 seconds                               devbox_zookeeper_container
    ==> photon: Checking status of services
    ==> photon: Services not started yet. Status: {"components":[{"component":"HOUSEKEEPER","status":"READY","instances":[{"address":"localhost/127.0.0.1:16000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CHAIRMAN","status":"READY","instances":[{"address":"localhost/127.0.0.1:13000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:46 UTC 2016"}],"stats":{"READY":"1"}},{"component":"ROOT_SCHEDULER","status":"READY","instances":[{"address":"localhost/127.0.0.1:13010","status":"READY"}],"stats":{"READY":"1"}},{"component":"DEPLOYER","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}},{"component":"CLOUD_STORE","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}}],"status":"ERROR"}. Retry count: 0
    ==> photon: Services not started yet. Status: {"components":[{"component":"HOUSEKEEPER","status":"READY","instances":[{"address":"localhost/127.0.0.1:16000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CHAIRMAN","status":"READY","instances":[{"address":"localhost/127.0.0.1:13000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:46 UTC 2016"}],"stats":{"READY":"1"}},{"component":"ROOT_SCHEDULER","status":"READY","instances":[{"address":"localhost/127.0.0.1:13010","status":"READY"}],"stats":{"READY":"1"}},{"component":"DEPLOYER","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}},{"component":"CLOUD_STORE","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}}],"status":"ERROR"}. Retry count: 1
    ==> photon: Services not started yet. Status: {"components":[{"component":"HOUSEKEEPER","status":"READY","instances":[{"address":"localhost/127.0.0.1:16000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CHAIRMAN","status":"READY","instances":[{"address":"localhost/127.0.0.1:13000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:46 UTC 2016"}],"stats":{"READY":"1"}},{"component":"ROOT_SCHEDULER","status":"READY","instances":[{"address":"localhost/127.0.0.1:13010","status":"READY"}],"stats":{"READY":"1"}},{"component":"DEPLOYER","status":"READY","instances":[{"address":"localhost/127.0.0.1:18000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CLOUD_STORE","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}}],"status":"ERROR"}. Retry count: 2
    ==> photon: Services not started yet. Status: {"components":[{"component":"HOUSEKEEPER","status":"READY","instances":[{"address":"localhost/127.0.0.1:16000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CHAIRMAN","status":"READY","instances":[{"address":"localhost/127.0.0.1:13000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:46 UTC 2016"}],"stats":{"READY":"1"}},{"component":"ROOT_SCHEDULER","status":"READY","instances":[{"address":"localhost/127.0.0.1:13010","status":"READY"}],"stats":{"READY":"1"}},{"component":"DEPLOYER","status":"READY","instances":[{"address":"localhost/127.0.0.1:18000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CLOUD_STORE","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}}],"status":"ERROR"}. Retry count: 3
    ==> photon: Services not started yet. Status: {"components":[{"component":"HOUSEKEEPER","status":"READY","instances":[{"address":"localhost/127.0.0.1:16000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CHAIRMAN","status":"READY","instances":[{"address":"localhost/127.0.0.1:13000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:46 UTC 2016"}],"stats":{"READY":"1"}},{"component":"ROOT_SCHEDULER","status":"READY","instances":[{"address":"localhost/127.0.0.1:13010","status":"READY"}],"stats":{"READY":"1"}},{"component":"DEPLOYER","status":"READY","instances":[{"address":"localhost/127.0.0.1:18000","status":"READY","buildInfo":"version: 0.1.0-SNAPSHOT, git-commit: ab986a5, built-date: Sun Jan 10 11:05:47 UTC 2016"}],"stats":{"READY":"1"}},{"component":"CLOUD_STORE","status":"UNREACHABLE","instances":[],"message":"Empty ServerSet","stats":{}}],"status":"ERROR"}. Retry count: 4
    ==> photon: Services started successfully
    %