16262ed8f4
* Add service_name parameter in ::nova::api with unit testing covering use cases. * Add apache module to fixtures for unit testing. * Add apache module to metadata.json. * Add WSGI paths to ::nova::params. * Create ::nova::wsgi::apache with unit testing covering use cases. * Create acceptance tests to validate the transition from eventlet to WSGI and make sure apache is stopped in eventlet testing. * Create examples/nova_wsgi.pp to document use cases. * Deprecate enabled_apis as a string, to be an array later (with unit tests). * Drop eventlet testing Use-cases supported & limitations: * All API (compute, metadata) running in eventlet and 100% backward compatible. This is a first implementation that keeps the deployment simple & backward compatible. During this cycle, we accept enabled_apis as a string, but in N cycle, we will make sure it's an array so we can drop all the code that sanitize the parameter to make sure we enable the right WSGI process. Change-Id: I3a7c6af2d81da28e41ee278f11937364536efd9e
32 lines
807 B
Puppet
32 lines
807 B
Puppet
# This manifest documents different use cases when running WSGI in Nova API
|
|
|
|
# Use Case #1: running Nova API with osapi_compute in WSGI, and metadata
|
|
class { '::nova': }
|
|
class { '::nova::api':
|
|
admin_password => 'a_big_secret',
|
|
service_name => 'httpd',
|
|
}
|
|
include ::apache
|
|
class { '::nova::wsgi::apache':
|
|
ssl => false,
|
|
}
|
|
|
|
# Use Case #2: running Nova API with osapi_compute in WSGI, and metadata disabled
|
|
class { '::nova': }
|
|
class { '::nova::api':
|
|
admin_password => 'a_big_secret',
|
|
enabled_apis => ['osapi_compute'],
|
|
service_name => 'httpd',
|
|
}
|
|
include ::apache
|
|
class { '::nova::wsgi::apache':
|
|
ssl => false,
|
|
}
|
|
|
|
# Use Case #3: not running osapi_compute, just enabling metadata
|
|
class { '::nova': }
|
|
class { '::nova::api':
|
|
admin_password => 'a_big_secret',
|
|
enabled_apis => ['metadata'],
|
|
}
|