Date
1 - 9 of 9
How to run test for bosh-openstack-cpi locally?
Guangcai Wang <guangcai.wang@...>
Hi,
we are modifying bosh-openstack-cpi to support keystone v3. Now, I am trying to test it locally. Who can share me how to run the test locally? I tried to build a docker image and run the shell script under ci/tasks/ inside docker. But it failed. Anything wrong? root(a)cb30b6f9604c:/git/bosh-openstack-cpi-release# ./ci/tasks/run-lifecycle.sh Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. Could not locate Gemfile or .bundle/ directory |
|
Dmitriy Kalinin
Hey,
ci/ directory is meant to be used with concourse CI (http://concourse.ci/). Alternatively... To run unit tests: cd bosh_openstack_cpi bundle install be rspec spec/unit/ To run lifecycle tests locally: cd bosh_openstack_cpi bundle install # set env variables specified by https://github.com/cloudfoundry/bosh/blob/master/bosh_openstack_cpi/spec/integration/lifecycle_spec.rb bundle exec rake spec:lifecycle Finally to build a CPI release with an updated gem you will have to: cd bosh-openstack-cpi-release # reference openstack gem with gem 'bosh_openstack_cpi', path: '/path/to/bosh/repo/bosh_openstack_cpi' ./scripts/vendor_gems bosh create release --with-tarball # use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpi On Mon, Jul 13, 2015 at 11:57 PM, Guangcai Wang <guangcai.wang(a)gmail.com> wrote: Hi, |
|
Guangcai Wang <guangcai.wang@...>
I tried to run these commands. but got failure. Anything specific to set?
How to get the Gemfile? ubuntu(a)boshclivm:~/git/bosh-openstack-cpi-release$ bundle install Could not locate Gemfile or .bundle/ directory My environment (using rbenv): ubuntu(a)boshclivm:~/git/bosh-openstack-cpi-release$ ruby -v ruby 2.1.5p273 (2014-11-13 revision 48405) [x86_64-linux] ubuntu(a)boshclivm:~/git/bosh-openstack-cpi-release$ bundle -v Bundler version 1.10.5 ubuntu(a)boshclivm:~/git/bosh-openstack-cpi-release$ which ruby /home/ubuntu/.rbenv/shims/ruby ubuntu(a)boshclivm:~/git/bosh-openstack-cpi-release$ which bundle /home/ubuntu/.rbenv/shims/bundle On Thu, Jul 16, 2015 at 11:05 AM, Dmitriy Kalinin <dkalinin(a)pivotal.io> wrote: Hey, |
|
Dmitriy Kalinin
First two snippets need to run from bosh repo (github.com/cloudfoundry/bosh).
Last one is from bosh-openstack-cpi-release ( https://github.com/cloudfoundry-incubator/bosh-openstack-cpi-release). On Wed, Jul 15, 2015 at 10:00 PM, Guangcai Wang <guangcai.wang(a)gmail.com> wrote: I tried to run these commands. but got failure. Anything specific to set? |
|
Guangcai Wang <guangcai.wang@...>
Hi Dmitriy,
Thanks for your guiding. I can run bundle exec rake spec:lifecycle under bosh_openstack_cpi in bosh repo. but cannot know what's the command "be rspec spec/unit/"? It seems you missed some words. Could you help correct? On Thu, Jul 16, 2015 at 3:42 PM, Dmitriy Kalinin <dkalinin(a)pivotal.io> wrote: First two snippets need to run from bosh repo ( |
|
Guangcai Wang <guangcai.wang@...>
Hi Dmitriy,
Actually, after I generated the bosh release and bosh-openstack-cpi release locally, I deployed them with bosh-init and failed with keystone v3. I found this is caused by fog-1.27.0 code which is installed during packaging. (attached detailed log below). Do you know how to fix it? (Note: new bosh-openstack-cpi supporting keystone v3 has dependency on fog 1.31.0) File: 1. bosh-openstack-cpi-release\packages\bosh_openstack_cpi\packaging cat >> Gemfile <<EOF gem 'bosh_openstack_cpi' EOF Here, it depends on fog-1.27.0 ( https://rubygems.org/gems/bosh_openstack_cpi/versions/1.2972.0) which does not support keystone v3. when it is executed during packaging, it will install fog-1.27.0. (I guess) 2. /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-1.27.0/lib/fog/openstack/core.rb if @openstack_auth_uri.path =~ /\/v2.0/ credentials = Fog::OpenStack.authenticate_v2(options, @connection_options) else credentials = Fog::OpenStack.authenticate_v1(options, @connection_options) end Command 'deploy' failed: creating stemcell (bosh-openstack-kvm-ubuntu-trusty-go_agent 2950): Unmarshalling external CPI command output: STDOUT: '', STDERR: 'D, [2015-07-14T01:06:53.287951 #17191] DEBUG -- : excon.request {:chunk_size=>1048576, :ciphers=>"HIGH:!SSLv2:!aNULL:!eNULL:!3DES", :connect_timeout=>60, :debug_request=>false, :debug_response=>true, :headers=>{"User-Agent"=>"fog/1.27.0 fog-core/1.32.0", "X-Auth-Key"=>"passw0rd", "X-Auth-User"=>"demo", "Host"=>" 137.172.74.130:5000"}, :idempotent=>false, :instrumentor_name=>"excon", :middlewares=>[Excon::Middleware::ResponseParser, Excon::Middleware::Expects, Excon::Middleware::Idempotent, Excon::Middleware::Instrumentor, Excon::Middleware::Mock], :mock=>false, :nonblock=>true, :omit_default_port=>false, :persistent=>false, :read_timeout=>60, :retry_limit=>4, :ssl_verify_peer=>true, :tcp_nodelay=>false, :thread_safe_sockets=>true, :uri_parser=>URI, :versions=>"excon/0.45.3 (x86_64-linux) ruby/1.9.3", :write_timeout=>60, :host=>"137.172.74.130", :hostname=>"137.172.74.130", :path=>"/v3/tokens", :port=>5000, :query=>nil, :scheme=>"http", :instrumentor=>Bosh::OpenStackCloud::ExconLoggingInstrumentor, :expects=>[200, 204], :method=>"GET", :retries_remaining=>4, :connection=>#<Excon::Connection:30fe238 @data={:chunk_size=>1048576, :ciphers=>"HIGH:!SSLv2:!aNULL:!eNULL:!3DES", :connect_timeout=>60, :debug_request=>false, :debug_response=>true, :headers=>{"User-Agent"=>"fog/1.27.0 fog-core/1.32.0"}, :idempotent=>false, :instrumentor_name=>"excon", :middlewares=>[Excon::Middleware::ResponseParser, Excon::Middleware::Expects, Excon::Middleware::Idempotent, Excon::Middleware::Instrumentor, Excon::Middleware::Mock], :mock=>false, :nonblock=>true, :omit_default_port=>false, :persistent=>false, :read_timeout=>60, :retry_limit=>4, :ssl_verify_peer=>true, :tcp_nodelay=>false, :thread_safe_sockets=>true, :uri_parser=>URI, :versions=>"excon/0.45.3 (x86_64-linux) ruby/1.9.3", :write_timeout=>60, :host=>"137.172.74.130", :hostname=>"137.172.74.130", :path=>"/v3/tokens", :port=>5000, :query=>nil, :scheme=>"http", :instrumentor=>Bosh::OpenStackCloud::ExconLoggingInstrumentor} @socket_key=" http://137.172.74.130:5000">, :stack=>#<Excon::Middleware::ResponseParser:0x000000030fbb00 @stack=#<Excon::Middleware::Expects:0x000000030fbb28 @stack=#<Excon::Middleware::Idempotent:0x000000030fbbc8 @stack=#<Excon::Middleware::Instrumentor:0x000000030fbbf0 @stack=#<Excon::Middleware::Mock:0x000000030fbe48 @stack=#<Excon::Connection:30fe238 @data={:chunk_size=>1048576, :ciphers=>"HIGH:!SSLv2:!aNULL:!eNULL:!3DES", :connect_timeout=>60, :debug_request=>false, :debug_response=>true, :headers=>{"User-Agent"=>"fog/1.27.0 fog-core/1.32.0"}, :idempotent=>false, :instrumentor_name=>"excon", :middlewares=>[Excon::Middleware::ResponseParser, Excon::Middleware::Expects, Excon::Middleware::Idempotent, Excon::Middleware::Instrumentor, Excon::Middleware::Mock], :mock=>false, :nonblock=>true, :omit_default_port=>false, :persistent=>false, :read_timeout=>60, :retry_limit=>4, :ssl_verify_peer=>true, :tcp_nodelay=>false, :thread_safe_sockets=>true, :uri_parser=>URI, :versions=>"excon/0.45.3 (x86_64-linux) ruby/1.9.3", :write_timeout=>60, :host=>"137.172.74.130", :hostname=>"137.172.74.130", :path=>"/v3/tokens", :port=>5000, :query=>nil, :scheme=>"http", :instrumentor=>Bosh::OpenStackCloud::ExconLoggingInstrumentor} @socket_key=" http://137.172.74.130:5000">>>>>>} D, [2015-07-14T01:06:53.292721 #17191] DEBUG -- : excon.error {:error=>#<Excon::Errors::NotFound: Expected([200, 204]) <=> Actual(404 Not Found) excon.error.response :body => "{\"error\": {\"message\": \"The resource could not be found.\", \"code\": 404, \"title\": \"Not Found\"}}" :headers => { "Connection" => "close" "Content-Length" => "93" "Content-Type" => "application/json" "Date" => "Tue, 14 Jul 2015 01:06:53 GMT" "Server" => "Apache/2.4.6 (CentOS)" "Vary" => "X-Auth-Token" } :local_address => "172.16.0.20" :local_port => 45399 :reason_phrase => "Not Found" :remote_ip => "137.172.74.130" :status => 404 :status_line => "HTTP/1.1 404 Not Found\r\n" }E, [2015-07-14T01:06:53.292820 #17191] ERROR -- : Expected([200, 204]) <=> Actual(404 Not Found) excon.error.response :body => "{\"error\": {\"message\": \"The resource could not be found.\", \"code\": 404, \"title\": \"Not Found\"}}" :headers => { "Connection" => "close" "Content-Length" => "93" "Content-Type" => "application/json" "Date" => "Tue, 14 Jul 2015 01:06:53 GMT" "Server" => "Apache/2.4.6 (CentOS)" "Vary" => "X-Auth-Token" } :local_address => "172.16.0.20" :local_port => 45399 :reason_phrase => "Not Found" :remote_ip => "137.172.74.130" :status => 404 :status_line => "HTTP/1.1 404 Not Found\r\n" (Excon::Errors::NotFound) /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/excon-0.45.3/lib/excon/middlewares/expects.rb:10:in `response_call' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/excon-0.45.3/lib/excon/middlewares/response_parser.rb:8:in `response_call' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/excon-0.45.3/lib/excon/connection.rb:372:in `response' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/excon-0.45.3/lib/excon/connection.rb:236:in `request' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-core-1.32.0/lib/fog/core/connection.rb:81:in `request' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-1.27.0/lib/fog/openstack/core.rb:70:in `authenticate_v1' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-1.27.0/lib/fog/openstack/compute.rb:397:in `authenticate' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-1.27.0/lib/fog/openstack/compute.rb:320:in `initialize' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-core-1.32.0/lib/fog/core/service.rb:115:in `new' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-core-1.32.0/lib/fog/core/service.rb:115:in `new' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-core-1.32.0/lib/fog/core/services_mixin.rb:16:in `new' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/fog-core-1.32.0/lib/fog/compute.rb:62:in `new' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/lib/cloud/openstack/cloud.rb:67:in `initialize' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/bin/openstack_cpi:17:in `new' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/bin/openstack_cpi:17:in `<top (required)>' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/bin/openstack_cpi:16:in `load' /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/bin/openstack_cpi:16:in `<main>' E, [2015-07-14T01:06:53.292878 #17191] ERROR -- : Unable to connect to the OpenStack Compute API. Check task debug log for details. /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/lib/cloud/openstack/helpers.rb:20:in `cloud_error': Unable to connect to the OpenStack Compute API. Check task debug log for details. (Bosh::Clouds::CloudError) from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/lib/cloud/openstack/cloud.rb:70:in `rescue in initialize' from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/lib/cloud/openstack/cloud.rb:66:in `initialize' from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/bin/openstack_cpi:17:in `new' from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/gem_home/ruby/1.9.1/gems/bosh_openstack_cpi-1.3012.0/bin/openstack_cpi:17:in `<top (required)>' from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/bin/openstack_cpi:16:in `load' from /home/ubuntu/.bosh_init/installations/4ae17957-e371-4116-74d2-8b50ad18c1b8/packages/bosh_openstack_cpi/bin/openstack_cpi:16:in `<main>' On Thu, Jul 16, 2015 at 5:34 PM, Guangcai Wang <guangcai.wang(a)gmail.com> wrote: Hi Dmitriy, |
|
Koper, Dies <diesk@...>
Hi Dmitriy,
This is what I get when I try to run the unit tests with that: diesk(a)cloud-cf:~/workspace/bosh/bosh_openstack_cpi$ be rspec spec/unit/ Unknown command 'rspec' (No module named rspec) diesk(a)cloud-cf:~/workspace/bosh/bosh_openstack_cpi$ rspec -v 3.3.2 # use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpiIt keeps asking for fog v1.27 somewhere. diesk(a)cloud-cf:~/workspace$ bosh-init deploy bosh-init-v3.yml Deployment manifest: '/home/diesk/workspace/bosh-init-v3.yml' Deployment state: '/home/diesk/workspace/bosh-init-v3-state.json' Started validating Validating release 'bosh'... Finished (00:00:02) Validating release 'bosh-openstack-cpi'... Finished (00:00:00) Validating cpi release... Finished (00:00:00) Validating deployment manifest... Finished (00:00:00) Downloading stemcell... Finished (00:03:50) Validating stemcell... Finished (00:00:03) Finished validating (00:03:56) Started installing CPI Compiling package 'ruby_openstack_cpi/c1868f5cfbf57c7ce92ac816d064ee9feb011d0e'... Finished (00:01:55) Compiling package 'bosh_openstack_cpi/ea2a344bb15ce910b83a8deebb879b6004548542'... Failed (00:00:02) Failed installing CPI (00:01:57) Command 'deploy' failed: Installing CPI: Compiling job package dependencies for installation: Compiling job package dependencies: Compiling package: Running command: 'bash -x packaging', stdout: 'Resolving dependencies... Some gems seem to be missing from your vendor/cache directory. Your Gemfile has no gem server sources. If you need gems that are not already on your machine, add a line like this to your Gemfile: source 'https://rubygems.org' Bundler could not find compatible versions for gem "fog": In Gemfile: bosh_openstack_cpi (>= 0) ruby depends on bosh-registry (~> 1.3016.0) ruby depends on fog (~> 1.27.0) ruby bosh_openstack_cpi (>= 0) ruby depends on fog (1.31.0) # reference openstack gem with gem 'bosh_openstack_cpi', path: '/path/to/bosh/repo/bosh_openstack_cpi' ./scripts/vendor_gems I edited vendor_gems so it would pick up my local gems with fog version updated: cat > 'Gemfile' <<EOF source "https://rubygems.org" gem "bosh_${cpi_name}_cpi", :path => '../../../bosh/bosh_openstack_cpi' gem "bosh-registry", :path => '../../../bosh/bosh-registry' EOF When running it, it includes: … Using bosh-registry 1.3016.0 from source at ../../../bosh/bosh-registry Using httpclient 2.4.0 Using bosh_openstack_cpi 1.3016.0 from source at ../../../bosh/bosh_openstack_cpi Using bundler 1.8.2 Updating files in vendor/cache Bundle complete! 2 Gemfile dependencies, 56 gems now installed. And in my yml manifest for bosh-init I point to the local openstack-cpi release: - name: bosh-openstack-cpi url: file://bosh-openstack-cpi-9+dev.3.tgz sha1: f09b11aa0329a8054db9fd4b67d62992f1b8b974 My changes are in the PRs, any help welcome. Cheers, Dies Koper From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of Dmitriy Kalinin Sent: Thursday, July 16, 2015 11:05 AM To: Discussions about the Cloud Foundry BOSH project. Subject: Re: [cf-bosh] How to run test for bosh-openstack-cpi locally? Hey, ci/ directory is meant to be used with concourse CI (http://concourse.ci/). Alternatively... To run unit tests: cd bosh_openstack_cpi bundle install be rspec spec/unit/ To run lifecycle tests locally: cd bosh_openstack_cpi bundle install # set env variables specified by https://github.com/cloudfoundry/bosh/blob/master/bosh_openstack_cpi/spec/integration/lifecycle_spec.rb bundle exec rake spec:lifecycle Finally to build a CPI release with an updated gem you will have to: cd bosh-openstack-cpi-release # reference openstack gem with gem 'bosh_openstack_cpi', path: '/path/to/bosh/repo/bosh_openstack_cpi' ./scripts/vendor_gems bosh create release --with-tarball # use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpi On Mon, Jul 13, 2015 at 11:57 PM, Guangcai Wang <guangcai.wang(a)gmail.com<mailto:guangcai.wang(a)gmail.com>> wrote: Hi, we are modifying bosh-openstack-cpi to support keystone v3. Now, I am trying to test it locally. Who can share me how to run the test locally? I tried to build a docker image and run the shell script under ci/tasks/ inside docker. But it failed. Anything wrong? root(a)cb30b6f9604c:/git/bosh-openstack-cpi-release# ./ci/tasks/run-lifecycle.sh Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. Could not locate Gemfile or .bundle/ directory _______________________________________________ cf-bosh mailing list cf-bosh(a)lists.cloudfoundry.org<mailto:cf-bosh(a)lists.cloudfoundry.org> https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh |
|
Dmitriy Kalinin
inline
On Fri, Jul 17, 2015 at 1:16 AM, Koper, Dies <diesk(a)fast.au.fujitsu.com> wrote: Hi Dmitriy,what does 'bundle exec rspec -v' show? if that does not succeed does 'bundle exec rake spec:unit:ruby_gems' run successfully from ~/workspace/bosh? bundler is telling here that it's impossible to resolve a dependency.# use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpi referencing new bosh-registry by path should have fixed it. Does that mean you actually deployed a VM with bosh-init configured with an OpenStack domain?
|
|
Koper, Dies <diesk@...>
HI Dmitriy,
what does 'bundle exec rspec -v' show?3.0.4 if that does not succeed does 'bundle exec rake spec:unit:ruby_gems' run successfully from ~/workspace/bosh?Yes. I can see the 2 failures travis reported. Fixed. Thanks! bundler is telling here that it's impossible to resolve a dependency. referencing new bosh-registry by path should have fixed it.It seems it was only pointing at my updated source code, it didn’t copy the gem file to the vendor cache, so the bosh create release still had the old bosh registry gem. I’ve fixed that. Bosh-init is now returning openstack errors: progress! ☺ I’ll share an update in the next few days. Cheers, Dies Koper From: cf-bosh-bounces(a)lists.cloudfoundry.org [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org] On Behalf Of Dmitriy Kalinin Sent: Saturday, July 18, 2015 9:11 AM To: Discussions about the Cloud Foundry BOSH project. Subject: Re: [cf-bosh] How to run test for bosh-openstack-cpi locally? inline On Fri, Jul 17, 2015 at 1:16 AM, Koper, Dies <diesk(a)fast.au.fujitsu.com<mailto:diesk(a)fast.au.fujitsu.com>> wrote: Hi Dmitriy, This is what I get when I try to run the unit tests with that: diesk(a)cloud-cf:~/workspace/bosh/bosh_openstack_cpi$ be rspec spec/unit/ Unknown command 'rspec' (No module named rspec) diesk(a)cloud-cf:~/workspace/bosh/bosh_openstack_cpi$ rspec -v 3.3.2 what does 'bundle exec rspec -v' show? if that does not succeed does 'bundle exec rake spec:unit:ruby_gems' run successfully from ~/workspace/bosh? # use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpiIt keeps asking for fog v1.27 somewhere. diesk(a)cloud-cf:~/workspace$ bosh-init deploy bosh-init-v3.yml Deployment manifest: '/home/diesk/workspace/bosh-init-v3.yml' Deployment state: '/home/diesk/workspace/bosh-init-v3-state.json' Started validating Validating release 'bosh'... Finished (00:00:02) Validating release 'bosh-openstack-cpi'... Finished (00:00:00) Validating cpi release... Finished (00:00:00) Validating deployment manifest... Finished (00:00:00) Downloading stemcell... Finished (00:03:50) Validating stemcell... Finished (00:00:03) Finished validating (00:03:56) Started installing CPI Compiling package 'ruby_openstack_cpi/c1868f5cfbf57c7ce92ac816d064ee9feb011d0e'... Finished (00:01:55) Compiling package 'bosh_openstack_cpi/ea2a344bb15ce910b83a8deebb879b6004548542'... Failed (00:00:02) Failed installing CPI (00:01:57) Command 'deploy' failed: Installing CPI: Compiling job package dependencies for installation: Compiling job package dependencies: Compiling package: Running command: 'bash -x packaging', stdout: 'Resolving dependencies... Some gems seem to be missing from your vendor/cache directory. Your Gemfile has no gem server sources. If you need gems that are not already on your machine, add a line like this to your Gemfile: source 'https://rubygems.org' Bundler could not find compatible versions for gem "fog": In Gemfile: bosh_openstack_cpi (>= 0) ruby depends on bosh-registry (~> 1.3016.0) ruby depends on fog (~> 1.27.0) ruby bosh_openstack_cpi (>= 0) ruby depends on fog (1.31.0) bundler is telling here that it's impossible to resolve a dependency. referencing new bosh-registry by path should have fixed it. # reference openstack gem with gem 'bosh_openstack_cpi', path: '/path/to/bosh/repo/bosh_openstack_cpi' ./scripts/vendor_gems I edited vendor_gems so it would pick up my local gems with fog version updated: cat > 'Gemfile' <<EOF source "https://rubygems.org" gem "bosh_${cpi_name}_cpi", :path => '../../../bosh/bosh_openstack_cpi' gem "bosh-registry", :path => '../../../bosh/bosh-registry' EOF When running it, it includes: … Using bosh-registry 1.3016.0 from source at ../../../bosh/bosh-registry Using httpclient 2.4.0 Using bosh_openstack_cpi 1.3016.0 from source at ../../../bosh/bosh_openstack_cpi Using bundler 1.8.2 Updating files in vendor/cache Bundle complete! 2 Gemfile dependencies, 56 gems now installed. And in my yml manifest for bosh-init I point to the local openstack-cpi release: - name: bosh-openstack-cpi url: file://bosh-openstack-cpi-9+dev.3.tgz<file:///\\bosh-openstack-cpi-9+dev.3.tgz> sha1: f09b11aa0329a8054db9fd4b67d62992f1b8b974 My changes are in the PRs, any help welcome. Does that mean you actually deployed a VM with bosh-init configured with an OpenStack domain? Cheers, Dies Koper From: cf-bosh-bounces(a)lists.cloudfoundry.org<mailto:cf-bosh-bounces(a)lists.cloudfoundry.org> [mailto:cf-bosh-bounces(a)lists.cloudfoundry.org<mailto:cf-bosh-bounces(a)lists.cloudfoundry.org>] On Behalf Of Dmitriy Kalinin Sent: Thursday, July 16, 2015 11:05 AM To: Discussions about the Cloud Foundry BOSH project. Subject: Re: [cf-bosh] How to run test for bosh-openstack-cpi locally? Hey, ci/ directory is meant to be used with concourse CI (http://concourse.ci/). Alternatively... To run unit tests: cd bosh_openstack_cpi bundle install be rspec spec/unit/ To run lifecycle tests locally: cd bosh_openstack_cpi bundle install # set env variables specified by https://github.com/cloudfoundry/bosh/blob/master/bosh_openstack_cpi/spec/integration/lifecycle_spec.rb bundle exec rake spec:lifecycle Finally to build a CPI release with an updated gem you will have to: cd bosh-openstack-cpi-release # reference openstack gem with gem 'bosh_openstack_cpi', path: '/path/to/bosh/repo/bosh_openstack_cpi' ./scripts/vendor_gems bosh create release --with-tarball # use that tarball with bosh-init (https://bosh.io/docs/init-openstack.html) to deploy the director+cpi On Mon, Jul 13, 2015 at 11:57 PM, Guangcai Wang <guangcai.wang(a)gmail.com<mailto:guangcai.wang(a)gmail.com>> wrote: Hi, we are modifying bosh-openstack-cpi to support keystone v3. Now, I am trying to test it locally. Who can share me how to run the test locally? I tried to build a docker image and run the shell script under ci/tasks/ inside docker. But it failed. Anything wrong? root(a)cb30b6f9604c:/git/bosh-openstack-cpi-release# ./ci/tasks/run-lifecycle.sh Don't run Bundler as root. Bundler can ask for sudo if it is needed, and installing your bundle as root will break this application for all non-root users on this machine. Could not locate Gemfile or .bundle/ directory _______________________________________________ cf-bosh mailing list cf-bosh(a)lists.cloudfoundry.org<mailto:cf-bosh(a)lists.cloudfoundry.org> https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh _______________________________________________ cf-bosh mailing list cf-bosh(a)lists.cloudfoundry.org<mailto:cf-bosh(a)lists.cloudfoundry.org> https://lists.cloudfoundry.org/mailman/listinfo/cf-bosh |
|