fixes re: @jcjones
This commit is contained in:
		
							parent
							
								
									16e0799742
								
							
						
					
					
						commit
						e8ac96d68d
					
				| 
						 | 
				
			
			@ -7,8 +7,6 @@ package main
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	"log"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/ca"
 | 
			
		||||
	"github.com/letsencrypt/boulder/cmd"
 | 
			
		||||
| 
						 | 
				
			
			@ -26,7 +24,7 @@ func main() {
 | 
			
		|||
		cai, err := ca.NewCertificateAuthorityImpl(auditlogger, c.CA.Server, c.CA.AuthKey, c.CA.Profile)
 | 
			
		||||
		cmd.FailOnError(err, "Failed to create CA impl")
 | 
			
		||||
 | 
			
		||||
		for true {
 | 
			
		||||
		for {
 | 
			
		||||
			ch := cmd.AmqpChannel(c.AMQP.Server)
 | 
			
		||||
			closeChan := ch.NotifyClose(make(chan *amqp.Error, 1))
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -38,17 +36,7 @@ func main() {
 | 
			
		|||
			cas, err := rpc.NewCertificateAuthorityServer(c.AMQP.CA.Server, ch, cai)
 | 
			
		||||
			cmd.FailOnError(err, "Unable to create CA server")
 | 
			
		||||
 | 
			
		||||
			forever := make(chan bool)
 | 
			
		||||
			go func() {
 | 
			
		||||
				for err := range closeChan {
 | 
			
		||||
					log.Printf(" [!] AMQP Channel closed: [%s]", err)
 | 
			
		||||
					time.Sleep(time.Second*10)
 | 
			
		||||
					log.Printf(" [!] Reconnecting to AMQP...")
 | 
			
		||||
					close(forever)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
			cmd.MaybeRunForever(cas, forever)
 | 
			
		||||
			cmd.RunUntilSignaled(auditlogger, cas, closeChan)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,6 @@ package main
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	"log"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/cmd"
 | 
			
		||||
	blog "github.com/letsencrypt/boulder/log"
 | 
			
		||||
| 
						 | 
				
			
			@ -45,17 +43,7 @@ func main() {
 | 
			
		|||
			ras, err := rpc.NewRegistrationAuthorityServer(c.AMQP.RA.Server, ch, &rai)
 | 
			
		||||
			cmd.FailOnError(err, "Unable to create RA server")
 | 
			
		||||
			
 | 
			
		||||
			forever := make(chan bool)
 | 
			
		||||
			go func() {
 | 
			
		||||
				for err := range closeChan {
 | 
			
		||||
					log.Printf(" [!] AMQP Channel closed: [%s]", err)
 | 
			
		||||
					time.Sleep(time.Second*10)
 | 
			
		||||
					log.Printf(" [!] Reconnecting to AMQP...")
 | 
			
		||||
					close(forever)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
			cmd.MaybeRunForever(ras, forever)
 | 
			
		||||
			cmd.RunUntilSignaled(auditlogger, ras, closeChan)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,6 @@ package main
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	"log"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	// Load both drivers to allow configuring either
 | 
			
		||||
	_ "github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/go-sql-driver/mysql"
 | 
			
		||||
| 
						 | 
				
			
			@ -23,10 +21,10 @@ func main() {
 | 
			
		|||
	app := cmd.NewAppShell("boulder-sa")
 | 
			
		||||
	app.Action = func(c cmd.Config) {
 | 
			
		||||
		// Set up logging
 | 
			
		||||
		logger, err := blog.Dial(c.Syslog.Network, c.Syslog.Server, c.Syslog.Tag)
 | 
			
		||||
		auditlogger, err := blog.Dial(c.Syslog.Network, c.Syslog.Server, c.Syslog.Tag)
 | 
			
		||||
		cmd.FailOnError(err, "Could not connect to Syslog")
 | 
			
		||||
 | 
			
		||||
		sai, err := sa.NewSQLStorageAuthority(logger, c.SA.DBDriver, c.SA.DBName)
 | 
			
		||||
		sai, err := sa.NewSQLStorageAuthority(auditlogger, c.SA.DBDriver, c.SA.DBName)
 | 
			
		||||
		cmd.FailOnError(err, "Failed to create SA impl")
 | 
			
		||||
 | 
			
		||||
		for true {
 | 
			
		||||
| 
						 | 
				
			
			@ -35,17 +33,7 @@ func main() {
 | 
			
		|||
 | 
			
		||||
			sas := rpc.NewStorageAuthorityServer(c.AMQP.SA.Server, ch, sai)
 | 
			
		||||
 | 
			
		||||
			forever := make(chan bool)
 | 
			
		||||
			go func() {
 | 
			
		||||
				for err := range closeChan {
 | 
			
		||||
					log.Printf(" [!] AMQP Channel closed: [%s]", err)
 | 
			
		||||
					time.Sleep(time.Second*10)
 | 
			
		||||
					log.Printf(" [!] Reconnecting to AMQP...")
 | 
			
		||||
					close(forever)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
			cmd.MaybeRunForever(sas, forever)
 | 
			
		||||
			cmd.RunUntilSignaled(auditlogger, sas, closeChan)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -7,8 +7,6 @@ package main
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	"log"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/cmd"
 | 
			
		||||
	blog "github.com/letsencrypt/boulder/log"
 | 
			
		||||
| 
						 | 
				
			
			@ -37,17 +35,7 @@ func main() {
 | 
			
		|||
			vas, err := rpc.NewValidationAuthorityServer(c.AMQP.VA.Server, ch, &vai)
 | 
			
		||||
			cmd.FailOnError(err, "Unable to create VA server")
 | 
			
		||||
 | 
			
		||||
			forever := make(chan bool)
 | 
			
		||||
			go func() {
 | 
			
		||||
				for err := range closeChan {
 | 
			
		||||
					log.Printf(" [!] AMQP Channel closed: [%s]", err)
 | 
			
		||||
					time.Sleep(time.Second*10)
 | 
			
		||||
					log.Printf(" [!] Reconnecting to AMQP...")
 | 
			
		||||
					close(forever)
 | 
			
		||||
					return
 | 
			
		||||
				}
 | 
			
		||||
			}()
 | 
			
		||||
			cmd.MaybeRunForever(vas, forever)
 | 
			
		||||
			cmd.RunUntilSignaled(auditlogger, vas, closeChan)
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -10,7 +10,6 @@ import (
 | 
			
		|||
	"net/http"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	"log"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/cmd"
 | 
			
		||||
| 
						 | 
				
			
			@ -50,12 +49,12 @@ func main() {
 | 
			
		|||
			// with new RA and SA rpc clients.
 | 
			
		||||
			for true {
 | 
			
		||||
				for err := range closeChan {
 | 
			
		||||
					log.Printf(" [!] AMQP Channel closed: [%s]", err)
 | 
			
		||||
					time.Sleep(time.Second*10)
 | 
			
		||||
					auditlogger.Warning(fmt.Sprintf("AMQP Channel closed, will reconnect in 5 seconds: [%s]", err))
 | 
			
		||||
					time.Sleep(time.Second*5)
 | 
			
		||||
					rac, sac, closeChan = setupWFE(c, auditlogger)
 | 
			
		||||
					wfe.RA = &rac
 | 
			
		||||
					wfe.SA = &sac
 | 
			
		||||
					log.Printf(" [!] Reconnected to AMQP")
 | 
			
		||||
					auditlogger.Warning("Reconnected to AMQP")
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										14
									
								
								cmd/shell.go
								
								
								
								
							
							
						
						
									
										14
									
								
								cmd/shell.go
								
								
								
								
							| 
						 | 
				
			
			@ -26,9 +26,11 @@ import (
 | 
			
		|||
	"fmt"
 | 
			
		||||
	"io/ioutil"
 | 
			
		||||
	"os"
 | 
			
		||||
	"time"
 | 
			
		||||
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/codegangsta/cli"
 | 
			
		||||
	"github.com/letsencrypt/boulder/Godeps/_workspace/src/github.com/streadway/amqp"
 | 
			
		||||
	blog "github.com/letsencrypt/boulder/log"
 | 
			
		||||
	"github.com/letsencrypt/boulder/rpc"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -142,9 +144,15 @@ func RunForever(server *rpc.AmqpRPCServer) {
 | 
			
		|||
	<-forever
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Start the server and maybe wait around forever...
 | 
			
		||||
func MaybeRunForever(server *rpc.AmqpRPCServer, forever chan bool) {
 | 
			
		||||
// Start the server and run until we get something on closeChan
 | 
			
		||||
func RunUntilSignaled(logger *blog.AuditLogger, server *rpc.AmqpRPCServer, closeChan chan *amqp.Error) {
 | 
			
		||||
	server.Start()
 | 
			
		||||
	fmt.Fprintf(os.Stderr, "Server running...\n")
 | 
			
		||||
	<-forever
 | 
			
		||||
 | 
			
		||||
	// Block until channel closes
 | 
			
		||||
	err := <- closeChan
 | 
			
		||||
 | 
			
		||||
	logger.Warning(fmt.Sprintf("AMQP Channel closed, will reconnect in 5 seconds: [%s]", err))
 | 
			
		||||
	time.Sleep(time.Second*5)
 | 
			
		||||
	logger.Warning("Reconnecting to AMQP...")
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue