Extract neutron-net role into a separate project on galaxy

This allows it to be used by other projects.
This commit is contained in:
Mark Goddard 2017-05-18 10:13:38 +01:00
parent eb5551e3fb
commit 149a765f89
6 changed files with 17 additions and 118 deletions

1
.gitignore vendored
View File

@ -57,6 +57,7 @@ ansible/roles/stackhpc.drac/
ansible/roles/stackhpc.drac-facts/ ansible/roles/stackhpc.drac-facts/
ansible/roles/stackhpc.os-flavors/ ansible/roles/stackhpc.os-flavors/
ansible/roles/stackhpc.os-openstackclient/ ansible/roles/stackhpc.os-openstackclient/
ansible/roles/stackhpc.os-networks/
ansible/roles/stackhpc.os-projects/ ansible/roles/stackhpc.os-projects/
ansible/roles/stackhpc.os-shade/ ansible/roles/stackhpc.os-shade/
ansible/roles/resmo.ntp/ ansible/roles/resmo.ntp/

View File

@ -20,18 +20,19 @@
roles: roles:
- role: neutron-net - role: neutron-net
neutron_net_venv: "{{ venv }}" os_networks_venv: "{{ venv }}"
neutron_net_openstack_auth_type: "{{ openstack_auth_type }}" os_networks_auth_type: "{{ openstack_auth_type }}"
neutron_net_openstack_auth: "{{ openstack_auth }}" os_networks_auth: "{{ openstack_auth }}"
# Network configuration. # Network configuration.
neutron_net_name: "{{ kolla_ironic_provisioning_network }}" os_networks:
neutron_net_type: "{% if provision_wl_net_name | net_vlan %}vlan{% else %}flat{% endif %}" - name: "{{ kolla_ironic_provisioning_network }}"
neutron_net_physical_network: "physnet1" provider_network_type: "{% if provision_wl_net_name | net_vlan %}vlan{% else %}flat{% endif %}"
neutron_net_segmentation_id: "{{ provision_wl_net_name | net_vlan }}" provider_physical_network: "physnet1"
neutron_net_shared: True provider_segmentation_id: "{{ provision_wl_net_name | net_vlan }}"
# Subnet configuration. shared: True
neutron_net_subnet_name: "{{ kolla_ironic_provisioning_network }}" subnets:
neutron_net_cidr: "{{ provision_wl_net_name | net_cidr }}" - name: "{{ kolla_ironic_provisioning_network }}"
neutron_net_gateway_ip: "{{ provision_wl_net_name | net_gateway }}" cidr: "{{ provision_wl_net_name | net_cidr }}"
neutron_net_allocation_pool_start: "{{ provision_wl_net_name | net_neutron_allocation_pool_start }}" gateway_ip: "{{ provision_wl_net_name | net_gateway }}"
neutron_net_allocation_pool_end: "{{ provision_wl_net_name | net_neutron_allocation_pool_end }}" allocation_pool_start: "{{ provision_wl_net_name | net_neutron_allocation_pool_start }}"
allocation_pool_end: "{{ provision_wl_net_name | net_neutron_allocation_pool_end }}"

View File

@ -7,5 +7,6 @@
- src: stackhpc.drac - src: stackhpc.drac
- src: stackhpc.drac-facts - src: stackhpc.drac-facts
- src: stackhpc.os-flavors - src: stackhpc.os-flavors
- src: stackhpc.os-networks
- src: stackhpc.os-projects - src: stackhpc.os-projects
- src: yatesr.timezone - src: yatesr.timezone

View File

@ -1,53 +0,0 @@
---
# Path to virtualenv in which to install shade and its dependencies.
neutron_net_venv:
# Authentication type compatible with the 'os_network' Ansible module's
# auth_type argument.
neutron_net_openstack_auth_type:
# Authentication parameters compatible with the 'os_network' Ansible module's
# auth argument.
neutron_net_openstack_auth: {}
# Name of the Neutron network.
neutron_net_name:
# Provider type of the Neutron network.
neutron_net_type:
# Prpvider physical network of the Neutron network.
neutron_net_physical_network:
# Provider segmentation ID of the Neutron network.
neutron_net_segmentation_id:
# Whether the Neutron network is shared.
neutron_net_shared:
# Whether the Neutron network is external.
neutron_net_external:
# Name of the Neutron subnet.
neutron_net_subnet_name:
# CIDR representation of the Neutron subnet's IP network.
neutron_net_cidr:
# IP address of the Neutron subnet's gateway.
neutron_net_gateway_ip:
# Start of the Neutron subnet's IP allocation pool.
neutron_net_allocation_pool_start:
# End of the Neutron subnet's IP allocation pool.
neutron_net_allocation_pool_end:
# Name of the Neutron router.
neutron_net_router_name:
# List of subnets to attach to the router internal interface.
neutron_net_router_interfaces:
# Unique name or ID of the external gateway network.
neutron_net_router_network:

View File

@ -1,4 +0,0 @@
---
dependencies:
- role: stackhpc.os-shade
os_shade_venv: "{{ neutron_net_venv }}"

View File

@ -1,47 +0,0 @@
---
# Note that setting this via a play or task variable seems to not
# evaluate the Jinja variable reference, so we use set_fact.
- name: Update the Ansible python interpreter fact to point to the virtualenv
set_fact:
ansible_python_interpreter: "{{ neutron_net_venv }}/bin/python"
- name: Ensure network is registered with Neutron
os_network:
auth_type: "{{ neutron_net_openstack_auth_type }}"
auth: "{{ neutron_net_openstack_auth }}"
name: "{{ neutron_net_name }}"
provider_network_type: "{{ neutron_net_type | default(omit) }}"
provider_physical_network: "{{ neutron_net_physical_network | default(omit) }}"
provider_segmentation_id: "{{ neutron_net_segmentation_id | default(omit) }}"
shared: "{{ neutron_net_shared }}"
external: "{{ neutron_net_external }}"
state: present
- name: Ensure subnet is registered with Neutron
os_subnet:
auth_type: "{{ neutron_net_openstack_auth_type }}"
auth: "{{ neutron_net_openstack_auth }}"
name: "{{ neutron_net_subnet_name }}"
network_name: "{{ neutron_net_name }}"
cidr: "{{ neutron_net_cidr }}"
gateway_ip: "{{ neutron_net_gateway_ip | default(omit) }}"
no_gateway_ip: "{{ not neutron_net_gateway_ip }}"
allocation_pool_start: "{{ neutron_net_allocation_pool_start | default(omit) }}"
allocation_pool_end: "{{ neutron_net_allocation_pool_end | default(omit) }}"
state: present
- name: Ensure router is registered with Neutron
os_router:
auth_type: "{{ neutron_net_openstack_auth_type }}"
auth: "{{ neutron_net_openstack_auth }}"
name: "{{ neutron_net_router_name }}"
interfaces: "{{ neutron_net_router_interfaces or omit }}"
network: "{{ neutron_net_router_network or omit }}"
state: present
when: "{{ neutron_net_router_name != None }}"
# This variable is unset before we set it, and it does not appear to be
# possible to unset a variable in Ansible.
- name: Set a fact to reset the Ansible python interpreter
set_fact:
ansible_python_interpreter: /usr/bin/python