2014-12-06 12 views
5

Szedłem wesoło, wszystko działało, i nagle dostaję błędy ze wszystkich moich operacji EC2 Ansible (ostrzeżenie o odbudowie było wcześniej i nie problem):Ansible EC2 Python Error: ValueError: Żaden obiekt JSON nie mógł zostać zdekodowany

ec2-user]# ansible -m ping -u ec2-user all 
/usr/lib64/python2.6/site-packages/Crypto/Util/number.py:57: PowmInsecureWarning: Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability. 
    _warn("Not using mpz_powm_sec. You should rebuild using libgmp >= 5 to avoid timing attack vulnerability.", PowmInsecureWarning) 
Traceback (most recent call last): 
    File "/root/ansible/bin/ansible", line 194, in <module> 
    (runner, results) = cli.run(options, args) 
    File "/root/ansible/bin/ansible", line 112, in run 
    inventory_manager = inventory.Inventory(options.inventory, vault_password=vault_pass) 
    File "/root/ansible/lib/ansible/inventory/__init__.py", line 118, in __init__ 
    self.parser = InventoryScript(filename=host_list) 
    File "/root/ansible/lib/ansible/inventory/script.py", line 49, in __init__ 
    self.groups = self._parse(stderr) 
    File "/root/ansible/lib/ansible/inventory/script.py", line 57, in _parse 
    self.raw = utils.parse_json(self.data) 
    File "/root/ansible/lib/ansible/utils/__init__.py", line 552, in parse_json 
    results = json.loads(data) 
    File "/usr/lib64/python2.6/json/__init__.py", line 307, in loads 
    return _default_decoder.decode(s) 
    File "/usr/lib64/python2.6/json/decoder.py", line 319, in decode 
    obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
    File "/usr/lib64/python2.6/json/decoder.py", line 338, in raw_decode 
    raise ValueError("No JSON object could be decoded") 
ValueError: No JSON object could be decoded 

Ktoś wie, co daje?

Gdy próbuję przebiegów gospodarzy uzyskać:

ec2-user]# /etc/ansible/hosts 
Looks like AWS is down again: 
EC2ResponseError: 403 Forbidden 
<?xml version="1.0" encoding="UTF-8"?> 
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this operation.</Message></Error></Errors><RequestID>9c499f04-3fd8-47cd-a7e4-655af47c1564</RequestID></Response> 

Wszystkie moje działania w konsoli AWS są nadal skuteczne.

Odpowiedz

6

Wpadłem również na ten problem. Okazało się, że jest to problem z moimi kluczami AWS. Oto, co zasugerowałbym:

  1. Sprawdź, czy masz prawidłowe klucze. Wiem, że to wydaje się oczywiste, ale zacznij tutaj :-)
  2. Jeśli używasz export AWS_SECRET_ACCESS_KEY=..., aby ustawić je w swoim środowisku, ważne jest, aby interpunkcja wokół nich była poprawna. Kopalnia wyglądać

export AWS_ACCESS_KEY_ID="ASFSADFSDF" (cytaty)

export AWS_SECRET_ACCESS_KEY=ADSFASFAASFASDFSADSFDASDFSADF (bez cudzysłowów)

  1. Jeśli te ustawienia w .zshconfig lub .bash_profile, uruchom ponownie kartę lub okno, aby upewnić się, że plik konfiguracyjny zostanie ponownie odczytany, a klucze AWS zostaną załadowane do środowiska.

Mam nadzieję, że pomoże!

+1

Nawet jeśli klucze są ważne, warto sprawdzić uprawnienia przypisane do użytkownika, z którym również się zgadzają. –

1
  1. Upewnij się, że wyeksportowano AWS_ACCESS_KEY_ID i AWS_SECRET_ACCESS_KEY. (jak inni zwrócili)
  2. Sprawdź, czy masz boto zainstalowany, można go zainstalować uruchamiając:

    sudo pip install boto

Powiązane problemy