Support rhel7 and osp9

Change-Id: I1e25df2f57753aa4038f49d0c10958c68c248f31
This commit is contained in:
Xicheng Chang 2016-10-26 21:03:50 -04:00
parent 5672aecc31
commit 9c03171433
25 changed files with 1401 additions and 1 deletions

View 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

View 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'
],
}]

View 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
View File

@ -0,0 +1,3 @@
NAME = 'rhel-server-7.2-x86_64'
PARENT = 'CentOS'
DEPLOYABLE = True

View 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']
}

View 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
}]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
{
"repos": "$getVar('repo_name', '')"
}

View 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"
}
}

View File

@ -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