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.