'S3ResponseError: 404 Not Found' on euca-register attempt

Asked by Chris St. John

Hello,

We are using Openstack for the first time, and attempting to get it functioning on a recent install of CentOS 6.0 (two machines in use: one Compute host with openstack-nova-compute, and one Controller host running openstack-nova-objectstore, openstack-nova-api, openstack-nova-directapi, openstack-nova-scheduler, and openstack-nova-vncproxy). An interesting bit of trouble is presented when trying to register an image via 'euca-register' on either the Compute or Controller hosts:

> /usr/bin/euca-bundle-image -i ./vmlinuz-2.6.28-11-generic --kernel true
Checking image
Encrypting image
Splitting image...
Part: vmlinuz-2.6.28-11-generic.part.00
Generating manifest /tmp/vmlinuz-2.6.28-11-generic.manifest.xml

> euca-upload-bundle -b newbucket -m /tmp/vmlinuz-2.6.28-11-generic.manifest.xml
Checking bucket: newbucket
Creating bucket: newbucket
Uploading manifest file
Uploading part: vmlinuz-2.6.28-11-generic.part.00
Uploaded image as newbucket/vmlinuz-2.6.28-11-generic.manifest.xml

> euca-register newbucket/vmlinux-2.6.28-generic.manifest.xml
UnknownError: An unknown error has occurred. Please try your request again.

The 'nova-api.log' on the Controller indicates the following:

2011-07-21 09:46:28,325 nova.auth.manager: Looking up user: 'removedfromlog'
2011-07-21 09:46:28,336 nova.auth.manager: user: User('test_user1', 'test_user1', 'removedfromlog', 'removedfromlog', True)
2011-07-21 09:46:28,357 nova.signer: using _calc_signature_2
2011-07-21 09:46:28,358 nova.signer: query string: AWSAccessKeyId=removedfromlog%3Atest_project1&Action=RegisterImage&ImageLocation=newbucket%2Fvmlinux-2.6.28-generic.manifest.xml&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2011-07-21T15%3A46%3A28&Version=2009-11-30
2011-07-21 09:46:28,359 nova.signer: string_to_sign: GET
216.17.xxx.22:8773
/services/Cloud/
AWSAccessKeyId=removedfromlog%3Atest_project1&Action=RegisterImage&ImageLocation=newbucket%2Fvmlinux-2.6.28-generic.manifest.xml&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2011-07-21T15%3A46%3A28&Version=2009-11-30
2011-07-21 09:46:28,359 nova.signer: len(b64)=44
2011-07-21 09:46:28,359 nova.signer: base64 encoded digest: removedfromlog
2011-07-21 09:46:28,360 nova.auth.manager: user.secret: removedfromlog
2011-07-21 09:46:28,360 nova.auth.manager: expected_signature: removedfromlog
2011-07-21 09:46:28,360 nova.auth.manager: signature:removedfromlog
2011-07-21 09:46:28,385 nova.api: AUDIT [removedfromlog test_user1 test_project1] Authenticated Request For test_user1:test_project1)
2011-07-21 09:46:28,386 nova.api: action: RegisterImage
2011-07-21 09:46:28,386 nova.api: arg: ImageLocation val: newbucket/vmlinux-2.6.28-generic.manifest.xml
2011-07-21 09:46:28,437 nova.api: ERROR [removedfromlog test_user1 test_project1] Unexpected error raised: S3ResponseError: 404 Not Found
(nova.api): TRACE: Traceback (most recent call last):
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/nova/api/ec2/__init__.py", line 321, in __call__
(nova.api): TRACE: result = api_request.invoke(context)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/nova/api/ec2/apirequest.py", line 150, in invoke
(nova.api): TRACE: result = method(context, **args)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/nova/api/ec2/cloud.py", line 977, in register_image
(nova.api): TRACE: image = self.image_service.create(context, metadata)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/nova/image/s3.py", line 58, in create
(nova.api): TRACE: image = self._s3_create(context, metadata)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/nova/image/s3.py", line 112, in _s3_create
(nova.api): TRACE: manifest = key.get_contents_as_string()
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/boto/s3/key.py", line 723, in get_contents_as_string
(nova.api): TRACE: self.get_contents_to_file(fp, headers, cb, num_cb, torrent=torrent)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/boto/s3/key.py", line 645, in get_contents_to_file
(nova.api): TRACE: self.get_file(fp, headers, cb, num_cb, torrent=torrent)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/boto/s3/key.py", line 580, in get_file
(nova.api): TRACE: self.open('r', headers, query_args=torrent)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/boto/s3/key.py", line 124, in open
(nova.api): TRACE: self.open_read(headers=headers, query_args=query_args)
(nova.api): TRACE: File "/usr/lib/python2.6/site-packages/boto/s3/key.py", line 96, in open_read
(nova.api): TRACE: raise S3ResponseError(self.resp.status, self.resp.reason)
(nova.api): TRACE: S3ResponseError: S3ResponseError: 404 Not Found
(nova.api): TRACE:
(nova.api): TRACE:
2011-07-21 09:46:28,439 nova.api: ERROR [removedfromlog test_user1 test_project1] Environment: {"HTTP_AUTHORIZATION": "AWSremovedfromlog:test_project1:removedfromlog", "CONTENT_TYPE": "text/plain", "SCRIPT_NAME": "/services/Cloud", "HTTP_DATE": "Thu, 21 Jul 2011 15:46:28 GMT", "REQUEST_METHOD": "GET", "HTTP_HOST": "216.17.xxx.22:8773", "PATH_INFO": "/", "SERVER_PROTOCOL": "HTTP/1.0", "QUERY_STRING": "AWSAccessKeyId=removedfromlog%3Atest_project1&Action=RegisterImage&ImageLocation=newbucket%2Fvmlinux-2.6.28-generic.manifest.xml&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2011-07-21T15%3A46%3A28&Version=2009-11-30&Signature=removedfromlog", "CONTENT_LENGTH": "0", "HTTP_USER_AGENT": "Boto/1.9b (linux2)", "SERVER_NAME": "216.17.xxx.22", "REMOTE_ADDR": "216.17.xxx.23", "wsgi.url_scheme": "http", "SERVER_PORT": "8773", "GATEWAY_INTERFACE": "CGI/1.1", "HTTP_ACCEPT_ENCODING": "identity"}
2011-07-21 09:46:28,440 nova.api: ERROR [removedfromlog test_user1 test_project1] UnknownError: An unknown error has occurred. Please try your request again.
2011-07-21 09:46:28,441 nova.api: INFO [removedfromlog test_user1 test_project1] 0.133235s 216.17.xxx.23 GET /services/Cloud/ CloudController:RegisterImage 400 [Boto/1.9b (linux2)] text/plain text/xml

The current /etc/nova/nova.conf in use on both the Compute and Controller is as follows:

--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
--logdir=/var/log/nova
--state_path=/var/lib/nova
--verbose=true
--s3_host=216.17.xxx.22
--s3_port=3333
--s3_listen=216.17.xxx.22
--use_s3=true
--auth_driver=nova.auth.dbdriver.DbDriver
--cc_host=216.17.xxx.22
--rabbit_host=216.17.xxx.22
--ec2_host=216.17.xxx.22
--ec2_url=http://216.17.xxx.22:8773/services/Cloud
--ec2_listen=216.17.xxx.22
--fixed_range=192.168.0.0/16
--network_size=8
--sql_connection=mysql://xxx:xxx@216.17.xxx.22/xxx
--libvirt_type=kvm
--logging_context_format_string=%(asctime)s %(name)s: %(levelname)s [%(request_id)s %(user)s %(project)s] %(message)s
--logging_default_format_string=%(asctime)s %(name)s: %(message)s
--logging_debug_format_suffix=
--use_ipv6=false

Any light you can shed on this issue would be greatly appreciated - please let us know if you require additional information. Thanks!

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Chris St. John
Solved:
Last query:
Last reply:
Revision history for this message
Chris St. John (cstjohn-1) said :
#1

Quick typo:

> euca-register newbucket/vmlinux-2.6.28-generic.manifest.xml

should be:

> euca-register newbucket/vmlinux-2.6.28-11-generic.manifest.xml

(as per Generating "manifest /tmp/vmlinuz-2.6.28-11-generic.manifest.xml")

Revision history for this message
Chuck Thier (cthier) said :
#2

Moved question to the Nova queue

Revision history for this message
Chris St. John (cstjohn-1) said :
#3

We were able to get the image registered and spin it up - pretty sure it was just a typo on our side.

# euca-register -n vmlinuz-2.6.28-11-generic -a x86_64 -A removedfromlog:test_project1 -S removedfromlog -U http://216.17.xxx.22:8773/services/Cloud --debug newbucket/vmlinuz-2.6.28-11-generic.manifest.xml
IMAGE aki-39bee40f