RedHatGov.openstack_instance
OSP 实例
在 OpenStack 上创建一个实例。
要求
- python >= 2.7
- openstacksdk
角色变量
变量 | 必需 | 默认值 | 描述 |
---|---|---|---|
os_auth |
:heavy_check_mark: | 省略 | 包含云的身份验证插件策略所需的身份验证信息的字典。对于默认的密码插件,这将包括 auth_url 、username 、password 、project_name 和关于域的信息(如果云支持)。对于其他插件,此参数需要包含该身份验证插件所需的任何参数。如果提供了命名的云或存在 OpenStack 的 OS_* 环境变量,则不需要此参数。 |
os_instance_name |
:heavy_check_mark: | 必须提供的实例名称。 | |
os_instance_image |
:heavy_check_mark: | 要启动的基础镜像的名称或 ID。 | |
os_instance_flavor |
:heavy_check_mark: | 新实例创建中使用的 Flavor 的名称或 ID。 | |
os_instance_key_name |
:heavy_check_mark: | 创建实例时要使用的密钥对名称。 | |
os_instance_auto_ip |
:x: | yes |
确保实例具有公共 IP,具体由云决定。 |
os_instance_timeout |
:x: | 300 |
模块应等待实例进入活动状态的时间。 |
os_instance_volumes |
:x: | [] |
要创建并附加到实例的卷列表。列表中的每个卷包含 name 和 size 。 |
os_instance_security_groups |
:x: | [] |
要创建的安全组,实例应添加到这些安全组中。列表中的每个安全组包含 name 、rules 和可选的 description 。rules 参数将包含 此处 定义的选项。 |
依赖关系
无
示例剧本
包含一个示例,说明如何使用您的角色(例如,作为参数传递变量)对用户也很有帮助:
- hosts: localhost
vars:
os_auth:
auth_url: http://openstack.example.com:5000
username: admin
password: p@ssw0rd
project_name: demo
project_domain_name: default
user_domain_name: default
project_name: myproject
os_instance_name: myinstance
os_instance_image: rhel75
os_instance_flavor: m4.xlarge
os_instance_key_name: user1-key
os_instance_network: private
os_instance_auto_ip: yes
os_instance_timeout: 300
os_instance_volumes:
- name: scratch
size: 10
- name: db
size: 50
os_instance_security_groups:
- name: ssh
description: 允许 SSH
rules:
- protocol: tcp
port_range_min: 22
port_range_max: 22
remote_ip_prefix: 0.0.0.0/0
- name: web
rules:
- protocol: tcp
port_range_min: 80
port_range_max: 80
remote_ip_prefix: 0.0.0.0/0
- protocol: tcp
port_range_min: 443
port_range_max: 443
remote_ip_prefix: 0.0.0.0/0
tasks:
- name: 创建 OpenStack 实例
include_role:
name: RedHatGov.openstack_instance
许可证
GPLv3