# Copyright 2018 AT&T Intellectual Property. All other rights reserved. # # 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. class BaseProcessor(object): def __init__(self, file_name): pass def render_template(self, template): pass @staticmethod def get_role_wise_nodes(yaml_data): hosts = {"genesis": {}, "masters": [], "workers": []} for rack in yaml_data["baremetal"]: for host in yaml_data["baremetal"][rack]: if yaml_data["baremetal"][rack][host]["type"] == "genesis": hosts["genesis"] = { "name": host, "pxe": yaml_data["baremetal"][rack][host]["ip"]["pxe"], "oam": yaml_data["baremetal"][rack][host]["ip"]["oam"], } elif ( yaml_data["baremetal"][rack][host]["type"] == "controller" ): hosts["masters"].append(host) else: hosts["workers"].append(host) return hosts