2014-12-06 15 views
5

Neşeyle yola çıkmıştım, her şey çalışıyordu ve aniden tüm EC2 Ansible işlemlerinden hata alıyorum (Yeniden yapılandırma ile ilgili uyarı daha önce vardı ve bir sorun değil):Ansible EC2 Python Hatası: ValueError: JSON nesnesinin kodu çözülemedi

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 

Neyin ne verdiğini bilen var mı? Ben ishal ana denerseniz

alıyorum:

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> 

AWS konsolundaki Bütün işlemler halen başarılıdır.

cevap

6

Bu soruna da girdim. AWS anahtarımla ilgili bir sorun olduğu ortaya çıktı. Öneririm:

  1. Geçerli anahtarların olduğunu doğrulayın. Bunun belirgin olduğunu biliyorum, ancak buradan başlayın :-)
  2. Ortamınızda ayarlamak için export AWS_SECRET_ACCESS_KEY=... kullanıyorsanız, çevrelerindeki noktalama işaretlerinin doğru olması önemlidir. Mine (tırnaksız)

    export AWS_SECRET_ACCESS_KEY=ADSFASFAASFASDFSADSFDASDFSADF (tırnak içinde)

export AWS_ACCESS_KEY_ID="ASFSADFSDF" benziyor

  1. Bir .zshconfig veya .bash_profile bu kuruyorsanız, config dosyasının yeniden okunmasını ve AWS anahtarlarınızın çevreye yüklenmesini sağlamak için sekmenizi veya pencerenizi yeniden başlatın.

Bu yardımcı olur umarım!

+1

tuşları izinleri kontrol değer, geçerli atanmış olsalar bile Kullanıcıya da birlikte giderler. –

1
  1. AWS_ACCESS_KEY_ID ve AWS_SECRET_ACCESS_KEY'nin dışa aktarıldığından emin olun.
  2. (diğerleri belirttiğimiz gibi) emin boto yüklü olduğundan emin olun, siz çalıştırarak yükleyebilirsiniz:

    sudo pip install boto

İlgili konular