aboutsummaryrefslogtreecommitdiffstats
path: root/ansible/roles/create_fuel_pod_yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles/create_fuel_pod_yaml')
-rw-r--r--ansible/roles/create_fuel_pod_yaml/tasks/main.yml37
-rw-r--r--ansible/roles/create_fuel_pod_yaml/templates/fuel_pod.yaml.j233
2 files changed, 70 insertions, 0 deletions
diff --git a/ansible/roles/create_fuel_pod_yaml/tasks/main.yml b/ansible/roles/create_fuel_pod_yaml/tasks/main.yml
new file mode 100644
index 000000000..b13bc2f08
--- /dev/null
+++ b/ansible/roles/create_fuel_pod_yaml/tasks/main.yml
@@ -0,0 +1,37 @@
+# Copyright (c) 2017 Intel Corporation.
+#
+# Licensed 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: fetch fuel master ssh key
+ fetch:
+ src: /root/.ssh/id_rsa
+ dest: /root/.ssh/id_rsa
+
+- name: collect fuel node info
+ command: fuel --json node
+ register: fuel_node_output
+
+- name: import fuel json
+ set_fact:
+ fuel_nodes: "{{ fuel_node_output.stdout|from_json }}"
+
+- name: find compute node
+ set_fact:
+ compute_node: "{{ fuel_nodes|find_fuel_nodes.computes_ips[0] }}"
+
+- name: get remote arch
+ command: ssh "{{ compute_node }}" uname -m
+ register: uname_output
+
+- set_fact:
+ YARD_IMG_ARCH: "{{ 'arm64' if uname_output.stdout.strip() == 'aarch64' else 'amd64' }}"
diff --git a/ansible/roles/create_fuel_pod_yaml/templates/fuel_pod.yaml.j2 b/ansible/roles/create_fuel_pod_yaml/templates/fuel_pod.yaml.j2
new file mode 100644
index 000000000..2a038537b
--- /dev/null
+++ b/ansible/roles/create_fuel_pod_yaml/templates/fuel_pod.yaml.j2
@@ -0,0 +1,33 @@
+##############################################################################
+# Copyright (c) 2017 Ericsson AB and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+# sample config file about the POD information, including the
+# name/IP/user/ssh key of Bare Metal and Controllers/Computes
+#
+# The options of this config file include:
+# name: the name of this node
+# role: node's role, support role: Master/Controller/Comupte/BareMetal
+# ip: the node's IP address
+# user: the username for login
+# key_filename:the path of the private key file for login
+# ipX: the ips of the nodes will be fetched by prepare_env.sh and replaced here
+
+nodes:
+{% for fuel_node in fuel_nodes %}
+-
+ name: {{ fuel_node.name }}
+ {% if "contoller" in fuel_node.roles %}
+ role: Controller
+ {% elif "compute" in fuel_node.roles %}
+ role: Compute
+ {% endif %}
+ ip: {{ fuel_node.ip }}
+ user: root
+ key_filename: /root/.ssh/id_rsa
+{% endfor %}