428 lines
12 KiB
Cheetah
428 lines
12 KiB
Cheetah
#set controller = $get_role('os_compute_controller', [$get_role('os_controller', None), $get_role('allinone_compute', None)])
|
|
|
|
## Contoller node management IP/interface
|
|
#set controller_ip = $controller.management.ip
|
|
#set controller_nic = $controller.management.interface
|
|
|
|
## Compute node management IP/interface
|
|
#set compute = $get_role('os_compute_worker', $get_role('allinone_compute', None))
|
|
#set compute_nic = $compute.management.interface
|
|
|
|
## Network server/worker node IP/interface
|
|
#set network = $get_role('os_network', None)
|
|
#set network_server = $get_role('os_network_server', [$network, $controller])
|
|
#set network_worker = $get_role('os_network_worker', [$network, $compute])
|
|
|
|
#set network_server_ip = $network_server.management.ip
|
|
#set network_server_nic = $network_server.management.interface
|
|
|
|
## Network worker node management IP/interface
|
|
#set network_worker_ip = $network_worker.management.ip
|
|
#set network_worker_nic = $network_worker.management.interface
|
|
#set network_worker_tenant_nic = $network_worker.tenant.interface
|
|
#set network_worker_public_nic = $network_worker.public.interface
|
|
|
|
## Database node management IP
|
|
#set db_role = $get_role('os_ops_database', $controller)
|
|
#set db_ip = $db_role.management.ip
|
|
#set db_nic = $db_role.management.interface
|
|
|
|
## Message queue node management IP/interface
|
|
#set msg_queue = $get_role('os_ops_messaging', $controller)
|
|
#set msg_queue_ip = $msg_queue.management.ip
|
|
|
|
## Identity (keystone) node IP/interface
|
|
#set identity = $get_role('os_identity', $controller)
|
|
#set identity_ip = $identity.management.ip
|
|
#set identity_nic = $identity.management.interface
|
|
|
|
## Glance node management IP/interface
|
|
#set glance = $get_role('os_image', $controller)
|
|
#set glance_ip = $glance.management.ip
|
|
#set glance_nic = $glance.management.interface
|
|
|
|
## Cinder node management IP/interface
|
|
#set cinder = $get_role('os_block_storage_controller', $controller)
|
|
#set cinder_controller_ip = $cinder.management.ip
|
|
#set cinder_controller_nic = $cinder.management.interface
|
|
|
|
## Dashboard node management IP/interface
|
|
#set dash = $get_role('os_dashboard', $controller)
|
|
#set dash_ip = $dash.management.ip
|
|
|
|
## Set services credentials
|
|
#set db_pass = $getDictValue('service_credentials/mysql/password', 'root')
|
|
#set mq_username = $getDictValue('service_credentials/rabbitmq/username', 'guest')
|
|
#set mq_pass = $getDictValue('service_credentials/rabbitmq/password', 'guest')
|
|
|
|
## Set Openstack neutron config
|
|
#set tenant_network_type = $getDictValue('neutron_config/openvswitch/tenant_network_type', 'gre')
|
|
#set enable_tunneling = True
|
|
#set tunnel_id_ranges = ''
|
|
#set vlan_ranges = ''
|
|
#set bridge_mappings = ''
|
|
|
|
#if $tenant_network_type == 'vlan'
|
|
#set enable_tunneling = False
|
|
#set bridge_mappings = ','.join($getDictValue('neutron_config/openvswitch/bridge_mappings', ['physnet1:br-eth1']))
|
|
#set vlan_ranges = ','.join($getDictValue('neutron_config/openvswitch/vlan_ranges', ['physnet1:2700:2999']))
|
|
#else
|
|
#set tunnel_id_ranges = ','.join($getDictValue('neutron_config/openvswitch/tunnel_id_ranges', ['1:1000']))
|
|
#end if
|
|
|
|
## Utility functions definition
|
|
#def get_role($role_name, $default_roles=None)
|
|
#set target_role = $getVar($role_name, None)
|
|
#if isinstance($target_role, list)
|
|
#if $target_role
|
|
#set target_role = $target_role[0]
|
|
#else
|
|
#set target_role = None
|
|
#end if
|
|
#end if
|
|
#if $target_role is None and $default_roles is not None
|
|
#if isinstance($default_roles, list)
|
|
#for $role in $default_roles
|
|
#if $role is not None
|
|
#set target_role = $role
|
|
#break
|
|
#end if
|
|
#end for
|
|
#else
|
|
#set target_role = $default_roles
|
|
#end if
|
|
#end if
|
|
#return $target_role
|
|
#end def
|
|
|
|
#def getDictValue($path, $default_value="")
|
|
#set keys = str($path).split('/')
|
|
#set value = $getVar($keys[0], {})
|
|
|
|
#if not $value
|
|
#return $default_value
|
|
#else
|
|
#for $key in $keys[1:]
|
|
#try
|
|
#set value = $value[$key]
|
|
#except
|
|
#return $default_value
|
|
#end try
|
|
#end for
|
|
#end if
|
|
|
|
#return $value
|
|
|
|
#end def
|
|
{
|
|
"name": "base",
|
|
"description": "Environment used in testing the upstream cookbooks and reference Chef repository",
|
|
"cookbook_versions": {
|
|
},
|
|
"json_class": "Chef::Environment",
|
|
"chef_type": "environment",
|
|
"override_attributes": {
|
|
"compass": {
|
|
"cluster_id": "$id"
|
|
}
|
|
},
|
|
"default_attributes": {
|
|
"local_repo": "",
|
|
"mysql": {
|
|
"server_root_password": "$db_pass",
|
|
"server_debian_password": "$db_pass",
|
|
"server_repl_password": "$db_pass",
|
|
"allow_remote_root": true,
|
|
"root_network_acl": "%"
|
|
},
|
|
"collectd": {
|
|
"server": {
|
|
"host": "metrics",
|
|
"port": "4242",
|
|
"protocol": "tcp"
|
|
}
|
|
},
|
|
"memcached": {
|
|
"bind_interface": "$identity_nic"
|
|
},
|
|
"openstack": {
|
|
"use_databags": false,
|
|
"auth": {
|
|
"validate_certs": false
|
|
},
|
|
"block-storage": {
|
|
"syslog": {
|
|
"use": false
|
|
},
|
|
"api": {
|
|
"ratelimit": "False"
|
|
},
|
|
"debug": true
|
|
},
|
|
"dashboard": {
|
|
"use_ssl": "false"
|
|
},
|
|
"compute": {
|
|
"syslog": {
|
|
"use": false
|
|
},
|
|
"libvirt": {
|
|
"bind_interface": "$compute_nic"
|
|
},
|
|
"novnc_proxy": {
|
|
"bind_interface": "$compute_nic"
|
|
},
|
|
"xvpvnc_proxy": {
|
|
"bind_interface": "$compute_nic"
|
|
},
|
|
"ratelimit": {
|
|
"api": {
|
|
"enabled": false
|
|
},
|
|
"volume": {
|
|
"enabled": false
|
|
}
|
|
},
|
|
"network": {
|
|
"service_type": "neutron"
|
|
}
|
|
},
|
|
"network": {
|
|
"verbose": "True",
|
|
"debug": "True",
|
|
"service_plugins": [
|
|
"router"
|
|
],
|
|
"ml2": {
|
|
"type_drivers": "$tenant_network_type",
|
|
"tenant_network_types": "$tenant_network_type",
|
|
"tunnel_id_ranges": "$tunnel_id_ranges",
|
|
"network_vlan_ranges": "$vlan_ranges",
|
|
"enable_security_group": "True"
|
|
},
|
|
"openvswitch": {
|
|
"tenant_network_type": "$tenant_network_type",
|
|
"enable_tunneling": "$enable_tunneling",
|
|
"tunnel_id_ranges": "$tunnel_id_ranges",
|
|
"network_vlan_ranges": "$vlan_ranges",
|
|
"bridge_mappings": "$bridge_mappings",
|
|
"bind_interface": "$network_worker_tenant_nic"
|
|
},
|
|
"l3": {
|
|
"external_network_bridge_interface": "$network_worker_public_nic"
|
|
}
|
|
},
|
|
"db": {
|
|
"bind_interface": "$db_nic",
|
|
"compute": {
|
|
"host": "$db_ip"
|
|
},
|
|
"identity": {
|
|
"host": "$db_ip"
|
|
},
|
|
"image": {
|
|
"host": "$db_ip"
|
|
},
|
|
"network": {
|
|
"host": "$db_ip"
|
|
},
|
|
"volume": {
|
|
"host": "$db_ip"
|
|
},
|
|
"dashboard": {
|
|
"host": "$db_ip"
|
|
},
|
|
"telemetry": {
|
|
"host": "$db_ip"
|
|
},
|
|
"orchestration": {
|
|
"host": "$db_ip"
|
|
}
|
|
},
|
|
"developer_mode": true,
|
|
"endpoints": {
|
|
"db": {
|
|
"host": "$db_ip"
|
|
},
|
|
"mq": {
|
|
"host": "$msg_queue_ip"
|
|
},
|
|
"compute-api": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8774",
|
|
"path": "/v2/%(tenant_id)s"
|
|
},
|
|
"compute-api-bind": {
|
|
"bind_interface": "$controller_nic"
|
|
},
|
|
"compute-ec2-admin": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8773",
|
|
"path": "/services/Admin"
|
|
},
|
|
"compute-ec2-api": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8773",
|
|
"path": "/services/Cloud"
|
|
},
|
|
"compute-novnc": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "6080",
|
|
"path": "/vnc_auto.html"
|
|
},
|
|
"compute-novnc-bind": {
|
|
"bind_interface": "$controller_nic"
|
|
},
|
|
"compute-vnc-bind": {
|
|
"bind_interface" : "$compute_nic"
|
|
},
|
|
"vnc_bind": {
|
|
"bind_interface": "$controller_nic"
|
|
},
|
|
"image-api": {
|
|
"host": "$glance_ip",
|
|
"scheme": "http",
|
|
"port": "9292",
|
|
"path": "/v2"
|
|
},
|
|
"image-api-bind": {
|
|
"bind_interface": "$glance_nic"
|
|
},
|
|
"image-registry": {
|
|
"host": "$glance_ip",
|
|
"scheme": "http",
|
|
"port": "9191",
|
|
"path": "/v2"
|
|
},
|
|
"image-registry-bind": {
|
|
"bind_interface": "$glance_nic"
|
|
},
|
|
"identity-bind": {
|
|
"bind_interface": "$identity_nic"
|
|
},
|
|
"identity-api": {
|
|
"host": "$identity_ip",
|
|
"scheme": "http",
|
|
"port": "5000",
|
|
"path": "/v2.0"
|
|
},
|
|
"identity-admin": {
|
|
"host": "$identity_ip",
|
|
"scheme": "http",
|
|
"port": "35357",
|
|
"path": "/v2.0"
|
|
},
|
|
"block-storage-api": {
|
|
"host": "$cinder_controller_ip",
|
|
"scheme": "http",
|
|
"port": "8776",
|
|
"path": "/v1/%(tenant_id)s"
|
|
},
|
|
"block-storage-api-bind": {
|
|
"bind_interface": "$cinder_controller_nic"
|
|
},
|
|
"telemetry-api": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8777",
|
|
"path": "/v1"
|
|
},
|
|
"network-api": {
|
|
"host": "$network_server_ip",
|
|
"scheme": "http",
|
|
"port": "9696",
|
|
"path": ""
|
|
},
|
|
"network-api-bind": {
|
|
"bind_interface": "$network_server_nic"
|
|
},
|
|
"orchestration-api": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8004",
|
|
"path": "/v1/%(tenant_id)s"
|
|
},
|
|
"orchestration-api-cfn": {
|
|
"host": "$controller_ip",
|
|
"scheme": "http",
|
|
"port": "8000",
|
|
"path": "/v1"
|
|
}
|
|
},
|
|
"identity": {
|
|
"admin_user": "admin",
|
|
"bind_interface": "$identity_nic",
|
|
"catalog": {
|
|
"backend": "sql"
|
|
},
|
|
"debug": true,
|
|
"roles": [
|
|
"admin",
|
|
"member"
|
|
],
|
|
"syslog": {
|
|
"use": false
|
|
},
|
|
"tenants": [
|
|
"admin",
|
|
"service",
|
|
"demo"
|
|
],
|
|
"token": {
|
|
"backend": "sql"
|
|
},
|
|
"users": {
|
|
"admin": {
|
|
"password": "admin",
|
|
"default_tenant": "admin",
|
|
"roles": {
|
|
"admin": [
|
|
"admin"
|
|
]
|
|
}
|
|
},
|
|
"demo": {
|
|
"password": "demo",
|
|
"default_tenant": "demo",
|
|
"roles": {
|
|
"member": [
|
|
"demo"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"image": {
|
|
"api": {
|
|
"bind_interface": "$glance_nic"
|
|
},
|
|
"debug": true,
|
|
"registry": {
|
|
"bind_interface": "$glance_nic"
|
|
},
|
|
"syslog": {
|
|
"use": false
|
|
},
|
|
"upload_image": {
|
|
"cirros": "http://download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img"
|
|
},
|
|
"upload_images": [
|
|
"cirros"
|
|
]
|
|
},
|
|
"mq": {
|
|
"user": "$mq_username",
|
|
"password": "$mq_pass",
|
|
"vhost": "/nova",
|
|
"network": {
|
|
"service_type": "rabbitmq"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|