2017-01-26 16 views
0

Я сделал ошибку с начальной загрузкой команды и известным я узел называется -i, и я хотел бы удалить этот узел:ножа команды неспособной удалить, чтобы удалить Weird узлу

knife node list 
-i 

Но когда я пытаюсь запустить удаления команда из ножа это результат:

knife node delete -i 

Error: invalid option: -i 
USAGE: knife node delete [NODE[,NODE]] (options) 
    -s, --server-url URL    Chef Server URL 
     --chef-zero-host HOST  Host to start chef-zero on 
     --chef-zero-port PORT  Port (or port range) to start chef-zero on. Port ranges like 1000,1010 or 8889-9999 will try all given ports until one works. 
    -k, --key KEY     API Client Key 
     --[no-]color     Use colored output, defaults to enabled 
    -c, --config CONFIG    The configuration file to use 
     --config-option OPTION=VALUE Override a single configuration option 
     --defaults     Accept default values for all questions 
    -d, --disable-editing   Do not open EDITOR, just accept the data as is 
    -e, --editor EDITOR    Set the editor to use for interactive commands 
    -E, --environment ENVIRONMENT Set the Chef environment (except for in searches, where this will be flagrantly ignored) 
     --[no-]fips     Enable fips mode 
    -F, --format FORMAT    Which format to use for output 
     --[no-]listen    Whether a local mode (-z) server binds to a port 
    -z, --local-mode     Point knife commands at local repository instead of server 
    -u, --user USER     API Client Username 
     --print-after    Show the data after a destructive operation 
    -V, --verbose     More verbose output. Use twice for max verbosity 
    -v, --version     Show chef version 
    -y, --yes      Say yes to all prompts for confirmation 
    -h, --help      Show this message 

Так что я не могу удалить этот узел.

Любое предложение?

+0

Вы пробовали «удалить узел ножа» -i ". Поскольку я надеюсь, что это разовая проблема, вы можете просто использовать веб-интерфейс. – StephenKing

+0

Да. Я пробовал и ничего. Я пытался из командной строки. – Robert

ответ

2

С каким-то черной магией и ножом Exec можно удалить из командной строки, как это:

knife exec -E "nodes.search('name:*i') { |n| n.destroy if n.name == '-i' }" 

Это будет цикл по всем узлам с именем заканчивая I, так что это может занять некоторое время, если у вас есть куча из них, то он уничтожит узел, если его имя точно равно -i.

Если это результат загрузки, у вас может быть и клиент, используя clients вместо nodes.

0

Вы сможете удалить его с помощью веб-интерфейса. Я пробовал то же самое из командной строки, не работал.