Update ChefSpec due to changes made in apache2 cookbook.
Depends-On: https://review.opendev.org/756168
Change-Id: I3ec792c519650b2d95a976ad50419a9b417a3514
Signed-off-by: Lance Albertson <lance@osuosl.org>
The current code tries to restart apache for every change to
/etc/nova/nova.conf even on compute nodes that do not have apache
installed. This changeset splits out the apache service resource into a
separate recipe that (unlike nova-common) is not included by the compute
recipe.
backport: stein
Change-Id: I87dda61dfabec460fe042b4cee21277382dd9487
The major change in this release is that the placement-api code base has been
removed from nova and put into it's own project called placement [1]. Users who
are coming from Stein will need to follow the upgrade guide [2] to properly
upgrade to the new service.
All attributes related to placement-api have been moved into their own files
including configuration file attributes for placement.conf.
Added:
- Template to manage /etc/placement/placement.conf
- Include openstack-compute::_nova_cell recipe to nova-setup so that the db
migrations happen properly
Changed:
- Update release to train
- Migrated from nova-placement-api to placement-api [1]
Fixed:
- Cookstyle & ChefSpec
- Ordering of db syncs which was causing issues for Train
- Set default['openstack']['compute']['syslog']['use'] to false by default
- Various comments
Removed:
- Removed references to nova-consoleauth which has been removed upstream [3]
- Removed references to xvpvnc which was removed upstream
- Unused .rubocop.yml and .rubocop_todo.yml
[1] https://docs.openstack.org/releasenotes/placement/train.html
[2] https://docs.openstack.org/placement/latest/admin/upgrade-to-stein.html
[3] https://docs.openstack.org/releasenotes/nova/train.html#prelude
Change-Id: I996bcd2f63a080e10fadf0c7adf9a0ddcb0b5c7a
Depends-On: https://review.opendev.org/731859
Depends-On: https://review.opendev.org/731860
Depends-On: https://review.opendev.org/731861
- Cookstyle fixes
- Refactor Berksfile to use groups so we can exclude integration testing
cookbooks
- Update documentation
- Cleanup line wraps
- Enable sensitive resources for the template[/etc/nova/nova.conf] to
resources improve security.
- Update delivery configuration to exclude integration cookbooks
- Fix ChefSpec output.
- Switch package installations to send packages as arrays instead of individual
package resources. This generally speeds up chef runs.
- Cleanup array syntax using %w() instead of []
- Add metadata to enabled_apis as that is the default upstream
- Switch to user resource for managing shell for nova user
- Switch to libvirtd instead of libvirt-bin for Ubuntu service name
Depends-On: https://review.opendev.org/701027
Depends-On: https://review.opendev.org/706151
Depends-On: https://review.opendev.org/708059
Depends-On: https://review.opendev.org/706157
Change-Id: I7e03fb9dace6e288a3b21f33106245b30b52ce9d
This brings us up to date with the latest apache2 cookbook which
included a major refactor in 6.0.0 removing all of the definitions and
recipe with proper resources. Instead of using the apache2_default_site
resource, directly use a template and then enable the config file using
the apache2_site resource. This gives us the most flexibility.
Additional fixes:
- Install mod_wsgi as a package on RHEL since there is no built-in
resource for it.
- Don't set SELinux to permissive on RHEL (I tested this works properly
with it set to enforcing).
- Remove hack for restarting apache.
- Convert web_app to template and subscribe to restarting apache.
- Remove resources to restore SELinux contexts since this taken care of
by Chef now automatically.
- Fix resource ordering in placement_api
- Improve ChefSpec tests
- Add missing placement_api RHEL tests
- Fix issues with chain file and cipher suite in in wsgi template
- Include additional cookbooks in Berksfile required for CI
Depends-On: https://review.opendev.org/702772
Depends-On: https://review.opendev.org/701824
Change-Id: Ib404ab6bfcae3340fd7f0f924539ca6c445b55cf
This updates all references of let(:chef_run) to cached(:chef_run) to
speed up tests. By doing this, we have to create a new cached(:chef_run)
block whenever we need to adjust node attributes for testing.
- Remove unused default recipe ChefSpec
- Formatting cleanup
Speed was improved from 7 minutes 17 seconds to 1 minute 34.18 seconds
Change-Id: I8bdde8b68371d25275aa78d9438f5aeff960062f
This uses edit_resource to add a notification in the nova-api,
nova-api-metadata and nova-placement-api apache configurations when one
of them gets updated. This is a workaround due to the fact we are using
a version of the apache2 cookbook that is still using definitions and
cannot add notifications with definitions.
This is intended to ensure we only restart apache when the configuration
is updated. Otherwise, the old behaviour was to restart apache on every
run which is problematic in production environments. I have been using
this in our production wrapper cookbook for the past year or so without
any issue.
This will be removed in the Stein release when we migrate to the newer
apache2 cookbook which uses proper resources.
Also amend the Berksfile to point to the new opendev.org location.
Change-Id: I55e6ea4124017e0f44f92f6a2fb01baad5a27555
Signed-off-by: Lance Albertson <lance@osuosl.org>
- Added basic cellv2 recipe, as it is required from Ocata on
- Style and lint fixes to support newer chefdk
- Rewrote metadata.rb for readability
- Removed ancient Gemfile
Change-Id: I97b453fc419bfbf01679dadf39a256b1f0f99859
The default content of api-paste.ini has changed, in particular we were
missing the http_proxy_to_wsgi filter allowing proper URL discovery.
Change-Id: Iaa968a963df5baf49116829f111ef4f46c4f8951
The placement-api has been added by nova for the Newton cycle, it has
become mandatory for Ocata.
It is deployed as a wsgi app similar to what we have for keystone and
gnocchi already.
Change-Id: I1d1f1cc7046cb30a91894a0c884bc861d7f3dd95
* added sync for api_db (required in mitaka) and needed configuration options in
nova.conf
* made libvirtd_opts configurable in preparation for xenial and systemd on
ubuntu (libvirtd needs to be started with just -l option on xenial)
Change-Id: I6c01e45f10d75db96c95c0bb37b016ada2f5933f
Depends-On: Idf6645064a1c2f337f542b29a026969c7d35efbe
api-ec2 is being replaced by the `openstack-ec2` cookbook.
Change-Id: I5b4bc088bbf9a5061ed311d164dc381a3caca2d5
Depends-On: I2dbbafaf8641ece00d4181d1ea4ba93f00eed6ed
* added endpoint attributes (moved from common)
* removed qpid as a messaging option (can be incuded in a wrapper)
* removed os-bare-metal dependencies
* deleted default attributes from nova.conf.rb originated in
openstack-common
* removed fedora and suse as supported platform
* adapted optimized endpoint logic
* removed rubocop exceptions in recipes and regenerated the
.rubocop_todo.yaml containing all remaining exceptions
* added versionbumb for refactored os-identity and common
* moved version up to 13.0.0 for mitaka release
* adapted the specs (unit tests) to work again
* refactored spec_helper.rb method "expect_creates_api_paste"
* added new logic into templates/default/nova.conf.erb
* refactored attributes throughout all recipes that were connected to
the attributes used for the nova.conf.erb template to adapt the new
template attribute syntax
* moved all attributes from attributes/default.rb that were used in
nova_conf.erb to attributes/nova_conf.rb
* refactored attributes to fit upcomming template logic
* refactored recipes/nova_common.rb to fit upcomming template logic
* removed all attributes from default.rb and nova.conf.erb which are set
as default in attributes, openstack doc and used to render the template
* removed nova-network as a supported config option
Depends-On: I9cc1b5cc069987ac83e064322c2291772505ff5f
Depends-On: Ifa5a7f4e1df47a3961976e64f654224864c3dcb4
Depends-On: I3262b2e6f792f37c32a446e6567790b82bdd4613
Depends-On: I0547182085eed91d05384fdd7734408a839a9a2c
Implements: blueprint cookbook-refactoring
Change-Id: I9ac9eeb29ab27f31394830e4b6f999d5870cc0e4
Cleaned up all the minor rubocop issues, the ones left relate to
complex logic and what I think is a bug in rubocop for nested
vs compact modules/class definitions.
Change-Id: Ic874a3e0a8d005e410baa40584f0f00dfc805a56
- deprecated Gemfile
- updated Rakefile to use 'chef exec' instead of 'bundle exec'
- updated TESTING.md
- replaced Runner in specs with SoloRunner for new chefspec version
- initialized file_cache_path to make git_sync spec for docker work
Change-Id: I845c712f2d0d216d9d4a9d32c28ac4b03e96109a
Add ironic section configuration to make openstack compute service
use openstack bare metal service.
blueprint bare-metal-enablement
Change-Id: I7492edac417609a0eb952f0ca0780876ef8564fc
In some cases like FiberChannel storage, nova volume-attach will
fail because some utility packages are missing. Adding those
into the compute node set of installed packages.
Change-Id: I974bdd00c9f3d046baae8b6c4b531d54f3d7f45c
Closes-Bug: #1412388
The upstream ceph cookbook already hooks into chef for environment information.
This patch utilizes the client LWRP to create or add ceph keys for RBD support.
This patch also changes some default attribute names for more sane organization
Partial-Bug: #1409943
Change-Id: Ia87e123ae2d88e3122b8d66d8ff144a804e6d8c4
In Icehouse, the configurations for keystone auth token has been moved
to nova.conf. So we need to remove the configurations from api-paste.ini
and move them to nova.conf.
Change-Id: I5b5b32b16c8e9235103bd61f3c3eb1774b093e0a
Closes-Bug: #1342002
The instances path was bring created, but not the state or lock paths.
If these are overridden to different places, nova will fail to start.
Removed the unused hardcoded lock path in api and scheduler recipes.
Moved the path creation to nova-common recipe.
Change-Id: I7538edff91233761a1c6336ca4cfe080eeee093d
Closes-Bug: #1328956
1. Add new attribute openstack_vmware_secret_name to indicate the
databag secret key
2. Get the password from databag if dev mode is false
3. Update the test cases
Implements: blueprint vmware-password-databag
Change-Id: I342e26aee713216f2aecc39113a67ada25ec1fb5
In order for package updates to occur, package resources need to use
the upgrade action. This is first phase of blueprint, to get some
consistency, next phase is to allow some update control.
Change-Id: I91d6a47c3b5787df65f78e3e86941de1fb28583d
Implements: blueprint allow-package-updates
The API service recipes have been pulling in the entire
python-keystone package, which is the entire Keystone
set of services. This hasn't been necessary since
some time after Grizzly, when the tokenauth middleware
was moved to the client.
Closes-Bug: #1305318
Change-Id: I75ff23847936bb288ea49ca41d1e46edb5bd7730
The new get_secret method allows the 'secrets' databag to be renamed,
just like all other databags.
Change-Id: Ic8be5d19a112d78e22716c0cd571efc7186ac9ce
Related-Bug: #1288784
This change gives us new capabilities, such as matching notifies and
subscribes of resources.
Implements: blueprint chefspec-3-4
Change-Id: I4842259e06f7213e9d7d20b719561e18b0c9767e
Both conditional and plain content are tested. All template-related
pending tests have been addressed, one in spec/compute_spec.rb that
was tied to a cookbook_file resource has been just removed.
Change-Id: Ib2d8871794920a10ad8e111fc89ab03ab057d3dc
Partial-Bug: #1182563
Use the library method auth_uri_transform to transform the auth uri
by the auth version.
Change-Id: Ia12d942ead55728deaac96ea6b5858d4c0bb01ba
Imlements: blueprint move-keystone-authtoken-move-auth-uri-logic