def node_runlist():
csvfile = open("/tmp/noderunlist.csv", "a")
writer = csv.writer(csvfile)
writer.writerow(['NodeName','Environment','IP','Roles','Recipes','Platform'])
report = os.system("knife node list >> /tmp/node.txt")
with open('/tmp/node.txt', 'r') as node_file:
for node_name in node_file:
print(node_name)
writer.writerow([
str(node_name),
str(os.system("knife node show %node_name | grep Environment | awk
'{print $2}' ")),
str(os.system("knife node show %node_name | grep IP | awk '{print
$2}' ")),
str(os.system("knife node show %node_name | grep Run | awk '{print
$3}' ")),
str(os.system("knife node show %node_name | grep Recipes | awk
'{print $2}' "))
])
Как передать имя индекса цикла как команду os.system для вывода, ниже приведена ошибка:
имя_узла
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep Окружающая среда | awk '{print $ 2}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep IP | awk '{print $ 2}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | grep Run | awk '{print $ 3}' '
sh: -c: строка 0: синтаксическая ошибка рядом с неожиданным токеном `('
sh: -c: строка 0: `Показ узла узла% (имя_узла) s | рецепты grep | awk '{print $ 2}' '