[chef] RE: Problem with Openstack cookbook upload


Chronological Thread 
  • From: Soheil Eizadi < >
  • To: " " < >
  • Cc: " " < >
  • Subject: [chef] RE: Problem with Openstack cookbook upload
  • Date: Wed, 14 Jan 2015 21:11:48 +0000
  • Accept-language: en-US

Ran this with more verbose output "-VV", i am now able to isolate the problem to the specific cookbook: e.g. ceilometer

The problem is not with the format being invalid, but that the field is missing. I added it to all the RackSpace recipes and now it is able to upload. 

Line like this (sorry Justin your email was the first one in the list):
maintainer_email  " "

-Soheil

If you look at the log value below is set to NULL: maintainer_email":null

DEBUG: Initiating PUT to https://api.opscode.com/organizations/iatg/cookbooks/ceilometer/4.2.0

DEBUG: ---- HTTP Request Header Data: ----

DEBUG: Content-Type: application/json

DEBUG: Accept: application/json

DEBUG: Accept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3

DEBUG: X-OPS-SIGN: algorithm=sha1;version=1.0;

DEBUG: X-OPS-USERID: seizadi

DEBUG: X-OPS-TIMESTAMP: 2015-01-14T20:24:56Z

DEBUG: HOST: api.opscode.com:443

DEBUG: X-REMOTE-REQUEST-ID: 0674947e-65a0-47db-a893-c821cbda49e6

DEBUG: Content-Length: 9288

DEBUG: ---- End HTTP Request Header Data ----

DEBUG: ---- HTTP Status and Header Data: ----

DEBUG: HTTP 1.1 400 Bad Request

DEBUG: server: ngx_openresty

DEBUG: date: Wed, 14 Jan 2015 20:24:54 GMT

DEBUG: content-length: 55

DEBUG: connection: close

DEBUG: x-ops-api-info: flavor=hec;version=12.0.0;oc_erchef=0.29.2

DEBUG: ---- End HTTP Status/Header Data ----

DEBUG: ---- HTTP Response Body ----

DEBUG: {"error":["Field 'metadata.maintainer_email' invalid"]}

DEBUG: ---- End HTTP Response Body -----

DEBUG: ---- HTTP Request Body ----

DEBUG: {"recipes":[{"name":"ceilometer-api-ssl.rb","path":"recipes/ceilometer-api-ssl.rb","checksum":"9fec248c21d7b143dc2f1c2e883b645f","specificity":"default"},{"name":"ceilometer-api.rb","path":"recipes/ceilometer-api.rb","checksum":"cc71e816296fc445c36cc19e9506d224","specificity":"default"},{"name":"ceilometer-central-agent.rb","path":"recipes/ceilometer-central-agent.rb","checksum":"59911d5cf9cbe26a1a615d745449f0ca","specificity":"default"},{"name":"ceilometer-collector.rb","path":"recipes/ceilometer-collector.rb","checksum":"567938e035245d8b7722734f3c34b91e","specificity":"default"},{"name":"ceilometer-common.rb","path":"recipes/ceilometer-common.rb","checksum":"89b6e11a218391ad4dde857e1373517b","specificity":"default"},{"name":"ceilometer-compute.rb","path":"recipes/ceilometer-compute.rb","checksum":"4ca5e453ad148d0961352a738915d2c9","specificity":"default"},{"name":"ceilometer-fix-sqlalchemy-compute.rb","path":"recipes/ceilometer-fix-sqlalchemy-compute.rb","checksum":"05d5bdcb7123bb981a00f19ae496db4d","specificity":"default"},{"name":"ceilometer-fix-sqlalchemy.rb","path":"recipes/ceilometer-fix-sqlalchemy.rb","checksum":"ab2226c104de320eb0a171ae598062f8","specificity":"default"},{"name":"ceilometer-setup.rb","path":"recipes/ceilometer-setup.rb","checksum":"0b3c50e70dbc4ee8619edbe4af3a6a3a","specificity":"default"}],"definitions":[],"libraries":[],"attributes":[{"name":"default.rb","path":"attributes/default.rb","checksum":"b66330e20243354e257b7691209fae2d","specificity":"default"}],"files":[{"name":"ceilometer-api-mod_wsgi.py","path":"files/default/ceilometer-api-mod_wsgi.py","checksum":"81b5d4d834ee79dc8ce4ea2fb7524412","specificity":"default"},{"name":"ceilometer-dist.conf","path":"files/default/ceilometer-dist.conf","checksum":"3c183b3e804cab2cadba6612078b5739","specificity":"default"},{"name":"ceilometer.key","path":"files/default/ceilometer.key","checksum":"d604ae726795f09e65f15b61af73d69b","specificity":"default"},{"name":"ceilometer.pem","path":"files/default/ceilometer.pem","checksum":"cf7002cb44d36e50cda5c5b9ca1b131e","specificity":"default"}],"templates":[{"name":"ceilometer.conf.erb","path":"templates/default/ceilometer.conf.erb","checksum":"b0db77c78b2b7da951507ba7be494d2c","specificity":"default"},{"name":"modwsgi_vhost.erb","path":"templates/default/modwsgi_vhost.erb","checksum":"d747df377941624aac65ec9c861731c8","specificity":"default"},{"name":"020_add_metadata_tables.py.erb","path":"templates/default/patches/020_add_metadata_tables.py.erb","checksum":"0a3df1b31365990037013223276ba566","specificity":"default"},{"name":"impl_sqlalchemy.py.erb","path":"templates/default/patches/impl_sqlalchemy.py.erb","checksum":"c4ae2463816bf2ce3163f808b5dcb87b","specificity":"default"},{"name":"models.py.erb","path":"templates/default/patches/models.py.erb","checksum":"e78b4a9a9c186d0d97ebdfc0711cab27","specificity":"default"},{"name":"utils.py.erb","path":"templates/default/patches/utils.py.erb","checksum":"f7658c2da2863eeaf9e170de14e82ca9","specificity":"default"},{"name":"pipeline.yaml.erb","path":"templates/default/pipeline.yaml.erb","checksum":"dc9ca93cbc171b575190dd8f9dae03af","specificity":"default"},{"name":"policy.json.erb","path":"templates/default/policy.json.erb","checksum":"4bf23252d4b00a0bdd3efebb4a5d1af5","specificity":"default"},{"name":"sources.json.erb","path":"templates/default/sources.json.erb","checksum":"91544c62c4a110783c9ae1b826e7c3e0","specificity":"default"}],"resources":[],"providers":[],"root_files":[{"name":".git","path":".git","checksum":"c5925839c78115fea2707fed5a9ad3d4","specificity":"default"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","checksum":"1d66d7abc70e0ad505951e60f72e272f","specificity":"default"},{"name":"metadata.rb","path":"metadata.rb","checksum":"085a1b3c844499fc0a40b89d6e196762","specificity":"default"},{"name":"README.md","path":"README.md","checksum":"8fa1940b09ac5f8404506e92ef08648f","specificity":"default"},{"name":"VERSION","path":"VERSION","checksum":"28e407d0459c1da3c39f64e021e2d318","specificity":"default"}],"cookbook_name":"ceilometer","metadata":{"name":"ceilometer","description":"Installs/Configures ceilometer","long_description":"Support\n=======\n\nIssues have been disabled for this repository.\nAny issues with this cookbook should be raised here:\n\n[https://github.com/rcbops/chef-cookbooks/issues](https://github.com/rcbops/chef\n-cookbooks/issues)\n\nPlease title the issue as follows:\n\n[ceilometer]: \\<short description of problem\\>\n\nIn the issue description, please include a longer description of the issue, alon\ng with any relevant log/command/error output.\nIf logfiles are extremely long, please place the relevant portion into the issue\ndescription, and link to a gist containing the entire logfile\n\nPlease see the [contribution guidelines](CONTRIBUTING.md) for more information about contributing to this cookbook.\n\nDescription\n===========\n\nInstalls the OpenStack Ceilometer service from packages\n\nRequirements\n============\n\nChef 11 or higher\n\nPlatform\n--------\n\n* CentOS >= 6.3\n* Ubuntu >= 12.04\n\nCookbooks\n---------\n\nThe following cookbooks are dependencies:\n\n* database\n* keystone\n* monitoring\n* mysql\n* openssl\n* osops-utils\n* keepalived\n\nResources/Providers\n===================\n\nNone\n\n\nRecipes\n=======\n\nceilometer-common\n-------\n- Installs common packages and sets up config file\n\nceilometer-setup\n-----\n- Sets up database, config files and keystone config\n- Handles keystone registration and glance database creation\n\nceilometer-api\n------\n- Installs the ceilometer-api server\n\nceilometer-compute\n--------\n- Installs the ceilometer-compute agent on a nova-compute node\n\nceilometer-central-agent\n--------------\n- installs the ceilometer central (polling) agent\n\nceilometer-collector\n----------\n- installs the collector services (consumes messages from the message bus)\n\n\nAttributes\n==========\n\n* `ceilometer[\"db\"][\"name\"]` = \"ceilometer\"\n* `ceilometer[\"db\"][\"username\"]` = \"ceilometer\"\n* `ceilometer[\"service_tenant_name\"]` = \"service\"\n* `ceilometer[\"service_user\"]` = \"ceilometer\"\n* `ceilometer[\"service_role\"]` = \"admin\"\n* `ceilometer[\"services\"][\"api\"][\"scheme\"]` = \"http\"\n* `ceilometer[\"services\"][\"api\"][\"network\"]` = osops-network on which to run the api\n* `ceilometer[\"services\"][\"api\"][\"port\"]` = 8777\n* `ceilometer[\"services\"][\"api\"][\"path\"]` = \"/\"\n* `ceilometer[\"syslog\"][\"use\"]` = true\n* `ceilometer[\"syslog\"][\"facility\"]` = \"LOG_LOCAL3\"\n* `ceilometer[\"logging\"][\"debug\"]` = \"false\"\n* `ceilometer[\"logging\"][\"verbose\"]` = \"false\"\n\nTemplates\n=========\n\n* `ceilometer.conf.erb` - rsyslog config file for glance\n\nLicense and Author\n==================\n\nAuthor:: Justin Shepherd (< >)  \nAuthor:: Jason Cannavale (< >)  \nAuthor:: Ron Pedde (< >)  \nAuthor:: Joseph Breu (< >)  \nAuthor:: William Kelly (< >)  \nAuthor:: Darren Birkett (< >)  \nAuthor:: Evan Callicoat (< >)  \nAuthor:: Matt Thompson (< >)  \nAuthor:: Andy McCrae (< >)  \n\nCopyright 2012-2013, Rackspace US, Inc.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n","maintainer":"Rackspace US, Inc.","maintainer_email":null,"license":"Apache 2.0","platforms":{"ubuntu":">= 0.0.0"},"dependencies":{"keepalived":">= 0.0.0","apt":">= 0.0.0","database":">= 0.0.0","monitoring":">= 0.0.0","mysql":">= 0.0.0","osops-utils":">= 0.0.0","apache2":">= 0.0.0","keystone":">= 1.0.20"},"recommendations":{},"suggestions":{},"conflicting":{},"providing":{"ceilometer::ceilometer-api-ssl":">= 0.0.0","ceilometer::ceilometer-api":">= 0.0.0","ceilometer::ceilometer-central-agent":">= 0.0.0","ceilometer::ceilometer-collector":">= 0.0.0","ceilometer::ceilometer-common":">= 0.0.0","ceilometer::ceilometer-compute":">= 0.0.0","ceilometer::ceilometer-fix-sqlalchemy-compute":">= 0.0.0","ceilometer::ceilometer-fix-sqlalchemy":">= 0.0.0","ceilometer::ceilometer-setup":">= 0.0.0"},"replacing":{},"attributes":{},"groupings":{},"recipes":{"ceilometer::ceilometer-api-ssl":"","ceilometer::ceilometer-api":"","ceilometer::ceilometer-central-agent":"","ceilometer::ceilometer-collector":"","ceilometer::ceilometer-common":"","ceilometer::ceilometer-compute":"","ceilometer::ceilometer-fix-sqlalchemy-compute":"","ceilometer::ceilometer-fix-sqlalchemy":"","ceilometer::ceilometer-setup":""},"version":"4.2.0","source_url":"","issues_url":""},"version":"4.2.0","name":"ceilometer-4.2.0","frozen?":false,"chef_type":"cookbook_version","json_class":"Chef::CookbookVersion"}

DEBUG: ---- End HTTP Request Body ----

DEBUG: Chef::HTTP calling Chef::HTTP::ValidateContentLength#handle_response

DEBUG: Content-Length validated correctly.

DEBUG: Chef::HTTP calling Chef::HTTP::RemoteRequestID#handle_response

DEBUG: Chef::HTTP calling Chef::HTTP::Authenticator#handle_response

DEBUG: Chef::HTTP calling Chef::HTTP::Decompressor#handle_response

DEBUG: Chef::HTTP calling Chef::HTTP::CookieManager#handle_response

DEBUG: Chef::HTTP calling Chef::HTTP::JSONToModelOutput#handle_response

DEBUG: Expected JSON response, but got content-type ''

DEBUG: Chef::HTTP calling Chef::HTTP::JSONInput#handle_response

INFO: HTTP Request Returned 400 Bad Request: error

/opt/chef/embedded/lib/ruby/2.1.0/net/http/response.rb:119:in `error!': 400 "Bad Request" (Net::HTTPServerException)

from /opt/chef/embedded/apps/chef/lib/chef/http.rb:145:in `request'

from /opt/chef/embedded/apps/chef/lib/chef/http.rb:118:in `put'

from /opt/chef/embedded/apps/chef/lib/chef/cookbook_uploader.rb:97:in `block in upload_cookbooks'

from /opt/chef/embedded/apps/chef/lib/chef/cookbook_uploader.rb:94:in `each'

from /opt/chef/embedded/apps/chef/lib/chef/cookbook_uploader.rb:94:in `upload_cookbooks'

from /opt/chef/embedded/apps/chef/lib/chef/knife/cookbook_upload.rb:243:in `upload'

from /opt/chef/embedded/apps/chef/lib/chef/knife/cookbook_upload.rb:114:in `run'

from /opt/chef/embedded/apps/chef/lib/chef/knife.rb:417:in `block in run_with_pretty_exceptions'

from /opt/chef/embedded/apps/chef/lib/chef/local_mode.rb:38:in `with_server_connectivity'

from /opt/chef/embedded/apps/chef/lib/chef/knife.rb:416:in `run_with_pretty_exceptions'

from /opt/chef/embedded/apps/chef/lib/chef/knife.rb:213:in `run'

from /opt/chef/embedded/apps/chef/lib/chef/application/knife.rb:139:in `run'

from /opt/chef/embedded/apps/chef/bin/knife:25:in `<top (required)>'

from /usr/bin/knife:40:in `load'

from /usr/bin/knife:40:in `<main>'

Administrators-MacBook-Pro-88:chef-cookbooks seizadi$ 


From: Soheil Eizadi
Sent: Wednesday, January 14, 2015 12:15 PM
To:
Subject: [chef] Problem with Openstack cookbook upload

Hi,
I am trying to use the OpenStack Cookbooks on site:

When I run upload the cookbooks I get following error:

ERROR: The data in your request was invalid

Response: Field 'metadata.maintainer_email' invalid


I am using a Hosted Chef Server and trying to load the latest cookbooks. I searched for this and did not see it posted not sure if it is a new problem? (I am going to setup a local Chef-Server and see if what happens.)
-Soheil

Here is a complete/verbose log:


seizadi$ knife cookbook upload -o cookbooks --all -V

INFO: Using configuration from /Users/seizadi/chef/openstack/chef-cookbooks/.chef/knife.rb

Uploading apache2        [1.8.15]

Uploading apt            [2.4.1]

Uploading aws            [2.2.3]

Uploading build-essential [1.4.4]

Uploading ceilometer     [4.2.0]

Uploading ceph           [0.1.0]

Uploading chef-client    [3.5.1]

Uploading cinder         [4.2.0]

Uploading collectd       [4.2.0]

Uploading collectd-graphite [4.2.0]

Uploading collectd-plugins [4.2.0]

Uploading cron           [1.4.1]

Uploading database       [1.6.1]

Uploading dsh            [4.2.0]

Uploading erlang         [1.3.7]

Uploading exerstack      [4.2.0]

Uploading glance         [4.2.0]

Uploading graphite       [4.2.0]

Uploading haproxy        [4.2.0]

Uploading hardware       [4.2.0]

Uploading heat           [4.2.0]

Uploading horizon        [4.2.0]

Uploading iptables       [0.13.3]

Uploading keepalived     [4.2.0]

Uploading keystone       [4.2.0]

Uploading kong           [4.2.0]

Uploading logrotate      [1.5.0]

Uploading memcached      [1.6.7]

Uploading memcached-openstack [4.2.0]

Uploading monit          [4.2.0]

Uploading monitoring     [4.2.0]

Uploading mysql          [4.0.20]

Uploading mysql-openstack [4.2.0]

Uploading nova           [4.2.0]

Uploading nova-network   [4.2.0]

Uploading ntp            [1.6.3]

Uploading openssh        [1.3.5]

Uploading openssl        [1.1.1]

Uploading openstack-ceph [4.2.0]

Uploading openstack-ha   [4.2.0]

Uploading openstack-logging [4.2.0]

Uploading openstack-monitoring [4.2.0]

Uploading osops-utils    [4.2.0]

Uploading postgresql     [3.4.0]

Uploading rabbitmq       [2.2.0]

Uploading rabbitmq-openstack [4.2.0]

Uploading rsyslog        [1.12.3]

Uploading runit          [1.4.7]

Uploading selinux        [0.8.1]

Uploading sosreport      [4.2.0]

Uploading sysctl         [4.2.0]

Uploading tempest        [4.2.0]

Uploading xfs            [1.1.0]

Uploading yum            [2.4.5]

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Validating ruby files

INFO: Validating templates

INFO: Syntax OK

INFO: Saving apache2

INFO: Saving apt

INFO: Saving aws

INFO: Saving build-essential

INFO: Saving ceilometer

INFO: Saving ceph

INFO: Saving chef-client

INFO: Saving cinder

INFO: Saving collectd

INFO: Saving collectd-graphite

INFO: Saving collectd-plugins

INFO: Saving cron

INFO: Saving database

INFO: Saving dsh

INFO: Saving erlang

INFO: Saving exerstack

INFO: Saving glance

INFO: Saving graphite

INFO: Saving haproxy

INFO: Saving hardware

INFO: Saving heat

INFO: Saving horizon

INFO: Saving iptables

INFO: Saving keepalived

INFO: Saving keystone

INFO: Saving kong

INFO: Saving logrotate

INFO: Saving memcached

INFO: Saving memcached-openstack

INFO: Saving monit

INFO: Saving monitoring

INFO: Saving mysql

INFO: Saving mysql-openstack

INFO: Saving nova

INFO: Saving nova-network

INFO: Saving ntp

INFO: Saving openssh

INFO: Saving openssl

INFO: Saving openstack-ceph

INFO: Saving openstack-ha

INFO: Saving openstack-logging

INFO: Saving openstack-monitoring

INFO: Saving osops-utils

INFO: Saving postgresql

INFO: Saving rabbitmq

INFO: Saving rabbitmq-openstack

INFO: Saving rsyslog

INFO: Saving runit

INFO: Saving selinux

INFO: Saving sosreport

INFO: Saving sysctl

INFO: Saving tempest

INFO: Saving xfs

INFO: Saving yum

INFO: Uploading files

INFO: HTTP Request Returned 400 Bad Request: error

ERROR: The data in your request was invalid

Response: Field 'metadata.maintainer_email' invalid




Archive powered by MHonArc 2.6.16.

§