Вы пытаетесь сложить строку (str) с целым числом (int):
y = '%s-%s-%d.node.eu.consul' % (parts[0], parts[1], str(parts[2]) + 6)
parts — это список, состоящий из строк, поэтому parts[2] будет в любом случае строкой — писать str(parts[2]) здесь избыточно. Если вы хотите увеличить это число, нужно сначала преобразовать его в int. Но в parts[2] будет находиться строка вида "8.node.eu.consul", от которой сначала нужно отделить число.
Итоговое решение может выглядеть так:
y = '%s-%s-%d.node.eu.consul' % (parts[0], parts[1], int(parts[2].split('.')[0]) + 6)
или так (число вынесено в отдельную переменную):
number = int(parts[2].split('.')[0])
y = '%s-%s-%d.node.eu.consul' % (parts[0], parts[1], number + 6)
Совет: используйте метод str.format вместо форматирования в стиле Си:
number = int(parts[2].split('.')[0])
y = '{}-{}-{}.node.eu.consul'.format(parts[0], parts[1], number + 6)