Comment 12 for bug 1908452

Revision history for this message
dann frazier (dannf) wrote :

I tried a couple of things to create a reproducer based on the evidence in comment #11:

 1) Started an image sync and, while it was still in-progress, added an iptables rule to block access to images.maas.io.
 2) Created my own http server[*] where I made all GET requests hang, and directed MAAS to use it as its image server.

Neither was able to reproduce the issue. In both cases, strace shows all 4 regiond processes still entering epoll_wait(), and all wget commands to :5240 continued to be answered. Something more subtle must be going on here - but I don't have any more ideas about how to simulate it. Based on advice from the MAAS team, our next step will be to upgrade our server to 2.9 and see if the problem reoccurs.

[*]
#!/usr/bin/python3

import http.server
import socketserver
import time

PORT = 1978

class BrokenHTTPRequestHandler(http.server.SimpleHTTPRequestHandler):
    def do_GET(self):
        """Serve a GET request."""
        time.sleep(900000)

Handler = BrokenHTTPRequestHandler

with socketserver.TCPServer(("", PORT), Handler) as httpd:
    print("serving at port", PORT)
    httpd.serve_forever()