1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
#set cluster_name = $getVar('name', '')
#set compute_controllers = $getVar('compute_controller', [])
#set compute_workers = $getVar('compute_worker', [])
#set network_servers = $getVar('network_server', [])
#set network_workers = $getVar('network_worker', [])
#set databases = $getVar('database', [])
#set messagings = $getVar('messaging', [])
#set images = $getVar('image', [])
#set dashboards = $getVar('dashboard', [])
#set identities = $getVar('identity', [])
#set storage_controllers = $getVar('storage_controller', [])
#set storage_volumes = $getVar('storage_volume', [])
#if not $isinstance($compute_controllers, list)
#set compute_controllers = [$compute_controllers]
#end if
#if not $isinstance($compute_workers, list)
#set compute_workers = [$compute_workers]
#end if
#if not $isinstance($network_servers, list)
#set network_servers = [$network_servers]
#end if
#if not $isinstance($network_workers, list)
#set network_workers = [$network_workers]
#end if
#if not $isinstance($databases, list)
#set databases = [$databases]
#end if
#if not $isinstance($messagings, list)
#set messagings = [$messagings]
#end if
#if not $isinstance($images, list)
#set images = [$images]
#end if
#if not $isinstance($dashboards, list)
#set dashboards = [$dashboards]
#end if
#if not $isinstance($identities, list)
#set identities = [$identities]
#end if
#if not $isinstance($storage_controllers, list)
#set storage_controllers = [$storage_controllers]
#end if
#if not $isinstance($storage_volumes, list)
#set storage_volumes = [$storage_volumes]
#end if
#for worker in $compute_controllers
#set worker_ip = $worker.management.ip
compute_controller_host: $worker_ip
#end for
#for worker in $databases
#set worker_ip = $worker.management.ip
db_host: $worker_ip
#end for
#for worker in $messagings
#set worker_ip = $worker.management.ip
rabbit_host: $worker_ip
#end for
#for worker in $storage_controllers
#set worker_ip = $worker.management.ip
storage_controller_host: $worker_ip
#end for
#for worker in $images
#set worker_ip = $worker.management.ip
image_host: $worker_ip
#end for
#for worker in $identities
#set worker_ip = $worker.management.ip
identity_host: $worker_ip
#end for
#for worker in $compute_controllers
#set worker_ip = $worker.management.ip
compute_controller_host: $worker_ip
#end for
#for worker in $network_servers
#set worker_ip = $worker.management.ip
network_server_host: $worker_ip
#end for
#for worker in $dashboards
#set worker_ip = $worker.management.ip
dashboard_host: $worker_ip
#end for
#for network in $network_workers
#set network_external_nic = $network.external.interface
#set network_internal_nic = $network.management.interface
INTERFACE_NAME: $network_external_nic
INTERNAL_INTERFACE: $network_internal_nic
#end for
cluster_name: $cluster_name
odl_controller: 10.1.0.15
DEBUG: true
VERBOSE: true
NTP_SERVER_LOCAL: "{{ compute_controller_host }}"
DB_HOST: "{{ db_host }}"
MQ_BROKER: rabbitmq
OPENSTACK_REPO: cloudarchive-ocata.list
ocata_cloud_archive: deb http://ubuntu-cloud.archive.canonical.com/ubuntu xenial-updates/ocata main
ADMIN_TOKEN: admin
CEILOMETER_TOKEN: c095d479023a0fd58a54
NEUTRON_TYPE_DRIVERS: ['flat', 'gre', 'vxlan']
NEUTRON_TENANT_NETWORK_TYPES: ['vxlan']
#NEUTRON_MECHANISM_DRIVERS: ['opendaylight']
NEUTRON_MECHANISM_DRIVERS: ['openvswitch']
NEUTRON_TUNNEL_TYPES: ['vxlan']
METADATA_SECRET: metadata_secret
INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS: 10.1.1.21
EXTERNAL_NETWORK_CIDR: 203.0.113.0/24
EXTERNAL_NETWORK_GATEWAY: 203.0.113.1
FLOATING_IP_START: 203.0.113.101
FLOATING_IP_END: 203.0.113.200
build_in_image: http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img
build_in_image_name: cirros-0.3.3-x86_64-disk.img
physical_device: /dev/sdb
internal_interface: "ansible_{{ INTERNAL_INTERFACE }}"
internal_ip: "{{ hostvars[inventory_hostname][internal_interface]['ipv4']['address'] }}"
HA_VIP: "{{ internal_ip }}"
odl_pkg_url: https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.2-Helium-SR2/distribution-karaf-0.2.2-Helium-SR2.tar.gz
odl_pkg_name: karaf.tar.gz
odl_home: "/opt/opendaylight-0.2.2/"
odl_base_features: ['config', 'standard', 'region', 'package', 'kar', 'ssh', 'management', 'http', 'odl-base-all','odl-aaa-authn','odl-restconf','odl-nsf-all','odl-adsal-northbound','odl-mdsal-apidocs', 'odl-openflowplugin-all']
odl_extra_features: ['odl-l2switch-switch', 'odl-ovsdb-plugin', 'odl-ovsdb-openstack', 'odl-ovsdb-northbound','odl-dlux-core', 'odl-restconf-all', 'odl-mdsal-clustering', 'odl-openflowplugin-flow-services', 'odl-netconf-connector', 'odl-netconf-connector-ssh', 'jolokia-osgi']
odl_features: "{{ odl_base_features + odl_extra_features }}"
odl_api_port: 8080
|