Support rhel7 and osp9
Change-Id: I1e25df2f57753aa4038f49d0c10958c68c248f31
This commit is contained in:
parent
5672aecc31
commit
9c03171433
7
conf/adapter/ansible_openstack_osp9.conf
Normal file
7
conf/adapter/ansible_openstack_osp9.conf
Normal file
@ -0,0 +1,7 @@
|
||||
NAME = 'openstack_osp9'
|
||||
DISPLAY_NAME = 'RedHat OSP 9'
|
||||
PARENT = 'openstack'
|
||||
PACKAGE_INSTALLER = 'ansible_installer_osp9'
|
||||
OS_INSTALLER = 'cobbler'
|
||||
SUPPORTED_OS_PATTERNS = ['(?i)rhel-server-7\.2.*']
|
||||
DEPLOYABLE = True
|
32
conf/flavor/openstack_osp9.conf
Normal file
32
conf/flavor/openstack_osp9.conf
Normal file
@ -0,0 +1,32 @@
|
||||
ADAPTER_NAME = 'openstack_osp9'
|
||||
FLAVORS = [{
|
||||
'flavor': 'allinone',
|
||||
'display_name': 'All-In-One',
|
||||
'template': 'allinone.tmpl',
|
||||
'roles': ['allinone-compute'],
|
||||
}, {
|
||||
'flavor': 'single-controller',
|
||||
'display_name': 'Single Controller',
|
||||
'template': 'single-controller.tmpl',
|
||||
'roles': [
|
||||
'controller', 'compute', 'network', 'storage', 'odl', 'onos'
|
||||
],
|
||||
}, {
|
||||
'flavor': 'multinodes',
|
||||
'display_name': 'Multi-nodes',
|
||||
'template': 'multinodes.tmpl',
|
||||
'roles': [
|
||||
'compute-controller', 'compute-worker', 'network-server',
|
||||
'network-worker', 'database', 'messaging', 'image', 'odl',
|
||||
'dashboard', 'identity', 'storage-controller', 'storage-volume'
|
||||
],
|
||||
}, {
|
||||
'flavor': 'HA-ansible-multinodes-osp9',
|
||||
'display_name': 'HA-ansible-multinodes-osp9',
|
||||
'template': 'HA-ansible-multinodes.tmpl',
|
||||
'roles': [
|
||||
'controller', 'compute', 'ha', 'odl', 'onos', 'opencontrail', 'ceph', 'ceph-adm', 'ceph-mon', 'ceph-osd', 'sec-patch', 'ceph-osd-node'
|
||||
],
|
||||
}]
|
||||
|
||||
|
19
conf/flavor_metadata/HA-ansible-multinodes-osp9.conf
Normal file
19
conf/flavor_metadata/HA-ansible-multinodes-osp9.conf
Normal file
@ -0,0 +1,19 @@
|
||||
ADAPTER = 'openstack_osp9'
|
||||
FLAVOR = 'HA-ansible-multinodes-osp9'
|
||||
METADATA = {
|
||||
'ha_proxy': {
|
||||
'_self': {
|
||||
},
|
||||
'vip': {
|
||||
'_self': {
|
||||
'is_required': True,
|
||||
'field': 'general',
|
||||
'mapping_to': 'ha_vip'
|
||||
}
|
||||
},
|
||||
'test': {
|
||||
'_self': {
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
3
conf/os/rhel7.2.conf
Normal file
3
conf/os/rhel7.2.conf
Normal file
@ -0,0 +1,3 @@
|
||||
NAME = 'rhel-server-7.2-x86_64'
|
||||
PARENT = 'CentOS'
|
||||
DEPLOYABLE = True
|
13
conf/package_installer/ansible-osp9.conf
Normal file
13
conf/package_installer/ansible-osp9.conf
Normal file
@ -0,0 +1,13 @@
|
||||
NAME = 'ansible_installer'
|
||||
INSTANCE_NAME = 'ansible_installer_osp9'
|
||||
SETTINGS = {
|
||||
'ansible_dir': '/var/ansible',
|
||||
'ansible_run_dir': '/var/ansible/run',
|
||||
'ansible_config': 'ansible.cfg',
|
||||
'playbook_file': 'site.yml',
|
||||
'inventory_file': 'inventory.yml',
|
||||
'group_variable': 'all',
|
||||
'etc_hosts_path': 'roles/common/templates/hosts',
|
||||
'runner_dirs': ['roles','openstack_osp9/templates','openstack_osp9/roles']
|
||||
}
|
||||
|
115
conf/role/openstack_osp9_ansible.conf
Normal file
115
conf/role/openstack_osp9_ansible.conf
Normal file
@ -0,0 +1,115 @@
|
||||
ADAPTER_NAME = 'openstack_osp9'
|
||||
ROLES = [{
|
||||
'role': 'allinone-compute',
|
||||
'display_name': 'all in one',
|
||||
'description': 'All in One'
|
||||
}, {
|
||||
'role': 'controller',
|
||||
'display_name': 'controller node',
|
||||
'description': 'Controller Node'
|
||||
}, {
|
||||
'role': 'compute',
|
||||
'display_name': 'compute node',
|
||||
'description': 'Compute Node'
|
||||
}, {
|
||||
'role': 'storage',
|
||||
'display_name': 'storage node',
|
||||
'description': 'Storage Node'
|
||||
}, {
|
||||
'role': 'network',
|
||||
'display_name': 'network node',
|
||||
'description': 'Network Node'
|
||||
}, {
|
||||
'role': 'compute-worker',
|
||||
'display_name': 'Compute worker node',
|
||||
'description': 'Compute worker node'
|
||||
}, {
|
||||
'role': 'compute-controller',
|
||||
'display_name': 'Compute controller node',
|
||||
'description': 'Compute controller node'
|
||||
}, {
|
||||
'role': 'network-server',
|
||||
'display_name': 'Network server node',
|
||||
'description': 'Network server node'
|
||||
}, {
|
||||
'role': 'database',
|
||||
'display_name': 'Database node',
|
||||
'description': 'Database node'
|
||||
}, {
|
||||
'role': 'messaging',
|
||||
'display_name': 'Messaging queue node',
|
||||
'description': 'Messaging queue node'
|
||||
}, {
|
||||
'role': 'image',
|
||||
'display': 'Image node',
|
||||
'description': 'Image node'
|
||||
}, {
|
||||
'role': 'dashboard',
|
||||
'display': 'Dashboard node',
|
||||
'description': 'Dashboard node'
|
||||
}, {
|
||||
'role': 'identity',
|
||||
'display': 'Identity node',
|
||||
'description': 'Identity node'
|
||||
}, {
|
||||
'role': 'storage-controller',
|
||||
'display': 'Storage controller node',
|
||||
'description': 'Storage controller node'
|
||||
}, {
|
||||
'role': 'storage-volume',
|
||||
'display': 'Storage volume node',
|
||||
'description': 'Storage volume node'
|
||||
}, {
|
||||
'role': 'network-worker',
|
||||
'display': 'Network worker node',
|
||||
'description': 'Network worker node'
|
||||
}, {
|
||||
'role': 'odl',
|
||||
'display': 'open day light',
|
||||
'description': 'odl node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'onos',
|
||||
'display': 'open network operating system',
|
||||
'description': 'onos node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'opencontrail',
|
||||
'display': 'open contrail',
|
||||
'description': 'opencontrail node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'ha',
|
||||
'display': 'Cluster with HA',
|
||||
'description': 'Cluster with HA node'
|
||||
}, {
|
||||
'role': 'ceph-adm',
|
||||
'display': 'Ceph Admin Node',
|
||||
'description': 'Ceph Admin Node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'ceph-mon',
|
||||
'display': 'Ceph Monitor Node',
|
||||
'description': 'Ceph Monitor Node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'ceph-osd',
|
||||
'display': 'Ceph Storage Node',
|
||||
'description': 'Ceph Storage Node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'ceph-osd-node',
|
||||
'display': 'Ceph osd install from node',
|
||||
'description': '',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'ceph',
|
||||
'display': 'ceph node',
|
||||
'description': 'ceph node',
|
||||
'optional': True
|
||||
}, {
|
||||
'role': 'sec-patch',
|
||||
'display': 'sec-patch node',
|
||||
'description': 'Security Patch Node',
|
||||
'optional': True
|
||||
}]
|
@ -0,0 +1,7 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
[defaults]
|
||||
log_path = /var/ansible/run/openstack_osp9-$cluster_name/ansible.log
|
||||
host_key_checking = False
|
||||
callback_plugins = /opt/compass/bin/ansible_callbacks
|
||||
pipelining=True
|
||||
library = /opt/openstack-ansible-modules
|
@ -0,0 +1,6 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
[defaults]
|
||||
log_path = /var/ansible/run/openstack_mitaka-$cluster_name/ansible.log
|
||||
host_key_checking = False
|
||||
callback_plugins = /opt/compass/bin/ansible_callbacks
|
||||
pipelining=True
|
@ -0,0 +1,6 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
[defaults]
|
||||
log_path = /var/ansible/run/openstack_mitaka-$cluster_name/ansible.log
|
||||
host_key_checking = False
|
||||
callback_plugins = /opt/compass/bin/ansible_callbacks
|
||||
pipelining=True
|
@ -0,0 +1,6 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
[defaults]
|
||||
log_path = /var/ansible/run/openstack_mitaka-$cluster_name/ansible.log
|
||||
host_key_checking = False
|
||||
callback_plugins = /opt/compass/bin/ansible_callbacks
|
||||
pipelining=True
|
@ -0,0 +1,31 @@
|
||||
#set ip_settings={}
|
||||
#for k,v in $getVar('ip_settings', {}).items()
|
||||
#set host_ip_settings={}
|
||||
#for intf in v
|
||||
#set $host_ip_settings[$intf["alias"]]=intf
|
||||
#end for
|
||||
#set $ip_settings[$k]=$host_ip_settings
|
||||
#end for
|
||||
|
||||
# localhost
|
||||
127.0.0.1 localhost
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computes = $getVar('compute', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($compute, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
# controller
|
||||
#for worker in $controllers
|
||||
#set worker_hostname = $worker.hostname
|
||||
#set worker_ip = $ip_settings[$worker_hostname].mgmt.ip
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# compute
|
||||
#for worker in $computes
|
||||
#set worker_hostname = $worker.hostname
|
||||
#set worker_ip = $ip_settings[$worker_hostname].mgmt.ip
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
@ -0,0 +1,10 @@
|
||||
#set controllers = $getVar('allinone_compute', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
# allinone
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_ip $controller_hostname
|
||||
#end for
|
@ -0,0 +1,110 @@
|
||||
#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
|
||||
# compute-controller
|
||||
#for worker in $compute_controllers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# database
|
||||
#for worker in $databases
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# messaging
|
||||
#for worker in $messagings
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# storage-controller
|
||||
#for worker in $storage_controllers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# image
|
||||
#for worker in $images
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# identity
|
||||
#for worker in $identities
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# network-server
|
||||
#for worker in $network_servers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# dashboard
|
||||
#for worker in $dashboards
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# storage-volume
|
||||
#for worker in $storage_volumes
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# network-worker
|
||||
#for worker in $network_workers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# compute-worker
|
||||
#for worker in $compute_workers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
@ -0,0 +1,40 @@
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computes = $getVar('compute', [])
|
||||
#set storages = $getVar('storage', [])
|
||||
#set networks = $getVar('network', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($computes, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
#if not $isinstance($storages, list)
|
||||
#set storages = [$storages]
|
||||
#end if
|
||||
#if not $isinstance($networks, list)
|
||||
#set networks = [$networks]
|
||||
#end if
|
||||
# controller
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_ip $controller_hostname
|
||||
#end for
|
||||
# compute
|
||||
#for worker in $computes
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# storage
|
||||
#for worker in $storages
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
||||
# network
|
||||
#for worker in $networks
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_ip $worker_hostname
|
||||
#end for
|
@ -0,0 +1,100 @@
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computes = $getVar('compute', [])
|
||||
#set has = $getVar('ha', [])
|
||||
#set odls = $getVar('odl', [])
|
||||
#set onoss = $getVar('onos', [])
|
||||
#set opencontrails = $getVar('opencontrail', [])
|
||||
#set ceph_adm_list = $getVar('ceph_adm',[])
|
||||
#set ceph_mon_list = $getVar('ceph_mon',[])
|
||||
#set ceph_osd_list = $getVar('ceph_osd',[])
|
||||
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($computes, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
#if not $isinstance(has, list)
|
||||
#set has = [has]
|
||||
#end if
|
||||
#if not $isinstance(odls, list)
|
||||
#set odls = [odls]
|
||||
#end if
|
||||
#if not $isinstance(onoss, list)
|
||||
#set onoss = [onoss]
|
||||
#end if
|
||||
#if not $isinstance(opencontrails, list)
|
||||
#set opencontrails = [opencontrails]
|
||||
#end if
|
||||
#if not $isinstance(ceph_adm_list, list)
|
||||
#set ceph_adm_list = [ceph_adm_list]
|
||||
#end if
|
||||
#if not $isinstance(ceph_mon_list, list)
|
||||
#set ceph_mon_list = [ceph_mon_list]
|
||||
#end if
|
||||
#if not $isinstance(ceph_osd_list, list)
|
||||
#set ceph_osd_list = [ceph_osd_list]
|
||||
#end if
|
||||
|
||||
#set credentials = $getVar('server_credentials', {})
|
||||
#set username = $credentials.get('username', 'root')
|
||||
#set password = $credentials.get('password', 'root')
|
||||
[controller]
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.install.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_hostname ansible_ssh_host=$controller_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[compute]
|
||||
#for compute in $computes
|
||||
#set compute_ip = $compute.install.ip
|
||||
#set compute_hostname = $compute.hostname
|
||||
$compute_hostname ansible_ssh_host=$compute_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[ha]
|
||||
#for ha in $has
|
||||
#set ha_ip = $ha.install.ip
|
||||
#set ha_hostname = $ha.hostname
|
||||
$ha_hostname ansible_ssh_host=$ha_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[odl]
|
||||
#for odl in $odls
|
||||
#set odl_ip = $odl.install.ip
|
||||
#set odl_hostname = $odl.hostname
|
||||
$odl_hostname ansible_ssh_host=$odl_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[onos]
|
||||
#for onos in $onoss
|
||||
#set onos_ip = $onos.install.ip
|
||||
#set onos_hostname = $onos.hostname
|
||||
$onos_hostname ansible_ssh_host=$onos_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[opencontrail]
|
||||
#for opencontrail in $opencontrails
|
||||
#set opencontrail_ip = $opencontrail.install.ip
|
||||
#set opencontrail_hostname = $opencontrail.hostname
|
||||
$opencontrail_hostname ansible_ssh_host=$opencontrail_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[ceph_adm]
|
||||
#for ceph_adm in $ceph_adm_list
|
||||
#set ceph_adm_ip = $ceph_adm.install.ip
|
||||
#set ceph_adm_hostname = $ceph_adm.hostname
|
||||
$ceph_adm_hostname ansible_ssh_host=$ceph_adm_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[ceph_mon]
|
||||
#for ceph_mon in $ceph_mon_list
|
||||
#set ceph_mon_ip = $ceph_mon.install.ip
|
||||
#set ceph_mon_hostname = $ceph_mon.hostname
|
||||
$ceph_mon_hostname ansible_ssh_host=$ceph_mon_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[ceph_osd]
|
||||
#for ceph_osd in $ceph_osd_list
|
||||
#set ceph_osd_ip = $ceph_osd.install.ip
|
||||
#set ceph_osd_hostname = $ceph_osd.hostname
|
||||
$ceph_osd_hostname ansible_ssh_host=$ceph_osd_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[ceph:children]
|
||||
ceph_adm
|
||||
ceph_mon
|
||||
ceph_osd
|
||||
|
@ -0,0 +1,47 @@
|
||||
#set controllers = $getVar('allinone_compute', [])
|
||||
#set computes = $getVar('allinone_compute', [])
|
||||
#set storages = $getVar('allinone_compute', [])
|
||||
#set networks = $getVar('allinone_compute', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($computes, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
#if not $isinstance($storages, list)
|
||||
#set storages = [$storages]
|
||||
#end if
|
||||
#if not $isinstance($networks, list)
|
||||
#set networks = [$networks]
|
||||
#end if
|
||||
|
||||
#set credentials = $getVar('server_credentials', {})
|
||||
#set username = $credentials.get('username', 'root')
|
||||
#set password = $credentials.get('password', 'root')
|
||||
[controller]
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_hostname ansible_ssh_host=$controller_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[compute]
|
||||
#for compute in $computes
|
||||
#set compute_ip = $compute.management.ip
|
||||
#set compute_hostname = $compute.hostname
|
||||
$compute_hostname ansible_ssh_host=$compute_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[network]
|
||||
#for network in $networks
|
||||
#set network_ip = $network.management.ip
|
||||
#set network_hostname = $network.hostname
|
||||
$network_hostname ansible_ssh_host=$network_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[storage]
|
||||
#for storage in storages
|
||||
#set storage_ip = $storage.management.ip
|
||||
#set storage_hostname = $storage.hostname
|
||||
$storage_hostname ansible_ssh_host=$storage_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
@ -0,0 +1,123 @@
|
||||
#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
|
||||
#set credentials = $getVar('server_credentials', {})
|
||||
#set username = $credentials.get('username', 'root')
|
||||
#set password = $credentials.get('password', 'root')
|
||||
[compute-controller]
|
||||
#for controller in $compute_controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_hostname ansible_ssh_host=$controller_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[compute-worker]
|
||||
#for compute in $compute_workers
|
||||
#set compute_ip = $compute.management.ip
|
||||
#set compute_hostname = $compute.hostname
|
||||
$compute_hostname ansible_ssh_host=$compute_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[network-server]
|
||||
#for network in $network_servers
|
||||
#set network_ip = $network.management.ip
|
||||
#set network_hostname = $network.hostname
|
||||
$network_hostname ansible_ssh_host=$network_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[network-worker]
|
||||
#for network in $network_workers
|
||||
#set network_ip = $network.management.ip
|
||||
#set network_hostname = $network.hostname
|
||||
$network_hostname ansible_ssh_host=$network_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[database]
|
||||
#for worker in $databases
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[messaging]
|
||||
#for worker in $messagings
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[image]
|
||||
#for worker in $images
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[dashboard]
|
||||
#for worker in $dashboards
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[identity]
|
||||
#for worker in $identities
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[storage-controller]
|
||||
#for worker in $storage_controllers
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[storage-volume]
|
||||
#for worker in $storage_volumes
|
||||
#set worker_ip = $worker.management.ip
|
||||
#set worker_hostname = $worker.hostname
|
||||
$worker_hostname ansible_ssh_host=$worker_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
@ -0,0 +1,67 @@
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computes = $getVar('compute', [])
|
||||
#set storages = $getVar('storage', [])
|
||||
#set networks = $getVar('network', [])
|
||||
#set odls = $getVar('odl', [])
|
||||
#set onoss = $getVar('onos', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($computes, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
#if not $isinstance($storages, list)
|
||||
#set storages = [$storages]
|
||||
#end if
|
||||
#if not $isinstance($networks, list)
|
||||
#set networks = [$networks]
|
||||
#end if
|
||||
#if not $isinstance($odls, list)
|
||||
#set odls = [$odls]
|
||||
#end if
|
||||
#if not $isinstance($onoss, list)
|
||||
#set onoss = [$onoss]
|
||||
#end if
|
||||
|
||||
#set credentials = $getVar('server_credentials', {})
|
||||
#set username = $credentials.get('username', 'root')
|
||||
#set password = $credentials.get('password', 'root')
|
||||
[controller]
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
$controller_hostname ansible_ssh_host=$controller_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[compute]
|
||||
#for compute in $computes
|
||||
#set compute_ip = $compute.management.ip
|
||||
#set compute_hostname = $compute.hostname
|
||||
$compute_hostname ansible_ssh_host=$compute_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[network]
|
||||
#for network in $networks
|
||||
#set network_ip = $network.management.ip
|
||||
#set network_hostname = $network.hostname
|
||||
$network_hostname ansible_ssh_host=$network_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
|
||||
[storage]
|
||||
#for storage in storages
|
||||
#set storage_ip = $storage.management.ip
|
||||
#set storage_hostname = $storage.hostname
|
||||
$storage_hostname ansible_ssh_host=$storage_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[odl]
|
||||
#for odl in odls
|
||||
#set odl_ip = $odl.management.ip
|
||||
#set odl_hostname = $odl.hostname
|
||||
$odl_hostname ansible_ssh_host=$odl_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
||||
[storage]
|
||||
#for storage in storages
|
||||
#set storage_ip = $storage.management.ip
|
||||
#set storage_hostname = $storage.hostname
|
||||
$storage_hostname ansible_ssh_host=$storage_ip ansible_ssh_user=$username ansible_ssh_password=$password
|
||||
#end for
|
@ -0,0 +1,210 @@
|
||||
#from random import randint
|
||||
#set cluster_name = $getVar('name', '')
|
||||
#set network_cfg = $getVar('network_cfg', {})
|
||||
#set ntp_server = $getVar('ntp_server', "")
|
||||
#set ceph_disk = $getVar('ceph_disk',"")
|
||||
#set $sys_intf_mappings= {}
|
||||
#for $intf_info in $network_cfg.sys_intf_mappings
|
||||
#set $sys_intf_mappings[$intf_info["name"]] = $intf_info
|
||||
#end for
|
||||
|
||||
#set ip_settings={}
|
||||
#for k,v in $getVar('ip_settings', {}).items()
|
||||
#set host_ip_settings={}
|
||||
#for intf in v
|
||||
#set $host_ip_settings[$intf["alias"]]=intf
|
||||
#end for
|
||||
#set $ip_settings[$k]=$host_ip_settings
|
||||
#end for
|
||||
|
||||
#set neutron_cfg = $getVar('neutron_config', {})
|
||||
#set ovs_config = $neutron_cfg.openvswitch
|
||||
|
||||
#set has = $getVar('ha', [])
|
||||
#set ha_vip = $getVar('ha_vip', [])
|
||||
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computers = $getVar('compute', [])
|
||||
|
||||
enable_secgroup: $getVar('enable_secgroup', True)
|
||||
enable_fwaas: $getVar('enable_fwaas', True)
|
||||
enable_vpnaas: $getVar('enable_vpnaas', True)
|
||||
odl_l3_agent: $getVar('odl_l3_agent', 'Disable')
|
||||
onos_sfc: $getVar('onos_sfc', 'Disable')
|
||||
onos_nic: $getVar('onos_nic', 'eth2')
|
||||
odl_sfc: $getVar('odl_sfc', 'Disable')
|
||||
ip_settings: $ip_settings
|
||||
network_cfg: $network_cfg
|
||||
sys_intf_mappings: $sys_intf_mappings
|
||||
deploy_type: $getVar('deploy_type', 'virtual')
|
||||
|
||||
public_cidr: $computers[0]['install']['subnet']
|
||||
storage_cidr: "{{ ip_settings[inventory_hostname]['storage']['cidr'] }}"
|
||||
mgmt_cidr: "{{ ip_settings[inventory_hostname]['mgmt']['cidr'] }}"
|
||||
|
||||
public_net_info: "{{ network_cfg.public_net_info }}"
|
||||
host_ip_settings: "{{ ip_settings[inventory_hostname] }}"
|
||||
|
||||
ntp_server: $ntp_server
|
||||
internal_vip:
|
||||
ip: $network_cfg["internal_vip"]["ip"]
|
||||
netmask: $network_cfg["internal_vip"]["netmask"]
|
||||
#if "vlan_tag" in $sys_intf_mappings[$network_cfg["internal_vip"]["interface"]]
|
||||
interface: $sys_intf_mappings[$network_cfg["internal_vip"]["interface"]]["name"]
|
||||
#else
|
||||
interface: $sys_intf_mappings[$network_cfg["internal_vip"]["interface"]]["interface"]
|
||||
#end if
|
||||
|
||||
public_vip:
|
||||
ip: $network_cfg["public_vip"]["ip"]
|
||||
netmask: $network_cfg["public_vip"]["netmask"]
|
||||
#if "vlan_tag" in $sys_intf_mappings[$network_cfg["public_vip"]["interface"]]
|
||||
interface: $sys_intf_mappings[$network_cfg["public_vip"]["interface"]]["name"]
|
||||
#else
|
||||
interface: $sys_intf_mappings[$network_cfg["public_vip"]["interface"]]["interface"]
|
||||
#end if
|
||||
|
||||
db_host: "{{ internal_vip.ip }}"
|
||||
rabbit_host: "{{ internal_vip.ip }}"
|
||||
|
||||
internal_ip: "{{ ip_settings[inventory_hostname]['mgmt']['ip'] }}"
|
||||
internal_nic: mgmt
|
||||
|
||||
#set random_id = randint(1, 255)
|
||||
vrouter_id_internal: $random_id
|
||||
vrouter_id_public: $random_id
|
||||
|
||||
identity_host: "{{ internal_ip }}"
|
||||
controllers_host: "{{ internal_ip }}"
|
||||
storage_controller_host: "{{ internal_ip }}"
|
||||
compute_controller_host: "{{ internal_ip }}"
|
||||
image_host: "{{ internal_ip }}"
|
||||
network_server_host: "{{ internal_ip }}"
|
||||
dashboard_host: "{{ internal_ip }}"
|
||||
|
||||
haproxy_hosts:
|
||||
#for $item in $has
|
||||
#set $hostname=$item["hostname"]
|
||||
$hostname: $ip_settings[$hostname]["mgmt"]["ip"]
|
||||
#end for
|
||||
|
||||
host_index:
|
||||
#for $index, $item in enumerate($has)
|
||||
$item["hostname"]: $index
|
||||
#end for
|
||||
|
||||
ERLANG_TOKEN: YOWSJSJIGGAUFZTIBRAD
|
||||
#set credentials = $getVar('service_credentials', {})
|
||||
#set console_credentials = $getVar('console_credentials', {})
|
||||
#set rabbit_username = $credentials.rabbitmq.username
|
||||
#set rabbit_password = $credentials.rabbitmq.password
|
||||
#set keystone_dbpass = $credentials.identity.password
|
||||
#set keystone_pass = $console_credentials.identity.password
|
||||
#set glance_dbpass = $credentials.image.password
|
||||
#set glance_pass = $console_credentials.image.password
|
||||
#set nova_dbpass = $credentials.compute.password
|
||||
#set nova_pass = $console_credentials.compute.password
|
||||
#set dash_dbpass = $credentials.dashboard.password
|
||||
#set cinder_dbpass = $credentials.volume.password
|
||||
#set cinder_pass = $console_credentials.volume.password
|
||||
#set heat_dbpass = $credentials.heat.password
|
||||
#set heat_pass = $console_credentials.heat.password
|
||||
#set neutron_dbpass = $credentials.network.password
|
||||
#set neutron_pass = $console_credentials.network.password
|
||||
#set ceilometer_dbpass = $credentials.metering.password
|
||||
#set ceilometer_pass = $console_credentials.metering.password
|
||||
#set aodh_dbpass = $credentials.alarming.password
|
||||
#set aodh_pass = $console_credentials.alarming.password
|
||||
#set admin_pass = $console_credentials.admin.password
|
||||
#set demo_pass = $console_credentials.demo.password
|
||||
|
||||
cluster_name: $cluster_name
|
||||
|
||||
odl_controller: 10.1.0.15
|
||||
|
||||
DEBUG: true
|
||||
VERBOSE: true
|
||||
NTP_SERVER_LOCAL: "{{ controllers_host }}"
|
||||
DB_HOST: "{{ db_host }}"
|
||||
MQ_BROKER: rabbitmq
|
||||
|
||||
OPENSTACK_REPO: cloudarchive-mitaka.list
|
||||
mitaka_cloud_archive: deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
ADMIN_TOKEN: admin
|
||||
CEILOMETER_TOKEN: c095d479023a0fd58a54
|
||||
erlang.cookie: DJJVECFMCJPVYQTJTDWG
|
||||
|
||||
RABBIT_USER: $rabbit_username
|
||||
RABBIT_PASS: $rabbit_password
|
||||
KEYSTONE_DBPASS: $keystone_dbpass
|
||||
KEYSTONE_PASS: $keystone_pass
|
||||
CEILOMETER_DBPASS: $ceilometer_dbpass
|
||||
CEILOMETER_PASS: $ceilometer_pass
|
||||
AODH_DBPASS: $aodh_dbpass
|
||||
AODH_PASS: $aodh_pass
|
||||
GLANCE_DBPASS: $glance_dbpass
|
||||
GLANCE_PASS: $glance_pass
|
||||
NOVA_DBPASS: $nova_dbpass
|
||||
NOVA_PASS: $nova_pass
|
||||
DASH_DBPASS: $dash_dbpass
|
||||
CINDER_DBPASS: $cinder_dbpass
|
||||
CINDER_PASS: $cinder_pass
|
||||
NEUTRON_DBPASS: $neutron_dbpass
|
||||
NEUTRON_PASS: $neutron_pass
|
||||
HEAT_DBPASS: $heat_dbpass
|
||||
HEAT_PASS: $heat_pass
|
||||
DEMO_PASS: $demo_pass
|
||||
ADMIN_PASS: $admin_pass
|
||||
|
||||
#set neutron_service_plugins=['router']
|
||||
|
||||
#if $getVar('enable_fwaas', True)
|
||||
#neutron_service_plugins.append('firewall')
|
||||
#end if
|
||||
|
||||
#if $getVar('enable_vpnaas', True)
|
||||
#neutron_service_plugins.append('vpnaas')
|
||||
#end if
|
||||
|
||||
NEUTRON_SERVICE_PLUGINS: $neutron_service_plugins
|
||||
NEUTRON_TYPE_DRIVERS: ['flat', 'gre', 'vxlan', 'vlan']
|
||||
NEUTRON_TENANT_NETWORK_TYPES: ['$ovs_config["tenant_network_type"]']
|
||||
NEUTRON_OVS_BRIDGE_MAPPINGS: $ovs_config['bridge_mappings']
|
||||
#if 'vlan_ranges' in $ovs_config
|
||||
NEUTRON_VLAN_RANGES: $ovs_config['vlan_ranges']
|
||||
#else
|
||||
NEUTRON_VLAN_RANGES: []
|
||||
#end if
|
||||
#if 'tunnel_id_ranges' in $ovs_config
|
||||
NEUTRON_TUNNEL_ID_RANGES: $ovs_config['tunnel_id_ranges']
|
||||
#else
|
||||
NEUTRON_TUNNEL_ID_RANGES: []
|
||||
#end if
|
||||
|
||||
#NEUTRON_MECHANISM_DRIVERS: ['opendaylight']
|
||||
NEUTRON_MECHANISM_DRIVERS: ['openvswitch']
|
||||
NEUTRON_TUNNEL_TYPES: ['vxlan']
|
||||
METADATA_SECRET: metadata_secret
|
||||
WSREP_SST_USER: wsrep_sst
|
||||
WSREP_SST_PASS: wsrep_sst_sercet
|
||||
|
||||
INSTANCE_TUNNELS_INTERFACE_IP_ADDRESS: "{{ internal_ip }}"
|
||||
|
||||
#build_in_image: http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img
|
||||
build_in_image: http://192.168.121.12:9999/img/cirros-0.3.3-x86_64-disk.img
|
||||
build_in_image_name: cirros-0.3.3-x86_64-disk.img
|
||||
|
||||
physical_device: /dev/sdb
|
||||
|
||||
odl_username: admin
|
||||
odl_password: admin
|
||||
odl_api_port: 8080
|
||||
|
||||
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
|
||||
enable_ubuntu_theme: True
|
@ -0,0 +1,96 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
#set controllers = $getVar('allinone_compute', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
controller_host: $controller_ip
|
||||
#end for
|
||||
#for network in $controllers
|
||||
#set network_external_nic = $network.external.interface
|
||||
#set network_external_subnet = $network.external.subnet
|
||||
#set network_internal_nic = $network.management.interface
|
||||
INTERFACE_NAME: $network_external_nic
|
||||
INTERNAL_INTERFACE: $network_internal_nic
|
||||
#end for
|
||||
|
||||
#set credentials = $getVar('service_credentials', {})
|
||||
#set console_credentials = $getVar('console_credentials', {})
|
||||
#set rabbit_username = $credentials.rabbitmq.username
|
||||
#set rabbit_password = $credentials.rabbitmq.password
|
||||
#set keystone_dbpass = $credentials.identity.password
|
||||
#set glance_dbpass = $credentials.image.password
|
||||
#set glance_pass = $console_credentials.image.password
|
||||
#set nova_dbpass = $credentials.compute.password
|
||||
#set nova_pass = $console_credentials.compute.password
|
||||
#set dash_dbpass = $credentials.dashboard.password
|
||||
#set cinder_dbpass = $credentials.volume.password
|
||||
#set cinder_pass = $console_credentials.volume.password
|
||||
#set admin_pass = $console_credentials.admin.password
|
||||
#set neutron_pass = $console_credentials.network.password
|
||||
|
||||
compute_controller_host: "{{ controller_host }}"
|
||||
db_host: "{{ controller_host }}"
|
||||
rabbit_host: "{{ controller_host }}"
|
||||
storage_controller_host: "{{ controller_host }}"
|
||||
image_host: "{{ controller_host }}"
|
||||
identity_host: "{{ controller_host }}"
|
||||
network_server_host: "{{ controller_host }}"
|
||||
dashboard_host: "{{ controller_host }}"
|
||||
|
||||
cluster_name: $cluster_name
|
||||
odl_controller: 10.1.0.15
|
||||
|
||||
DEBUG: true
|
||||
VERBOSE: true
|
||||
NTP_SERVER_LOCAL: "{{ controller_host }}"
|
||||
DB_HOST: "{{ controller_host }}"
|
||||
MQ_BROKER: rabbitmq
|
||||
|
||||
OPENSTACK_REPO: cloudarchive-mitaka.list
|
||||
mitaka_cloud_archive: deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
ADMIN_TOKEN: admin
|
||||
CEILOMETER_TOKEN: c095d479023a0fd58a54
|
||||
|
||||
RABBIT_USER: $rabbit_username
|
||||
RABBIT_PASS: $rabbit_password
|
||||
KEYSTONE_DBPASS: $keystone_dbpass
|
||||
DEMO_PASS: demo_secret
|
||||
ADMIN_PASS: $admin_pass
|
||||
GLANCE_DBPASS: $glance_dbpass
|
||||
GLANCE_PASS: $glance_pass
|
||||
NOVA_DBPASS: $nova_dbpass
|
||||
NOVA_PASS: $nova_pass
|
||||
DASH_DBPASS: $dash_dbpass
|
||||
CINDER_DBPASS: $cinder_dbpass
|
||||
CINDER_PASS: $cinder_pass
|
||||
NEUTRON_DBPASS: $neutron_pass
|
||||
NEUTRON_PASS: $neutron_pass
|
||||
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_username: admin
|
||||
odl_password: admin
|
||||
odl_api_port: 8080
|
@ -0,0 +1,165 @@
|
||||
#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
|
||||
|
||||
#set credentials = $getVar('service_credentials', {})
|
||||
#set console_credentials = $getVar('console_credentials', {})
|
||||
#set rabbit_username = $credentials.rabbitmq.username
|
||||
#set rabbit_password = $credentials.rabbitmq.password
|
||||
#set keystone_dbpass = $credentials.identity.password
|
||||
#set glance_dbpass = $credentials.image.password
|
||||
#set glance_pass = $console_credentials.image.password
|
||||
#set nova_dbpass = $credentials.compute.password
|
||||
#set nova_pass = $console_credentials.compute.password
|
||||
#set dash_dbpass = $credentials.dashboard.password
|
||||
#set cinder_dbpass = $credentials.volume.password
|
||||
#set cinder_pass = $console_credentials.volume.password
|
||||
#set admin_pass = $console_credentials.admin.password
|
||||
#set neutron_pass = $console_credentials.network.password
|
||||
|
||||
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-mitaka.list
|
||||
mitaka_cloud_archive: deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
ADMIN_TOKEN: admin
|
||||
CEILOMETER_TOKEN: c095d479023a0fd58a54
|
||||
|
||||
RABBIT_USER: $rabbit_username
|
||||
RABBIT_PASS: $rabbit_password
|
||||
KEYSTONE_DBPASS: $keystone_dbpass
|
||||
DEMO_PASS: demo_secret
|
||||
ADMIN_PASS: $admin_pass
|
||||
GLANCE_DBPASS: $glance_dbpass
|
||||
GLANCE_PASS: $glance_pass
|
||||
NOVA_DBPASS: $nova_dbpass
|
||||
NOVA_PASS: $nova_pass
|
||||
DASH_DBPASS: $dash_dbpass
|
||||
CINDER_DBPASS: $cinder_dbpass
|
||||
CINDER_PASS: $cinder_pass
|
||||
NEUTRON_DBPASS: $neutron_pass
|
||||
NEUTRON_PASS: $neutron_pass
|
||||
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_username: admin
|
||||
odl_password: admin
|
||||
odl_api_port: 8080
|
||||
|
||||
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
|
||||
|
@ -0,0 +1,108 @@
|
||||
#set cluster_name = $getVar('name', '')
|
||||
#set controllers = $getVar('controller', [])
|
||||
#set computes = $getVar('compute', [])
|
||||
#set networks = $getVar('network', [])
|
||||
#set storages = $getVar('storage', [])
|
||||
#if not $isinstance($controllers, list)
|
||||
#set controllers = [$controllers]
|
||||
#end if
|
||||
#if not $isinstance($computes, list)
|
||||
#set computes = [$computes]
|
||||
#end if
|
||||
#if not $isinstance($networks, list)
|
||||
#set networks = [$networks]
|
||||
#end if
|
||||
#if not $isinstance($storages, list)
|
||||
#set storages = [$storages]
|
||||
#end if
|
||||
|
||||
#for controller in $controllers
|
||||
#set controller_ip = $controller.management.ip
|
||||
#set controller_hostname = $controller.hostname
|
||||
controller_host: $controller_ip
|
||||
#end for
|
||||
#for network in $networks
|
||||
#set network_external_nic = $network.external.interface
|
||||
#set network_external_subnet = $network.external.subnet
|
||||
#set network_internal_nic = $network.management.interface
|
||||
INTERFACE_NAME: $network_external_nic
|
||||
INTERNAL_INTERFACE: $network_internal_nic
|
||||
#end for
|
||||
|
||||
#set credentials = $getVar('service_credentials', {})
|
||||
#set console_credentials = $getVar('console_credentials', {})
|
||||
#set rabbit_username = $credentials.rabbitmq.username
|
||||
#set rabbit_password = $credentials.rabbitmq.password
|
||||
#set keystone_dbpass = $credentials.identity.password
|
||||
#set glance_dbpass = $credentials.image.password
|
||||
#set glance_pass = $console_credentials.image.password
|
||||
#set nova_dbpass = $credentials.compute.password
|
||||
#set nova_pass = $console_credentials.compute.password
|
||||
#set dash_dbpass = $credentials.dashboard.password
|
||||
#set cinder_dbpass = $credentials.volume.password
|
||||
#set cinder_pass = $console_credentials.volume.password
|
||||
#set admin_pass = $console_credentials.admin.password
|
||||
#set neutron_pass = $console_credentials.network.password
|
||||
|
||||
cluster_name: $cluster_name
|
||||
deploy_type: $getVar('deploy_type', 'virtual')
|
||||
compute_controller_host: "{{ controller_host }}"
|
||||
db_host: "{{ controller_host }}"
|
||||
rabbit_host: "{{ controller_host }}"
|
||||
storage_controller_host: "{{ controller_host }}"
|
||||
image_host: "{{ controller_host }}"
|
||||
identity_host: "{{ controller_host }}"
|
||||
network_server_host: "{{ controller_host }}"
|
||||
dashboard_host: "{{ controller_host }}"
|
||||
odl_controller: 10.1.0.15
|
||||
|
||||
DEBUG: true
|
||||
VERBOSE: true
|
||||
NTP_SERVER_LOCAL: "{{ controller_host }}"
|
||||
DB_HOST: "{{ controller_host }}"
|
||||
MQ_BROKER: rabbitmq
|
||||
|
||||
OPENSTACK_REPO: cloudarchive-mitaka.list
|
||||
mitaka_cloud_archive: deb http://ubuntu-cloud.archive.canonical.com/ubuntu trusty-updates/mitaka main
|
||||
ADMIN_TOKEN: admin
|
||||
CEILOMETER_TOKEN: c095d479023a0fd58a54
|
||||
|
||||
RABBIT_USER: $rabbit_username
|
||||
RABBIT_PASS: $rabbit_password
|
||||
KEYSTONE_DBPASS: $keystone_dbpass
|
||||
DEMO_PASS: demo_secret
|
||||
ADMIN_PASS: $admin_pass
|
||||
GLANCE_DBPASS: $glance_dbpass
|
||||
GLANCE_PASS: $glance_pass
|
||||
NOVA_DBPASS: $nova_dbpass
|
||||
NOVA_PASS: $nova_pass
|
||||
DASH_DBPASS: $dash_dbpass
|
||||
CINDER_DBPASS: $cinder_dbpass
|
||||
CINDER_PASS: $cinder_pass
|
||||
NEUTRON_DBPASS: $neutron_pass
|
||||
NEUTRON_PASS: $neutron_pass
|
||||
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_CIDR: $network_external_subnet
|
||||
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_username: admin
|
||||
odl_password: admin
|
||||
odl_api_port: 8080
|
@ -0,0 +1,3 @@
|
||||
{
|
||||
"repos": "$getVar('repo_name', '')"
|
||||
}
|
76
conf/templates/cobbler/rhel-server-7.2-x86_64/system.tmpl
Normal file
76
conf/templates/cobbler/rhel-server-7.2-x86_64/system.tmpl
Normal file
@ -0,0 +1,76 @@
|
||||
{
|
||||
"name": "$hostname",
|
||||
"hostname": "$hostname",
|
||||
"profile": "$profile",
|
||||
"gateway": "$gateway",
|
||||
#import simplejson as json
|
||||
#set nameservers = json.dumps($nameservers, encoding='utf-8')
|
||||
"name_servers": $nameservers,
|
||||
#set search_path = ' '.join($search_path)
|
||||
"name_servers_search": "$search_path",
|
||||
"proxy": "$getVar('http_proxy', '')",
|
||||
"modify_interface":
|
||||
#set networks = $networks
|
||||
#set rekeyed = {}
|
||||
#set promic_nic = ""
|
||||
#for $nic, $val in $networks.iteritems():
|
||||
#set ip_key = '-'.join(('ipaddress', $nic))
|
||||
#set netmask_key = '-'.join(('netmask', $nic))
|
||||
#set mgmt_key = '-'.join(('management', $nic))
|
||||
#set static_key = '-'.join(('static', $nic))
|
||||
#set $rekeyed[$ip_key] = $val.ip
|
||||
#set $rekeyed[$netmask_key] = $val.netmask
|
||||
#set $rekeyed[$mgmt_key] = $val.is_mgmt
|
||||
#set $rekeyed[$static_key] = True
|
||||
|
||||
#set dns_key = '-'.join(('dnsname', $nic))
|
||||
#if $val.is_mgmt
|
||||
#set $rekeyed[$dns_key] = $dns
|
||||
#else
|
||||
#if '.' in $dns
|
||||
#set $dns_name, $dns_domain = $dns.split('.', 1)
|
||||
#set $dns_nic = '%s-%s.%s' % ($dns_name, $nic, $dns_domain)
|
||||
#else
|
||||
#set $dns_nic = '%s-%s' % ($dns, $nic)
|
||||
#end if
|
||||
#set $rekeyed[$dns_key] = $dns_nic
|
||||
#end if
|
||||
|
||||
#if $val.is_promiscuous:
|
||||
#set promic_nic = $nic
|
||||
#end if
|
||||
#if $val.is_mgmt:
|
||||
#set mac_key = '-'.join(('macaddress', $nic))
|
||||
#set $rekeyed[$mac_key] = $mac
|
||||
#end if
|
||||
#end for
|
||||
#set nic_info = json.dumps($rekeyed, encoding='utf-8')
|
||||
$nic_info
|
||||
,
|
||||
"ksmeta":{
|
||||
#set partition_config = ''
|
||||
#for k, v in $partition.iteritems():
|
||||
#set path = ''
|
||||
#if v['vol_percentage']:
|
||||
#set $path = k + ' ' + str(v['vol_percentage']) + '%'
|
||||
#else:
|
||||
#set $path = k + ' ' + str(v['vol_size'])
|
||||
#end if
|
||||
#set partition_config = ';'.join((partition_config, $path))
|
||||
#end for
|
||||
#set partition_config = partition_config[1:]
|
||||
#import crypt
|
||||
#set $password = crypt.crypt($server_credentials.password, "az")
|
||||
#set no_proxy = ','.join($getVar('no_proxy', []))
|
||||
"username": "$server_credentials.username",
|
||||
"password": "$password",
|
||||
"promisc_nics": "$promic_nic",
|
||||
"partition": "$partition_config",
|
||||
"https_proxy": "$getVar('https_proxy', '')",
|
||||
"ntp_server": "$ntp_server",
|
||||
"timezone": "$timezone",
|
||||
"ignore_proxy": "$no_proxy",
|
||||
"local_repo": "$getVar('local_repo', '')",
|
||||
"disk_num": "1"
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@ Markdown<2.5
|
||||
Cheetah<=2.4.1
|
||||
daemon
|
||||
Flask
|
||||
Flask-Login
|
||||
Flask-Login==0.3.2
|
||||
Flask-RESTful
|
||||
Flask-Script
|
||||
Flask-SQLAlchemy
|
||||
|
Loading…
Reference in New Issue
Block a user