From 12bfe6e13e63b25f245b48179895541fb866f794 Mon Sep 17 00:00:00 2001 From: Lance Albertson Date: Thu, 5 Dec 2019 17:51:24 -0800 Subject: [PATCH] Updates for rocky - Replace git.openstack.org with opendev.org - Update some documentation - Move README.md to README.rst for better rendering - Drop obsolete bootstrap.sh script Change-Id: I1d9ec1bac4b008f4ccf2c64194900ebb6db49c8d --- Berksfile | 11 +-- README.md | 180 ---------------------------------------- README.rst | 227 +++++++++++++++++++++++++++++++++++++++++++++++++++ Rakefile | 2 +- bootstrap.sh | 6 -- metadata.rb | 12 ++- 6 files changed, 240 insertions(+), 198 deletions(-) delete mode 100644 README.md create mode 100644 README.rst delete mode 100755 bootstrap.sh diff --git a/Berksfile b/Berksfile index 4951939..7059c10 100644 --- a/Berksfile +++ b/Berksfile @@ -1,14 +1,11 @@ source 'https://supermarket.chef.io' -%w(common identity).each do |cookbook| - if Dir.exist?("../cookbook-openstack-#{cookbook}") - cookbook "openstack-#{cookbook}", path: "../cookbook-openstack-#{cookbook}" +%w(client -common -identity).each do |cookbook| + if Dir.exist?("../cookbook-openstack#{cookbook}") + cookbook "openstack#{cookbook}", path: "../cookbook-openstack#{cookbook}" else - cookbook "openstack-#{cookbook}", git: "https://git.openstack.org/openstack/cookbook-openstack-#{cookbook}" + cookbook "openstack#{cookbook}", git: "https://opendev.org/openstack/cookbook-openstack#{cookbook}" end end -cookbook 'openstackclient', - git: 'https://git.openstack.org/openstack/cookbook-openstackclient' - metadata diff --git a/README.md b/README.md deleted file mode 100644 index 76a2c9a..0000000 --- a/README.md +++ /dev/null @@ -1,180 +0,0 @@ -Team and repository tags -======================== - -[![Team and repository tags](http://governance.openstack.org/badges/cookbook-openstack-image.svg)](http://governance.openstack.org/reference/tags/index.html) - - - -![Chef OpenStack Logo](https://www.openstack.org/themes/openstack/images/project-mascots/Chef%20OpenStack/OpenStack_Project_Chef_horizontal.png) - -Description -=========== - -This cookbook installs the OpenStack Image service **Glance** as part of an -OpenStack reference deployment Chef for OpenStack. The -https://github.com/openstack/openstack-chef contains documentation for using -this cookbook in the context of a full OpenStack deployment. Glance is installed -from packages, optionally populating the repository with default images. - -http://docs.openstack.org/mitaka/config-reference/image-service.html - -Requirements -============ - -- Chef 12 or higher -- chefdk 0.9.0 or later for testing (also includes berkshelf for cookbook - dependency resolution) - -Platform -======== - -- ubuntu -- redhat -- centos - -Cookbooks -========= - -The following cookbooks are dependencies: - -- 'openstack-common', '>= 14.0.0' -- 'openstack-identity', '>= 14.0.0' -- 'openstackclient', '>= 0.1.0' - -Attributes -========== - -Please see the extensive inline documentation in `attributes/*.rb` for -descriptions of all the settable attributes for this cookbook. - -Note that all attributes are in the `default['openstack']` "namespace" - -The usage of attributes to generate the glance-api.conf is described in the -openstack-common cookbook. - -Recipes -======= - -## openstack-image::api -- Installs the glance-api server - -## openstack-image::client -- Install the glance client packages - -## openstack-image::identityr_registration -- Registers the API endpoint and glance service Keystone user - -## openstack-image::image-upload -- Upload image to glance. If you want to upload image during openstack - installation, you need to add this recipe or the os-image role to the run list - in a certain role and ensure before this recipe or the os-image role glance api - recipes have been executed. - -Glance Backend -============== - -The Glance cookbook currently supports file, swift, and Rackspace Cloud Files -(swift API compliant) backing stores. NOTE: changing the storage location from -cloudfiles to swift (and vice versa) requires that you manually export and -import your stored images. - -To enable these features set the following in the default attributes section in -your environment: - -Files ------ - -```json -"openstack": { - "image": { - "api": { - "default_store": "file" - }, - "upload_images": [ - "cirros" - ] - } -} -``` - -Swift ------ - -```json -"openstack": { - "image": { - "api": { - "default_store": "swift" - }, - "upload_images": [ - "cirros" - ] - } -} -``` - -Providers -========= - -image ------ - -Action: `:upload` - -- `:image_url`: Location of the image to be loaded into Glance. -- `:image_name`: A name for the image. -- `:image_type`: `unknown`, `qcow`, `ami`, `vhd`, `vmdk`, `vdi`, `iso`, `raw`. - Defaults of `unknown` will use file extension '.gz', '.tgz' = ami, '.qcow2', - '.img' = qcow. -- `:identity_user`: Username of the Keystone admin user. -- `:identity_pass`: Password for the Keystone admin user. -- `:identity_tenant`: Name of the Keystone admin user's tenant. -- `:identity_uri`: URI of the Identity API endpoint. - -For testing this provider with ChefSpec, a custom matcher was added to `libraries/matchers.rb`. - -License and Author -================== - -| | | -|:---------------------|:---------------------------------------------------| -| **Author** | Justin Shepherd () | -| **Author** | Jason Cannavale () | -| **Author** | Ron Pedde () | -| **Author** | Joseph Breu () | -| **Author** | William Kelly () | -| **Author** | Darren Birkett () | -| **Author** | Evan Callicoat () | -| **Author** | Matt Ray () | -| **Author** | Jay Pipes () | -| **Author** | John Dewey () | -| **Author** | Craig Tracey () | -| **Author** | Sean Gallagher () | -| **Author** | Mark Vanderwiel () | -| **Author** | Salman Baset () | -| **Author** | Chen Zhiwei () | -| **Author** | Eric Zhou () | -| **Author** | Jian Hua Geng () | -| **Author** | Ionut Artarisi () | -| **Author** | Imtiaz Chowdhury () | -| **Author** | Jan Klare () | -| **Author** | Christoph Albers () | -| | | -| **Copyright** | Copyright (c) 2012, Rackspace US, Inc. | -| **Copyright** | Copyright (c) 2012-2013, Opscode, Inc. | -| **Copyright** | Copyright (c) 2012-2013, AT&T Services, Inc. | -| **Copyright** | Copyright (c) 2013, Craig Tracey | -| **Copyright** | Copyright (c) 2013-2014, IBM Corp. | -| **Copyright** | Copyright (c) 2014, SUSE Linux, GmbH. | - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. diff --git a/README.rst b/README.rst new file mode 100644 index 0000000..b0cee45 --- /dev/null +++ b/README.rst @@ -0,0 +1,227 @@ +OpenStack Chef Cookbook - image +=============================== + +.. image:: https://governance.openstack.org/badges/cookbook-openstack-image.svg + :target: https://governance.openstack.org/reference/tags/index.html + +Description +=========== + +This cookbook installs the OpenStack Image service **Glance** as part of +an OpenStack reference deployment Chef for OpenStack. The `OpenStack +chef-repo`_ contains documentation for using this cookbook in the +context of a full OpenStack deployment. Glance is installed from +packages, optionally populating the repository with default images. + +.. _OpenStack chef-repo: https://opendev.org/openstack/openstack-chef + +https://docs.openstack.org/glance/latest + +Requirements +============ + +- Chef 14 or higher +- ChefDK 3.2.30 for testing (also includes Berkshelf for cookbook + dependency resolution) + +Platform +======== + +- ubuntu +- redhat +- centos + +Cookbooks +========= + +The following cookbooks are dependencies: + +- 'openstackclient' +- 'openstack-common', '>= 18.0.0' +- 'openstack-identity', '>= 18.0.0' + +Attributes +========== + +Please see the extensive inline documentation in ``attributes/*.rb`` for +descriptions of all the settable attributes for this cookbook. + +Note that all attributes are in the ``default['openstack']`` "namespace" + +The usage of attributes to generate the ``glance-api.conf`` is described +in the openstack-common cookbook. + +Recipes +======= + +openstack-image::api +-------------------- + +- Installs the glance-api server + +openstack-image::identity_registration +-------------------------------------- + +- Registers the API endpoint and glance service Keystone user + +openstack-image::image-upload +----------------------------- + +- Upload image to glance. If you want to upload image during openstack + installation, you need to add this recipe or the os-image role to the + run list in a certain role and ensure before this recipe or the + os-image role glance api recipes have been executed. + +openstack-image::swift_store +---------------------------- + +- Install and configure swift glance packages + +Glance Backend +============== + +The Glance cookbook currently supports file, swift, and Rackspace Cloud +Files (swift API compliant) backing stores. NOTE: changing the storage +location from cloudfiles to swift (and vice versa) requires that you +manually export and import your stored images. + +To enable these features set the following in the default attributes +section in your environment: + +Files +----- + +.. code:: json + + "openstack": { + "image": { + "api": { + "default_store": "file" + }, + "upload_images": [ + "cirros" + ] + } + } + +Swift +----- + +.. code:: json + + "openstack": { + "image": { + "api": { + "default_store": "swift" + }, + "upload_images": [ + "cirros" + ] + } + } + +Custom Resources +================ + +image +----- + +Action: ``:upload`` + +- ``:image_url``: Location of the image to be loaded into Glance. +- ``:image_name``: A name for the image. +- ``:image_type``: ``unknown``, ``qcow``, ``ami``, ``vhd``, ``vmdk``, + ``vdi``, ``iso``, ``raw``. Defaults of ``unknown`` will use file + extension '.gz', '.tgz' = ami, '.qcow2', '.img' = qcow. +- ``:image_public``: Set image to be public or private +- ``:image_id``: Set the image ID +- ``:identity_user``: Username of the Keystone admin user. +- ``:identity_pass``: Password for the Keystone admin user. +- ``:identity_tenant``: Name of the Keystone admin user's tenant. +- ``:identity_uri``: URI of the Identity API endpoint. +- ``:identity_user_domain_name``: User domain name for Keystone admin + user. +- ``:identity_project_domain_name``: Project domain name for Keystone + admin user. + +For testing this provider with ChefSpec, a custom matcher was added to +``libraries/matchers.rb``. + +License and Author +================== + ++-----------------+----------------------------------------------------------+ +| **Author** | Justin Shepherd (justin.shepherd@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Jason Cannavale (jason.cannavale@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Ron Pedde (ron.pedde@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Joseph Breu (joseph.breu@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | William Kelly (william.kelly@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Darren Birkett (darren.birkett@rackspace.co.uk) | ++-----------------+----------------------------------------------------------+ +| **Author** | Evan Callicoat (evan.callicoat@rackspace.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Matt Ray (matt@opscode.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Jay Pipes (jaypipes@att.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | John Dewey (jdewey@att.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Craig Tracey (craigtracey@gmail.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Sean Gallagher (sean.gallagher@att.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Mark Vanderwiel (vanderwl@us.ibm.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Salman Baset (sabaset@us.ibm.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Chen Zhiwei (zhiwchen@cn.ibm.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Eric Zhou (zyouzhou@cn.ibm.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Jian Hua Geng (gengjh@cn.ibm.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Ionut Artarisi (iartarisi@suse.cz) | ++-----------------+----------------------------------------------------------+ +| **Author** | Imtiaz Chowdhury (imtiaz.chowdhury@workday.com) | ++-----------------+----------------------------------------------------------+ +| **Author** | Jan Klare (j.klare@cloudbau.de) | ++-----------------+----------------------------------------------------------+ +| **Author** | Christoph Albers (c.albers@x-ion.de) | ++-----------------+----------------------------------------------------------+ +| **Author** | Lance Albertson (lance@osuosl.org) | ++-----------------+----------------------------------------------------------+ + ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2012, Rackspace US, Inc. | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2012-2013, Opscode, Inc. | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2012-2013, AT&T Services, Inc. | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2013, Craig Tracey craigtracey@gmail.com | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2013-2014, IBM Corp. | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2014, SUSE Linux, GmbH. | ++-----------------+----------------------------------------------------------+ +| **Copyright** | Copyright (c) 2019, Oregon State University | ++-----------------+----------------------------------------------------------+ + +Licensed under the Apache License, Version 2.0 (the "License"); you may +not use this file except in compliance with the License. You may obtain +a copy of the License at + +:: + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/Rakefile b/Rakefile index 137cc2f..6ec521b 100644 --- a/Rakefile +++ b/Rakefile @@ -33,7 +33,7 @@ end desc 'All-in-One Neutron build Infra using Common task' task :integration do # Use the common integration task - sh %(wget -nv -t 3 -O Rakefile-Common https://raw.githubusercontent.com/openstack/cookbook-openstack-common/master/Rakefile) + sh %(wget -nv -t 3 -O Rakefile-Common https://opendev.org/openstack/cookbook-openstack-common/raw/branch/master/Rakefile) load './Rakefile-Common' Rake::Task['common_integration'].invoke end diff --git a/bootstrap.sh b/bootstrap.sh deleted file mode 100755 index 41bbec7..0000000 --- a/bootstrap.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -x -## This script is for installing all the needed packages on trusty to run the chef tests with 'chef exec rake'. -## It relies on the common bootstrap.sh from openstack/cookbook-openstack-common for installing common dependencies. - -wget -nv -t 3 -O common-bootstrap.sh https://raw.githubusercontent.com/openstack/cookbook-openstack-common/master/bootstrap.sh -/bin/bash -x common-bootstrap.sh diff --git a/metadata.rb b/metadata.rb index 4f03f54..7d5bdd2 100644 --- a/metadata.rb +++ b/metadata.rb @@ -3,9 +3,13 @@ maintainer 'openstack-chef' maintainer_email 'openstack-discuss@lists.openstack.org' license 'Apache-2.0' description 'Installs and configures the Glance Image Registry and Delivery Service' -long_description IO.read(File.join(File.dirname(__FILE__), 'README.md')) version '18.0.0' +recipe 'openstack-image::api', 'Installs the glance-api server' +recipe 'openstack-image::identity_registration', 'Registers the API endpoint and glance service Keystone user' +recipe 'openstack-image::image-upload', 'Upload image to glance.' +recipe 'openstack-image::swift_store', 'Install and configure swift glance packages' + %w(ubuntu redhat centos).each do |os| supports os end @@ -14,6 +18,6 @@ depends 'openstackclient' depends 'openstack-common', '>= 18.0.0' depends 'openstack-identity', '>= 18.0.0' -issues_url 'https://launchpad.net/openstack-chef' if respond_to?(:issues_url) -source_url 'https://github.com/openstack/cookbook-openstack-image' if respond_to?(:source_url) -chef_version '>= 12.5' if respond_to?(:chef_version) +issues_url 'https://launchpad.net/openstack-chef' +source_url 'https://opendev.org/openstack/cookbook-openstack-image' +chef_version '>= 14.0'