Nie wiem, czy ma to coś wspólnego z konkretnym problemem, który wkleiłeś, ale nie sądzę, że poprawnie używasz parametru require, jeśli jest to Twój pełny kod marionetkowy. Jeśli już definiujesz zasób pakietu dla „mysql-client-core-5.5”, zignoruj resztę tej odpowiedzi.
Parametr required odnosi się do innego zdefiniowanego zasobu. Mówi, że nie należy stosować bieżącego zasobu, dopóki wymagany zasób nie zostanie zastosowany.
Tak więc w twoim przypadku marionetka oczekiwałaby istnienia takiego zasobu:
package { 'mysql-client-core-5.5': ensure => present }
Jeśli chcesz wymusić konkretną wersję pakietu, parametr require nie jest dobrym rozwiązaniem.