问题
I am in domain mode with JBoss 6.4.8 version. I want to add these 4 system properties by CLI :
1- /host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=${VAULT::vault_block::attribute_name::1})
2- /host=myserver/server-config=node/system-property=javax.net.ssl.trustStorePassword:add(boot-time=false,value=${VAULT::vault_block::attribute_name::1})
It doesn't work
"outcome" => "failed",
"result" => undefined,
"failure-description" => "JBAS010839: Operation failed or was rolled back on all servers.",
"rolled-back" => true
As you can see there is $, : and {} characters, is it my problem ?
In the past, i encountered this problem with the $ and i solve it by \$ but here it doesn't work !
Can you help me ?
Thanks a lot
Ludo
回答1:
Not sure about 6.4, but in 7 as per https://access.redhat.com/documentation/en/red-hat-jboss-enterprise-application-platform/7.0/single/management-cli-guide/#cli_special_characters you can enclose a value with "" or {}, so in your case you should put it inside ""
回答2:
Notice, vault references are not resolved if vault configuration was recently added, a restart or reload of the configuration is required before you set a vault reference.
When not resolving parameter values
When JBoss-cli is NOT configured to resolve parameter values (resolve-parameter-values set to false in jboss-cli.xml -by default-):
a) Escape with \$ when using the --command cli parameter (aka non-interactive mode)
/path/to/jboss-cli.sh -c --command="/host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=\${VAULT::vault_block::attribute_name::1})"
b) Use direct reference when using interactive mode
/host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=${VAULT::vault_block::attribute_name::1})
When resolving parameter values
When JBoss-cli is configured to resolve parameter values (resolve-parameter-values set to true in jboss-cli.xml):
c) Escape with \$\$ when using the --command cli parameter (this prevents parameter expansion in bash )
/path/to/jboss-cli.sh -c --command="/host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=\$\${VAULT::vault_block::attribute_name::1})"
d) Escape with $$ when using the --file cli parameter
/path/to/jboss-cli.sh -c --file="/path/to/commands.cli"
commands.cli contents:
/host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=$${VAULT::vault_block::attribute_name::1})"
or interactive mode
/host=myserver/server-config=node/system-property=javax.net.ssl.keyStorePassword:add(boot-time=false,value=$${VAULT::vault_block::attribute_name::1})
来源:https://stackoverflow.com/questions/40612127/special-characters-with-jboss-cli