asterixdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From buyin...@apache.org
Subject asterixdb git commit: Auto-config SSDs for the AWS installtion.
Date Mon, 20 Mar 2017 17:42:27 GMT
Repository: asterixdb
Updated Branches:
  refs/heads/master c4eb65649 -> cea6f253c


Auto-config SSDs for the AWS installtion.

Change-Id: I584cc0a9e7420b2b9144635fee107494cb3fa487
Reviewed-on: https://asterix-gerrit.ics.uci.edu/1598
Sonar-Qube: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
BAD: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Ian Maxon <imaxon@apache.org>
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>


Project: http://git-wip-us.apache.org/repos/asf/asterixdb/repo
Commit: http://git-wip-us.apache.org/repos/asf/asterixdb/commit/cea6f253
Tree: http://git-wip-us.apache.org/repos/asf/asterixdb/tree/cea6f253
Diff: http://git-wip-us.apache.org/repos/asf/asterixdb/diff/cea6f253

Branch: refs/heads/master
Commit: cea6f253c1be805ece5909119d3f98dd9e8d767b
Parents: c4eb656
Author: Yingyi Bu <yingyi@couchbase.com>
Authored: Sun Mar 19 23:19:54 2017 -0700
Committer: Yingyi Bu <buyingyi@gmail.com>
Committed: Mon Mar 20 10:41:19 2017 -0700

----------------------------------------------------------------------
 .../src/main/opt/aws/conf/aws_types.yml         | 37 ++++++++++++++++++++
 .../src/main/opt/aws/yaml/aws_start.yml         | 24 +++++++++++++
 .../src/main/opt/aws/yaml/instance_start.yml    |  8 +++++
 .../src/main/opt/aws/yaml/mount.yml             | 28 +++++++++++++++
 4 files changed, 97 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/asterixdb/blob/cea6f253/asterixdb/asterix-server/src/main/opt/aws/conf/aws_types.yml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-server/src/main/opt/aws/conf/aws_types.yml b/asterixdb/asterix-server/src/main/opt/aws/conf/aws_types.yml
new file mode 100644
index 0000000..e0a060e
--- /dev/null
+++ b/asterixdb/asterix-server/src/main/opt/aws/conf/aws_types.yml
@@ -0,0 +1,37 @@
+one_ephemeral:
+  - { device_name: /dev/xvdb, ephemeral: ephemeral0 }
+two_ephemeral:
+  - { device_name: /dev/xvdb, ephemeral: ephemeral0 }
+  - { device_name: /dev/xvdc, ephemeral: ephemeral1 }
+three_ephemeral:
+  - { device_name: /dev/xvdb, ephemeral: ephemeral0 }
+  - { device_name: /dev/xvdc, ephemeral: ephemeral1 }
+  - { device_name: /dev/xvdd, ephemeral: ephemeral2 }
+four_ephemeral:
+  - { device_name: /dev/xvdb, ephemeral: ephemeral0 }
+  - { device_name: /dev/xvdc, ephemeral: ephemeral1 }
+  - { device_name: /dev/xvdd, ephemeral: ephemeral2 }
+  - { device_name: /dev/xvde, ephemeral: ephemeral3 }
+
+ephemeral_volumes:
+  c1.medium: "{{ one_ephemeral }}"
+  c1.xlarge: "{{ four_ephemeral }}"
+  c3.large: "{{ two_ephemeral }}"
+  c3.xlarge: "{{ two_ephemeral }}"
+  c3.2xlarge: "{{ two_ephemeral }}"
+  c3.4xlarge: "{{ two_ephemeral }}"
+  c3.8xlarge: "{{ two_ephemeral }}"
+  i2.xlarge: "{{ one_ephemeral }}"
+  i2.2xlarge: "{{ two_ephemeral }}"
+  i2.4xlarge: "{{ four_ephemeral }}"
+  m1.small: "{{ one_ephemeral }}"
+  m1.medium: "{{ one_ephemeral }}"
+  m1.large: "{{ two_ephemeral }}"
+  m1.xlarge: "{{ four_ephemeral }}"
+  m2.xlarge: "{{ one_ephemeral }}"
+  m2.2xlarge: "{{ one_ephemeral }}"
+  m2.4xlarge: "{{ two_ephemeral }}"
+  m3.medium: "{{ one_ephemeral }}"
+  m3.large: "{{ one_ephemeral }}"
+  m3.xlarge: "{{ two_ephemeral }}"
+  m3.2xlarge: "{{ two_ephemeral }}"

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/cea6f253/asterixdb/asterix-server/src/main/opt/aws/yaml/aws_start.yml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-server/src/main/opt/aws/yaml/aws_start.yml b/asterixdb/asterix-server/src/main/opt/aws/yaml/aws_start.yml
index 802abcd..5287e34 100644
--- a/asterixdb/asterix-server/src/main/opt/aws/yaml/aws_start.yml
+++ b/asterixdb/asterix-server/src/main/opt/aws/yaml/aws_start.yml
@@ -25,8 +25,12 @@
      inventory: "{{ temp_dir }}/inventory"
      ccconf: "{{ temp_dir }}/cc.conf"
      home_dir: "/home/{{ user }}"
+     vols: "{{ ephemeral_volumes[instance_type]|default([]) }}"
   tasks:
     - include_vars: ../conf/aws_settings.yml
+    - include_vars: ../conf/aws_types.yml
+    - debug:
+        msg: "{{ vols }}"
     - name: Launch all instances
       ec2:
         key_name: "{{ keypair }}"
@@ -40,6 +44,7 @@
         count: "{{ count }}"
         instance_tags:
             Name: "{{ tag }}"
+        volumes: "{{ vols }}"
       register: ec2
 
     - name: Create local temporary directory
@@ -97,6 +102,25 @@
 
     - name: Populate NC iodevices to the cluster configuration file {{ ccconf }}
       shell: printf "iodevices={{ home_dir }}/iodevice\n" >> "{{ ccconf }}"
+      when: vols|length == 0
+
+    - name: Generates multiple iodevice paths
+      shell: printf "devices:\n" >> "{{ temp_dir }}/devices"
+      when: vols|length > 0
+
+    - name: Populate multiple iodevices
+      shell: printf "  - /data{{ vol.0 + 1 }}/iodevice\n" >> "{{ temp_dir }}/devices"
+      with_indexed_items: vols
+      loop_control:
+        loop_var: vol
+      when: vols|length > 0
+
+    - include_vars: "{{ temp_dir }}/devices"
+      when: vols|length > 0
+
+    - name: Populate multiple NC iodevices to the cluster configuration file {{ ccconf }}
+      shell: printf "iodevices={{ devices| join(',') }}\n" >> "{{ ccconf }}"
+      when: vols|length > 0
 
     - name: Populate the NC command to the cluster configuration file {{ ccconf }}
       shell: printf "command=asterixnc\n" >> "{{ ccconf }}"

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/cea6f253/asterixdb/asterix-server/src/main/opt/aws/yaml/instance_start.yml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-server/src/main/opt/aws/yaml/instance_start.yml b/asterixdb/asterix-server/src/main/opt/aws/yaml/instance_start.yml
index 7a5a840..cf09b69 100644
--- a/asterixdb/asterix-server/src/main/opt/aws/yaml/instance_start.yml
+++ b/asterixdb/asterix-server/src/main/opt/aws/yaml/instance_start.yml
@@ -24,6 +24,14 @@
 
 - hosts: all
   tasks:
+    - include_vars: ../conf/aws_settings.yml
+    - include_vars: ../conf/aws_types.yml
+
+    - name: Mount instance local stores
+      include: mount.yml
+
+- hosts: all
+  tasks:
     - include: install_jdk.yml
 
     - include_vars: ../conf/instance_settings.yml

http://git-wip-us.apache.org/repos/asf/asterixdb/blob/cea6f253/asterixdb/asterix-server/src/main/opt/aws/yaml/mount.yml
----------------------------------------------------------------------
diff --git a/asterixdb/asterix-server/src/main/opt/aws/yaml/mount.yml b/asterixdb/asterix-server/src/main/opt/aws/yaml/mount.yml
new file mode 100644
index 0000000..2e16476
--- /dev/null
+++ b/asterixdb/asterix-server/src/main/opt/aws/yaml/mount.yml
@@ -0,0 +1,28 @@
+# ------------------------------------------------------------
+# 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.
+# ------------------------------------------------------------
+
+- name:  Set up all instance storage devices
+  shell: |
+    sudo umount "{{ vol.1.device_name }}"
+    sudo mkdir "/data{{ vol.0 + 1 }}"
+    sudo mount "{{ vol.1.device_name }}" "/data{{ vol.0 + 1 }}"
+    sudo chown -R $USER "/data{{ vol.0 + 1 }}"
+  with_indexed_items: "{{ ephemeral_volumes[instance_type]|default([]) }}"
+  loop_control:
+    loop_var: vol


Mime
View raw message