1437 Commits

This Branch
This Branch
All Branches
Author SHA1 Message Date
Matthew Thode
78da6f538d Update defaults for db_timeout/max_pool_size for nova/neutron/keystone
These values have been shown to work well with larger cluster sizes.
Closes-bug: 1478071
Change-Id: Iec44ef4b2c1d89537ffd1237322a44be5c357699
2015年07月24日 13:43:33 -05:00
Matthew Thode
1118adf62e Add remote procedure call tunables to nova and neutron
This allows us to override the default settings, which is useful for
large deployments or deploying a large number of instances. It also
uses an unused variable in neutron for setting the rpc_backend.
Change-Id: I83d11eb79b30dda51c6f738433ca960a0f63246e
Closes-bug: 1471926
2015年07月23日 15:06:08 -05:00
Andy McCrae
2298eb42b8 Adjust SSH key creation method for Nova compute
This patch ensures that the authorized_keys ansible module, as well as
the built in "generate_ssh_keys" flag for user creation, so that we can
avoid using shell out commands.
Additionally, this moves the key synchronisation to use ansible
variables instead of the memcache server.
Change-Id: Icd97ebd44f6065fc60fdce1b61e9dc2daa45faa0
Closes-Bug: #1477512 
2015年07月23日 13:49:51 +01:00
Jimmy McCrory
3dfcb77c58 Allow configuration of all default quota options
Add all remaining configurable default quota options for nova, neutron,
and cinder.
Change-Id: I3bbbba2f2ca9495c7060ffa5ac5d70e865758518
Closes-Bug: #1446431 
2015年07月15日 23:47:52 -07:00
Ian Cordasco
8e96db0739 Upgrade the Keystone library to use v3
In order to enable and deploy federated Keystone, we need to use version
3 of the Keystone API and the v3 Keystone Client. This work begins that
transition by having a set of backwards compatible library commands.
Specifically, this commit updates the keystone library to use v3
Keystone Client and the usage of ensure_tenant in the os_keystone tasks
to use the v3 admin url.
In version 3 of Keystone's Endpoints (Catalog) API each endpoint only
has one URL and has separate interface types (public, internal, admin).
This change updates all uses of ensure_endpoint to structure the
endpoint data in a better way for the ensure_endpoint command in the
keystone module. As a result, some incidents where internalurl and
adminurl were swapped have been fixed.
Note:
In new deployments the endpoints will be created using the v3 API and
will therefore not be available via the v2 API. This will be a breaking
change to legacy CLI clients. The openstack CLI should be used instead.
DocImpact
Related-Bug: #1470635
Partially-implements: blueprint keystone-federation
Change-Id: I2cd4f505e850b4b113452abc25ee00d486b1637d
2015年07月13日 19:41:44 -07:00
Jenkins
7f1c4e477c Merge "Enable all services to use Keystone 'insecurely'" 2015年07月10日 16:53:24 +00:00
Jesse Pretorius
fc3a2927f3 Enable all services to use Keystone 'insecurely'
This patch introduces an insecure flag for the Keystone internal
 and admin endpoints:
* keystone_service_adminuri_insecure
* keystone_service_internaluri_insecure
Both values default to false. If you have setup SSL endpoints
for Keystone using an untrusted certificate then you should
set the appropriate flag to true in your user_variables.
This patch is used to enable testing and development with
Keystone SSL endpoints without having to make use of SSL
certificates signed by a trusted, public CA.
The patch introduces a new optional argument (insecure) to the
keystone, glance and neutron Ansible libraries. This is a
boolean value which, when true, enables these libraries to
access Keystone endpoints 'insecurely'. When these libraries
are used in plays, the appropriate value is set automatically
as per the above conditions.
Implements: blueprint keystone-federation
Change-Id: Ia07e7e201f901042dd06a86efe5c6f6725e9ce13
2015年07月10日 14:06:25 +01:00
Jenkins
67ac5d6616 Merge "Implement Ceilometer" 2015年07月09日 17:50:10 +00:00
Miguel Cantu
f70f0434a0 Implement Ceilometer
This patch implements the implement-ceilometer blueprint.
It addes the necessary role/variables to deploy ceilometer
with a Mongodb backend. The Monogdb backend is assumed to
be up and configured and the playbooks only require a few
values to be set in user_variables to establish a connection.
Change-Id: I2164a1f27f632ce254cc2711ada2c449a9961fed
Implements: blueprint implement-ceilometer
2015年07月07日 19:31:04 +00:00
Andy McCrae
82b431eba5 Default to use host/port for glance_api_servers
The glance_api_servers points to a list of glance_api_servers for both
cinder and nova. This causes "nova image-list" to fail when glance api
servers are unavailable. Pointing to the LB VIP works as intended, so
removing this var in favour of the "host/port" vars ensures that only
the glance servers that are available are used.
glance_api_servers is still available and if specified will be used in
favour of host/port, but default it is commented out and the host/port
will be used - which uses the internal_lb_vip_address and default
glance_api_service_port.
Change-Id: I6794a1a266d22944be8d5634ee0c0ce6cd9f2c59
Closes-Bug: #1461245 
2015年07月01日 11:17:10 +01:00
kevin
5f8fb75df4 Added options for enabling instance_passwords
The nova.conf and tempest.conf option for `enable_instance_password` has been
added as a default. This option has a default of True in nova but false in tempest. 
This causes temptest to fail scheme validation on newer versions of temptest. 
To fix this issue the option being added with a default value of True for both
tempest and nova.
Change-Id: I19f5da9820f2367b3d8dd0a7f215aa3f3ea5f611
Partial-Bug: #1468061 
2015年06月24日 15:50:28 +00:00
Jenkins
cd3547dc2b Merge "Add configurable option [cinder]/cross_az_attach" 2015年06月22日 15:06:01 +00:00
git-harry
de0fdb188c Add configurable option [cinder]/cross_az_attach
nova has the configuration option [cinder]/cross_az_attach with a
default of True. This option allows attaching between instances and
volumes in different availability zones.
This commit makes this option configurable in the nova.conf template
and uses a default of True.
Change-Id: Ia95f3d4447b026a8e93c74a8c65a63dcea89994f
Closes-bug: 1457140
2015年06月22日 13:01:49 +01:00
Andy McCrae
830c1eadb3 Add global endpoint_type_proto options
This allows you to set the endpoint-type protocol globally for all
services, e.g. internaluri can be http, and publicuri can be https.
You will no longer have to specify it per service, although those
settings already exist and have not changed.
This patch changes no functionality for existing installs or deployments
and the values are defaulted to be the same as before, but allows these
values to be adjusted on a per-endpoint type basis.
Change-Id: I4854216726491f6ea4e265694e702f980fddc5a6
Closes-Bug: #1399383 
2015年06月19日 15:29:30 +01:00
kevin
9ff1b3b538 Added apt update tasks to everything using apt
This change adds a specific update task to all tasks that all the
apt ansible module. This change was done to ensure that the cache
is updated as expected when instructed to do so. The reason that
the cache update is being removed from the grouping is because
there is an upstream bug that is effecting the process by which
the apt cache is updated when there is a package list to process
within the same task. The work around to make this function as
expected is to move the update into its own task without a package
list.
Upstream Ansible bug:
 - https://github.com/ansible/ansible-modules-core/issues/1497
Change-Id: Ic06d89a76d772c12888b4bc4bbf147be58b0c150
Related-Bug: 1464771
2015年06月16日 13:13:58 -05:00
Andy McCrae
ab526a5cc3 Allow protocol to be set per endpoint-type
If services are running behind an SSL terminating LB you will want to
differentiate between protocol on internalURL and publicURL endpoints.
This patch allows you to set the values of protocol per endpoint type,
but doesn't change the default behaviour which is to have it set in one
var.
Change-Id: I7a74c85a8841499623746586ae27103a71c6fec0
Partial-Bug: #1399383 
2015年06月16日 08:57:17 +00:00
git-harry
12d9c1ce11 Fix spelling of runlevel in init scripts
A number of the init templates in the OpenStack roles have the word
runlevel incorrectly spelt as runlelvl. This commit correct those
spelling mistakes.
Change-Id: I0d1b7d5c5cf088fecf07cf0e1bd676b4e4088e2b
Closes-bug: #1464603 
2015年06月13日 10:21:17 +01:00
Steve Lewis
4310931756 Configure DB addresses for each service
To enable partitioning of DB traffic by-service, each service needs to
use a custom connection string. Defaulting the service address to a
common galera_address makes things continue to work by default.
While the galera_address could be overridden on a container or host
basis this requires repeating that behavior across each infra node in
the inventory. Providing service-specific connection address variables
simplifies the management somewhat for large deployments and may reduce
error rates.
The service install playbooks now default the service-specific variables
instead of galera_address to the internal lb vip from inventory to
maintain the ease-of-use currently available.
Any value for a service-specific variable set in user_variables.yml will
override the value in the playbook's vars to provide selective
customization as needed.
Change-Id: I4c98bf906a0c1cb11ddd41277a855dce22ff646a
Closes-Bug: 1462529
2015年06月10日 02:07:38 +00:00
kevin
661e2a087f Set the log directory accordingly
This changes the log directory within the upstart init scripts
such that they are being set throughout the roles and removes an
assumed variable name as the name of the log directory.
Change-Id: I32a2a76a4a73b609999886427b494f380850f12a
Closes-Bug: #1460469 
2015年05月31日 14:52:52 -05:00
Jesse Pretorius
f3b84cba6b Add handler flushing to roles that need it
This patch adds handler flushing as the last task in each role to ensure
that there are log files present when the rsyslog client configuration
task is executed a little later in the playbook that consumes the role.
Closes-Bug: #1458822
Change-Id: I92a26b620aa7bc0fbe33175594d37da7d5aca7df
2015年05月26日 18:13:55 +01:00
Jenkins
00969c6469 Merge "added role to pin packages" 2015年05月13日 15:59:01 +00:00
Satheesh Ulaganathan
e7f0b9bf43 Allow configuration of Nova SQLAlchemy options
Add variables for the following 3 nova.conf vars:
max_overflow (default 10)
max_pool_size (default 5)
pool_timeout (default 30)
This allows for sql tuning to better support bulk operations
(boot/delete) with the ability to define custom values in nova.conf
based on business needs.
Change-Id: Ic427e6822f636a304cbbfaab5ac74a13e912da0f
Closes-Bug: #1447389 
2015年05月08日 12:08:57 -07:00
Kevin Carter
9ec91564a8 added role to pin packages
This new role is now providing the ability for a user to pin apt
packages as they see fit. The idea is to allow someone to implement
pinning in a generic way that can be represented as a global variable
or as a hostvar. The new role has been added to all install roles as
a dependency which will allow it to ensure that packages are pinned
everywhere as would be expected.
Change-Id: I354e8515570fa7174366ba57d57aece3c304568e
2015年05月08日 13:22:42 -05:00
Sudarshan Acharya
76440d8469 Applying copy_update to all policy.json files
Adding support for dynamically updating the policy files for
nova, glance, neutron, cinder and heat. Uses the copy_update
plugin to detect any updates and applies the changes to the default
policy.json
Implements: blueprint dynamically-manage-policy.json
Change-Id: I573229d6f18a5fe32460b2373ab8b2c36ac722b4
2015年04月17日 20:22:28 +00:00
Miguel Grinberg
43a18646c7 Add option to enable/disable the nova v2.1 API
In the kilo release the nova v2.1 API is tied to the v3 API, so v3 needs
to be enabled for v2.1 to be enabled as well. This change adds a setting
to control whether the v2.1 API should be enabled or disabled. If v2.1
is enabled then v3 will be enabled as well, but without registering it
with the keystone catalog.
Change-Id: I1e80189bbcbef1dd712cd6a527b5b59aa939e9e1
Closes-Bug: #1445524 
2015年04月17日 10:46:21 -07:00
Kevin Carter
cf68c09363 Updated nova to allow for v3 and ec2 to be enabled
The paste.ini has been rebased on upstream master and a conditional
was added to the nova.conf file.
This change makes it possible for a deployer to consume the
deprecated apis for EC2 and NovaV3. While The endpoints will not be
"automatically" created the paste config has been rebased to support
the apis if needed.
Partially implements: blueprint master-kilofication
Change-Id: I061d743b569ebc0753a47d183545ed185bad854e
2015年04月16日 10:32:42 -05:00
Matthew Kassawara
ea006a622d Update keystone middleware in neutron for Kilo
Update keystone authentication middleware in neutron to
support the v3 API in Kilo.
Partially implements: blueprint master-kilofication
Change-Id: Icf692cfbdf4df83be21a87adfb434ef9a3c8ff49
2015年04月14日 11:50:48 -05:00
Matthew Kassawara
67e0bd142a Update keystone middleware in nova for Kilo
Update keystone authentication middleware in nova to
support the v3 API in Kilo.
Partially implements: blueprint master-kilofication
Change-Id: I2f38ed9a5ad82d98596835a59f6852f1bd3d8ffc
2015年04月09日 12:26:27 -05:00
d34dh0r53
cd2ba6154f Nova Kilofication Work
* API Versions 1.1 and 3 have been deprecated from nova, plays
 have been modified to completely remove v1.1 and make v3
 optional via nova_v3_deprecated_but_enabled boolean.
* Addition of v2.1 api configuration.
* Elimination of the unused nova_api_ec2 container.
* nova_spice_console has been renamed to nova_console and
 nova_spice_console_container has been renamed to
 nova_console_container to facilitate different consoles in
 the future.
* Spice has been made the default console.
* A standalone task and init scripts for nova_spice.
- Fixed some typos
- Modified HAProxy role to remove nova_api_ec2 and rename
 nova_spice_console to nova_console
- Updated user_secrets.yml
- Unbroke things that I broke
Partially Implements Blueprint: master-kilofication
Change-Id: Ia87dfb1e8c0316103a30e2121f11996a9ca87c25
2015年04月08日 13:35:57 -05:00
Jenkins
9cce2b7bbc Merge "Updated repository for minimum viable kilo install" 2015年04月03日 21:53:58 +00:00
Kevin Carter
8b1417e988 Updated repository for minimum viable kilo install
* Updated Keystone wsgi and paste files from upstream.
* Updated all clients in the openstack_client.yml file.
* Kilo services are tracking the head of master.
* Removed pinned middleware because they're pinned else where.
* Added additional service references for neutron vpnaas, fwaas, and
 lbaas which have now been moved into their own repos and no longer
 exist within the core neutron repository.
* The neutron vpnaas, fwaas, and lbaas have been removed from the
 basic plugins being loaded and a comment has been added to describe
 how one might add them back in.
* Updated rootwrap filters for neutron dhcp and l3.
* Updated heat policy.json
* Added the `python-libguestfs` to the nova-compute installation
 packages.
* Updates all services to point to the latest kilo tag
Services updated due to deprecated configs:
* Keystone
* Glance
* Nova
* Neutron (is still using the deprecated nova auth plugin)
* Heat
* Tempest
Items for future work post initial release:
* roles/os_neutron/files/post-up-checksum-rules:25:
 TODO(cloudnull) remove this script once the bug is fixed.
* roles/rabbitmq_server/tasks/rabbitmq_cluster_join.yml:17:
 TODO(someone): implement a more robust way of checking
Implements: blueprint minimal-kilo
Closes-Bug: 1428421
Closes-Bug: 1428431
Closes-Bug: 1428437
Closes-Bug: 1428445
Closes-Bug: 1428451
Closes-Bug: 1428469
Closes-Bug: 1428639
Change-Id: I28a305d9e40a9cf70148ef7d7b00d467a65ca076
2015年04月03日 12:57:10 -05:00
Kevin Carter
13eadd19fc Updated nova logic to correct issues with addon devices
The logic within the pre_tasks was too loose. The pre_tasks need
to have a bit more restrictive conditionals. Additionall the
`lxc-device add` command which is being used always exits 0
even when the device add fails. While the task does not have
issues with running we should be making sure that our changes
are being recoreded correctly.
Closes-Bug: 1434945
Change-Id: Icb1707db6bde6c0a26af6bca21a1f88dc3c315a8
2015年03月31日 08:21:21 +00:00
Steve Lewis
8da17909bf Enable fatal_deprecations configuration per OpenStack service
Introduced namespaced variables for all OpenStack services supporting
this setting as defined through oslo libraries. Default value is False
in each case. Gating commit checks now enable the fatal_deprecations
setting for each supporting service.
Closes Bug: 1428412
Change-Id: I5f41d3fdfa1cc876efc0c33c657c9dad18a8ba51
2015年03月17日 17:14:52 -05:00
Matt Thompson
c82787b7c4 Create /var/lib/nova/.ssh/config
We are currently not dropping the included config file, which is
preventing nova from being able to resize/migrate from one host to
another. This change simply drops the config file which we already
have under the os_nova role to the correct location.
Change-Id: I2d054f095bc76c821aa7b87f5f2890037260066a
Closes-Bug: #1429188 
2015年03月06日 16:10:12 +00:00
Andy McCrae
4cd1625544 Allow additional nova.conf variables to be set
Add variables for the following 2 nova.conf vars:
image_cache_manager_interval (default 0)
remove_unused_resized_minimum_age_seconds (default 3600)
Change-Id: Ifa52ab226bfe695b64c32c94dd3ffccf465345a0
Closes-Bug: #1424808 
2015年02月25日 09:21:56 +00:00
Matt Thompson
93ebd5944b Update auth_uri / identity_uri
While testing glance + swift, I noticed that the glance-api.conf and
glance-registry.conf being dropped had incorrect auth_uri /
identity_uri values set. This change updates auth_uri / identity_uri
throughout to point to the correct keystone_service_adminuri /
keystone_service_internalurl variables.
Change-Id: I3cbbfefe7da54b08bb9a55e4a2ca3a8bd786577d
Closes-Bug: 1425099
2015年02月24日 16:07:55 +00:00
Kevin Carter
fdd1c4c689 Convert existing roles into galaxy roles
This change implements the blueprint to convert all roles and plays into
a more generic setup, following upstream ansible best practices.
Items Changed:
* All tasks have tags.
* All roles use namespaced variables.
* All redundant tasks within a given play and role have been removed.
* All of the repetitive plays have been removed in-favor of a more
 simplistic approach. This change duplicates code within the roles but
 ensures that the roles only ever run within their own scope.
* All roles have been built using an ansible galaxy syntax.
* The `*requirement.txt` files have been reformatted follow upstream
 Openstack practices.
* Dynamically generated inventory is now more organized, this should assist
 anyone who may want or need to dive into the JSON blob that is created.
 In the inventory a properties field is used for items that customize containers
 within the inventory.
* The environment map has been modified to support additional host groups to
 enable the seperation of infrastructure pieces. While the old infra_hosts group
 will still work this change allows for groups to be divided up into seperate
 chunks; eg: deployment of a swift only stack.
* The LXC logic now exists within the plays.
* etc/openstack_deploy/user_variables.yml has all password/token
 variables extracted into the separate file
 etc/openstack_deploy/user_secrets.yml in order to allow seperate
 security settings on that file.
Items Excised:
* All of the roles have had the LXC logic removed from within them which
 should allow roles to be consumed outside of the `os-ansible-deployment`
 reference architecture.
Note:
* the directory rpc_deployment still exists and is presently pointed at plays
 containing a deprecation warning instructing the user to move to the standard
 playbooks directory.
* While all of the rackspace specific components and variables have been removed
 and or were refactored the repository still relies on an upstream mirror of
 Openstack built python files and container images. This upstream mirror is hosted
 at rackspace at "http://rpc-repo.rackspace.com" though this is
 not locked to and or tied to rackspace specific installations. This repository
 contains all of the needed code to create and/or clone your own mirror.
DocImpact
Co-Authored-By: Jesse Pretorius <jesse.pretorius@rackspace.co.uk>
Closes-Bug: #1403676
Implements: blueprint galaxy-roles
Change-Id: I03df3328b7655f0cc9e43ba83b02623d038d214e
2015年02月18日 10:56:25 +00:00