diff options
Diffstat (limited to 'ansible/roles/create_fuel_pod_yaml')
-rw-r--r-- | ansible/roles/create_fuel_pod_yaml/tasks/main.yml | 37 | ||||
-rw-r--r-- | ansible/roles/create_fuel_pod_yaml/templates/fuel_pod.yaml.j2 | 33 |
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 %} |