Iraq violence kills 21 people