This repository contains heat resources that generate user data scripts for running Autostrap on cloud instances.
1. AS::floatport
1.1. Description
Creates a Neutron port on an internal network and associates it with a public floating IP address through a router.
Note: public_net
and internal_net
must be connected through a
OS::Neutron::Router
instance. The Router must be connected to public_net
by specifying this networks UUID as part of the router’s
external_gateway_info
property upon creation. On the other side, it must
have a OS::Neutron::RouterInterface
instance connected to internal_net
(autostrap::network::v3
and later will create this RouterInterface
along with the network it creates.).
1.2. Properties
1.2.1. internal_net
- Type
-
string
- Description
-
UUID of the internal network to connect the floating IP port to.
1.2.2. public_net
- Type
-
string
- Description
-
UUID of the external network to draw floating IP address from.
1.2.3. security_groups
- Type
-
comma_delimited_list
- Description
-
List of security groups to associate with this port.
1.3. Outputs
1.3.1. OS::stack_id
- Description
-
The port associated with the floating IP address (can be attached to a VM).
1.3.2. floating_ip_address
- Description
-
The port’s allocated floating IP address.
1.3.3. port
- Description
-
The port associated with the floating IP address (can be attached to a VM).
2. AS::network
2.1. Description
Creates a Neutron network/subnet combination, along with a security group that allows all traffic from the subnet. Notes:
-
The router specified in the
router
parameter must exist before the template is instantiated. -
Any
sys11::floatport
instances connected to this network must have apublic_net
parameter that matches the external network in the router’sexternal_gateway_info
attribute.
2.2. Properties
2.2.1. router
- Type
-
string
- Description
-
UUID of the router that acts as gateway to the external network. Each tenant needs a router for each external network it uses.
2.2.2. dns_nameservers
- Type
-
comma_delimited_list
- Description
-
DNS name servers for the instances connected to the created subnet to use.
2.2.3. ip_version
- Type
-
number
- Description
-
IP protocol version to use on the created subnet.
2.2.4. cidr
- Type
-
string
- Description
-
Network/netmask in CIDR notation for the created subnet. This must fit the
allocation_pools
parameter.
2.2.5. name
- Type
-
string
- Description
-
The name for the created network.
2.2.6. allocation_pools
- Type
-
json
- Description
-
Range of IP addresses to assign to instances on the created subnet. This must fit the
cidr
parameter. and is a list of hashes, just like the allocation_pools property of OS::Neutron::Subnet.
2.3. Outputs
2.3.1. OS::stack_id
- Description
-
The neutron network created.
2.3.2. network
- Description
-
The neutron network created.
2.3.3. subnet
- Description
-
The neutron subnet attached to the created network.
2.3.4. cidr
- Description
-
The Neutron subnet’s network address in CIDR notation.
2.3.5. security_group
- Description
-
A Neutron security group that allows all traffic from this network.
3. AS::floatport::v3
3.1. Description
Creates a Neutron port on an internal network and associates it with a public floating IP address through a router.
Note: public_net
and internal_net
must be connected through a
OS::Neutron::Router
instance. The Router must be connected to public_net
by specifying this networks UUID as part of the router’s
external_gateway_info
property upon creation. On the other side, it must
have a OS::Neutron::RouterInterface
instance connected to internal_net
(autostrap::network::v3
and later will create this RouterInterface
along with the network it creates.).
3.2. Properties
3.2.1. internal_net
- Type
-
string
- Description
-
UUID of the internal network to connect the floating IP port to.
3.2.2. public_net
- Type
-
string
- Description
-
UUID of the external network to draw floating IP address from.
3.2.3. security_groups
- Type
-
comma_delimited_list
- Description
-
List of security groups to associate with this port.
3.3. Outputs
3.3.1. OS::stack_id
- Description
-
The port associated with the floating IP address (can be attached to a VM).
3.3.2. floating_ip_address
- Description
-
The port’s allocated floating IP address.
3.3.3. port
- Description
-
The port associated with the floating IP address (can be attached to a VM).
4. AS::floatport::v2
4.1. Description
Creates a Neutron port on an internal network and associates it with a public floating IP address. This template is functionally equivalent to autostrap::floatport::v3
. It merely omits the special OS::stack_id output to remain compatible with Juno clouds.
4.2. Properties
4.2.1. public_net
- Type
-
string
- Description
-
UUID of the public network to draw the floating IP address from.
4.2.2. internal_net
- Type
-
string
- Description
-
UUID of the internal network to connect ports to.
4.2.3. security_groups
- Type
-
comma_delimited_list
- Description
-
List of security groups to associate with this port.
4.3. Outputs
4.3.1. floating_ip_address
- Description
-
The port’s allocated floating IP address.
4.3.2. port
- Description
-
The port connected to internal_net.
5. AS::network::v3
5.1. Description
Creates a Neutron network/subnet combination, along with a security group that allows all traffic from the subnet. Notes:
-
The router specified in the
router
parameter must exist before the template is instantiated. -
Any
sys11::floatport
instances connected to this network must have apublic_net
parameter that matches the external network in the router’sexternal_gateway_info
attribute.
5.2. Properties
5.2.1. router
- Type
-
string
- Description
-
UUID of the router that acts as gateway to the external network. Each tenant needs a router for each external network it uses.
5.2.2. dns_nameservers
- Type
-
comma_delimited_list
- Description
-
DNS name servers for the instances connected to the created subnet to use.
5.2.3. ip_version
- Type
-
number
- Description
-
IP protocol version to use on the created subnet.
5.2.4. cidr
- Type
-
string
- Description
-
Network/netmask in CIDR notation for the created subnet. This must fit the
allocation_pools
parameter.
5.2.5. name
- Type
-
string
- Description
-
The name for the created network.
5.2.6. allocation_pools
- Type
-
json
- Description
-
Range of IP addresses to assign to instances on the created subnet. This must fit the
cidr
parameter. and is a list of hashes, just like the allocation_pools property of OS::Neutron::Subnet.
5.3. Outputs
5.3.1. OS::stack_id
- Description
-
The neutron network created.
5.3.2. network
- Description
-
The neutron network created.
5.3.3. subnet
- Description
-
The neutron subnet attached to the created network.
5.3.4. cidr
- Description
-
The Neutron subnet’s network address in CIDR notation.
5.3.5. security_group
- Description
-
A Neutron security group that allows all traffic from this network.
6. AS::autostrap
6.1. Description
This resource generates the first-stage bootstrap script that kicks off the Cloudstrap bootstrapping process. This resource’s script output must be passed as user_data property to any node deployed by Cloudstrap.
6.2. Properties
6.2.1. additional_config
- Type
-
string
- Description
-
Specifies one or more additional repositories configuration repositories to clone as a space separated string, with the individual tokens formatted as follows:
<repository url>[#<revision>]::[[<path>][:<path> …]]
Specifying a revision is optional.
The paths at the end specify the files to be included in hiera.yaml and are relative to the repository’s root directory. You may omit the '.yaml' extension (if it exists it will be stripped for inclusion in hiera.yaml).
Example: 'https://example.com/my-additional-config.git::ssh/keys.yaml git@gitlab.example.com:my-team/my-config.git::config/ssh/my_keys:bar/:config/apache'
6.2.2. extra_overrides
- Type
-
string
- Description
-
Space delimited list of extra hierarchy entries to insert into hiera.yaml after the
override
entry.
6.2.3. config_repo
- Type
-
string
- Description
-
URL of project specific configuration repository (commonly a fork of project-config).
6.2.4. config_branch
- Type
-
string
- Description
-
Git branch/commit of
config_repo
to use.
6.2.5. global_config_repo
- Type
-
string
- Description
-
URL of default configuration repository global-config.
6.2.6. global_config_branch
- Type
-
string
- Description
-
Git branch/commit of
global_config_repo
to use.
6.2.7. deploy_key
- Type
-
string
- Description
-
SSH private key required to access repositories
6.2.8. openstackfacts_repo
- Type
-
string
- Description
-
Repository URL of puppet module puppet-openstackfacts.
6.2.9. openstackfacts_branch
- Type
-
string
- Description
-
Git branch/commit of
openstackfacts_repo
to use.
6.2.10. repodeploy_repo
- Type
-
string
- Description
-
Repository URL of puppet module puppet-repodeploy.
6.2.11. repodeploy_branch
- Type
-
string
- Description
-
Git branch/commit of
repodeploy_repo
to use.
6.2.12. override_yaml
- Type
-
string
- Description
-
Content for
override.yaml
(this file is inserted at the top of Hiera’s hierarchy array).
6.2.13. scripts_repo
- Type
-
string
- Description
-
Repository URL of bootstrap-scripts.
6.2.14. scripts_branch
- Type
-
string
- Description
-
Git branch/commit of
scripts_repo
to use.
6.3. Outputs
6.3.1. script
- Description
-
The generated bootstrap script, ready to be passed as user_data property of
OS::Nova::Server
.
7. AS::autostrap::v1
7.1. Description
This resource generates the first-stage bootstrap script that kicks off the Cloudstrap bootstrapping process. This resource’s script output must be passed as user_data property to any node deployed by Cloudstrap.
7.2. Properties
7.2.1. additional_config
- Type
-
string
- Description
-
Specifies one or more additional repositories configuration repositories to clone as a space separated string, with the individual tokens formatted as follows:
<repository url>[#<revision>]::[[<path>][:<path> …]]
Specifying a revision is optional.
The paths at the end specify the files to be included in hiera.yaml and are relative to the repository’s root directory. You may omit the '.yaml' extension (if it exists it will be stripped for inclusion in hiera.yaml).
Example: 'https://example.com/my-additional-config.git::ssh/keys.yaml git@gitlab.example.com:my-team/my-config.git::config/ssh/my_keys:bar/:config/apache'
7.2.2. extra_overrides
- Type
-
string
- Description
-
Space delimited list of extra hierarchy entries to insert into hiera.yaml after the
override
entry.
7.2.3. config_repo
- Type
-
string
- Description
-
URL of project specific configuration repository (commonly a fork of project-config).
7.2.4. config_branch
- Type
-
string
- Description
-
Git branch/commit of
config_repo
to use.
7.2.5. global_config_repo
- Type
-
string
- Description
-
URL of default configuration repository global-config.
7.2.6. global_config_branch
- Type
-
string
- Description
-
Git branch/commit of
global_config_repo
to use.
7.2.7. deploy_key
- Type
-
string
- Description
-
SSH private key required to access repositories
7.2.8. openstackfacts_repo
- Type
-
string
- Description
-
Repository URL of puppet module puppet-openstackfacts.
7.2.9. openstackfacts_branch
- Type
-
string
- Description
-
Git branch/commit of
openstackfacts_repo
to use.
7.2.10. repodeploy_repo
- Type
-
string
- Description
-
Repository URL of puppet module puppet-repodeploy.
7.2.11. repodeploy_branch
- Type
-
string
- Description
-
Git branch/commit of
repodeploy_repo
to use.
7.2.12. override_yaml
- Type
-
string
- Description
-
Content for
override.yaml
(this file is inserted at the top of Hiera’s hierarchy array).
7.2.13. scripts_repo
- Type
-
string
- Description
-
Repository URL of bootstrap-scripts.
7.2.14. scripts_branch
- Type
-
string
- Description
-
Git branch/commit of
scripts_repo
to use.
7.3. Outputs
7.3.1. script
- Description
-
The generated bootstrap script, ready to be passed as user_data property of
OS::Nova::Server
.