summaryrefslogtreecommitdiffstats
path: root/playbooks/openstack/sample-inventory
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/openstack/sample-inventory')
-rw-r--r--playbooks/openstack/sample-inventory/group_vars/OSEv3.yml7
-rw-r--r--playbooks/openstack/sample-inventory/group_vars/all.yml12
-rwxr-xr-xplaybooks/openstack/sample-inventory/inventory.py105
3 files changed, 15 insertions, 109 deletions
diff --git a/playbooks/openstack/sample-inventory/group_vars/OSEv3.yml b/playbooks/openstack/sample-inventory/group_vars/OSEv3.yml
index 933117127..1287b25f3 100644
--- a/playbooks/openstack/sample-inventory/group_vars/OSEv3.yml
+++ b/playbooks/openstack/sample-inventory/group_vars/OSEv3.yml
@@ -14,12 +14,13 @@ openshift_hosted_router_wait: True
openshift_hosted_registry_wait: True
## Openstack credentials
-#openshift_cloudprovider_kind=openstack
+#openshift_cloudprovider_kind: openstack
#openshift_cloudprovider_openstack_auth_url: "{{ lookup('env','OS_AUTH_URL') }}"
#openshift_cloudprovider_openstack_username: "{{ lookup('env','OS_USERNAME') }}"
#openshift_cloudprovider_openstack_password: "{{ lookup('env','OS_PASSWORD') }}"
#openshift_cloudprovider_openstack_tenant_name: "{{ lookup('env','OS_TENANT_NAME') }}"
-#openshift_cloudprovider_openstack_region="{{ lookup('env', 'OS_REGION_NAME') }}"
+#openshift_cloudprovider_openstack_region: "{{ lookup('env', 'OS_REGION_NAME') }}"
+#openshift_cloudprovider_openstack_blockstorage_version: v2
## Use Cinder volume for Openshift registry:
@@ -42,7 +43,7 @@ openshift_hosted_registry_wait: True
# NOTE(shadower): the hostname check seems to always fail because the
# host's floating IP address doesn't match the address received from
# inside the host.
-openshift_override_hostname_check: true
+openshift_hostname_check: false
# For POCs or demo environments that are using smaller instances than
# the official recommended values for RAM and DISK, uncomment the line below.
diff --git a/playbooks/openstack/sample-inventory/group_vars/all.yml b/playbooks/openstack/sample-inventory/group_vars/all.yml
index c7afe9a24..101ac52ad 100644
--- a/playbooks/openstack/sample-inventory/group_vars/all.yml
+++ b/playbooks/openstack/sample-inventory/group_vars/all.yml
@@ -7,6 +7,7 @@ openshift_openstack_dns_nameservers: []
# # - set custom hostnames for roles by uncommenting corresponding lines
#openshift_openstack_master_hostname: "master"
#openshift_openstack_infra_hostname: "infra-node"
+#openshift_openstack_cns_hostname: "cns"
#openshift_openstack_node_hostname: "app-node"
#openshift_openstack_lb_hostname: "lb"
#openshift_openstack_etcd_hostname: "etcd"
@@ -30,6 +31,7 @@ openshift_openstack_external_network_name: "public"
# # - note: do not remove openshift_openstack_default_image_name definition
#openshift_openstack_master_image_name: "centos7"
#openshift_openstack_infra_image_name: "centos7"
+#openshift_openstack_cns_image_name: "centos7"
#openshift_openstack_node_image_name: "centos7"
#openshift_openstack_lb_image_name: "centos7"
#openshift_openstack_etcd_image_name: "centos7"
@@ -37,6 +39,7 @@ openshift_openstack_default_image_name: "centos7"
openshift_openstack_num_masters: 1
openshift_openstack_num_infra: 1
+openshift_openstack_num_cns: 0
openshift_openstack_num_nodes: 2
# # Used Flavors
@@ -44,6 +47,7 @@ openshift_openstack_num_nodes: 2
# # - note: do note remove openshift_openstack_default_flavor definition
#openshift_openstack_master_flavor: "m1.medium"
#openshift_openstack_infra_flavor: "m1.medium"
+#openshift_openstack_cns_flavor: "m1.medium"
#openshift_openstack_node_flavor: "m1.medium"
#openshift_openstack_lb_flavor: "m1.medium"
#openshift_openstack_etcd_flavor: "m1.medium"
@@ -57,6 +61,7 @@ openshift_openstack_default_flavor: "m1.medium"
# # - note: do not remove docker_default_volume_size definition
#openshift_openstack_docker_master_volume_size: "15"
#openshift_openstack_docker_infra_volume_size: "15"
+#openshift_openstack_docker_cns_volume_size: "15"
#openshift_openstack_docker_node_volume_size: "15"
#openshift_openstack_docker_etcd_volume_size: "2"
#openshift_openstack_docker_lb_volume_size: "5"
@@ -80,7 +85,12 @@ openshift_openstack_docker_volume_size: "15"
## WARNING: This will delete any data on the volume!
#openshift_openstack_prepare_and_format_registry_volume: False
-openshift_openstack_subnet_prefix: "192.168.99"
+# The Classless Inter-Domain Routing (CIDR) for the OpenStack VM subnet.
+openshift_openstack_subnet_cidr: "192.168.99.0/24"
+# The starting IP address for the OpenStack subnet allocation pool.
+openshift_openstack_pool_start: "192.168.99.3"
+# The ending IP address for the OpenStack subnet allocation pool.
+openshift_openstack_pool_end: "192.168.99.254"
## Red Hat subscription:
#rhsub_user: '<username>'
diff --git a/playbooks/openstack/sample-inventory/inventory.py b/playbooks/openstack/sample-inventory/inventory.py
deleted file mode 100755
index ad3fd936b..000000000
--- a/playbooks/openstack/sample-inventory/inventory.py
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/usr/bin/env python
-"""
-This is an Ansible dynamic inventory for OpenStack.
-
-It requires your OpenStack credentials to be set in clouds.yaml or your shell
-environment.
-
-"""
-
-from __future__ import print_function
-
-import json
-
-import shade
-
-
-def build_inventory():
- '''Build the dynamic inventory.'''
- cloud = shade.openstack_cloud()
-
- inventory = {}
-
- # TODO(shadower): filter the servers based on the `OPENSHIFT_CLUSTER`
- # environment variable.
- cluster_hosts = [
- server for server in cloud.list_servers()
- if 'metadata' in server and 'clusterid' in server.metadata]
-
- masters = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'master']
-
- etcd = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'etcd']
- if not etcd:
- etcd = masters
-
- infra_hosts = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'node' and
- server.metadata['sub-host-type'] == 'infra']
-
- app = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'node' and
- server.metadata['sub-host-type'] == 'app']
-
- nodes = list(set(masters + infra_hosts + app))
-
- dns = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'dns']
-
- load_balancers = [server.name for server in cluster_hosts
- if server.metadata['host-type'] == 'lb']
-
- osev3 = list(set(nodes + etcd + load_balancers))
-
- inventory['cluster_hosts'] = {'hosts': [s.name for s in cluster_hosts]}
- inventory['OSEv3'] = {'hosts': osev3}
- inventory['masters'] = {'hosts': masters}
- inventory['etcd'] = {'hosts': etcd}
- inventory['nodes'] = {'hosts': nodes}
- inventory['infra_hosts'] = {'hosts': infra_hosts}
- inventory['app'] = {'hosts': app}
- inventory['dns'] = {'hosts': dns}
- inventory['lb'] = {'hosts': load_balancers}
-
- for server in cluster_hosts:
- if 'group' in server.metadata:
- group = server.metadata.group
- if group not in inventory:
- inventory[group] = {'hosts': []}
- inventory[group]['hosts'].append(server.name)
-
- inventory['_meta'] = {'hostvars': {}}
-
- for server in cluster_hosts:
- ssh_ip_address = server.public_v4 or server.private_v4
- hostvars = {
- 'ansible_host': ssh_ip_address
- }
-
- public_v4 = server.public_v4 or server.private_v4
- if public_v4:
- hostvars['public_v4'] = server.public_v4
- hostvars['openshift_public_ip'] = server.public_v4
- # TODO(shadower): what about multiple networks?
- if server.private_v4:
- hostvars['private_v4'] = server.private_v4
- # NOTE(shadower): Yes, we set both hostname and IP to the private
- # IP address for each node. OpenStack doesn't resolve nodes by
- # name at all, so using a hostname here would require an internal
- # DNS which would complicate the setup and potentially introduce
- # performance issues.
- hostvars['openshift_ip'] = server.private_v4
- hostvars['openshift_hostname'] = server.private_v4
- hostvars['openshift_public_hostname'] = server.name
-
- node_labels = server.metadata.get('node_labels')
- if node_labels:
- hostvars['openshift_node_labels'] = node_labels
-
- inventory['_meta']['hostvars'][server.name] = hostvars
- return inventory
-
-
-if __name__ == '__main__':
- print(json.dumps(build_inventory(), indent=4, sort_keys=True))