Update to asgi_amqp 1.0.1

This commit is contained in:
Wayne Witzel III
2017-11-27 19:34:52 +00:00
parent 33ff10728d
commit a858093db8
6 changed files with 15 additions and 17 deletions

View File

@@ -7,7 +7,7 @@ from channels.sessions import channel_session
from channels.handler import AsgiRequest from channels.handler import AsgiRequest
from django.conf import settings from django.conf import settings
#from django.core.serializers.json import DjangoJSONEncoder from django.core.serializers.json import DjangoJSONEncoder
from django.contrib.auth.models import User from django.contrib.auth.models import User
from awx.main.models.organization import AuthToken from awx.main.models.organization import AuthToken
@@ -24,7 +24,7 @@ def discard_groups(message):
@channel_session @channel_session
def ws_connect(message): def ws_connect(message):
connect_text = {'accept':False, 'user':None} message.reply_channel.send({"accept": True})
message.content['method'] = 'FAKE' message.content['method'] = 'FAKE'
request = AsgiRequest(message) request = AsgiRequest(message)
@@ -35,11 +35,12 @@ def ws_connect(message):
auth_token = AuthToken.objects.get(key=token) auth_token = AuthToken.objects.get(key=token)
if auth_token.in_valid_tokens: if auth_token.in_valid_tokens:
message.channel_session['user_id'] = auth_token.user_id message.channel_session['user_id'] = auth_token.user_id
connect_text['accept'] = True message.reply_channel.send({"text": json.dumps({"accept": True, "user": auth_token.user_id})})
connect_text['user'] = auth_token.user_id return None
except AuthToken.DoesNotExist: except AuthToken.DoesNotExist:
logger.error("auth_token provided was invalid.") logger.error("auth_token provided was invalid.")
message.reply_channel.send({"text": json.dumps(connect_text)}) message.reply_channel.send({"close": True})
return None
@channel_session @channel_session
@@ -94,8 +95,6 @@ def ws_receive(message):
def emit_channel_notification(group, payload): def emit_channel_notification(group, payload):
try: try:
# FIXME: Currently broken with asgi_rabbitmq as a ChannelLayer Group(group).send({"text": json.dumps(payload, cls=DjangoJSONEncoder)})
#Group(group).send({"text": json.dumps(payload, cls=DjangoJSONEncoder)})
logger.warning("Group sending is currently disabled. Would have sent the following message\nChannel: {0}, Payload: {1}".format(group, payload))
except ValueError: except ValueError:
logger.error("Invalid payload emitting channel {} on topic: {}".format(group, payload)) logger.error("Invalid payload emitting channel {} on topic: {}".format(group, payload))

View File

@@ -87,7 +87,7 @@ CELERY_BROKER_URL = "amqp://{}:{}@{}/{}".format(os.environ.get("RABBITMQ_USER"),
urllib.quote(os.environ.get("RABBITMQ_VHOST", "/"), safe='')) urllib.quote(os.environ.get("RABBITMQ_VHOST", "/"), safe=''))
CHANNEL_LAYERS = { CHANNEL_LAYERS = {
'default': {'BACKEND': 'asgi_rabbitmq.RabbitmqChannelLayer', 'default': {'BACKEND': 'asgi_amqp.AMQPChannelLayer',
'ROUTING': 'awx.main.routing.channel_routing', 'ROUTING': 'awx.main.routing.channel_routing',
'CONFIG': {'url': CELERY_BROKER_URL}} 'CONFIG': {'url': CELERY_BROKER_URL}}
} }

View File

@@ -96,7 +96,7 @@ CELERY_BROKER_URL = 'amqp://{}:{}@{}:{}/{}'.format(
os.getenv("RABBITMQ_VHOST", "tower")) os.getenv("RABBITMQ_VHOST", "tower"))
CHANNEL_LAYERS = { CHANNEL_LAYERS = {
'default': {'BACKEND': 'asgi_rabbitmq.RabbitmqChannelLayer', 'default': {'BACKEND': 'asgi_amqp.AMQPChannelLayer',
'ROUTING': 'awx.main.routing.channel_routing', 'ROUTING': 'awx.main.routing.channel_routing',
'CONFIG': {'url': CELERY_BROKER_URL}} 'CONFIG': {'url': CELERY_BROKER_URL}}
} }

View File

@@ -80,7 +80,7 @@ data:
"5672", "5672",
"awx") "awx")
CHANNEL_LAYERS = { CHANNEL_LAYERS = {
'default': {'BACKEND': 'asgi_rabbitmq.RabbitmqChannelLayer', 'default': {'BACKEND': 'asgi_amqp.AMQPChannelLayer',
'ROUTING': 'awx.main.routing.channel_routing', 'ROUTING': 'awx.main.routing.channel_routing',
'CONFIG': {'url': CELERY_BROKER_URL}} 'CONFIG': {'url': CELERY_BROKER_URL}}
} }

View File

@@ -1,6 +1,6 @@
apache-libcloud==2.0.0 apache-libcloud==2.0.0
appdirs==1.4.2 appdirs==1.4.2
asgi-rabbitmq==0.5.4 asgi-amqp==1.0.1
asgiref==1.1.2 asgiref==1.1.2
azure==2.0.0rc6 azure==2.0.0rc6
backports.ssl-match-hostname==3.5.0.1 backports.ssl-match-hostname==3.5.0.1

View File

@@ -8,7 +8,7 @@ adal==0.4.5 # via msrestazure
amqp==2.2.2 # via kombu amqp==2.2.2 # via kombu
apache-libcloud==2.0.0 apache-libcloud==2.0.0
appdirs==1.4.2 appdirs==1.4.2
asgi-rabbitmq==0.5.4 asgi-amqp==1.0.1
asgiref==1.1.2 asgiref==1.1.2
asn1crypto==0.22.0 # via cryptography asn1crypto==0.22.0 # via cryptography
attrs==17.2.0 # via automat, service-identity attrs==17.2.0 # via automat, service-identity
@@ -40,7 +40,6 @@ billiard==3.5.0.3 # via celery
boto3==1.4.4 boto3==1.4.4
boto==2.46.1 boto==2.46.1
botocore==1.5.72 # via boto3, s3transfer botocore==1.5.72 # via boto3, s3transfer
cached-property==1.3.1 # via asgi-rabbitmq
celery==4.1 celery==4.1
#certifi==2017.11.5 # via msrest #certifi==2017.11.5 # via msrest
cffi==1.10.0 # via cryptography cffi==1.10.0 # via cryptography
@@ -76,7 +75,7 @@ enum34==1.1.6 # via cryptography, msrest
ephem==3.7.6.0 # via django-celery-beat ephem==3.7.6.0 # via django-celery-beat
funcsigs==1.0.2 # via debtcollector, oslo.utils funcsigs==1.0.2 # via debtcollector, oslo.utils
functools32==3.2.3.post2 # via jsonschema functools32==3.2.3.post2 # via jsonschema
futures==3.1.1 # via asgi-rabbitmq, azure-storage, requests-futures, s3transfer, shade futures==3.1.1 # via azure-storage, requests-futures, s3transfer, shade
gevent-websocket==0.9.5 gevent-websocket==0.9.5
gevent==1.2.2 # via gevent-websocket gevent==1.2.2 # via gevent-websocket
greenlet==0.4.12 # via gevent greenlet==0.4.12 # via gevent
@@ -97,6 +96,7 @@ jaraco.stream==1.1.2 # via irc
jaraco.text==1.9.2 # via irc, jaraco.collections jaraco.text==1.9.2 # via irc, jaraco.collections
jmespath==0.9.3 # via boto3, botocore, shade jmespath==0.9.3 # via boto3, botocore, shade
jsonpatch==1.16 # via openstacksdk, shade, warlock jsonpatch==1.16 # via openstacksdk, shade, warlock
jsonpickle==0.9.5 # via asgi_amqp
jsonpointer==1.10 # via jsonpatch jsonpointer==1.10 # via jsonpatch
jsonschema==2.6.0 jsonschema==2.6.0
keyring==10.3.3 # via msrestazure keyring==10.3.3 # via msrestazure
@@ -107,7 +107,7 @@ m2crypto==0.25.1
markdown==2.6.7 markdown==2.6.7
monotonic==1.3 # via oslo.utils monotonic==1.3 # via oslo.utils
more-itertools==3.2.0 # via irc, jaraco.functools, jaraco.itertools more-itertools==3.2.0 # via irc, jaraco.functools, jaraco.itertools
msgpack-python==0.4.8 # via asgi-rabbitmq, oslo.serialization msgpack-python==0.4.8 # via oslo.serialization
msrest==0.4.10 # via azure-common, msrestazure msrest==0.4.10 # via azure-common, msrestazure
msrestazure==0.4.9 # via azure-common msrestazure==0.4.9 # via azure-common
munch==2.1.1 # via shade munch==2.1.1 # via shade
@@ -124,7 +124,6 @@ oslo.serialization==2.18.0 # via python-ironicclient, python-keystoneclient, py
oslo.utils==3.26.0 # via osc-lib, oslo.serialization, python-cinderclient, python-designateclient, python-glanceclient, python-ironicclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient oslo.utils==3.26.0 # via osc-lib, oslo.serialization, python-cinderclient, python-designateclient, python-glanceclient, python-ironicclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient
pbr==3.1.1 # via cliff, debtcollector, keystoneauth1, openstacksdk, osc-lib, oslo.i18n, oslo.serialization, oslo.utils, positional, python-cinderclient, python-designateclient, python-glanceclient, python-ironicclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient, requestsexceptions, shade, stevedore pbr==3.1.1 # via cliff, debtcollector, keystoneauth1, openstacksdk, osc-lib, oslo.i18n, oslo.serialization, oslo.utils, positional, python-cinderclient, python-designateclient, python-glanceclient, python-ironicclient, python-keystoneclient, python-neutronclient, python-novaclient, python-openstackclient, requestsexceptions, shade, stevedore
pexpect==4.2.1 pexpect==4.2.1
pika==0.11.0 # via asgi-rabbitmq
positional==1.1.1 # via keystoneauth1, python-keystoneclient positional==1.1.1 # via keystoneauth1, python-keystoneclient
prettytable==0.7.2 # via cliff, python-cinderclient, python-glanceclient, python-ironicclient, python-novaclient prettytable==0.7.2 # via cliff, python-cinderclient, python-glanceclient, python-ironicclient, python-novaclient
psphere==0.5.2 psphere==0.5.2