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 a public_net parameter that matches the external network in the router’s external_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 a public_net parameter that matches the external network in the router’s external_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.