<!--
 ! Licensed to the Apache Software Foundation (ASF) under one
 ! or more contributor license agreements.  See the NOTICE file
 ! distributed with this work for additional information
 ! regarding copyright ownership.  The ASF licenses this file
 ! to you under the Apache License, Version 2.0 (the
 ! "License"); you may not use this file except in compliance
 ! with the License.  You may obtain a copy of the License at
 !
 !   http://www.apache.org/licenses/LICENSE-2.0
 !
 ! Unless required by applicable law or agreed to in writing,
 ! software distributed under the License is distributed on an
 ! "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 ! KIND, either express or implied.  See the License for the
 ! specific language governing permissions and limitations
 ! under the License.
 !-->
    <cluster xmlns="cluster">

      <name>vagrant</name>

      <username>vagrant</username>

      <working_dir>
              <dir>/vagrant/managix-working</dir>
              <NFS>true</NFS>
      </working_dir>

      <log_dir>/home/vagrant/logs/</log_dir>
      <txn_log_dir>/home/vagrant/tx_logs</txn_log_dir>

      <iodevices>/home/vagrant</iodevices>

      <store>storage</store>

      <java_home>/usr/java/jdk1.7.0_51</java_home>

      <master_node>
          <id>cc</id>
          <client_ip>10.10.0.2</client_ip>
          <cluster_ip>10.10.0.2</cluster_ip>
          <client_port>1098</client_port>
          <cluster_port>1099</cluster_port>
          <http_port>8888</http_port>
      </master_node>
      <node>
          <id>nc0</id>
          <cluster_ip>10.10.0.2</cluster_ip>
      </node>
      <node>
          <id>nc1</id>
          <cluster_ip>10.10.0.3</cluster_ip>
      </node>
      <node>
          <id>nc2</id>
          <cluster_ip>10.10.0.4</cluster_ip>
      </node>
      <node>
          <id>nc3</id>
          <cluster_ip>10.10.0.5</cluster_ip>
      </node>
</cluster>
