jriguera.configdrive
ansible-role-configdrive
目前这个仓库没有积极维护。建议使用David Blaisonneau维护的分支:https://gitlab.com/davidblaisonneau-orange/ansible-role-configdrive
这是一个用于为OpenStack Ironic创建配置驱动的Ansible角色。它为节点创建OpenStack配置驱动的数据,并能够在基于Debian和RedHat的发行版上设置复杂的网络配置,如绑定、VLAN和桥接。请注意,镜像需要支持这些功能(内核模块、软件包等)。该工具仅创建将在启动时通过Cloud-Init注入到主机中的配置文件。
这个剧本旨在在通过Ironic部署节点之前执行。它创建一个基本的配置驱动,包含网络配置、允许用户登录主机的SSH密钥,以及其他文件如/etc/hosts
或/etc/resolv.conf
。此外,它能够包含用户数据文件 https://help.ubuntu.com/community/CloudInit
支持Ansible 2.0,适用于Ubuntu Trusty、Xenial和Centos 7。
要求
它不会在目标主机上安装软件包,而只是创建创建配置驱动卷所需的文件夹和文件。因此,请注意,您可能需要安装genisoimage
、base64
和gzip
。
配置
角色参数
# 您应该覆盖这些角色变量!
# 它将根据操作系统的类型生成网络配置!
configdrive_os_family: "Debian"
configdrive_uuid: "uuid-test-01"
configdrive_fqdn: "test.example.com"
configdrive_name: "test"
configdrive_ssh_public_key:
configdrive_availability_zone: ""
configdrive_network_info: True
configdrive_config_dir: "/var/lib/ironic/images/"
configdrive_volume_path: "/var/lib/ironic/images/"
# 附加元数据
configdrive_meta: {}
# SSH公钥文件的路径
configdrive_ssh_public_key_path:
# cloud-config文件的路径
configdrive_config_user_data_path:
# 自动分配的UUID
#configdrive_instance_dir:
# 创建后删除实例目录文件夹
configdrive_config_dir_delete: False
# 填充/etc/resolv.conf
#configdrive_resolv:
# domain: "example.com"
# search: "hola.example.com"
# dns: ['8.8.8.8']
# 填充/etc/hosts
#configdrive_hosts:
# - ['127.0.1.1', 'host1.domain.com']
# - ['127.0.1.2', 'host3.domain.com']
# 设备定义列表
#configdrive_network_device_list:
# - device: "eth1"
# bootproto: "dhcp"
# - device: "eth2"
# bootproto: "dhcp"
# type: "phy"
# - device: "eth0.500"
# type: "vlan"
# address: "10.1.1.10"
# netmask: "255.255.255.0"
# gateway: "10.1.1.1"
# nameservers:
# - 8.8.8.8
# - 9.9.9.9
# domain: "hola.com"
# backend: ["eth0"]
使用方法
查看site.yml
并输入vagrant up
,然后进入vagrant虚拟机内部的/tmp/configdrive
文件夹,您将看到压缩的ISO卷和其中包含的所有文件夹/文件结构。
作者与许可信息
版权所有 2019 Jose Riguera Lopez
根据Apache许可证第2.0版(“许可证”)获得许可; 您不得以违反许可证的方式使用此文件。您可以在以下网址获取许可证的副本:
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面协议,按照许可证分发的软件是在“按现状”基础上分发的,不提供任何形式的保证或条件,无论明示或暗示。请参阅许可证以了解有关权限和限制的具体语言。