Hi Simon,

I was able to reproduce this on Ubuntu 16.04 as well. After digging in a
bit, it seems to be an error in the underlying FileUtils library within
Ruby.

I've created a ticket <https://tickets.puppetlabs.com/browse/RAZOR-926> to
track the issue, and put up a fix
<https://github.com/puppetlabs/razor-server/pull/352> for it. In the
meantime, one workaround is to delete the repo directory manually before
running the delete-repo command:

$ rm -rf /opt/puppetlabs/server/data/razor-server/repo/ubuntu16.04

Hope that helps, and thanks for pointing this out!

Scott

On Thu, Jul 14, 2016 at 11:10 AM Simon Frostick <[email protected]>
wrote:

> Hello,
>
> I get the following error when trying to delete a repo any ideas ?
>
> OS: Ubuntu 16.04
> razor-server: 1.4.0
> razor-torquebox: 3.1.2
>
>
> $razor repos
>  From https://localhost:8443/api/collections/repos:
>
>
> +--------------+------------------------------------------------------------------------------------------------+-----+------+
> | name         | iso_url | url | task |
>
> +--------------+------------------------------------------------------------------------------------------------+-----+------+
> | ubuntu-16.04 |
>
> http://mirror.ox.ac.uk/sites/releases.ubuntu.com/releases/xenial/ubuntu-16.04-server-amd64.iso
> | --- | ---  |
>
> +--------------+------------------------------------------------------------------------------------------------+-----+------+
> | ubuntu16.04  |
>
> http://mirror.ox.ac.uk/sites/releases.ubuntu.com/releases/xenial/ubuntu-16.04-server-amd64.iso
> | --- | ---  |
>
> +--------------+------------------------------------------------------------------------------------------------+-----+------
>
> $razor delete-repo ubuntu16.04
> Error from doing POST https://localhost:8443/api/commands/delete-repo
> 500 Internal Server Error
> <h1>Internal Server Error</h1>
>
> The log (/var/log/puppetlabs/razor-server/server.log) has the following...
>
> 16:27:23,397 INFO  [razor.web.api] (http-/0.0.0.0:8443-1) 2016-07-14
> 16:27:23 - NotImplementedError - No message available:
>          org/jruby/RubyFile.java:889:in `lchmod'
>
> /opt/puppetlabs/server/apps/razor-server/share/torquebox/jruby/lib/ruby/1.9/fileutils.rb:1331:in
> `chmod'
>
> /opt/puppetlabs/server/apps/razor-server/share/torquebox/jruby/lib/ruby/1.9/fileutils.rb:1006:in
> `chmod_R'
>
> /opt/puppetlabs/server/apps/razor-server/share/torquebox/jruby/lib/ruby/1.9/fileutils.rb:1443:in
> `preorder_traverse'
>
> /opt/puppetlabs/server/apps/razor-server/share/torquebox/jruby/lib/ruby/1.9/fileutils.rb:1004:in
> `chmod_R'
>          org/jruby/RubyArray.java:1613:in `each'
>
> /opt/puppetlabs/server/apps/razor-server/share/torquebox/jruby/lib/ruby/1.9/fileutils.rb:1003:in
> `chmod_R'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/data/repo.rb:39:in
> `remove_directory'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/data/repo.rb:58:in
> `after_destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1670:in
> `_destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1032:in
> `around_destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1666:in
> `_destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1174:in
> `destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1903:in
> `checked_transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/database/transactions.rb:118:in
> `_transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/database/transactions.rb:106:in
> `_transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/database/transactions.rb:93:in
> `transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/connection_pool/threaded.rb:104:in
> `hold'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/connection_pool/threaded.rb:93:in
> `hold'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/database/connecting.rb:234:in
> `synchronize'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/database/transactions.rb:86:in
> `transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1903:in
> `checked_transaction'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1174:in
> `destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1891:in
> `checked_save_failure'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sequel-4.9.0/lib/sequel/model/base.rb:1174:in
> `destroy'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/command/delete_repo.rb:31:in
> `run'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/command.rb:46:in
> `handle_http_post'
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/app.rb:610:in
> `POST
> /api/commands/:name'
>          org/jruby/RubyMethod.java:116:in `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1611:in
> `compile!'
>          org/jruby/RubyProc.java:271:in `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in
> `route!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:994:in
> `route_eval'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:975:in
> `route!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1015:in
> `process_route'
>          org/jruby/RubyKernel.java:1270:in `catch'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1013:in
> `process_route'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:973:in
> `route!'
>          org/jruby/RubyArray.java:1613:in `each'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:972:in
> `route!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1085:in
> `dispatch!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in
> `invoke'
>          org/jruby/RubyKernel.java:1270:in `catch'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in
> `invoke'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1082:in
> `dispatch!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in
> `call!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in
> `invoke'
>          org/jruby/RubyKernel.java:1270:in `catch'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:1067:in
> `invoke'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:907:in
> `call!'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:895:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/middleware/auth.rb:52:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/middleware/auth.rb:50:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-1.6.4/lib/rack/commonlogger.rb:33:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:219:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/lib/razor/middleware/logger.rb:13:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/xss_header.rb:18:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/path_traversal.rb:16:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/json_csrf.rb:18:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/base.rb:49:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-protection-1.5.3/lib/rack/protection/frame_options.rb:31:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-1.6.4/lib/rack/nulllogger.rb:9:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/rack-1.6.4/lib/rack/head.rb:13:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:182:in
> `call'
>
> /opt/puppetlabs/server/apps/razor-server/share/razor-server/vendor/bundle/jruby/1.9/gems/sinatra-1.4.7/lib/sinatra/base.rb:2013:in
> `call'
> 16:27:23,419 INFO  [razor.web.log] (http-/0.0.0.0:8443-1) 127.0.0.1 - -
> [14/Jul/2016:16:27:23 +0100] "POST /api/commands/delete-repo " 500 30
> 0.4710
>
>
> Thanks
> Simon
>
> --
> You received this message because you are subscribed to the Google Groups
> "puppet-razor" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/puppet-razor.
> For more options, visit https://groups.google.com/d/optout.
>
-- 
-- 
PuppetConf 2016 <https://puppet.com/puppetconf>, 19 - 21 October, San
Diego, California
*Summer Savings - Register by 15 September and save $240
<https://puppetconf2016.eventbrite.com/?discount=SummerSavings>*

-- 
You received this message because you are subscribed to the Google Groups 
"puppet-razor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/puppet-razor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to