Skip to content

Instantly share code, notes, and snippets.

@brc
Created January 30, 2014 06:35
Show Gist options
  • Save brc/8703674 to your computer and use it in GitHub Desktop.
Save brc/8703674 to your computer and use it in GitHub Desktop.
Terse map of attribute mappings between RPC and StackForge
ceilometer.db.name > openstack.db.metering.db_name
ceilometer.db.username > openstack.metering.db.username
! ceilometer.notification.driver = no_op
! ceilometer.notification.topics = notifications
# ^NOTE: templates/default/ceilometer.conf.erb:notification_topics = notifications,glance_notifications
+ceilometer.service_tenant_name (service) > openstack.metering.service_tenant_name (nil)
# ^NOTE: this attr is not defined in stackforge, but is used in cookbook-openstack-metering::common
+ceilometer.service_user (ceilometer) > openstack.metering.service_user (nil)
# ^NOTE: this attr is not defined in stackforge, but is used in cookbook-openstack-metering::common
! ceilometer.service_role = admin
ceilometer.services.api.scheme > openstack.endpoints.metering-api.scheme
ceilometer.services.api.port > openstack.endpoints.metering-api.port
+ceilometer.services.api.path (nil) > openstack.endpoints.metering-api.path (/v1)
! ceilometer.services.api.network = public
! ceilometer.services.api.cert_file = ceilometer.pem
! ceilometer.services.api.key_file = ceilometer.key
! ceilometer.services.api.wsgi_file = ceilometer-api
! ceilometer.services.internal-api.scheme = http
! ceilometer.services.internal-api.port = 8777
! ceilometer.services.internal-api.path =
! ceilometer.services.internal-api.network = management
! ceilometer.services.admin-api.scheme = http
! ceilometer.services.admin-api.port = 8777
! ceilometer.services.admin-api.path =
! ceilometer.services.admin-api.network = management
! ceilometer.services.central.scheme = tcp
! ceilometer.services.central.port = 8777
! ceilometer.services.central.network = management
+ceilometer.syslog.use (true) > openstack.metering.syslog.use (false)
! ceilometer.syslog.facility = LOG_LOCAL3
+ceilometer.logging.debug (false) > openstack.metering.debug (nil)
# ^NOTE: this attr is not defined in stackforge, but is used in ceilometer.conf template
! ceilometer.logging.verbose = true
# ^NOTE: templates/default/ceilometer.conf.erb:verbose = True
+ceilometer.platform.supporting_packages (["ceilometer-common","python-mysqldb","python-ceilometerclient"]) > openstack.metering.platform.common_packages (["ceilometer-common"])
ceilometer.platform.central_agent_package_list > openstack.metering.platform.agent_central_packages
ceilometer.platform.central_agent_service > openstack.metering.platform.agent_central_service
! ceilometer.platform.central_agent_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?ceilometer-agent-central\b
# ^NOTE: there is no openstack.metering.platform.agent_central_process_name variable
+ceilometer.platform.collector_package_list (["ceilometer-collector"]) > openstack.metering.platform.collector_packages (["ceilometer-collector","python-mysqldb"])
ceilometer.platform.collector_service > openstack.metering.platform.collector_service
! ceilometer.platform.collector_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?ceilometer-collector\b
# ^NOTE: there is no openstack.metering.platform.collector_process_name variable
ceilometer.platform.api_package_list > openstack.metering.platform.api_packages
ceilometer.platform.api_service > openstack.metering.platform.api_service
! ceilometer.platform.api_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?ceilometer-api\b
# ^NOTE: there is no openstack.metering.platform.api_process_name variable
ceilometer.platform.compute_package_list > openstack.metering.platform.agent_compute_packages
ceilometer.platform.compute_service > openstack.metering.platform.agent_compute_service
! ceilometer.platform.compute_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?ceilometer-agent-compute\b
# ^NOTE: there is no openstack.metering.platform.compute_process_name variable
! ceilometer.platform.service_bin = /usr/sbin/service
! ceilometer.platform.package_options = -o Dpkg::Options:='--force-confold' -o Dpkg::Options:='--force-confdef'
! ceilometer.ssl.dir = /etc/ssl
! enable_monit = false
cinder.rabbitmq.use_ha_queues > openstack.block-storage.rabbit.ha
! cinder.notification.driver = no_op
# ^NOTE: cookbook-openstack-block-storage/templates/default/cinder.conf.erb:notification_driver=cinder.openstack.common.notifier.rpc_notifier
! cinder.notification.topics = notifications
# ^NOTE: cookbook-openstack-block-storage/templates/default/cinder.conf.erb:# notification_topics=notifications
! cinder.policy = policy.json
# ^NOTE: cookbook-openstack-block-storage/recipes/api.rb:template "/etc/cinder/policy.json" do
! cinder.storage.provider = lvm
+cinder.storage.iscsi.ip_address (nil) > openstack.block-storage.volume.iscsi_ip_address (node['ipaddress'])
! cinder.storage.enable_multipath = false
cinder.storage.lvm.volume_group > openstack.block-storage.volume.volume_group
! cinder.storage.lvm.volume_clear = zero
! cinder.storage.lvm.volume_clear_size = 0
! cinder.storage.lvm.mirrors = 0
! cinder.storage.lvm.config = /etc/lvm/lvm.conf
! cinder.storage.lvm.pool_size = None
+cinder.storage.lvm.volume_driver (cinder.volume.drivers.lvm.LVMISCSIDriver) > openstack.block-storage.volume.driver (cinder.volume.driver.ISCSIDriver)
! cinder.storage.solidfire.mvip =
# ^NOTE: cookbook-openstack-block-storage/templates/default/cinder.conf.erb:# sf_mvip=
! cinder.storage.solidfire.username =
! cinder.storage.solidfire.password =
! cinder.storage.emc.config = /etc/cinder/cinder_emc_config.xml
! cinder.storage.emc.config = /etc/cinder/cinder_emc_config.xml
! cinder.storage.emc.StorageType =
! cinder.storage.emc.EcomServerIP =
! cinder.storage.emc.EcomServerPort = 5988
! cinder.storage.emc.EcomUserName = admin
! cinder.storage.emc.EcomPassword =
! cinder.storage.emc.MaskingView =
! cinder.storage.emc.packages = ["python-pywbem"]
! cinder.storage.netapp.iscsi.wsdl_url =
# ^NOTE: cookbook-openstack-block-storage/templates/default/cinder.conf.erb:netapp_wsdl_url=<%= node["openstack"]["block-storage"]["netapp"]["protocol"] %>://<%= node["openstack"]["block-storage"]["netapp"]["dfm_hostname"] %>:<%= node["openstack"]["block-storage"]["netapp"]["dfm_web_port"] %>/dfm.wsdl
# openstack.block-storage.netapp.protocol = http
# openstack.block-storage.netapp.dfm_hostname = nil
# openstack.block-storage.netapp.dfm_web_port = 8080
cinder.storage.netapp.iscsi.login > openstack.block-storage.netapp.dfm_login
cinder.storage.netapp.iscsi.password > openstack.block-storage.netapp.dfm_password
cinder.storage.netapp.iscsi.server_hostname > openstack.block-storage.netapp.dfm_hostname
cinder.storage.netapp.iscsi.server_port > openstack.block-storage.netapp.dfm_port
+cinder.storage.netapp.iscsi.storage_service (nil) > openstack.block-storage.netapp.storage_service (storage_service)
cinder.storage.netapp.nfsdirect.server_hostname > openstack.block-storage.netapp.netapp_server_hostname
+cinder.storage.netapp.nfsdirect.port (443) > openstack.block-storage.netapp.netapp_server_port (80)
cinder.storage.netapp.nfsdirect.login > openstack.block-storage.netapp.netapp_server_login
cinder.storage.netapp.nfsdirect.password > openstack.block-storage.netapp.netapp_server_password
! cinder.storage.netapp.nfsdirect.transport_type = https
+cinder.storage.netapp.nfsdirect.nfs_shares_config (/etc/cinder/shares.txt) > openstack.block-storage.nfs.shares_config (/etc/cinder/shares.conf)
cinder.storage.netapp.nfsdirect.export > openstack.block-storage.netapp.export
cinder.storage.netapp.nfsdirect.packages > openstack.block-storage.platform.cinder_nfs_packages
+cinder.storage.rbd.rbd_pool (volumes) > openstack.block-storage.rbd_pool (rbd)
+cinder.storage.rbd.rbd_user (volumes) > openstack.block-storage.rbd_user (nil)
! cinder.storage.rbd.rbd_pool_pg_num = 1000
cinder.storage.rbd.rbd_secret_uuid > openstack.block-storage.rbd_secret_uuid
cinder.db.name > openstack.db.volume.db_name
cinder.db.username > openstack.block-storage.db.username
cinder.service_tenant_name > openstack.block-storage.service_tenant_name
cinder.service_user > openstack.block-storage.service_user
cinder.service_role > openstack.block-storage.service_role
cinder.services.api.scheme > openstack.endpoints.volume-api.scheme
! cinder.services.api.network = public
cinder.services.api.port > openstack.endpoints.volume-api.port
cinder.services.api.path > openstack.endpoints.volume-api.path
! cinder.services.api.cert_file = cinder.pem
! cinder.services.api.key_file = cinder.key
! cinder.services.api.wsgi_file = cinder-api
! cinder.services.internal-api.scheme = http
! cinder.services.internal-api.network = management
! cinder.services.internal-api.port = 8776
! cinder.services.internal-api.path = /v1/%(tenant_id)s
! cinder.services.admin-api.scheme = http
! cinder.services.admin-api.network = management
! cinder.services.admin-api.port = 8776
! cinder.services.admin-api.path = /v1/%(tenant_id)s
! cinder.services.volume.network = management
! cinder.config.log_verbosity > openstack.block-storage.verbose
# ^NOTE: cinder.config.log_verbosity isn't ever used in RPC recipes;
# the value 'True' is hard-coded in the cinder.conf template.
cinder.config.storage_availability_zone > openstack.block-storage.storage_availability_zone
cinder.config.max_gigabytes > openstack.block-storage.max_gigabytes
cinder.platform.cinder_common_packages > openstack.block-storage.platform.cinder_common_packages
cinder.platform.cinder_api_packages > cinder.platform.cinder_api_packages
cinder.platform.cinder_api_service > openstack.block-storage.platform.cinder_api_service
! cinder.platform.cinder_api_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?cinder-api\b
+cinder.platform.cinder_volume_packages (["cinder-volume", "open-iscsi", "qemu-utils", "sysfsutils"]) > "openstack.block-storage.platform.cinder_volume_packages (["cinder-volume"])
cinder.platform.cinder_volume_service > openstack.block-storage.platform.cinder_volume_service
! cinder.platform.cinder_volume_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?cinder-volume\b
cinder.platform.cinder_scheduler_packages > openstack.block-storage.platform.cinder_scheduler_packages
cinder.platform.cinder_scheduler_service > openstack.block-storage.platform.cinder_scheduler_service
! cinder.platform.cinder_scheduler_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?cinder-scheduler\b
cinder.platform.cinder_iscsitarget_packages > openstack.block-storage.platform.cinder_iscsitarget_packages
cinder.platform.cinder_iscsitarget_service > openstack.block-storage.platform.cinder_iscsitarget_service
! cinder.platform.supporting_packages = ["python-cinderclient", "python-mysqldb"]
# ^NOTE: openstack.block-storage.platform.mysql_python_packages = ["python-mysqldb"]
# openstack.block-storage.platform.cinder_api_packages = ["cinder-api", "python-cinderclient"]
! cinder.platform.package_options = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
# ^NOTE: openstack.block-storage.platform.package_overrides = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
! cinder.ssl.dir = /etc/ssl
! monitoring.configs = []
! collectd.types_db = /usr/share/collectd/types.db
! collectd.interval = 10
! collectd.read_threads = 5
! collectd.is_proxy = true
! collectd.remote.ip = 1.2.3.4
! collectd.timeout = 30
! collectd.collectd_web.path = /srv/collectd_web
! collectd.collectd_web.hostname = collectd
! collectd.platform.collectd_packages = ["collectd-core"]
! collectd.platform.collectd_base_dir = /var/lib/collectd
! collectd.platform.collectd_plugin_dir = /usr/lib/collectd
! collectd.platform.collectd_config_file = /etc/collectd/collectd.conf
! collectd.platform.package_options = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
! collectd.services.network-listener.network = management
! dsh.host_key =
! dsh.hosts = []
! pssh.platform.pssh_packages = ["pssh"]
! exerstack.platform.packages = ["git", "bc", "euca2ools", "netcat", "mysql-client", "python-cinderclient", "python-glanceclient", "python-keystoneclient", "python-novaclient", "python-swiftclient", "lvm2", "python-ceilometerclient"]
! glance.rabbitmq.use_ha_queues = false
glance.use_debug > openstack.image.debug
glance.services.api.scheme > openstack.endpoints.image-api.scheme
! glance.services.api.network = public
glance.services.api.port > openstack.endpoints.image-api.port
+glance.services.api.path (nil) > openstack.endpoints.image-api.path (/v2)
! glance.services.api.cert_file = glance.pem
! glance.services.api.key_file = glance.key
! glance.services.api.chain_file =
! glance.services.api.wsgi_file = glance-api
! glance.services.admin-api.scheme = http
! glance.services.admin-api.network = management
! glance.services.admin-api.port = 9292
! glance.services.admin-api.path =
! glance.services.internal-api.scheme = http
! glance.services.internal-api.network = management
! glance.services.internal-api.port = 9292
! glance.services.internal-api.path =
! glance.services.registry.network = public
glance.services.registry.port > openstack.endpoints.image-registry.port
+glance.services.registry.path (nil) > openstack.endpoints.image-registry.path (/v2)
! glance.services.registry.cert_file = glance.pem
! glance.services.registry.key_file = glance.key
! glance.services.registry.chain_file =
! glance.services.registry.wsgi_file = glance-registry
glance.db.name > openstack.db.image.db_name
glance.db.username > openstack.image.db.username
glance.service_tenant_name > openstack.image.service_tenant_name
glance.service_user > openstack.image.service_user
glance.service_role > openstack.image.service_role
glance.api.default_store > openstack.image.api.default_store
glance.api.swift.store_container > openstack.image.api.swift.container
glance.api.swift.store_large_object_size > openstack.image.api.swift.large_object_size
glance.api.swift.store_large_object_chunk_size > openstack.image.api.swift.large_object_chunk_size
! glance.api.swift.enable_snet = False
# ^NOTE: cookbook-openstack-image/templates/default/glance-api.conf.erb:swift_enable_snet = False
! glance.api.swift.store_region =
glance.api.rbd.rbd_store_ceph_conf > openstack.image.api.rbd.rbd_store_ceph_conf
glance.api.rbd.rbd_store_user > openstack.image.api.rbd.rbd_store_user
glance.api.rbd.rbd_store_pool > openstack.image.api.rbd.rbd_store_pool
glance.api.rbd.rbd_store_chunk_size > glance.api.rbd.rbd_store_chunk_size
! glance.api.rbd.rbd_store_pool_pg_num = 1000
glance.api.cache.image_cache_max_size > openstack.image.api.cache.image_cache_max_size
glance.api.notifier_strategy > openstack.image.mq.notifier_strategy
! glance.api.notification_topic = glance_notifications
# ^NOTE: cookbook-openstack-image/templates/default/glance-api.conf.erb:rabbit_notification_topic = glance_notifications
# cookbook-openstack-image/templates/default/glance-api.conf.erb:qpid_notification_topic = glance_notifications
! glance.api.workers = [8, node["cpu"]["total"].to_i].min
# ^NOTE: cookbook-openstack-image/templates/default/glance-api.conf.erb:workers = <%= node["cpu"]["total"] %>
! glance.api.show_image_direct_url = True
! glance.image_upload = false
# ^NOTE: there is no toggle for this in stackforge; always uploads cirros by default
+glance.images (nil) > openstack.image.upload_images (["cirros"])
glance.image.precise > openstack.image.upload_image.precise
glance.image.cirros > openstack.image.upload_image.cirros
! glance.image.fedora
! glance.replicator.interval = 5
! glance.replicator.checksum = 971b7cec95105747e77088e3e0853a636a120383
! glance.replicator.rsync_user = glance
! glance.replicator.enabled = true
! glance.platform.supporting_packages = ["python-mysqldb", "python-keystone", "curl", "python-glanceclient", "python-warlock"]
! glance.platform.glance_packages = ["glance", "python-swift", "python-prettytable", "python-lockfile"]
# ^NOTE: openstack.image.platform.postgresql_python_packages => [ "python-psycopg2" ],
# openstack.image.platform.mysql_python_packages => [ "MySQL-python" ],
# openstack.image.platform.image_packages => [ "openstack-glance", "cronie", "python-glanceclient"],
# openstack.image.platform.image_client_packages => ["python-glanceclient"],
# openstack.image.platform.swift_packages => [ "openstack-swift" ]
glance.platform.glance_api_service > openstack.image.platform.image_api_service
+glance.platform.glance_api_procmatch (^((/usr/bin/)?python\d? )?(/usr/bin/)?glance-api\b) > openstack.image.platform.image_api_process_name (glance-api)
glance.platform.glance_registry_service > openstack.image.platform.image_registry_service
! glance.platform.glance_registry_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?glance-registry\b
+glance.platform.package_options (-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef') > openstack.image.platform.package_overrides (nil)
! glance.ssl.dir = /etc/ssl
! statsd.flush_interval = 60
! statsd.services.statsd.port = 8125
# ^NOTE: SF attribute swift.statistics.statsd_port,
# but don't think it serves the same purpose.
! statsd.services.statsd.network = management
! graphite.services.api.port = 80
! graphite.services.api.network = management
! graphite.platform.carbon_packages = ["python-carbon"]
! graphite.platform.carbon_apache_user = www-data
! graphite.platform.carbon_conf_dir = /etc/carbon
! graphite.platform.carbon_log_dir = /var/log/carbon/carbon
! graphite.platform.graphite_packages = ["python-cairo", "graphite"]
! graphite.platform.graphite_pythonpath = /usr/share/graphite/webapp
! graphite.platform.graphite_root = /var/lib/graphite
! graphite.platform.graphite_log_dir = /var/lib/graphite/storage/log/webapp
! graphite.platform.whisper_packages = ["python-whisper"]
! graphite.platform.statsd_service = statsd
! graphite.platform.statsd_template = /etc/default/statsd
! graphite.platform.package_options = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
! carbon.services.line-receiver.port = 2003
! carbon.services.line-receiver.network = management
! carbon.services.pickle-receiver.port = 2004
! carbon.services.pickle-receiver.network = management
! carbon.services.cache-query.port = 7002
! carbon.services.cache-query.network = management
! carbon.storage_schemas.everything_1min_1day.priority = 100
! carbon.storage_schemas.everything_1min_1day.pattern = .*
! carbon.storage_schemas.everything_1min_1day.retentions = 60:1440
! haproxy.admin_port = 8040
! haproxy.services.api.host =
! haproxy.platform.haproxy_packages = ["haproxy"]
! haproxy.platform.haproxy_service = haproxy
! haproxy.platform.haproxy_process_name = ^/usr/sbin/haproxy\b
! haproxy.platform.service_bin = /usr/sbin/service
! haproxy.platform.package_options = --force-yes -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
# when ubuntu
keystone.platform.keystone_service > openstack.identity.platform.keystone_service
keystone.platform.package_options > openstack.identity.platform.package_options
keystone.platform.keystone_packages > openstack.identity.platform.keystone_packages
! keystone.platform.keystone_procmatch = "^((/usr/bin/)?python\\d? )?(/usr/bin/)?keystone-all\\b"
# openstack.identity.platform.keystone_process_name may serve similar function
! keystone.platform.support_packages = ["python-mysqldb","python-ldap","python-keystoneclient","python-keystone"]
# openstack.identity.platform.mysql_python_packages = [ "python-mysql" ]
# the other packages aren't specified
! keystone.ssl.dir = "/etc/ssl"
# when centos
keystone.platform.keystone_service > openstack.identity.platform.keystone_service
keystone.platform.package_options > openstack.identity.platform.package_options
+keystone.platform.keystone_packages ([u'openstack-keystone']) > openstack.identity.platform.keystone_packages ([u'openstack-keystone', u'python-iso8601'])
! keystone.platform.keystone_procmatch = "^((/usr/bin/)?python\\d? )?(/usr/bin/)?keystone-all\\b"
# openstack.identity.platform.keystone_process_name may serve similar function
! keystone.platform.support_packages = ["MySQL-python","python-ldap","python-keystoneclient","python-keystone"]
# openstack.identity.platform.mysql_python_packages = [ "MySQL-python" ]
! keystone.ssl.dir = "/etc/pki/tls"
keystone.admin_user > openstack.identity.admin_user
keystone.verbose > openstack.identity.verbose
keystone.ldap.tenant_filter > openstack.identity.ldap.tenant_filter
keystone.ldap.tenant_attribute_ignore > openstack.identity.ldap.tenant_attribute_ignore
keystone.ldap.group_attribute_ignore > openstack.identity.ldap.group_attribute_ignore
keystone.ldap.user_enabled_emulation_dn > openstack.identity.ldap.user_enabled_emulation_dn
keystone.ldap.role_attribute_ignore > openstack.identity.ldap.role_attribute_ignore
keystone.ldap.group_tree_dn > openstack.identity.ldap.group_tree_dn
keystone.ldap.role_filter > openstack.identity.ldap.role_filter
keystone.ldap.role_tree_dn > openstack.identity.ldap.role_tree_dn
keystone.ldap.group_filter > openstack.identity.ldap.group_filter
keystone.ldap.tenant_enabled_emulation_dn > openstack.identity.ldap.tenant_enabled_emulation_dn
keystone.ldap.user_filter > openstack.identity.ldap.user_filter
keystone.ldap.password > openstack.identity.ldap.password
keystone.ldap.user_tree_dn > openstack.identity.ldap.user_tree_dn
keystone.ldap.tenant_tree_dn > openstack.identity.ldap.tenant_tree_dn
keystone.debug > openstack.identity.debug
keystone.db.username > openstack.identity.db.username
keystone.users.admin.default_tenant > openstack.identity.users.admin.default_tenant
keystone.users.admin.roles.admin > openstack.identity.users.admin.roles.admin
keystone.users.admin.roles.KeystoneAdmin > openstack.identity.users.admin.roles.KeystoneAdmin
keystone.users.admin.roles.KeystoneServiceAdmin > openstack.identity.users.admin.roles.KeystoneServiceAdmin
keystone.users.monitoring.default_tenant > openstack.identity.users.monitoring.default_tenant
keystone.users.monitoring.roles.Member > openstack.identity.users.monitoring.roles.Member
credentials.EC2.admin.access > credentials.EC2.admin.access
credentials.EC2.admin.secret > credentials.EC2.admin.secret
+keystone.syslog.use (True) > openstack.identity.syslog.use (False)
+keystone.syslog.config_facility (u'local3') > openstack.identity.syslog.config_facility (u'local2')
+keystone.syslog.facility (u'LOG_LOCAL3') > openstack.identity.syslog.facility (u'LOG_LOCAL2')
+keystone.ldap.group_name_attribute (nil) > openstack.identity.ldap.group_name_attribute (u'ou')
+keystone.ldap.suffix (nil) > openstack.identity.ldap.suffix (u'cn=example,cn=com')
+keystone.ldap.group_objectclass (nil) > openstack.identity.ldap.group_objectclass (u'groupOfNames')
+keystone.ldap.user_id_attribute (nil) > openstack.identity.ldap.user_id_attribute (u'cn')
+keystone.ldap.group_allow_create (nil) > openstack.identity.ldap.group_allow_create (True)
+keystone.ldap.dumb_member (nil) > openstack.identity.ldap.dumb_member (u'cn=dumb,dc=example,dc=com')
+keystone.ldap.tenant_id_attribute (nil) > openstack.identity.ldap.tenant_id_attribute (u'cn')
+keystone.ldap.tenant_allow_delete (nil) > openstack.identity.ldap.tenant_allow_delete (True)
+keystone.ldap.user_name_attribute (nil) > openstack.identity.ldap.user_name_attribute (u'sn')
+keystone.ldap.group_desc_attribute (nil) > openstack.identity.ldap.group_desc_attribute (u'description')
+keystone.ldap.user_allow_create (nil) > openstack.identity.ldap.user_allow_create (True)
+keystone.ldap.user_mail_attribute (nil) > openstack.identity.ldap.user_mail_attribute (u'email')
+keystone.ldap.tenant_desc_attribute (nil) > openstack.identity.ldap.tenant_desc_attribute (u'description')
+keystone.ldap.role_allow_update (nil) > openstack.identity.ldap.role_allow_update (True)
+keystone.ldap.group_member_attribute (nil) > openstack.identity.ldap.group_member_attribute (u'member')
+keystone.ldap.page_size (nil) > openstack.identity.ldap.page_size (0)
+keystone.ldap.alias_dereferencing (nil) > openstack.identity.ldap.alias_dereferencing (u'default')
+keystone.ldap.tenant_allow_update (nil) > openstack.identity.ldap.tenant_allow_update (True)
+keystone.ldap.role_allow_delete (nil) > openstack.identity.ldap.role_allow_delete (True)
+keystone.ldap.role_objectclass (nil) > openstack.identity.ldap.role_objectclass (u'organizationalRole')
+keystone.ldap.group_id_attribute (nil) > openstack.identity.ldap.group_id_attribute (u'cn')
+keystone.ldap.tenant_enabled_attribute (nil) > openstack.identity.ldap.tenant_enabled_attribute (u'enabled')
+keystone.ldap.role_allow_create (nil) > openstack.identity.ldap.role_allow_create (True)
+keystone.ldap.user_domain_id_attribute (nil) > openstack.identity.ldap.user_domain_id_attribute (u'businessCategory')
+keystone.ldap.user_pass_attribute (nil) > openstack.identity.ldap.user_pass_attribute (u'userPassword')
+keystone.ldap.use_dumb_member (nil) > openstack.identity.ldap.use_dumb_member (False)
+keystone.ldap.tenant_allow_create (nil) > openstack.identity.ldap.tenant_allow_create (True)
+keystone.ldap.user_enabled_attribute (nil) > openstack.identity.ldap.user_enabled_attribute (u'enabled')
+keystone.ldap.user_allow_update (nil) > openstack.identity.ldap.user_allow_update (True)
+keystone.ldap.role_name_attribute (nil) > openstack.identity.ldap.role_name_attribute (u'ou')
+keystone.ldap.role_member_attribute (nil) > openstack.identity.ldap.role_member_attribute (u'roleOccupant')
+keystone.ldap.user_allow_delete (nil) > openstack.identity.ldap.user_allow_delete (True)
+keystone.ldap.user (nil) > openstack.identity.ldap.user (u'dc=Manager,dc=example,dc=com')
+keystone.ldap.user_objectclass (nil) > openstack.identity.ldap.user_objectclass (u'inetOrgPerson')
+keystone.ldap.tenant_member_attribute (nil) > openstack.identity.ldap.tenant_member_attribute (u'member')
+keystone.ldap.tenant_objectclass (nil) > openstack.identity.ldap.tenant_objectclass (u'groupOfNames')
+keystone.ldap.group_allow_delete (nil) > openstack.identity.ldap.group_allow_delete (True)
+keystone.ldap.user_enabled_emulation (nil) > openstack.identity.ldap.user_enabled_emulation (False)
+keystone.ldap.url (nil) > openstack.identity.ldap.url (u'ldap://localhost')
+keystone.ldap.tenant_enabled_emulation (nil) > openstack.identity.ldap.tenant_enabled_emulation (False)
+keystone.ldap.group_domain_id_attribute (nil) > openstack.identity.ldap.group_domain_id_attribute (u'businessCategory')
+keystone.ldap.query_scope (nil) > openstack.identity.ldap.query_scope (u'one')
+keystone.ldap.user_attribute_ignore (nil) > openstack.identity.ldap.user_attribute_ignore (u'tenant_id,tenants')
+keystone.ldap.role_id_attribute (nil) > openstack.identity.ldap.role_id_attribute (u'cn')
+keystone.ldap.user_enabled_default (nil) > openstack.identity.ldap.user_enabled_default (u'true')
+keystone.ldap.group_allow_update (nil) > openstack.identity.ldap.group_allow_update (True)
+keystone.ldap.allow_subtree_delete (nil) > openstack.identity.ldap.allow_subtree_delete (False)
+keystone.ldap.user_enabled_mask (nil) > openstack.identity.ldap.user_enabled_mask (0)
+keystone.ldap.tenant_name_attribute (nil) > openstack.identity.ldap.tenant_name_attribute (u'ou')
keystone.auth_type > openstack.identity.identity.backend
! keystone.api_role = "keystone-api"
! keystone.config.log_verbosity = "INFO"
# couldn't find this used in our cookbooks either
! keystone.db.name = "keystone"
#openstack.db.identity.db_name is equivalent but not used in cookbook
! keystone.ldap.domain_allow_create = null
! keystone.ldap.domain_allow_delete = null
! keystone.ldap.domain_allow_update = null
! keystone.ldap.domain_attribute_ignore = null
! keystone.ldap.domain_desc_attribute = null
! keystone.ldap.domain_enabled_attribute = null
! keystone.ldap.domain_enabled_emulation = null
! keystone.ldap.domain_enabled_emulation_dn = null
! keystone.ldap.domain_filter = null
! keystone.ldap.domain_id_attribute = null
! keystone.ldap.domain_member_attribute = null
! keystone.ldap.domain_name_attribute = null
! keystone.ldap.domain_objectclass = null
! keystone.ldap.domain_tree_dn = null
! keystone.ldap.tls_cacertdir = null
! keystone.ldap.tls_cacertfile = null
! keystone.ldap.tls_req_cert = null
! keystone.ldap.use_tls = null
! keystone.member_role_id = "9fe2ff9ee4384b1894a90878d3e92bab"
! keystone.mysql_role = "mysql-master"
! keystone.notification.driver = "no_op"
! keystone.notification.topics = "notifications"
! keystone.pam.password = null
! keystone.pam.url = null
! keystone.pam.userid = null
!keystone.pki.enabled = true
# openstack.auth.strategy = 'pki' is equivalent
! keystone.published_services
! keystone.roles = [ "admin", "Member", "KeystoneAdmin", "KeystoneServiceAdmin" ]
# generated from openstack.identity.users
! keystone.services.admin-api.cert_file = "keystone.pem"
! keystone.services.admin-api.key_file = "keystone.key"
! keystone.services.admin-api.network = "nova"
! keystone.services.admin-api.path = "/v2.0"
keystone.services.admin-api.port > openstack.identity.admin_port
! keystone.services.admin-api.scheme = "http"
! keystone.services.admin-api.wsgi_file = "admin"
! keystone.services.internal-api.cert_file = "keystone.pem"
! keystone.services.internal-api.key_file = "keystone.key"
! keystone.services.internal-api.network = "management"
! keystone.services.internal-api.path = "/v2.0"
! keystone.services.internal-api.port = "5000"
! keystone.services.internal-api.scheme = "http"
! keystone.services.internal-api.wsgi_file = "main"
! keystone.services.internal-api.cert_file = "keystone.pem"
! keystone.services.internal-api.key_file = "keystone.key"
! keystone.services.internal-api.network = "public"
! keystone.services.internal-api.path = "/v2.0"
keystone.services.service-api.port > openstack.identity.service_port
! keystone.services.internal-api.scheme = "http"
! keystone.services.internal-api.wsgi_file = "main"
+keystone.tenants = [ "admin", "service"]
# generated from openstack.identity.users
! keystone.token_expiration = 86400
! keystone.users.admin.password = "secrete"
# identity uses encrypted data bags
! keystone.users.monitoring.password = ""
# identity uses encrypted data bagsheat.db.name > openstack.db.orchestration.db_name
heat.db.username > openstack.db.orchestration.username
# ^NOTE: No default attribute assignment in StackForge
heat.service_tenant_name > openstack.orchestration.service_tenant_name
heat.service_user > openstack.orchestration.service_user
heat.service_role > openstack.orchestration.service_role
! heat.ssl.enabled = false
! heat.ssl.ca_file =
! heat.ssl.cert_file = heat.pem
! heat.ssl.key_file = heat.key
! heat.ssl.dir = /etc/heat/certs
# The following all have commented defaults (ie., not tunable)
#---------------------------------------------8<-----------------
! heat.notification.driver = no_op
! heat.notification.topics = notifications
! heat.policy_file = policy.json
! heat.policy_default_rule = default
! heat.heartbeat.freq = 300
! heat.heartbeat.ttl = 600
! heat.sql.backend = sqlalchemy
! heat.sql.max_retries = 10
! heat.sql.retry_interval = 10
! heat.sql.slave.enabled = false
! heat.sql.slave.salve_user =
! heat.sql.slave.salve_password =
! heat.sql.slave.salve_host =
! heat.sql.slave.salve_db = mysql
! heat.template_size = 20480
! heat.services.engine.name = heat
#---------------------------------------->8----------------------
! heat.services.cloudwatch_api.enabled = true
! heat.services.cloudwatch_api.network = public
heat.services.cloudwatch_api.scheme > openstack.endpoints.orchestration-api-cloudwatch.scheme
heat.services.cloudwatch_api.port > openstack.endpoints.orchestration-api-cloudwatch.port
+heat.services.cloudwatch_api.path (nil) > openstack.endpoints.orchestration-api-cloudwatch.path (/v1)
! heat.services.cloudwatch_api.backlog = 4096
! heat.services.cloudwatch_api.cert = heat.pem
! heat.services.cloudwatch_api.key = heat.key
! heat.services.cloudwatch_api.workers = 10
! heat.services.cfn_api.enabled = true
! heat.services.cfn_api.network = public
heat.services.cfn_api.scheme > openstack.endpoints.orchestration-api-cfn.scheme
heat.services.cfn_api.port > openstack.endpoints.orchestration-api-cfn.port
+heat.services.cfn_api.path (/v1/$(tenant_id)s) > openstack.endpoints.orchestration-api-cfn.path (/v1)
! heat.services.cfn_api.backlog = 4096
! heat.services.cfn_api.cert = heat.pem
! heat.services.cfn_api.key = heat.key
! heat.services.cfn_api.workers = 10
! heat.services.cfn_internal_api.scheme = http
! heat.services.cfn_internal_api.network = management
! heat.services.cfn_internal_api.port = 8000
! heat.services.cfn_internal_api.path = /v1/$(tenant_id)s
! heat.services.cfn_admin_api.scheme = http
! heat.services.cfn_admin_api.network = management
! heat.services.cfn_admin_api.port = 8000
! heat.services.cfn_admin_api.path = /v1/$(tenant_id)s
! heat.services.base_api.enabled = true
! heat.services.base_api.scheme = http
! heat.services.base_api.network = public
! heat.services.base_api.port = 8004
! heat.services.base_api.path = /v1/$(tenant_id)s
! heat.services.base_api.backlog = 4096
! heat.services.base_api.cert = heat.pem
! heat.services.base_api.key = heat.key
! heat.services.base_api.workers = 10
! heat.services.base_internal_api.scheme = http
! heat.services.base_internal_api.network = management
! heat.services.base_internal_api.port = 8004
! heat.services.base_internal_api.path = /v1/$(tenant_id)s
! heat.services.base_admin_api.scheme = http
! heat.services.base_admin_api.network = management
! heat.services.base_admin_api.port = 8004
! heat.services.base_admin_api.path = /v1/$(tenant_id)s
! heat.auth_encryption_key = AnyStringWillDoJustFine
heat.syslog.use > openstack.orchestration.syslog.use
+heat.syslog.facility (LOG_LOCAL3) > openstack.orchestration.syslog.facility (LOG_LOCAL2)
+heat.logging.verbose (true) > openstack.orchestration.verbose (False)
heat.logging.debug > openstack.orchestration.debug
! heat.platform.supporting_packages = ["heat-common", "python-heat", "python-mysqldb", "python-heatclient"]
# ^NOTE: openstack.orchestration.platform.mysql_python_packages
# openstack.orchestration.platform.heat_common_packages
# openstack.orchestration.platform.heat_api_packages
#
+heat.platform.api_package_list (["heat-api"]) > openstack.orchestration.platform.heat_api_packages (["heat-api", "python-heatclient"])
heat.platform.api_service > openstack.orchestration.platform.heat_api_service
! heat.platform.api_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?heat-api\b
+heat.platform.cfn_api_package_list (["heat-api-cfn"]) > openstack.orchestration.platform.heat_api_cfn_packages (["heat-api-cfn", "python-heatclient"])
heat.platform.cfn_api_service > openstack.orchestration.platform.heat_api_cfn_service
! heat.platform.cfn_api_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?heat-api-cfn\b
+heat.platform.cloudwatch_api_package_list (["heat-api-cloudwatch"]) > openstack.orchestration.platform.heat_api_cloudwatch_packages (["heat-api-cloudwatch", "python-heatclient"])
heat.platform.cloudwatch_api_service > openstack.orchestration.platform.heat_api_cloudwatch_service
! heat.platform.cloudwatch_api_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?heat-api-cloudwatch\b
heat.platform.heat_engine_package_list > openstack.orchestration.platform.heat_engine_packages
heat.platform.heat_engine_service > openstack.orchestration.platform.heat_engine_service
! heat.platform.heat_engine_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?heat-engine\b
! heat.platform.service_bin = /usr/sbin/service
+heat.platform.package_overrides (-o Dpkg::Options:='--force-confold' -o Dpkg::Options:='--force-confdef') > openstack.orchestration.platform.package_overrides (-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef')
# ^NOTE: single colons in RPC options
! horizon.horizon_user = horizon
! horizon.rax_logo = true
horizon.db.username > openstack.dashboard.db.username
! horizon.db.password = dash
# ^NOTE: openstack.secret.db_passwords_data_bag = db_passwords
+horizon.db.name (dash) > openstack.db.dashboard.db_name (horizon)
horizon.use_ssl > openstack.dashboard.use_ssl
horizon.ssl.cert > openstack.dashboard.ssl.cert
horizon.ssl.key > openstack.dashboard.ssl.key
horizon.ssl.dir > openstack.dashboard.ssl.dir
! horizon.services.dash.scheme = http
! horizon.services.dash.network = public
! horizon.services.dash.port = 80
! horizon.services.dash.path = /
! horizon.services.dash_ssl.scheme = https
! horizon.services.dash_ssl.network = public
! horizon.services.dash_ssl.port = 443
! horizon.services.dash_ssl.path = /
# ^^^^^^^^^^ NOTE: Somehow there are no Horizon endpoints in SF
! horizon.neutron.enable_lb = False
horizon.swift.enabled > openstack.dashboard.swift.enabled
horizon.theme > openstack.dashboard.theme
! horizon.theme_image_update_style = false
! horizon.theme_image_base =
! horizon.theme_image_list =
! horizon.theme_css_update_style = false
! horizon.theme_css_base =
! horizon.theme_css_list =
+horizon.help_url (http://www.rackspace.com/knowledge_center/product-page/rackspace-private-cloud) > openstack.dashboard.help_url (http://docs.openstack.org)
! horizon.password_autocomplete = on
# ^NOTE: cookbook-openstack-dashboard/templates/default/local_settings.py.erb:# HORIZON_CONFIG["password_autocomplete"] = "off"
! horizon.allowed_hosts =
! horizon.endpoint_type = internalURL
# ^NOTE: cookbook-openstack-dashboard/templates/default/local_settings.py.erb:#OPENSTACK_ENDPOINT_TYPE = "publicURL"
! horizon.endpoint_host =
! horizon.endpoint_port =
! horizon.endpoint_scheme =
! horizon.secret_key = /etc/openstack-dashboard/secret_key
horizon.stylesheet_path > openstack.dashboard.stylesheet_path
horizon.dash_path > openstack.dashboard.dash_path
+horizon.wsgi_path (node["horizon"]["dash_path"] + "/wsgi") > openstack.dashboard.wsgi_path (node["openstack"]["dashboard"]["dash_path"] + "/wsgi/django.wsgi")
horizon.local_settings_path > openstack.dashboard.local_settings_path
! horizon.platform.supporting_packages = ["python-mysqldb", "python-cinderclient", "python-neutronclient", "python-keystoneclient", "python-glanceclient", "python-novaclient"]
# ^NOTE: "openstack.dashboard.platform.mysql_python_packages = ["python-mysqldb"]",
"openstack.dashboard.platform.postgresql_python_packages = ["python-psycopg2"]",
"openstack.dashboard.platform.memcache_python_packages = ["python-memcache"]",
+horizon.platform.horizon_packages (["openstack-dashboard", "python-netaddr", "node-less"]) > openstack.dashboard.platform.horizon_packages (["lessc", "openstack-dashboard"])
horizon.platform.package_options > openstack.dashboard.platform.package_overrides
! keepalived.shared_address = false
! keepalived.global.notification_emails =
! keepalived.global.notification_email_from = "keepalived@#{node["domain"] || "example.com"}"
! keepalived.global.smtp_server = 127.0.0.1
! keepalived.global.smtp_connect_timeout = 30
! keepalived.global.router_id = node["fqdn"]
! keepalived.instance_defaults.state = MASTER
! keepalived.instance_defaults.priority = 100
! keepalived.instance_defaults.virtual_router_id = 10
! keepalived.vs_defaults.lb_algo = rr
! keepalived.vs_defaults.lb_kind = nat
! keepalived.vs_defaults.delay_loop = 15
! keepalived.vs_defaults.protocol = tcp
! keepalived.platform.required_packages = ["iptables"]
! keepalived.service_bin = /usr/sbin/service
credentials.EC2.admin.access > credentials.EC2.admin.access
credentials.EC2.admin.secret > credentials.EC2.admin.secret
keystone.db.name > openstack.db.identity.db_name
keystone.db.username > openstack.identity.db.username
! keystone.notification.driver = no_op
! keystone.notification.topics = notifications
keystone.verbose > openstack.identity.verbose
keystone.debug > openstack.identity.debug
keystone.auth_type > openstack.identity.identity.backend
! keystone.member_role_id = 9fe2ff9ee4384b1894a90878d3e92bab
! keystone.setup_role = keystone-setup
! keystone.mysql_role = mysql-master
! keystone.api_role = keystone-api
! keystone.token_expiration = 86400
# ^NOTE: cookbook-openstack-identity/templates/default/keystone.conf.erb:expiration = 86400
+keystone.ldap.url (nil) > openstack.identity.ldap.url (ldap://localhost)
+keystone.ldap.user (nil) > openstack.identity.ldap.user (dc=Manager,dc=example,dc=com)
keystone.ldap.password > openstack.identity.ldap.password
+keystone.ldap.suffix > openstack.identity.ldap.suffix (cn=example,cn=com)
+keystone.ldap.use_dumb_member (nil) > openstack.identity.ldap.use_dumb_member (false)
+keystone.ldap.dumb_member (nil) > openstack.identity.ldap.dumb_member (cn=dumb,dc=example,dc=com)
+keystone.ldap.allow_subtree_delete (nil) > openstack.identity.ldap.allow_subtree_delete (false)
+keystone.ldap.query_scope (nil) > openstack.identity.ldap.query_scope (one)
+keystone.ldap.page_size (nil) > openstack.identity.ldap.page_size (0)
+keystone.ldap.alias_dereferencing (nil) > openstack.identity.ldap.alias_dereferencing (default)
keystone.ldap.user_tree_dn > openstack.identity.ldap.user_tree_dn
keystone.ldap.user_filter > openstack.identity.ldap.user_filter
+keystone.ldap.user_objectclass (nil) > openstack.identity.ldap.user_objectclass (inetOrgPerson)
+keystone.ldap.user_id_attribute (nil) > openstack.identity.ldap.user_id_attribute (cn)
+keystone.ldap.user_name_attribute (nil) > openstack.identity.ldap.user_name_attribute (sn)
+keystone.ldap.user_mail_attribute (nil) > openstack.identity.ldap.user_mail_attribute (email)
+keystone.ldap.user_pass_attribute (nil) > openstack.identity.ldap.user_pass_attribute (userPassword)
+keystone.ldap.user_enabled_attribute (nil) > openstack.identity.ldap.user_enabled_attribute (enabled)
+keystone.ldap.user_domain_id_attribute (nil) > openstack.identity.ldap.user_domain_id_attribute (businessCategory)
+keystone.ldap.user_enabled_mask (nil) > openstack.identity.ldap.user_enabled_mask (0)
+keystone.ldap.user_enabled_default (nil) > openstack.identity.ldap.user_enabled_default (true)
+keystone.ldap.user_attribute_ignore (nil) > openstack.identity.ldap.user_attribute_ignore (tenant_id,tenants)
+keystone.ldap.user_allow_create (nil) > openstack.identity.ldap.user_allow_create (true)
+keystone.ldap.user_allow_update (nil) > openstack.identity.ldap.user_allow_update (true)
+keystone.ldap.user_allow_delete (nil) > openstack.identity.ldap.user_allow_delete (true)
+keystone.ldap.user_enabled_emulation (nil) > openstack.identity.ldap.user_enabled_emulation (false)
keystone.ldap.user_enabled_emulation_dn > openstack.identity.ldap.user_enabled_emulation_dn
keystone.ldap.tenant_tree_dn > openstack.identity.ldap.tenant_tree_dn
keystone.ldap.tenant_filter > openstack.identity.ldap.tenant_filter
+keystone.ldap.tenant_objectclass (nil) > openstack.identity.ldap.tenant_objectclass (groupOfNames)
+keystone.ldap.tenant_id_attribute (nil) > openstack.identity.ldap.tenant_id_attribute (cn)
+keystone.ldap.tenant_member_attribute (nil) > openstack.identity.ldap.tenant_member_attribute (member)
+keystone.ldap.tenant_name_attribute (nil) > openstack.identity.ldap.tenant_name_attribute (ou)
+keystone.ldap.tenant_desc_attribute (nil) > openstack.identity.ldap.tenant_desc_attribute (description)
+keystone.ldap.tenant_enabled_attribute (nil) > openstack.identity.ldap.tenant_enabled_attribute (enabled)
keystone.ldap.tenant_attribute_ignore > openstack.identity.ldap.tenant_attribute_ignore
+keystone.ldap.tenant_allow_create (nil) > openstack.identity.ldap.tenant_allow_create (true)
+keystone.ldap.tenant_allow_update (nil) > openstack.identity.ldap.tenant_allow_update (true)
+keystone.ldap.tenant_allow_delete (nil) > openstack.identity.ldap.tenant_allow_delete (true)
+keystone.ldap.tenant_enabled_emulation (nil) > openstack.identity.ldap.tenant_enabled_emulation (false)
keystone.ldap.tenant_enabled_emulation_dn > openstack.identity.ldap.tenant_enabled_emulation_dn
keystone.ldap.role_tree_dn > openstack.identity.ldap.role_tree_dn
keystone.ldap.role_filter > openstack.identity.ldap.role_filter
+keystone.ldap.role_objectclass (nil) > openstack.identity.ldap.role_objectclass (organizationalRole)
+keystone.ldap.role_id_attribute (nil) > openstack.identity.ldap.role_id_attribute (cn)
+keystone.ldap.role_name_attribute (nil) > openstack.identity.ldap.role_name_attribute (ou)
+keystone.ldap.role_member_attribute (nil) > openstack.identity.ldap.role_member_attribute (roleOccupant)
keystone.ldap.role_attribute_ignore > openstack.identity.ldap.role_attribute_ignore
+keystone.ldap.role_allow_create (nil) > openstack.identity.ldap.role_allow_create (true)
+keystone.ldap.role_allow_update (nil) > openstack.identity.ldap.role_allow_update (true)
+keystone.ldap.role_allow_delete (nil) > openstack.identity.ldap.role_allow_delete (true)
keystone.ldap.group_tree_dn > openstack.identity.ldap.group_tree_dn
keystone.ldap.group_filter > openstack.identity.ldap.group_filter
+keystone.ldap.group_objectclass (nil) > openstack.identity.ldap.group_objectclass (groupOfNames)
+keystone.ldap.group_id_attribute (nil) > openstack.identity.ldap.group_id_attribute (cn)
+keystone.ldap.group_name_attribute (nil) > openstack.identity.ldap.group_name_attribute (ou)
+keystone.ldap.group_member_attribute (nil) > openstack.identity.ldap.group_member_attribute (member)
+keystone.ldap.group_desc_attribute (nil) > openstack.identity.ldap.group_desc_attribute (description)
+keystone.ldap.group_domain_id_attribute (nil) > openstack.identity.ldap.group_domain_id_attribute (businessCategory)
keystone.ldap.group_attribute_ignore > openstack.identity.ldap.group_attribute_ignore
+keystone.ldap.group_allow_create (nil) > openstack.identity.ldap.group_allow_create (true)
+keystone.ldap.group_allow_update (nil) > openstack.identity.ldap.group_allow_update (true)
+keystone.ldap.group_allow_delete (nil) > openstack.identity.ldap.group_allow_delete (true)
! keystone.ldap.domain_tree_dn = nil
! keystone.ldap.domain_filter = nil
! keystone.ldap.domain_objectclass = nil
! keystone.ldap.domain_id_attribute = nil
! keystone.ldap.domain_name_attribute = nil
! keystone.ldap.domain_member_attribute = nil
! keystone.ldap.domain_desc_attribute = nil
! keystone.ldap.domain_enabled_attribute = nil
! keystone.ldap.domain_attribute_ignore = nil
! keystone.ldap.domain_allow_create = nil
! keystone.ldap.domain_allow_delete = nil
! keystone.ldap.domain_allow_update = nil
! keystone.ldap.domain_enabled_emulation = nil
! keystone.ldap.domain_enabled_emulation_dn = nil
! keystone.ldap.tls_cacertfile = nil
! keystone.ldap.tls_cacertdir = nil
! keystone.ldap.use_tls = nil
! keystone.ldap.tls_req_cert = nil
# ^^^^NOTE: none of the 4 tls attrs above appear to be used in rpc
! keystone.pam.url = nil
! keystone.pam.userid = nil
! keystone.pam.password = nil
! keystone.pki.enabled = true
# ^NOTE: looks like you set `openstack.auth.strategy = pki' in stackforge
keystone.services.admin-api.scheme > openstack.endpoints.identity-admin.scheme
keystone.services.admin-api.port > openstack.endpoints.identity-admin.port || openstack.identity.admin_port
keystone.services.admin-api.path > openstack.endpoints.identity-admin.path
! keystone.services.admin-api.cert_file = keystone.pem
! keystone.services.admin-api.key_file = keystone.key
! keystone.services.admin-api.wsgi_file = admin
! keystone.services.admin-api.network = nova
keystone.services.service-api.scheme > openstack.endpoints.identity-api.scheme
keystone.services.service-api.port > openstack.endpoints.identity-api.port || openstack.identity.service_port
keystone.services.service-api.path > openstack.endpoints.identity-api.path
! keystone.services.service-api.cert_file = keystone.pem
! keystone.services.service-api.key_file = keystone.key
! keystone.services.service-api.wsgi_file = main
! keystone.services.service-api.network = public
! keystone.services.internal-api.scheme = http
! keystone.services.internal-api.network = management
! keystone.services.internal-api.port = 5000
! keystone.services.internal-api.path = /v2.0
! keystone.services.internal-api.cert_file = keystone.pem
! keystone.services.internal-api.key_file = keystone.key
! keystone.services.internal-api.wsgi_file = main
+keystone.syslog.use (true) > openstack.identity.syslog.use (false)
+keystone.syslog.facility (LOG_LOCAL3) > openstack.identity.syslog.facility (LOG_LOCAL2)
+keystone.syslog.config_facility (local3) > openstack.identity.syslog.config_facility (local2)
! keystone.roles = ["admin", "Member", "KeystoneAdmin", "KeystoneServiceAdmin"]
! keystone.tenants = ["admin", "service"]
# ^NOTE: openstack.identity.users.admin.default_tenant = admin
# openstack.identity.users.monitoring.default_tenant = service
! keystone.published_services = []
! keystone.config.log_verbosity = INFO
# ^NOTE: this is the equivalent of openstack.identity.verbose, but this
# attribute isn't ever used in RPC recipes (cruft).
keystone.admin_user > openstack.identity.admin_user
keystone.users.admin.default_tenant > openstack.identity.users.admin.default_tenant
keystone.users.admin.roles.admin > openstack.identity.users.admin.roles.admin
keystone.users.admin.roles.KeystoneAdmin > openstack.identity.users.admin.roles.KeystoneAdmin
keystone.users.admin.roles.KeystoneServiceAdmin > openstack.identity.users.admin.roles.KeystoneServiceAdmin
! keystone.users.admin.password = secrete
# ^NOTE: maybe `openstack.secret.user_passwords_data_bag = user_passwords'?
keystone.users.monitoring.default_tenant > openstack.identity.users.monitoring.default_tenant
keystone.users.monitoring.roles.Member > openstack.identity.users.monitoring.roles.Member
! keystone.users.monitoring.password = nil
# ^NOTE: maybe `openstack.secret.user_passwords_data_bag = user_passwords'?
keystone.platform.keystone_packages > openstack.identity.platform.keystone_packages
! keystone.platform.supporting_packages = ["python-mysqldb", "python-ldap", "python-keystoneclient", "python-keystone"]
# ^NOTE: openstack.identity.platform.mysql_python_packages = ["python-mysqldb"]
openstack.identity.platform.postgresql_python_packages = ["python-psycopg2"]
openstack.identity.platform.memcache_python_packages = ["python-memcache"]
keystone.platform.package_options > openstack.identity.platform.package_options
keystone.platform.keystone_service > openstack.identity.platform.keystone_service
! keystone.ssl.dir = /etc/ssl
! keystone.platform.keystone_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?keystone-all\b
# ^NOTE: openstack.identity.platform.keystone_process_name = keystone-all
! memcached.services.cache.port = 11211
! memcached.services.cache.network = management
! modules.lp =
! modules.rtc =
! monit.poll_interval = 60
! monit.poll_start_delay = 30
! monit.bind_port = 2812
! monit.bind_host = localhost
! monit.login_user = admin
! monit.login_pass = monit
! monit.allowed_hosts = ["localhost"]
! monit.httpd_enabled = true
! monit.config_dir = /etc/monit
! monit.conf.d_dir = #{node["monit"]["config_dir"]}/conf.d
! monit.service_bin = /usr/sbin/service
! monit.config_file = #{node["monit"]["config_dir"]}/monitrc
! monit.notify_email =
! monit.mail_format.subject = $SERVICE $EVENT
! monit.mail_format.from = monit@example.com
! monit.mail_format.message = Monit $ACTION $SERVICE at $DATE on $HOST: $DESCRIPTION.\nYours sincerely,\nmonit
! monitoring.metric_provider = none
! monitoring.alarm_provider = none
! monitoring.procmon_provider = monit
! mysql.services.db.scheme = tcp
mysql.services.db.port > openstack.db.port
! mysql.services.db.network = management
! mysql.tunable.character-set-server = latin1
! mysql.tunable.collation-server = latin1_general_ci
! mysql.tunable.binlog_format = statement
! mysql.tunable.max_connect_errors = 1000
! mysql.tunable.log-queries-not-using-index = false
! mysql.auto-increment-increment = 2
! mysql.platform.mysql_service = mysql
! mysql.platform.service_bin = /usr/sbin/service
! mysql.platform.mysql_procmatch = ^/usr/sbin/mysqld\b
enable_monit > enable_monit
nova.rabbitmq.use_ha_queues > openstack.compute.rabbit.ha
! nova.notification.driver = no_op
! nova.notification.topics = notifications
nova.debug > openstack.compute.debug
nova.db.name > openstack.db.compute.db_name
nova.db.username > openstack.compute.db.username
nova.service_tenant_name > openstack.compute.service_tenant_name
nova.service_user > openstack.compute.service_user
nova.service_role > openstack.compute.service_role
! nova.volumes.enabled = false
# ^NOTE: don't see anywhere this is used in rpc
nova.services.api.scheme > openstack.endpoints.compute-api.scheme
nova.services.api.port > openstack.endpoints.compute-api.port
nova.services.api.path > openstack.endpoints.compute-api.path
! nova.services.api.network = public
! nova.services.api.cert_file = nova.pem
! nova.services.api.key_file = nova.key
! nova.services.api.wsgi_file = nova-api-os-compute
! nova.services.internal-api.scheme = http
! nova.services.internal-api.port = 8774
! nova.services.internal-api.path = /v2/%(tenant_id)s
! nova.services.internal-api.network = management
! nova.services.admin-api.scheme = http
! nova.services.admin-api.port = 8774
! nova.services.admin-api.path = /v2/%(tenant_id)s
! nova.services.admin-api.network = management
nova.services.ec2-admin.scheme > openstack.endpoints.compute-ec2-admin.scheme
nova.services.ec2-admin.port > openstack.endpoints.compute-ec2-admin.port
nova.services.ec2-admin.path > openstack.endpoints.compute-ec2-admin.path
! nova.services.ec2-admin.network = public
! nova.services.ec2-admin.cert_file = nova.pem
! nova.services.ec2-admin.key_file = nova.key
! nova.services.ec2-admin.wsgi_file = nova-api-ec2
nova.services.ec2-public.scheme > openstack.endpoints.compute-ec2-public.scheme
nova.services.ec2-public.port > openstack.endpoints.compute-ec2-public.port
nova.services.ec2-public.path > openstack.endpoints.compute-ec2-public.path
! nova.services.ec2-public.network = public
! nova.services.ec2-public.cert_file = nova.pem
! nova.services.ec2-public.key_file = nova.key
! nova.services.ec2-public.wsgi_file = nova-api-ec2
nova.services.xvpvnc-proxy.scheme > openstack.endpoints.compute-xvpvnc.scheme
nova.services.xvpvnc-proxy.port > openstack.endpoints.compute-xvpvnc.port
nova.services.xvpvnc-proxy.path > openstack.endpoints.compute-xvpvnc.path
! nova.services.xvpvnc-proxy.network = nova
nova.services.novnc-proxy.scheme > openstack.endpoints.compute-novnc.scheme
nova.services.novnc-proxy.port > openstack.endpoints.compute-novnc.port
nova.services.novnc-proxy.path > openstack.endpoints.compute-novnc.path
! nova.services.novnc-proxy.network = nova
! nova.services.novnc-proxy.cert_file = novnc.pem
! nova.services.novnc-proxy.key_file = novnc.key
! nova.services.novnc-server.scheme = http
! nova.services.novnc-server.port = 6080
! nova.services.novnc-server.path = /vnc_auto.html
! nova.services.novnc-server.network = nova
! nova.services.volume.scheme = http
! nova.services.volume.port = 8776
! nova.services.volume.path = /v1/%(tenant_id)s
! nova.services.volume.network = public
! nova.services.volume.cinder_catalog_info = volume:cinder:publicURL
! nova.compute.connection_type = libvirt
# ^NOTE: cookbook-openstack-compute/templates/default/nova.conf.erb:connection_type=libvirt
nova.scheduler.scheduler_driver > openstack.compute.scheduler.scheduler_driver
! nova.scheduler.scheduler_weight_classes = nova.scheduler.weights.ram.RAMWeigher
! nova.scheduler.ram_weight_multiplier = 1.0
+nova.scheduler.default_filters (["AvailabilityZoneFilter","RamFilter","ComputeFilter","CoreFilter","SameHostFilter","DifferentHostFilter","RetryFilter"]) > openstack.compute.scheduler.default_filters (["AvailabilityZoneFilter","RamFilter","ComputeFilter","CoreFilter","SameHostFilter","DifferentHostFilter"])
# ^NOTE: only difference is RPC has "RetryFilter"
nova.libvirt.virt_type > openstack.compute.libvirt.virt_type
! nova.libvirt.vncserver_listen =
! nova.libvirt.vncserver_proxyclient_address = node["ipaddress"]
nova.libvirt.auth_tcp > openstack.compute.libvirt.auth_tcp
nova.libvirt.remove_unused_base_images > openstack.compute.libvirt.remove_unused_base_images
nova.libvirt.remove_unused_resized_minimum_age_seconds > openstack.compute.libvirt.remove_unused_resized_minimum_age_seconds
nova.libvirt.remove_unused_original_minimum_age_seconds > openstack.compute.libvirt.remove_unused_original_minimum_age_seconds
nova.libvirt.checksum_base_images > openstack.compute.libvirt.checksum_base_images
! nova.libvirt.libvirt_inject_key = false
nova.libvirt.libvirt_inject_password > openstack.compute.libvirt.libvirt_inject_password
! nova.libvirt.libvirt_inject_partition = 1
! nova.libvirt.disk_cachemodes = ["file=none"]
! nova.libvirt.libvirt_cpu_model =
! nova.libvirt.libvirt_cpu_mode =
# ^NOTE: cookbook-openstack-compute/templates/default/nova.conf.erb:libvirt_cpu_mode=none
nova.config.use_single_default_gateway > openstack.compute.network.use_single_default_gateway
nova.config.availability_zone > openstack.compute.config.availability_zone
nova.config.default_schedule_zone > openstack.compute.config.default_schedule_zone
nova.config.force_raw_images > openstack.compute.config.force_raw_images
nova.config.allow_same_net_traffic > openstack.compute.config.allow_same_net_traffic
nova.config.osapi_max_limit > openstack.compute.config.osapi_max_limit
nova.config.cpu_allocation_ratio > openstack.compute.config.cpu_allocation_ratio
nova.config.ram_allocation_ratio > openstack.compute.config.ram_allocation_ratio
nova.config.disk_allocation_ratio > openstack.compute.config.disk_allocation_ratio
nova.config.snapshot_image_format > openstack.compute.config.snapshot_image_format
nova.config.start_guests_on_host_boot > openstack.compute.config.start_guests_on_host_boot
! nova.config.scheduler_max_attempts = 3
! nova.config.ec2_workers = [8, node["cpu"]["total"].to_i].min
! nova.config.osapi_compute_workers = [8, node["cpu"]["total"].to_i].min
! nova.config.metadata_workers = [8, node["cpu"]["total"].to_i].min
# ^^^NOTE: cookbook-openstack-compute/templates/default/nova.conf.erb:ec2_workers=<%= node["cpu"]["total"] %>
# cookbook-openstack-compute/templates/default/nova.conf.erb:osapi_compute_workers=<%= node["cpu"]["total"] %>
# cookbook-openstack-compute/templates/default/nova.conf.erb:metadata_workers=<%= node["cpu"]["total"] %>
! nova.config.osapi_volume_workers = [8, node["cpu"]["total"].to_i].min
! nova.config.hardware_gateway =
+nova.config.dns_servers ([]) > openstack.compute.network.neutron.dns_server (8.8.8.8)
# ^NOTE: StackForge attribute is NOT an array!
! nova.config.dnsmasq_config_file = /etc/nova/dnsmasq-nova.conf
+nova.config.quota_fixed_ips (40) > openstack.compute.config.quota_fixed_ips (-1)
+nova.config.quota_instances (20) > openstack.compute.config.quota_instances (10)
+nova.config.resume_guests_state_on_host_boot (false) > openstack.compute.config.resume_guests_state_on_host_boot (true)
+nova.config.force_config_drive (false) > openstack.compute.config.force_config_drive ("false")
# ^NOTE: StackForge attribute is NOT a boolean!
! nova.config.image_cache_manager_interval = 2400
! nova.config.max_age = 0
! nova.config.reserved_host_disk_mb = 0
! nova.config.log_verbosity = INFO
# ^NOTE: this variable is not used in RPC cookbooks
nova.config.quota_security_groups > openstack.compute.config.quota_security_groups
nova.config.quota_security_group_rules > openstack.compute.config.quota_security_group_rules
! nova.config.sql_connection_debug = 0
! nova.config.sql_idle_timeout = 3600
! nova.config.sql_retry_interval = 10
! nova.config.sql_max_retries = 10
! nova.config.sql_min_pool_size = 1
nova.ratelimit.settings.generic-post-limit.verb > openstack.compute.ratelimit.settings.generic-post-limit.verb
nova.ratelimit.settings.generic-post-limit.uri > openstack.compute.ratelimit.settings.generic-post-limit.uri
nova.ratelimit.settings.generic-post-limit.regex > openstack.compute.ratelimit.settings.generic-post-limit.regex
nova.ratelimit.settings.generic-post-limit.limit > openstack.compute.ratelimit.settings.generic-post-limit.limit
nova.ratelimit.settings.generic-post-limit.interval > openstack.compute.ratelimit.settings.generic-post-limit.interval
nova.ratelimit.settings.create-servers-limit.verb > openstack.compute.ratelimit.settings.create-servers-limit.verb
nova.ratelimit.settings.create-servers-limit.uri > openstack.compute.ratelimit.settings.create-servers-limit.uri
nova.ratelimit.settings.create-servers-limit.regex > openstack.compute.ratelimit.settings.create-servers-limit.regex
nova.ratelimit.settings.create-servers-limit.limit > openstack.compute.ratelimit.settings.create-servers-limit.limit
nova.ratelimit.settings.create-servers-limit.interval > openstack.compute.ratelimit.settings.create-servers-limit.interval
nova.ratelimit.settings.generic-put-limit.verb > openstack.compute.ratelimit.settings.generic-put-limit.verb
nova.ratelimit.settings.generic-put-limit.uri > openstack.compute.ratelimit.settings.generic-put-limit.uri
nova.ratelimit.settings.generic-put-limit.regex > openstack.compute.ratelimit.settings.generic-put-limit.regex
nova.ratelimit.settings.generic-put-limit.limit > openstack.compute.ratelimit.settings.generic-put-limit.limit
nova.ratelimit.settings.generic-put-limit.interval > openstack.compute.ratelimit.settings.generic-put-limit.interval
nova.ratelimit.settings.changes-since-limit.verb > openstack.compute.ratelimit.settings.changes-since-limit.verb
nova.ratelimit.settings.changes-since-limit.uri > openstack.compute.ratelimit.settings.changes-since-limit.uri
nova.ratelimit.settings.changes-since-limit.regex > openstack.compute.ratelimit.settings.changes-since-limit.regex
nova.ratelimit.settings.changes-since-limit.limit > openstack.compute.ratelimit.settings.changes-since-limit.limit
nova.ratelimit.settings.changes-since-limit.interval > openstack.compute.ratelimit.settings.changes-since-limit.interval
nova.ratelimit.settings.generic-delete-limit.verb > openstack.compute.ratelimit.settings.generic-delete-limit.verb
nova.ratelimit.settings.generic-delete-limit.uri > openstack.compute.ratelimit.settings.generic-delete-limit.uri
nova.ratelimit.settings.generic-delete-limit.regex > openstack.compute.ratelimit.settings.generic-delete-limit.regex
nova.ratelimit.settings.generic-delete-limit.limit > openstack.compute.ratelimit.settings.generic-delete-limit.limit
nova.ratelimit.settings.generic-delete-limit.interval > openstack.compute.ratelimit.settings.generic-delete-limit.interval
+nova.ratelimit.api.enabled (true) > openstack.compute.api.auth_strategy (keystone)
# ^NOTE: set the StackForge attribute to "keystone_nolimit" to attain the equivalent of RPC "false"
! nova.ratelimit.volume.enabled = true
# ^NOTE: doesn't seem to be used in RPC anywhere
+nova.platform.common_packages (["nova-common","python-nova","python-novaclient","python-eventlet"]) > openstack.compute.platform.common_packages (["nova-common"])
! nova.platform.cinder_multipath_packages = ["multipath-tools","sysfsutils","sg3-utils"]
nova.platform.api_ec2_packages > openstack.compute.platform.api_ec2_packages
nova.platform.api_ec2_service > openstack.compute.platform.api_ec2_service
! nova.platform.api_ec2_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-api-ec2\b
# ^NOTE: openstack.compute.platform.api_ec2_process_name doesn't exist
+nova.platform.api_metadata_packages (["python-memcache","nova-api-metadata"]) > openstack.compute.platform.compute_api_metadata_packages (["nova-api-metadata"])
nova.platform.api_metadata_service > openstack.compute.platform.compute_api_metadata_service
+nova.platform.api_metadata_procmatch (<regex>) > openstack.compute.platform.compute_api_metadata_process_name (nova-api-metadata)
nova.platform.api_os_compute_packages > openstack.compute.platform.api_os_compute_packages
nova.platform.api_os_compute_service > openstack.compute.platform.api_os_compute_service
+nova.platform.api_os_compute_procmatch (<regex>) > openstack.compute.platform.api_os_compute_process_name (nova-api-os-compute)
! nova.platform.api_os_volume_packages = ["nova-api-os-volume"]
! nova.platform.api_os_volume_service = nova-api-os-volume
! nova.platform.api_os_volume_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-api-os-volume\b
nova.platform.nova_cert_packages > openstack.compute.platform.compute_cert_packages
nova.platform.nova_cert_service > openstack.compute.platform.compute_cert_service
! nova.platform.nova_cert_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-cert\b
# ^NOTE: openstack.compute.platform.compute_cert_process_name doesn't exist
+nova.platform.nova_compute_packages (["nova-compute","python-guestfs"]) > openstack.compute.platform.compute_compute_packages (["nova-compute"])
nova.platform.nova_compute_service > openstack.compute.platform.compute_compute_service
! nova.platform.nova_compute_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-compute\b
# ^NOTE: openstack.compute.platform.compute_compute_process_name doesn't exist
nova.platform.nova_conductor_packages > openstack.compute.platform.compute_conductor_packages
nova.platform.nova_conductor_service > openstack.compute.platform.compute_conductor_service
! nova.platform.nova_conductor_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-conductor\b
# ^NOTE: openstack.compute.platform.compute_conductor_process_name doesn't exist
nova.platform.nova_scheduler_packages > openstack.compute.platform.compute_scheduler_packages
nova.platform.nova_scheduler_service > openstack.compute.platform.compute_scheduler_service
! nova.platform.nova_scheduler_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-scheduler\b
# ^NOTE: openstack.compute.platform.compute_scheduler_process_name doesn't exist
nova.platform.nova_vncproxy_packages > openstack.compute.platform.compute_vncproxy_packages
nova.platform.nova_vncproxy_service > openstack.compute.platform.compute_vncproxy_service
! nova.platform.nova_vncproxy_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-novncproxy\b
# ^NOTE: openstack.compute.platform.compute_vncproxy_process_name doesn't exist
nova.platform.nova_vncproxy_consoleauth_packages > openstack.compute.platform.compute_vncproxy_consoleauth_packages
nova.platform.nova_vncproxy_consoleauth_service > openstack.compute.platform.compute_vncproxy_consoleauth_service
+nova.platform.nova_vncproxy_consoleauth_procmatch (<regex>) > openstack.compute.platform.compute_vncproxy_consoleauth_process_name (nova-consoleauth)
! nova.platform.nova_volume_packages = ["nova-volume","tgt"]
! nova.platform.nova_volume_service = nova-volume
! nova.platform.nova_volume_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-volume\b
nova.platform.iscsi_helper > openstack.compute.platform.iscsi_helper
! nova.platform.iscsi_service = tgt
+nova.platform.libvirt_packages (["libvirt-bin","python-libvirt","pm-utils","sysfsutils"]) > openstack.compute.platform.libvirt_packages (["libvirt-bin"])
nova.platform.libvirt_service > openstack.compute.platform.libvirt_service
nova.platform.mysql_service > openstack.compute.platform.mysql_service
nova.platform.package_options > openstack.compute.platform.package_overrides
! nova.ssl.dir = /etc/ssl
nova.network.provider > openstack.network.service_type
###############################################################################################################
###############################################################################################################
### They moved these attrs into the compute cookbook, where they should be! ###################################
###############################################################################################################
###############################################################################################################
nova.network.auto_assign_floating_ip > openstack.compute.network.auto_assign_floating_ip ###
+nova.network.dhcp_domain (novalocal) > openstack.compute.dhcp_domain (nil) ###
# ^NOTE: this variable isn't defined in stackforge, but is used in nova.conf template if defined ###
nova.network.dmz_cidr > openstack.compute.network.dmz_cidr ###
nova.network.force_dhcp_release > openstack.compute.network.force_dhcp_release ###
nova.network.network_manager > openstack.compute.network.network_manager ###
nova.network.public_interface > openstack.compute.network.public_interface ###
! nova.network.send_arp_for_ha = true ###
# ^NOTE: cookbook-openstack-compute/templates/default/nova.conf.erb:send_arp_for_ha=true ###
! nova.network.floating_pool_name = nova ###
# ^NOTE: orphaned attribute, isn't used in rpc. ###
# equivalent would probably be: openstack.compute.network.neutron.public_network_name ###
# --> cookbook-openstack-compute/templates/default/nova.conf.erb:default_floating_pool=<%= node["openstack"]["compute"]["network"]["neutron"]["public_network_name"] %>
+nova.network.multi_host (true) > openstack.compute.network.multi_host (false) ###
! nova.network.dhcp_lease_time = 120 ###
! nova.network.fixed_ip_disassociate_timeout = 600 ###
###
############################################################################ ###
# NB!! `openstack.compute.networks' in stackforge is an ARRAY of anonymous # ###
# hashes; you can see in rpc the use of a single, named hash. # ###
############################################################################ ###
nova.networks.public.label > openstack.compute.networks[0].label ###
nova.networks.public.ipv4_cidr > openstack.compute.networks[0].ipv4_cidr ###
nova.networks.public.bridge > openstack.compute.networks[0].bridge ###
nova.networks.public.bridge_dev > openstack.compute.networks[0].bridge_dev ###
nova.networks.public.dns1 > openstack.compute.networks[0].dns1 ###
nova.networks.public.dns2 > openstack.compute.networks[0].dns2 ###
###
neutron.network_api_class > openstack.compute.network.neutron.network_api_class ###
! neutron.auth_strategy = keystone ###
# ^NOTE: orphaned attribute in rpc; auth_strategy="keystone" hard-coded in neutron.conf.erb. ###
# commented default '#auth_strategy="keystone"' in stackforge ###
! neutron.libvirt_vif_type = ethernet ###
neutron.libvirt_vif_driver > openstack.compute.network.neutron.libvirt_vif_driver ###
neutron.linuxnet_interface_driver > openstack.compute.network.neutron.linuxnet_interface_driver ###
! neutron.firewall_driver = nova.virt.firewall.NoopFirewallDriver ###
# ^NOTE: cookbook-openstack-compute/templates/default/nova.conf.erb:firewall_driver = nova.virt.firewall.NoopFirewallDriver
neutron.service_neutron_metadata_proxy > openstack.compute.network.neutron.service_neutron_metadata_proxy ###
nova-network.platform.nova_network_packages > openstack.compute.platform.compute_network_packages ###
# ^NOTE: A confusing, but related, stackforge attribute is `openstack.network.platform.nova_network_packages (["nova-network"])' which is used to *PURGE* nova-network packages when neutron is in use (openstack.network.service_type)
nova-network.platform.nova_network_service > openstack.compute.platform.compute_network_service ###
! nova-network.platform.nova_network_procmatch = ^((/usr/bin/)?python\d? )?(/usr/bin/)?nova-network\b ###
# ^NOTE: openstack.compute.platform.compute_network_process_name doesn't exist ###
###
###############################################################################################################
###############################################################################################################
###############################################################################################################
! rpcdaemon.check_interval = 1
! rpcdaemon.queue_expire = 60
! rpcdaemon.timeout = 20
! neutron.notification.driver (no_op)
# ^NOTE: cookbook-openstack-network/templates/default/neutron.conf.erb:notification_driver = neutron.openstack.common.notifier.rpc_notifier
! neutron.notification.topics = notifications
# ^NOTE: cookbook-openstack-network/templates/default/neutron.conf.erb:notification_topics = notifications
neutron.security_group_api > openstack.compute.network.neutron.security_group_api
+neutron.isolated_metadata (True) > openstack.network.dhcp.enable_isolated_metadata (False)
neutron.metadata_network > openstack.network.dhcp.enable_metadata_network
! neutron.dnsmasq_lease_max = 16777216
+neutron.agent_down_time (30) > openstack.network.api.agent.agent_down_time (15)
neutron.services.api.scheme > openstack.endpoints.network-api.scheme
neutron.services.api.port > openstack.endpoints.network-api.port
neutron.services.api.path > openstack.endpoints.network-api.path
! neutron.services.api.network = public
! neutron.services.api.cert_file = neutron.pem
! neutron.services.api.key_file = neutron.key
! neutron.services.api.wsgi_file = neutron-server
neutron.db.name > openstack.db.network.db_name
neutron.db.username > openstack.network.db.username
neutron.service_tenant_name > openstack.network.service_tenant_name
neutron.service_user > openstack.network.service_user
neutron.service_role > openstack.network.service_role
neutron.debug > openstack.network.debug
neutron.verbose > openstack.network.verbose
neutron.overlap_ips (True) > openstack.network.allow_overlapping_ips (False)
neutron.use_namespaces > openstack.network.use_namespaces
! neutron.plugin = ovs
# ^NOTE: In RPC, there are conditionals in each agent template (dhcp, l3, lbaas) which test this variable and then configure interface_driver accordingly (value hard-coded in template).
# In StackForge, `openstack.network.interface_driver' is parameterized as default attribute and templated directly into agent templates without conditional.
# ( However, LBaaS is currently an exception with its `openstack.network.lbaas_plugin' attribute that is conditionally checked, similar to RPC. )
! neutron.dhcp_lease_time = 1440
# ^NOTE: cookbook-openstack-network/templates/default/neutron.conf.erb:# dhcp_lease_duration = 120
neutron.dhcp_domain > openstack.network.dhcp.default_domain
# ^NOTE: this is for dhcp_agent.ini, not nova.conf.
# stackforge has a separate `openstack.compute.dhcp_domain' attribute for nova.conf (which is not a default attribute declared anywhere).
neutron.quota_items > openstack.network.quota.items
neutron.default_quota > openstack.network.quota.default
neutron.quota_network > openstack.network.quota.network
neutron.quota_subnet > openstack.network.quota.subnet
neutron.quota_port > openstack.network.quota.port
+neutron.quota_driver (neutron.db.quota_db.DbQuotaDriver) > openstack.network.quota.driver (neutron.quota.ConfDriver)
+neutron.ovs.network_type (vlan) > openstack.network.openvswitch.tenant_network_type (local)
+neutron.ovs.tunnel_ranges (1:1000) > openstack.network.openvswitch.tunnel_id_ranges (nil)
neutron.ovs.integration_bridge > openstack.network.openvswitch.integration_bridge
neutron.ovs.tunnel_bridge > openstack.network.openvswitch.tunnel_bridge
neutron.ovs.external_bridge > openstack.network.l3.external_network_bridge
neutron.ovs.external_interface > openstack.network.l3.external_network_bridge_interface
! neutron.ovs.network = nova
# ^NOTE: this designates an osops network
neutron.ovs.firewall_driver > openstack.network.openvswitch.fw_driver
! neutron.ovs.provider_networks = [{"label"=>"ph-eth1", "bridge"=>"br-eth1", "vlans"=>"1:1000"}]
# ^NOTE: In RPC, these hashes get mapped to CSV strings for ovs_neutron_plugin.ini
# (also, this array is used by RPC for creating provider bridges with ovs-vsctl)
# In StackForge, the equivalent variable for ovs_neutron_plugin.ini is `openstack.network.openvswitch.bridge_mappings', no provider bridges are created AFAICT
! neutron.lbaas.enabled = false # > openstack.network.neutron_loadbalancer (false) [see NOTE]
# ^NOTE: StackForge has no equivalent; LBaaS is simply enabled by including the openstack-network::balancer recipe.
# However, the boolean attribute `openstack.network.neutron_loadbalancer' is checked within neutron.conf.erb to conditionally add the line `service_plugins = neutron.plugins.services.agent_loadbalancer.plugin.LoadBalancerPlugin'
! neutron.lbaas.device_driver = neutron.services.loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
# ^NOTE: cookbook-openstack-network/templates/default/lbaas_agent.ini.erb:device_driver = neutron.plugins.services.agent_loadbalancer.drivers.haproxy.namespace_driver.HaproxyNSDriver
neutron.platform.mysql_python_packages > openstack.network.platform.mysql_python_packages
! neutron.platform.neutron_common_packages (["python-neutronclient","neutron-common","python-neutron"]) > openstack.network.platform.neutron_packages (["neutron-common","python-pyparsing","python-cliff"])
# ^NOTE: this RPC attr is also split between `openstack.network.platform.neutron_client_packages' (["python-neutronclient","python-pyparsing"])
neutron.platform.neutron_api_packages > openstack.network.platform.neutron_server_packages
neutron.platform.neutron_api_service > openstack.network.platform.neutron_server_service
+neutron.platform.neutron_dhcp_packages (["dnsmasq-base","dnsmasq-utils","libnetfilter-conntrack3","neutron-dhcp-agent"]) > openstack.network.platform.neutron_dhcp_packages (["neutron-dhcp-agent"])
neutron.platform.neutron-dhcp-agent > openstack.network.platform.neutron_dhcp_agent_service
neutron.platform.neutron_l3_packages > openstack.network.platform.neutron_l3_packages
neutron.platform.neutron-l3-agent > openstack.network.platform.neutron_l3_agent_service
+neutron.platform.neutron_lbaas_packages (["neutron-lbaas-agent"]) > openstack.network.platform.neutron_lb_packages (["neutron-lbaas-agent","haproxy"])
! neutron.platform.neutron-lbaas-agent = neutron-lbaas-agent
# ^NOTE: no attribute for openstack.network.platform.neutron_lb_agent_service
neutron.platform.neutron_metadata_packages > openstack.network.platform.neutron_metadata_agent_packages
neutron.platform.neutron-metadata-agent > openstack.network.platform.neutron_metadata_agent_service
neutron.platform.package_options > openstack.network.platform.package_overrides
! neutron.platform.neutron_ovs_packages = ["linux-headers-3.8","openvswitch-datapath-dkms","neutron-plugin-openvswitch","neutron-plugin-openvswitch-agent"]
# ^NOTE: this attr is split into 3 attrs:
# openstack.network.platform.neutron_openvswitch_packages (['openvswitch-switch','openvswitch-datapath-dkms','bridge-utils'])
# openstack.network.platform.neutron_openvswitch_build_packages (['build-essential','pkg-config','fakeroot','libssl-dev','openssl','debhelper','autoconf','dkms','python-all','python-qt4','python-zopeinterface','python-twisted-conch'])
# openstack.network.platform.neutron_openvswitch_agent_packages (['neutron-plugin-openvswitch','neutron-plugin-openvswitch-agent'])
neutron.platform.neutron_ovs_service_name > openstack.network.platform.neutron_openvswitch_agent_service
neutron.platform.neutron_openvswitch_service_name > openstack.network.platform.neutron_openvswitch_service
! neutron.platform.rpcdaemon = rpcdaemon
! neutron.ssl.dir = /etc/ssl
+neutron.ovs_use_veth (False) > openstack.network.dhcp.ovs_use_veth (True)
! nova-network.platform.common_packages = ["nova-common","python-nova","python-novaclient"]
# ^NOTE: orphaned attribute, doesn't seem to be used in RPC
! ceph.services.radosgw.scheme = http
! ceph.services.radosgw.network = management
! ceph.services.radosgw.port = 80
! ceph.services.radosgw.path = /v1/
! ceph.service_tenant_name = service
! ceph.service_user = swift
! ceph.service_role = admin
! ceph.service_pass =
! syslog.queue_offline_messages = true
! openstack-logging.settings.glance-api.monitor_logfile = /var/log/glance/api.log
! openstack-logging.settings.glance-api.injection_tag = glance-api_log:
! openstack-logging.settings.glance-api.monitor_state_file = glance-api_log
! openstack-logging.settings.glance-api.injection_severity = info
! openstack-logging.settings.glance-api.injection_facility = local6
! openstack-logging.settings.glance-registry.monitor_logfile = /var/log/glance/registry.log
! openstack-logging.settings.glance-registry.injection_tag = glance-registry_log:
! openstack-logging.settings.glance-registry.monitor_state_file = glance-registry_log
! openstack-logging.settings.glance-registry.injection_severity = info
! openstack-logging.settings.glance-registry.injection_facility = local6
! openstack-logging.settings.glance-scrubber.monitor_logfile = /var/log/glance/scrubber.log
! openstack-logging.settings.glance-scrubber.injection_tag = glance-scrubber:
! openstack-logging.settings.glance-scrubber.monitor_state_file = glance-scrubber_log
! openstack-logging.settings.glance-scrubber.injection_severity = info
! openstack-logging.settings.glance-scrubber.injection_facility = local6
! openstack-logging.settings.glance-cache.monitor_logfile = /var/log/glance/image-cache.log
! openstack-logging.settings.glance-cache.injection_tag = glance-cache:
! openstack-logging.settings.glance-cache.monitor_state_file = glance-cache_log
! openstack-logging.settings.glance-cache.injection_severity = info
! openstack-logging.settings.glance-cache.injection_facility = local6
! openstack-logging.settings.keystone.monitor_logfile = /var/log/keystone/keystone.log
! openstack-logging.settings.keystone.injection_tag = keystone_log:
! openstack-logging.settings.keystone.monitor_state_file = keystone_log
! openstack-logging.settings.keystone.injection_severity = info
! openstack-logging.settings.keystone.injection_facility = local6
! openstack-logging.settings.nova-api-ec2.monitor_logfile = /var/log/nova/nova-api-ec2.log
! openstack-logging.settings.nova-api-ec2.injection_tag = nova-api-ec2_log:
! openstack-logging.settings.nova-api-ec2.monitor_state_file = nova-api-ec2_log
! openstack-logging.settings.nova-api-ec2.injection_severity = info
! openstack-logging.settings.nova-api-ec2.injection_facility = local6
! openstack-logging.settings.nova-api-os-compute.monitor_logfile = /var/log/nova/nova-api-os-compute.log
! openstack-logging.settings.nova-api-os-compute.injection_tag = nova-api-os-compute_log:
! openstack-logging.settings.nova-api-os-compute.monitor_state_file = nova-api-os-compute_log
! openstack-logging.settings.nova-api-os-compute.injection_severity = info
! openstack-logging.settings.nova-api-os-compute.injection_facility = local6
! openstack-logging.settings.nova-compute.monitor_logfile = /var/log/nova/nova-compute.log
! openstack-logging.settings.nova-compute.injection_tag = nova-compute_log:
! openstack-logging.settings.nova-compute.monitor_state_file = nova-compute_log
! openstack-logging.settings.nova-compute.injection_severity = info
! openstack-logging.settings.nova-compute.injection_facility = local6
! openstack-logging.settings.nova-api-metadata.monitor_logfile = /var/log/nova/nova-api-metadata.log
! openstack-logging.settings.nova-api-metadata.injection_tag = nova-api-metadata_log:
! openstack-logging.settings.nova-api-metadata.monitor_state_file = nova-api-metadata_log
! openstack-logging.settings.nova-api-metadata.injection_severity = info
! openstack-logging.settings.nova-api-metadata.injection_facility = local6
! openstack-logging.settings.nova-cert.monitor_logfile = /var/log/nova/nova-cert.log
! openstack-logging.settings.nova-cert.injection_tag = nova-cert_log:
! openstack-logging.settings.nova-cert.monitor_state_file = nova-cert_log
! openstack-logging.settings.nova-cert.injection_severity = info
! openstack-logging.settings.nova-cert.injection_facility = local6
! openstack-logging.settings.nova-conductor.monitor_logfile = /var/log/nova/nova-conductor.log
! openstack-logging.settings.nova-conductor.injection_tag = nova-conductor_log:
! openstack-logging.settings.nova-conductor.monitor_state_file = nova-conductor_log
! openstack-logging.settings.nova-conductor.injection_severity = info
! openstack-logging.settings.nova-conductor.injection_facility = local6
! openstack-logging.settings.nova-consoleauth.monitor_logfile = /var/log/nova/nova-consoleauth.log
! openstack-logging.settings.nova-consoleauth.injection_tag = nova-consoleauth_log:
! openstack-logging.settings.nova-consoleauth.monitor_state_file = nova-consoleauth_log
! openstack-logging.settings.nova-consoleauth.injection_severity = info
! openstack-logging.settings.nova-consoleauth.injection_facility = local6
! openstack-logging.settings.nova-manage.monitor_logfile = /var/log/nova/nova-manage.log
! openstack-logging.settings.nova-manage.injection_tag = nova-manage_log:
! openstack-logging.settings.nova-manage.monitor_state_file = nova-manage_log
! openstack-logging.settings.nova-manage.injection_severity = info
! openstack-logging.settings.nova-manage.injection_facility = local6
! openstack-logging.settings.nova-scheduler.monitor_logfile = /var/log/nova/nova-scheduler.log
! openstack-logging.settings.nova-scheduler.injection_tag = nova-scheduler_log:
! openstack-logging.settings.nova-scheduler.monitor_state_file = nova-scheduler_log
! openstack-logging.settings.nova-scheduler.injection_severity = info
! openstack-logging.settings.nova-scheduler.injection_facility = local6
! openstack-logging.settings.nova-network.monitor_logfile = /var/log/nova/nova-network.log
! openstack-logging.settings.nova-network.injection_tag = nova-network_log:
! openstack-logging.settings.nova-network.monitor_state_file = nova-network_log
! openstack-logging.settings.nova-network.injection_severity = info
! openstack-logging.settings.nova-network.injection_facility = local6
! openstack-logging.settings.cinder-api.monitor_logfile = /var/log/cinder/cinder-api.log
! openstack-logging.settings.cinder-api.injection_tag = cinder-api_log:
! openstack-logging.settings.cinder-api.monitor_state_file = cinder-api_log
! openstack-logging.settings.cinder-api.injection_severity = info
! openstack-logging.settings.cinder-api.injection_facility = local6
! openstack-logging.settings.cinder-scheduler.monitor_logfile = /var/log/cinder/cinder-scheduler.log
! openstack-logging.settings.cinder-scheduler.injection_tag = cinder-scheduler_log:
! openstack-logging.settings.cinder-scheduler.monitor_state_file = cinder-scheduler_log
! openstack-logging.settings.cinder-scheduler.injection_severity = info
! openstack-logging.settings.cinder-scheduler.injection_facility = local6
! openstack-logging.settings.cinder-volume.monitor_logfile = /var/log/cinder/cinder-volume.log
! openstack-logging.settings.cinder-volume.injection_tag = cinder-volume_log:
! openstack-logging.settings.cinder-volume.monitor_state_file = cinder-volume_log
! openstack-logging.settings.cinder-volume.injection_severity = info
! openstack-logging.settings.cinder-volume.injection_facility = local6
! osops.apply_patches = false
! osops.do_package_upgrades = false
! osops.region = RegionOne
! osops.platform.common_packages = ["python-eventlet", "python-ceilometerclient", "python-cinderclient", "python-glanceclient", "python-keystoneclient", "python-novaclient", "python-neutronclient", "python-mysqldb", "python-warlock", "curl", "python-keystone", "iputils-arping"]
! osops.platform.ssl_common_packages = []
! osops.platform.package_options = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
! osops.apt_repos.osops.uri = http://ppa.launchpad.net/osops-packaging/ppa/ubuntu
! osops.apt_repos.osops.distribution = precise
! osops.apt_repos.osops.components = ["main"]
! osops.apt_repos.osops.keyserver = hkp://keyserver.ubuntu.com:80
! osops.apt_repos.osops.key = 53E8EA35
! osops.apt_repos.havana.uri = http://ubuntu-cloud.archive.canonical.com/ubuntu
! osops.apt_repos.havana.distribution = precise-updates/havana
! osops.apt_repos.havana.components = ["main"]
! osops.apt_repos.havana.keyserver = hkp://keyserver.ubuntu.com:80
! osops.apt_repos.havana.key = EC4926EA
! osops.apt_repos.rpc-extras.uri = http://download.opensuse.org/repositories/home:/rpcops:/havana/xUbuntu_12.04/
! osops.apt_repos.rpc-extras.distribution = /
! osops.apt_repos.rpc-extras.components = []
! osops.apt_repos.rpc-extras.key = http://download.opensuse.org/repositories/home:/rpcops:/havana//xUbuntu_12.04/Release.key
! osops.apt_testing_repos.havana-proposed.uri = http://ubuntu-cloud.archive.canonical.com/ubuntu
! osops.apt_testing_repos.havana-proposed.distribution = precise-proposed/havana
! osops.apt_testing_repos.havana-proposed.components = ["main"]
! osops.apt_testing_repos.havana-proposed.keyserver = hkp://keyserver.ubuntu.com:80
! osops.apt_testing_repos.havana-proposed.key = EC4926EA
! osops.apt_testing_repos.havana-proposed-ppa.uri = http://ppa.launchpad.net/ubuntu-cloud-archive/havana-staging/ubuntu
! osops.apt_testing_repos.havana-proposed-ppa.distribution = precise
! osops.apt_testing_repos.havana-proposed-ppa.components = ["main"]
! osops.apt_testing_repos.havana-proposed-ppa.keyserver = hkp://keyserver.ubuntu.com:80
! osops.apt_testing_repos.havana-proposed-ppa.key = 9F68104E
! enable_testing_repos = false
! rabbitmq.services.queue.scheme = tcp
rabbitmq.services.queue.port > openstack.mq.port
! rabbitmq.services.queue.network = management
! rabbitmq.platform.rabbitmq_service = rabbitmq-server
! rabbitmq.platform.rabbitmq_service_regex = /etc/rabbitmq/rabbitmq
! rabbitmq.platform.service_bin = /usr/sbin/service
! rabbitmq.platform.package_options = -o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef'
swift.audit_hour > swift.audit_hour
! swift.service_tenant_name = service
! swift.service_user = swift
! swift.service_pass =
! swift.service_role = admin
! swift.package_action = install
# ^NOTE: In StackForge, package loops have :upgrade or :install hardcoded
! swift.uid =
! swift.memcache_role = swift-lite-proxy
! swift.dsh.user.name = swiftops
! swift.dsh.admin_user.name = swiftops
! swift.dsh.network = swift-management
! swift.tags.management-server = swift-management-server
! swift.tags.proxy-server = swift-proxy-server
! swift.tags.account-server = swift-account-server
! swift.tags.container-server = swift-countainer-server
! swift.tags.object-server = swift-object-server
! swift.ntp.servers = []
! swift.ntp.network = swift-management
! swift.proxy.config.DEFAULT.workers = [node["cpu"]["total"] - 1, 1].max
# ^NOTE: Not parameterized, but same value in ERB template:
# templates/default/proxy-server.conf.erb:workers = <%= [ node[:cpu][:total] - 1, 1 ].max %>
! swift.account.config.DEFAULT.workers = 6
# ^NOTE: hardcoded value '10' in template:
# templates/default/account-server.conf.erb:workers = 10
! swift.container.config.DEFAULT.workers = 6
# ^NOTE: hardcoded value '10' in template:
# templates/default/container-server.conf.erb:workers = 10
! swift.object.config.DEFAULT.workers = 8
# ^NOTE: hardcoded value '10' in template:
# templates/default/object-server.conf.erb:workers = 10
! swift.region = RegionOne
! swift.keystone_endpoint = http://127.0.0.1/
! swift.services.ring-repo.network = swift-storage
! swift.services.proxy.network = swift-proxy
swift.services.proxy.scheme > openstack.endpoints.object-storage-api.scheme
swift.services.proxy.port > openstack.endpoints.object-storage-api.port
+swift.services.proxy.path (/v1/AUTH_%(tenant_id)s) > openstack.endpoints.object-storage-api.path (/v1/)
! swift.services.object-server.network = swift-storage
! swift.services.object-server.port = 6000
# ^NOTE: possibly orphaned attribute in RPC
# recipes/object-server.rb: "bind_port" => 6000,
! swift.services.container-server.network = swift-storage
! swift.services.container-server.port = 6001
# ^NOTE: possibly orphaned attribute in RPC
# recipes/container-server.rb: "bind_port" => 6001,
! swift.services.account-server.network = swift-storage
! swift.services.account-server.port = 6002
# ^NOTE: possibly orphaned attribute in RPC
# recipes/account-server.rb: "bind_port" => 6002,
swift.platform.disk_format > swift.platform.disk_format
swift.platform.proxy_packages > swift.platform.proxy_packages
swift.platform.object_packages > swift.platform.object_packages
swift.platform.container_packages > swift.platform.container_packages
swift.platform.account_packages > swift.platform.account_packages
swift.platform.swift_packages > swift.platform.swift_packages
swift.platform.rsync_packages > swift.platform.rsync_packages
swift.platform.service_prefix > swift.platform.service_prefix
swift.platform.service_suffix > swift.platform.service_suffix
swift.platform.git_dir > swift.platform.git_dir
swift.platform.git_service > swift.platform.git_service
swift.platform.service_provider > swift.platform.service_provider
+swift.platform.override_options (-o Dpkg::Options::='--force-confold' -o Dpkg::Options::='--force-confdef') > swift.platform.override_options (-o Dpkg::Options:='--force-confold' -o Dpkg::Option:='--force-confdef')
# ^NOTE: StackForge options have single colons
! tempest.branch =
! tempest.use_ssl = false
! tempest.tenant_isolation = true
! tempest.tenant_reuse = true
! tempest.alt_ssh_user = cirros
! tempest.ssh_user = cirros
! tempest.user1 = tempest_monitor_user1
! tempest.user1_pass = monpass
! tempest.user1_tenant = tempest_monitor_tenant1
! tempest.user2 = tempest_monitor_user2
! tempest.user2_pass = monpass
! tempest.user2_tenant = tempest_monitor_tenant2
! tempest.test_img1.id =
! tempest.test_img1.url = https://launchpadlibrarian.net/83305348/cirros-0.3.0-x86_64-disk.img
! tempest.test_img2 = 12123
! tempest.img1_flavor = 1
! tempest.img2_flavor = 2
! tempest.admin = admin
! tempest.admin_pass = secrete
! tempest.admin_tenant = admin
! tempest.runlist.grizzly = ["tempest.tests.compute.images.test_images_oneserver", "tempest.tests.image.v2.test_images"]
! tempest.runlist.folsom = ["tempest.tests.compute.test_create_server.py:ServersTestJSON.test_list_servers_with_detail", "tempest.tests.compute.images.test_images.py:ImagesTestJSON.test_create_delete_image"]
! tempest.runlist.essex-final =
! tempest.interval = 5
! tempest.use_cron = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment