Description
Description
boto_lambda.function_present can create a lambda function successfully however running the same state to update even if there is no change gives the following error :
Comment: An exception occurred in this state: Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/salt/state.py", line 2154, in call
*cdata["args"], **cdata["kwargs"]
File "/usr/lib/python3.6/site-packages/salt/loader.py", line 2188, in wrapper
return f(*args, **kwargs)
File "/usr/lib/python3.6/site-packages/salt/states/boto_lambda.py", line 354, in function_present
profile,
File "/usr/lib/python3.6/site-packages/salt/states/boto_lambda.py", line 520, in _function_code_present
hashed = sha.digest().encode("base64").strip()
AttributeError: 'bytes' object has no attribute 'encode'
Setup
create_function:
boto_lambda.function_present:
- name: myfunction
- FunctionName: myfunction_name2
- Runtime: python3.6
- Role: labmda_role
- Handler: main
- ZipFile: /srv/salt/lambda/code/code.zip
- profile: myprofile
Steps to Reproduce the behavior
Try to create a simple lambda function using boto_lambda.function_present and run the state again. It always fails if the lambda exists. If you manually remove the lambda and run the state it works. it only fails when tries to update
Expected behavior
When I edit the line 520 in /usr/lib/python3.6/site-packages/salt/states/boto_lambda.py and remove encode("base64") salt state works fine both for create and update
Original : #hashed = sha.digest().encode("base64").strip()
Changed to : hashed = sha.digest().strip()
Screenshots
Versions Report
salt-minion-3002-1.el7.noarch
salt-master-3002-1.el7.noarch
# salt --versions-report
Salt Version:
Salt: 3002
Dependency Versions:
cffi: Not Installed
cherrypy: Not Installed
dateutil: 2.8.1
docker-py: 2.6.1
gitdb: Not Installed
gitpython: Not Installed
Jinja2: 2.11.1
libgit2: Not Installed
M2Crypto: 0.35.2
Mako: Not Installed
msgpack-pure: Not Installed
msgpack-python: 0.6.2
mysql-python: Not Installed
pycparser: Not Installed
pycrypto: Not Installed
pycryptodome: Not Installed
pygit2: Not Installed
Python: 3.6.8 (default, Apr 2 2020, 13:34:55)
python-gnupg: Not Installed
PyYAML: 3.13
PyZMQ: 17.0.0
smmap: Not Installed
timelib: Not Installed
Tornado: 4.5.3
ZMQ: 4.1.4
System Versions:
dist: centos 7 Core
locale: UTF-8
machine: x86_64
release: 3.10.0-1127.19.1.el7.x86_64
system: Linux
version: CentOS Linux 7 Core
Additional context
Add any other context about the problem here.