Вопрос

I began modifying a profile and made some mistakes along the way.

Because of this I have PIDs in the profile which I'd like to delete entirely.

These can be seen in the fabric:profile-display default output shown at the bottom of this post.

They are:

http:

patch.repositories=http:

org.ops4j.pax.url.mvn.repositories=http:

I can't find the correct command to delete this. I've tried:

config:delete org.ops4j.pax.url.mvn.repositories=http:

which successfully completes. But the default profile still lists this pid.

I've also tried:

fabric:profile-edit --delete -p org.ops4j.pax.url.mvn.repositories=http: default

which fails with:

Error executing command: String index out of range: -1

This indicates a property path /property must be specified.

Appending simply / doesn't work either.

One more problem is that I have a pid with a seemingly empty name, as indicated by this line:

PID: (nothing follows this output prefix).

Output of fabric:profile-display default:

Profile id: default
Version   : 1.0
Parents   : 
Associated Containers : 

Container settings
----------------------------
Repositories : 
        mvn:org.fusesource.fabric/fuse-fabric/7.0.1.fuse-084/xml/features

Features : 
        fabric-agent
        karaf
        fabric-jaas
        fabric-core

Agent Properties : 
          patch.repositories =  http://repo.fusesource.com/nexus/content/repositories/releases,
                 http://repo.fusesource.com/nexus/content/groups/ea
          org.ops4j.pax.url.mvn.repositories =  http://repo1.maven.org/maven2,
                 http://repo.fusesource.com/nexus/content/repositories/releases,
                 http://repo.fusesource.com/nexus/content/groups/ea,
                 http://repository.springsource.com/maven/bundles/release,
                 http://repository.springsource.com/maven/bundles/external,
                 http://scala-tools.org/repo-releases
          org.ops4j.pax.url.mvn.defaultRepositories =   file:${karaf.home}/${karaf.default.repository}@snapshots,
                file:${karaf.home}/local-repo@snapshots


Configuration details
----------------------------
PID: 


PID: org.ops4j.pax.url.mvn
  org.ops4j.pax.url.mvn.useFallbackRepositories false
  org.ops4j.pax.url.mvn.disableAether true
  org.ops4j.pax.url.mvn.repositories ${profile:org.fusesource.fabric.agent/org.ops4j.pax.url.mvn.repositories}
  org.ops4j.pax.url.mvn.defaultRepositories ${profile:org.fusesource.fabric.agent/org.ops4j.pax.url.mvn.defaultRepositories}


PID: patch.repositories=http:


PID: org.ops4j.pax.url.mvn.repositories=http:


PID: http:


PID: org.fusesource.fabric.zookeeper
  zookeeper.url ${zk:root/ip}:2181

I'd be extremely grateful if someone could point the correct command(s).

Это было полезно?

Решение

I had a look at the command-line code for fabric:profile-edit with --delete and unfortunately this function seems to be desgined for deleting key/value pairs from the PID, rather than deleting the PID itself.

(Here's the code for ProfileEdit.java on github)

So basically you can use that command to "empty out" the PIDs, but not to remove them.

fabric:profile-edit --delete --pid mypid/mykey=myvalue myprofile

Knowing that this doesn't help you much, I asked my colleague who sits next to me (and is much smarter than me) and he recommended the following:

  1. Enable fuse management console with container-add-profile root fmc

  2. Opem fmc in a browser (mine is on localhost at port 8181), go to the Profiles page, choose your profile from the list

  3. Go to the Config Files tab, find the PID you want to nuke and click the cross (X).

Et voila, the pid should be gone. Interested to know if this works for you, including on the "blank" profile...

Другие советы

The following works in Fuse 6.2:

1) for property files (which become PID objects)

# create
profile-edit --resource foobar.properties default

# delete
profile-edit --delete --pid foobar default

2) for arbitrary files

# create
profile-edit --resource foobar.xml default


#delete
only via hawtio web console, see screenshot:

enter image description here

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top