Kitchen Open Stack 提供 "excon.error.response"
Kitchen Open Stack gives "excon.error.response"
我一直在尝试将 Kitchen 与 Openstack 结合使用。我按照这个 link https://github.com/test-kitchen/kitchen-openstack 中的描述做了
当我做厨房清单时它显示
/root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/fog-1.27.0/lib/fog/openstack/volume.rb:191: warning: duplicated key at line 196 ignored: :openstack_region
Instance Driver Provisioner Last Action
default-centos-7 Openstack ChefSolo <Not Created>
但是当我做厨房测试时它给出了
-----> Cleaning up any prior instances of <default-centos-7>
-----> Destroying <default-centos-7>...
Finished destroying <default-centos-7> (0m0.00s).
-----> Testing <default-centos-7>
-----> Creating <default-centos-7>...
>>>>>> Create failed on instance <default-centos-7>.
>>>>>> Please see .kitchen/logs/default-centos-7.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Expected([200, 204]) <=> Actual(400 Bad Request)
excon.error.response
:body => "{\"error\": {\"message\": \"get_version_v2() got an unexpected keyword argument 'auth'\", \"code\": 400, \"title\": \"Bad Request\"}}"
:headers => {
"Connection" => "close"
"Content-Length" => "121"
"Content-Type" => "application/json"
"Date" => "Wed, 04 Feb 2015 07:14:10 GMT"
"Server" => "Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5"
"Vary" => "X-Auth-Token"
}
:local_address => "local IP"
:local_port => 43870
:reason_phrase => "Bad Request"
:remote_ip => "remote IP"
:status => 400
>>>>>> ----------------------
请告诉我这是什么错误。
这是我的 .kitchen.yml 文件
driver:
name: openstack
openstack_username: username
openstack_api_key: key
openstack_auth_url: url
require_chef_omnibus: true
server_name: newstack
network_ref: public
public_key_path: /opt/stack/.ssh/id_rsa.pub
private_key_path: /opt/stack/.ssh/id_rsa
username: newuser
password: newpassword
port: 22
key_name: pub
openstack_tenant: newtenant
openstack_region: RegionOne
avaialability_zone: nova
openstack_sevice_name: admin
openstack_network_name: admin
security_groups: default
network_ref: public
no_ssh_tcp_check: true
no_ssh_tcp_check_sleep: true
image_ref: [SERVER IMAGE ID]
flavor_ref: [SERVER FLAVOR ID]
disable_ssl_validation: true
provisioner:
name: chef_solo
platforms:
- name: centos-7
driver:
name: openstack
openstack_username: admin
openstack_api_key: mypass
openstack_auth_url: <url>
require_chef_omnibus: 'true'
flavor_ref: 2
image_ref: centos-7
suites:
- name: default
run_list:
- recipe[openstackPOC::default]
attributes:
我有同样的问题。
尝试 openstack_auth_url:http://openstack_controller:35357/v2.0/ or http://openstack_controller:5000/v2.0/tokens
它对我有用:)
我一直在尝试将 Kitchen 与 Openstack 结合使用。我按照这个 link https://github.com/test-kitchen/kitchen-openstack 中的描述做了
当我做厨房清单时它显示
/root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/fog-1.27.0/lib/fog/openstack/volume.rb:191: warning: duplicated key at line 196 ignored: :openstack_region
Instance Driver Provisioner Last Action
default-centos-7 Openstack ChefSolo <Not Created>
但是当我做厨房测试时它给出了
-----> Cleaning up any prior instances of <default-centos-7>
-----> Destroying <default-centos-7>...
Finished destroying <default-centos-7> (0m0.00s).
-----> Testing <default-centos-7>
-----> Creating <default-centos-7>...
>>>>>> Create failed on instance <default-centos-7>.
>>>>>> Please see .kitchen/logs/default-centos-7.log for more details
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: Expected([200, 204]) <=> Actual(400 Bad Request)
excon.error.response
:body => "{\"error\": {\"message\": \"get_version_v2() got an unexpected keyword argument 'auth'\", \"code\": 400, \"title\": \"Bad Request\"}}"
:headers => {
"Connection" => "close"
"Content-Length" => "121"
"Content-Type" => "application/json"
"Date" => "Wed, 04 Feb 2015 07:14:10 GMT"
"Server" => "Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips mod_wsgi/3.4 Python/2.7.5"
"Vary" => "X-Auth-Token"
}
:local_address => "local IP"
:local_port => 43870
:reason_phrase => "Bad Request"
:remote_ip => "remote IP"
:status => 400
>>>>>> ----------------------
请告诉我这是什么错误。
这是我的 .kitchen.yml 文件
driver:
name: openstack
openstack_username: username
openstack_api_key: key
openstack_auth_url: url
require_chef_omnibus: true
server_name: newstack
network_ref: public
public_key_path: /opt/stack/.ssh/id_rsa.pub
private_key_path: /opt/stack/.ssh/id_rsa
username: newuser
password: newpassword
port: 22
key_name: pub
openstack_tenant: newtenant
openstack_region: RegionOne
avaialability_zone: nova
openstack_sevice_name: admin
openstack_network_name: admin
security_groups: default
network_ref: public
no_ssh_tcp_check: true
no_ssh_tcp_check_sleep: true
image_ref: [SERVER IMAGE ID]
flavor_ref: [SERVER FLAVOR ID]
disable_ssl_validation: true
provisioner:
name: chef_solo
platforms:
- name: centos-7
driver:
name: openstack
openstack_username: admin
openstack_api_key: mypass
openstack_auth_url: <url>
require_chef_omnibus: 'true'
flavor_ref: 2
image_ref: centos-7
suites:
- name: default
run_list:
- recipe[openstackPOC::default]
attributes:
我有同样的问题。
尝试 openstack_auth_url:http://openstack_controller:35357/v2.0/ or http://openstack_controller:5000/v2.0/tokens
它对我有用:)