Commit Graph

210 Commits

Author SHA1 Message Date
Ghanshyam Mann fb7c035bf3 Retire openstack-chef: remove repo content
OpenStack-chef project is retiring
- https://review.opendev.org/c/openstack/governance/+/905279

this commit remove the content of this project repo

Depends-On: https://review.opendev.org/c/openstack/project-config/+/909134
Change-Id: I07e16dd10769a13ae587b94f1387efacda01fdb2
2024-02-17 20:52:17 -08:00
Lance Albertson df9900d25b CentOS 8 support
- Add yum-centos cookbook to deps
  - Enable PowerTools and RabbitMQ repositories on EL8
- Update various packages for EL8

Depends-On: https://review.opendev.org/c/openstack/openstack-chef/+/814234
Change-Id: Ife3165204d9ffee132a0daacd4a6f30c7d31378b
Signed-off-by: Lance Albertson <lance@osuosl.org>
2021-10-22 09:46:15 -07:00
Lance Albertson 8d07e9acee Cookstyle 6.19.5 fixes
Also remove unused database resources that somehow got imported in
https://review.opendev.org/701027.

Change-Id: I5241e0f1eb3bf44158bc64019a3880d83a6d4bdc
Depends-On: https://review.opendev.org/756168
Signed-off-by: Lance Albertson <lance@osuosl.org>
2020-10-05 17:02:11 -07:00
Lance Albertson 3b02de3c8b Create /etc/bash_completion.d/ directory
On some docker images, /etc/bash_completion.d/ doesn't exist so we need to
ensure it does. This is specifically useful for kitchen-dokken.

Change-Id: Ie7227ae1bc794a75fd0200cef0b4b002d2ff6986
Signed-off-by: Lance Albertson <lance@osuosl.org>
2020-09-14 09:02:00 -07:00
Lance Albertson a45cea15d7 Updates for Train
Added:
- Placement service

Changed:
- Update release to train
- Cookstyle fixes
- Update to mariadb ~> 4.0

Removed:
- Unused rubocop rules

Fixed:
- ChefSpec for wrapper now correctly works with node.role?

Depends-On: https://review.opendev.org/731849
Change-Id: I3e809350541e9c7beab311e5b3e768df1612d9f5
2020-05-29 17:29:10 -07:00
Lance Albertson abab7d0ecb Stein fixes
- Switch to Stein release
- Cookstyle fixes
- Update cookbook etcd to ~> 5.6
- Update README
- Add myself to author list and OSU Copyright
- Properly fix completions recipe and ensure it works
- Create and start the etcd service in the etcd recipe
- Update delivery configuration to exclude integration cookbooks
- Refactor and update RenderConfigFileMatcher to work with newer
  ChefSpec. This fixes output which was passing but showing error
  messages.

Depends-On: https://review.opendev.org/701027
Change-Id: Iba3eeabe85ab9303147e43eeb550212a46d190f3
2020-03-19 10:52:29 -07:00
Lance Albertson ea8684d2cf Switch to using mariadb user and database resources
This updates the mariadb cookbook dependency which pulls in mariadb_user
and mariadb_database resources that do not require the mysql2 gem. In
addition, this removes all of the imported mysql libraries and resources.

Other fixes include:
- Rename openstack_common_database resource to openstack_database
- Convert LWRP to a custom resource

Change-Id: I723740b53fe772cf17e65acfb62d5f82e107b7ea
2020-02-27 15:37:45 -08:00
Lance Albertson 4000e8aa96 Improve ChefSpec test speed by enabling caching
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.

Some additional fixes include:
- Add default['openstack']['common']['search_count_max'] attribute to allow speed
  ups during testing.
- Improved a few tests
- Adjusted some formatting
- Remove deprecated ChefSpec::Coverage.start function
- Show warnings
- Use major version for redhat platform
- Update to Ubuntu 18.04

Speed was improved from 4 minutes 16 seconds to 41.98 seconds.

Change-Id: Icb9147036a01f92ec48a24c692dd022258e294c0
2020-01-06 11:34:18 -08:00
Jens Harbott d0c2aa8fba Use python3 packages on Ubuntu
Python2.7 is going EOL soon, let us deploy python3 for Rocky from the
start, so we avoid having to switch later.

Change-Id: I9cacde567f1d390311ac425649d6f6843abf929b
2019-11-21 10:47:19 +00:00
Zuul e51294e5a2 Merge "Clean up URI handling" 2019-07-30 13:06:07 +00:00
Jens Harbott 29e07f27b2 Clean up URI handling
The two functions auth_uri_transform() and identity_uri_transform()
implicitly assume that the identity endpoint has no path component other
than 'v2.0'. This blocks modern deployment designs, so drop these
functions.

Probably will need some dependencies to clean up consumers of these
functions.

Change-Id: I711ff0c0f8d35c581d2a419debe50425ec0d51c2
2019-07-17 08:18:17 +00:00
Lance Albertson 16441178af Drop poise-python in favor of directly installing python packages
The poise-python cookbook is no longer maintained by the upstream maintainer and
is causing lots of issues for the testing pipeline. Originally we needed this to
install a newer openstack-client via pip, but we no longer do that.

The one exception is in the integration cookbook which I'll be pushing a change
for that as well.

In order to do this, we need to include EPEL on RHEL which doesn't seem to have
any current dependency issues so I think it's safe to bring back.

Depends-On: https://review.opendev.org/665493
Change-Id: Ic8ddf736193a6a7cea5372f2fd09e2def3634333
Signed-off-by: Lance Albertson <lance@osuosl.org>
2019-06-15 17:14:29 -07:00
Zuul bf04e80682 Merge "Add recipe to create bash completions for OSC" 2019-05-06 15:05:05 +00:00
Jens Harbott 9170a08c7c Add recipe to create bash completions for OSC
The new recipe "completions" can be executed in order to create a file
with command completions for the "openstack" command in bash. We want
this to be dynamic because the set of available commands depends on the
set of python plugins installed on the host.

Change-Id: Ib6549c00596f6560dab74491309b6b580ae7b312
2019-05-06 08:28:31 +00:00
Jens Harbott 6fd3db1717 Drop admin endpoints
The admin endpoints offer no special functionality, users may talk to
the public endpoints instead. The only historic use case has been the
keystone v2 admin endpoint, but with keystone v3 API, even that is no
longer needed.

Also drop the attribute for setting an auth version, as keystone only
supports v3 now.

[0]
https://opendev.org/openstack/openstack-chef-specs/src/branch/master/specs/ocata/all/drop-admin-endpoints.rst

Depends-On: https://review.opendev.org/656289
Depends-On: https://review.opendev.org/656514
Depends-On: https://review.opendev.org/656518
Change-Id: Id8fa969af80bcb1cb6f3ce743b1861f26c36523f
2019-04-30 13:55:33 +00:00
Jens Harbott 860084ffdf Update default release to rocky
The master branch is currently targeting to deploy rocky, so change the
default release name accordingly.

Change-Id: I11d7bb06b30b70d64aec7418280f62013cb5b979
2019-03-21 11:43:30 +00:00
Samuel Cassiba 7c31fb629b Convert hyphens to underscores for service names
The Chef Style Guide[1] does not recommend using hyphens for cookbook or
resource names. To maintain consistency, we should follow best
practices.

In order to pass Zuul's one-way CRD requirements[2], both hyphens and
underscores must exist for a compatibility period.

[1]: https://docs.chef.io/ruby.html#use-of-hyphens
[2]: http://lists.openstack.org/pipermail/openstack-dev/2015-February/056515.html

Change-Id: Ic2b6d8f1cdf719791faaebdbd7e29e789eb3f31c
2018-12-15 00:16:38 -08:00
Samuel Cassiba 192d358148 Rename bare-metal to baremetal for Ironic
Change-Id: I55eb4401dbc1e7c8cbd098a2bafca7f414d250de
2018-09-04 15:29:48 -07:00
Samuel Cassiba dc38c475e2 starting rocky development patch
Change-Id: I75d827d383f701da8650cd0e9d1f2501e22cf6a2
2018-08-03 06:20:56 -07:00
Samuel Cassiba 7740328325 Simplify identity endpoint
Per the Keystone Install Guide[1] the admin endpoint is superseded in
favor of a single public endpoint. As a result, the admin endpoint is no
longer deployed by default.

[1] https://docs.openstack.org/keystone/queens/install/keystone-install-ubuntu.html#install-and-configure-components

Change-Id: Ied0fb46ae8c10273fde31691b910dc2748845faf
Implements: blueprint simplify-identity-endpoint
2018-06-14 21:05:25 -07:00
Samuel Cassiba 3bcc58e255 Change release from Pike to Queens
Change-Id: I5798a38a066ccf04c7365e4762dd5347b0a08939
2018-03-08 08:52:08 -08:00
Samuel Cassiba b2881c3a80 common refactor for Pike and Chef 13
- changed the default RDBMS to MariaDB in accordance with install docs[0]
- removed deprecated database, apt and yum cookbooks
- incorporated `database' and MySQL-specific abstractions from database
  cookbook
- implemented foodcritic and cookstyle corrections
- deprecated node.foo.bar method access for node['foo']['bar'] bracket syntax
- updated default recipe for core apt resource
- use /etc/apt/apt.conf.d on Ubuntu instead of passing the dpkg overrides as
  command line options in every cookbook

[0]: https://docs.openstack.org/install-guide/environment-sql-database.html

Implements blueprint modern-chef

Change-Id: I143e0ed0a2bdd76269fc0c402052696426d96d81
Depends-On: I00e2237cef0c9aa35f78d3ccec04a1c7b9271ce8
Depends-On: I7ee0f5eae4e79e5c70ee8de4a0094a7c34fdd18f
2018-01-11 17:42:41 +00:00
Samuel Cassiba ffbf83d17f Initial common Pike updates
- Bumped chefdk to 1.6.1
- Switched release to pike
- Added is_release attribute for testing, defaults to false
- Added RDO deps repo for testing pre-release packages
- Added ubuntu-cloud proposed repo for testing pre-release packages
- Switched the default linter to cookstyle
- Normalized the banner message
- Dropped pip installation method for python-openstackclient since the
  packages are fresh enough

Change-Id: I7a67ba2520b8e44efec6edd8506f96b0e0dc913b
2017-09-11 23:38:26 -07:00
Samuel Cassiba 479af11fd7 Fixes for Ocata, define socket for MySQL
- bumped chefdk to 1.5
- bumped mariadb to 1.5
- style fixes to make rubocop/foodcritic happy
- rewrote metadata.rb for readability
- removed ancient Gemfile
- removed openshift rubygems mirror since it doesn't help us

Change-Id: I950605f384405b55737af77bc4224f1e18fee8e1
2017-08-02 16:24:48 -04:00
Jens Rosenboom 6773710b30 Update OSC client version to 3.11.0
Change-Id: Id5606aa7e731bcab0b18aa0ff336c342449c1701
2017-05-23 15:19:38 +00:00
Samuel Cassiba 1e2bd7a338 Corrects rabbitmq user, yum cache cleaning
- corrects the rabbitmq 'guest' user to 'openstack' to for a more secure
  installation, as 'guest' is not secure and is deleted in other
  non-Chef deployments.
- adds update_yum_cache attribute to conditionally include the yum
  recipe, removing the hardcoded entries from the run lists. This
  prevents yum.conf from showing up on Debian-based machines.
- enforces GPG checking for RDO packages, uses correct key.

Change-Id: I89714e06eab803985ebffcdff5ff77655287c3e6
2017-04-09 18:35:44 -07:00
Jens Rosenboom baa6f22baf Switch to Ocata release
- Have Ocata as default release for master now
- switch default auth strategy to Fernet as PKI tokens have been removed
- Update OpenStackClient version
- Provide a default WSGI template that can be used from other cookbooks
- Add a fake compute_cell0 service in order to create another DB for nova

Change-Id: I8bc2eb5622b14457ef80cb70bf7a1d60c9fe9793
2017-03-10 12:27:08 +00:00
Jens Rosenboom 3d06aeabbf Install openstackclient into virtualenv
There may be issues caused by updated OpenStack python libraries being
picked up by other services when we install python-openstackclient
globally. So instead install it into its own virtualenv and create a
symlink to the resulting binary.

Change-Id: I43d9baf13dda20d39d3c52faf1f2322eee4884a3
Partial-Bug: 1661708
2017-02-09 14:56:20 +01:00
Christoph Albers b6f06c34af Transport url fix
- added possibility to add more then one rabbit host
- edited rubocop constraints due to transport_url complexity

Change-Id: I9540b40c0dba46a62c21242b94089b81921700ca
2017-01-09 04:25:57 +00:00
Christoph Albers 57fa9ecef7 Tempest / Integration fixes
- added needed attributes to get glance image id
- edited specs in favor of identity v3

Change-Id: I9b87834190f013191cddaeffd1547278543e0dad
2017-01-02 15:36:24 +00:00
Christoph Albers 6401b89019 RPC_backend / transport_url workover
- added rabbit_transport_url method to endpoints library
  usage i.e for block-storage will be
  node.default['openstack']['block-storage']['conf_secrets']
       ['DEFAULT']['transport_url'] = rabbit_transport_url 'block-storage'

Change-Id: I0a6da37e3f2b839590b6349fd906d47c5206fbb3
2016-12-13 15:28:51 +00:00
mbuege cd6fd327a3 update python-openstackclient version
- update python-openstackclient version from 2.6 to 3.4.1
- minor style changes in spec
- moved python-openstackclient version to node attribute

Change-Id: If9ffbc539ebca7de222dc25205d9f760a774412b
2016-12-12 17:03:33 +01:00
Samuel Cassiba 4121e9b39a Switch to correct Newton package locations
- increments RDO to Newton GA, removes delorean-deps repo
- removes proposed from Ubuntu packages

Change-Id: Iad16b2595c55e50a1941db923d918b9bf5e14478
2016-10-12 10:14:16 -07:00
Samuel Cassiba 9a2c4ee365 Support for Ubuntu 16.04 and Newton
- increments Ubuntu release to 16.04
- increments release to newton for Ubuntu and CentOS
- increments apt cookbook version to 4.0
- increments mysql cookbook version to 7.2

Change-Id: I07ad79a93642d0f0c934a864fcb9bcd7b764e35f
Implements: blueprint newton-xenial
2016-09-01 04:06:52 +00:00
Jan Klare 83a9525fd0 install python-openstackclient from pip and not from package
* the packaged version of python-openstackclient for ubuntu and centos are quite
  old and we need the new version to completely switch all cookbook logic to the
  openstackclient
* this patch include the poise-python cookbook and uses its resources to install
  a python 2 environment and the python-openstackclient

Change-Id: I881075dcd11d06d9c1537d929c7626155c01a1d6
2016-08-05 11:55:43 +02:00
Samuel Cassiba da21e16aa0 Convert command line clients to openstackclient
A prerequisite for Newton is to move to openstackclient for interfacing
with the OpenStack services.

Change-Id: I80a10bc1a3a50501306c16e278b960e43e9e9a59
Implements: blueprint openstackclient
2016-08-02 22:25:35 -07:00
Samuel Cassiba 51ac5f8b9f Style and lint fixes to support newer ChefDK
- bumps ChefDK release to 0.15.15 in bootstrap

Change-Id: I6ce4587caa3ae68ddbd3ef1a521aaf46f4840b2c
2016-07-01 18:16:19 -07:00
Samuel Cassiba 9bf2da101c Split apt_components for bare metal provisioning
The openstack-ppa.list file gets generated with an extra 'trusty'
resulting in a failed convergence on bare metal nodes.

Change-Id: I22235c3eed6a9abd0371d86ea80b71e4702e9ea4
2016-04-18 08:33:34 -07:00
Samuel Cassiba 577d0e022f Bump RDO to Mitaka GA
- re-enables gpgcheck for the RDO release
- bumps to GA packages

Change-Id: I19067aad864ef565adee4bbd21da7ed5a35939ae
2016-04-12 07:52:03 -07:00
Samuel Cassiba 9f912e6d0e Adds distro-specific changes to make CI work
- Adds conditional for CentOS/RHEL and Ubuntu/Debian
- Disables gpgcheck for RDO
- Bumps release from liberty to mitaka
- Bumps RDO repo to Testing

Change-Id: I356f110ef0f80a0282e3ebea1fd7dae5ce9246e7
Depends-On: Ic3f27a48ad3ae75a514a0637c2f895ee6e6bfae2
Depends-On: I438fe85a2883029973fa2f5f8b263b7689334c8f
Depends-On: I2dbbafaf8641ece00d4181d1ea4ba93f00eed6ed
Depends-On: Iefe0cd8037c20627d326e0922476f8499b477d77
Depends-On: If8b784baadb761f1e92c9014c595361096384add
Depends-On: Ifb1411a4392d04cd9a5e867ffc95327adf4ea4ea
Depends-On: Icd75ff370f20d77f564bd6eb700704372345b0de
Depends-On: Ie4a742a2a8aaeeec2886fcc0513e654d0237997c
2016-04-07 10:12:43 -07:00
Jan Klare 323bf575b7 added helper method bind_address
* helper method bind_address should return the address for a given service
config, if an :interface is defined, it should return the address on the
interface, else it will just return the :host

Change-Id: I80ba506f7d9a745c3f4c47a78099199195abd9ad
2016-02-23 11:36:36 +01:00
Jan Klare 9e066bdf53 database and message queue refactoring
* adapted the database and message queue attributes to fit to the ones used for
  the openstack services
* added optional attribute to allow setting an specific endpoint for the db root
  user (useful in hardening scenarios)

Implements: blueprint cookbook-refactoring
Change-Id: Iae7e302973805af3cb44be1b29d0e61e76eb0aa0
2016-02-18 15:18:35 +01:00
Jan Klare e198fd4eab invert the order of endpoint and bind_service attributes
* endpoint type (admin, internal, public) and service (identitiy, network etc.)
  was switched during refactoring, this patch reverts this unintended switching

Change-Id: Iec485deaf415e4187a323435cce2b6bbadfc5d42
2016-02-12 20:13:24 +01:00
Jan Klare 1858c025b2 library cleanup and refactoring
* version bump to 13.0.0 for mitaka release
* removed suse support
* removed general endpoint method, since we should be able to always specify
  which endpoint we need
* removed fallbacks in specific_endpoint method, since this behaviour is not a
  very obvious one to the user and it should rather return an error than an
  unexpected result
* dry public, internal and admin endpoint methods
* removed obsolete private methods
* adapted method calls for admin_endpoint in libraries/cli.rb
* refactored set_endpoints_by_interface recipe to directly call address_for
  instead of address, since the recipe already checks for an existing attribute
  ..['bind_interface'] and therefore address would redirect to address_for
  anyways
* moved the nested hash order for the public, internal and admin attributes to
  to be more clear and to break all existing calls to fix them during the
  refactoring process of all cookbooks
  e.g: node['openstack']['endpoints']['internal']['identity'] is now
  node['openstack']['endpoints']['identity']['internal'] and can be moved into
  the identity cookbook. This also streamlines these endpoint attributes with
  the bind_interface and host attributes
* removed dependency on openstack-identity cookbooks by moving openrc recipe to
  opentack-identity (same for corrensponding specs and template)
* removed address method and use the address (or hostname) defined in the
  endpoints hash directly (logic to set this attribute should rather be
  done in a wrapper (with a fitting method) instead of a static and predefined
  one)
* removed set_endpoints_by_interface recipe since logic for defining the
  endpoints will be moved to wrapper cookbooks
* added helper method merge_config_options for generation of config hashes used
  in service config templates
* added template for openstack-service.conf.erb which can be used by all service
  cookbooks
* deleted all endpoints attibutes, since these are moved to the service
  cookbooks for easier dependency handling

Implements: blueprint cookbook-refactoring
Change-Id: I0547182085eed91d05384fdd7734408a839a9a2c
2016-02-05 08:38:07 +01:00
Samuel Cassiba 42214704ac Point CentOS package source of truth to mirror.centos.org
This removes the additional RDO-testing and RDO-Manager repos in
favor of mirror.centos.org

Change-Id: I89157c03fcccb8a1378b61c4cc6ffd8f59d91991
2015-10-30 07:58:37 -07:00
Mark Vanderwiel 83f887fc23 Try new ChefDK 9.0
Since it's early for us in the M release, we could consider upgrading
ChefDK.  This patch is a test run for that.  Probably need a test run
for the Repo as well before making a decision.

Cleanup minor unit test warning

Change-Id: I9dd80cd10ac0eacfc7146eec48d862dc2f3d7dc2
2015-10-09 11:55:04 -05:00
JJ Asghar 9218fee097 Initial Liberty Updates
MetaData Changes:
- bump metadata version to 12

Other codes changes
- change juno to kilo where appropriate
- rubocop todo file updates
- removed db2 refs

Bootstrap Changes
- Updated to 0.7.0 release of the ChefDK

Change-Id: I65745eae2e430ced0c25e8f05dd490fdad840623
2015-08-28 09:43:49 -05:00
Jenkins 2955ee7ac3 Merge "Add database slave connection support" 2015-08-15 20:48:16 +00:00
Samuel Cassiba 719181a2fd Add RDO testing repo for CentOS
To be consistent with the yum repos provided by the rdo-release RPM

Change-Id: Ie2c6fef1d0566173c31c1e70d94c69e63733a6ce
2015-08-10 10:34:22 -07:00
Min Min Ren 375cdcde14 Add database slave connection support
- Add new attributes for database slave connection
- Change db_uri method to generate slave connection db_uri

Implements: blueprint sql-slave-connection-support
Change-Id: I9996e4944e58264b5195d625c98adaf28a04acd7
2015-07-16 21:45:22 -05:00