OLD | NEW |
1 // Copyright 2014 Canonical Ltd. | 1 // Copyright 2014 Canonical Ltd. |
2 // Licensed under the AGPLv3, see LICENCE file for details. | 2 // Licensed under the AGPLv3, see LICENCE file for details. |
3 | 3 |
4 package rsyslog_test | 4 package rsyslog_test |
5 | 5 |
6 import ( | 6 import ( |
7 "io/ioutil" | 7 "io/ioutil" |
8 "os" | 8 "os" |
9 "path/filepath" | 9 "path/filepath" |
| 10 "strings" |
10 stdtesting "testing" | 11 stdtesting "testing" |
11 "time" | 12 "time" |
12 | 13 |
13 "github.com/juju/testing" | 14 "github.com/juju/testing" |
14 jc "github.com/juju/testing/checkers" | 15 jc "github.com/juju/testing/checkers" |
15 gc "launchpad.net/gocheck" | 16 gc "launchpad.net/gocheck" |
16 | 17 |
17 "launchpad.net/juju-core/cert" | 18 "launchpad.net/juju-core/cert" |
18 jujutesting "launchpad.net/juju-core/juju/testing" | 19 jujutesting "launchpad.net/juju-core/juju/testing" |
19 "launchpad.net/juju-core/state" | 20 "launchpad.net/juju-core/state" |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 c.Assert(err, gc.IsNil) | 149 c.Assert(err, gc.IsNil) |
149 err = cert.Verify(string(rsyslogCertPEM), string(caCertPEM), time.Now().
UTC()) | 150 err = cert.Verify(string(rsyslogCertPEM), string(caCertPEM), time.Now().
UTC()) |
150 c.Assert(err, gc.IsNil) | 151 c.Assert(err, gc.IsNil) |
151 | 152 |
152 // Verify rsyslog configuration. | 153 // Verify rsyslog configuration. |
153 waitForFile(c, filepath.Join(*rsyslog.RsyslogConfDir, "25-juju.conf")) | 154 waitForFile(c, filepath.Join(*rsyslog.RsyslogConfDir, "25-juju.conf")) |
154 rsyslogConf, err := ioutil.ReadFile(filepath.Join(*rsyslog.RsyslogConfDi
r, "25-juju.conf")) | 155 rsyslogConf, err := ioutil.ReadFile(filepath.Join(*rsyslog.RsyslogConfDi
r, "25-juju.conf")) |
155 c.Assert(err, gc.IsNil) | 156 c.Assert(err, gc.IsNil) |
156 | 157 |
157 syslogPort := s.Conn.Environ.Config().SyslogPort() | 158 syslogPort := s.Conn.Environ.Config().SyslogPort() |
158 » syslogConfig := syslog.NewAccumulateConfig(m.Tag(), *rsyslog.LogDir, sys
logPort, "") | 159 » syslogConfig := syslog.NewAccumulateConfig(m.Tag(), *rsyslog.LogDir, sys
logPort, "", []string{}) |
159 syslogConfig.ConfigDir = *rsyslog.RsyslogConfDir | 160 syslogConfig.ConfigDir = *rsyslog.RsyslogConfDir |
160 rendered, err := syslogConfig.Render() | 161 rendered, err := syslogConfig.Render() |
161 c.Assert(err, gc.IsNil) | 162 c.Assert(err, gc.IsNil) |
| 163 |
162 c.Assert(string(rsyslogConf), gc.DeepEquals, string(rendered)) | 164 c.Assert(string(rsyslogConf), gc.DeepEquals, string(rendered)) |
163 } | 165 } |
164 | 166 |
| 167 func (s *RsyslogSuite) TestAccumulateHA(c *gc.C) { |
| 168 _, m := s.OpenAPIAsNewMachine(c, state.JobManageEnviron) |
| 169 syslogConfig := syslog.NewAccumulateConfig(m.Tag(), *rsyslog.LogDir, 654
1, "", []string{"192.168.1", "127.0.0.1"}) |
| 170 rendered, err := syslogConfig.Render() |
| 171 c.Assert(err, gc.IsNil) |
| 172 |
| 173 stateServer1Config := ":syslogtag, startswith, \"juju-\" @@192.168.1:654
1;LongTagForwardFormat" |
| 174 stateServer2Config := ":syslogtag, startswith, \"juju-\" @@127.0.0.1:654
1;LongTagForwardFormat" |
| 175 |
| 176 c.Assert(strings.Contains(string(rendered), stateServer1Config), gc.Equa
ls, true) |
| 177 c.Assert(strings.Contains(string(rendered), stateServer2Config), gc.Equa
ls, true) |
| 178 } |
| 179 |
165 func (s *RsyslogSuite) TestNamespace(c *gc.C) { | 180 func (s *RsyslogSuite) TestNamespace(c *gc.C) { |
166 st, _ := s.OpenAPIAsNewMachine(c, state.JobManageEnviron) | 181 st, _ := s.OpenAPIAsNewMachine(c, state.JobManageEnviron) |
167 // namespace only takes effect in filenames | 182 // namespace only takes effect in filenames |
168 // for machine-0; all others assume isolation. | 183 // for machine-0; all others assume isolation. |
169 s.testNamespace(c, st, "machine-0", "", "25-juju.conf", *rsyslog.LogDir) | 184 s.testNamespace(c, st, "machine-0", "", "25-juju.conf", *rsyslog.LogDir) |
170 s.testNamespace(c, st, "machine-0", "mynamespace", "25-juju-mynamespace.
conf", *rsyslog.LogDir+"-mynamespace") | 185 s.testNamespace(c, st, "machine-0", "mynamespace", "25-juju-mynamespace.
conf", *rsyslog.LogDir+"-mynamespace") |
171 s.testNamespace(c, st, "machine-1", "", "25-juju.conf", *rsyslog.LogDir) | 186 s.testNamespace(c, st, "machine-1", "", "25-juju.conf", *rsyslog.LogDir) |
172 s.testNamespace(c, st, "machine-1", "mynamespace", "25-juju.conf", *rsys
log.LogDir) | 187 s.testNamespace(c, st, "machine-1", "mynamespace", "25-juju.conf", *rsys
log.LogDir) |
173 s.testNamespace(c, st, "unit-myservice-0", "", "26-juju-unit-myservice-0
.conf", *rsyslog.LogDir) | 188 s.testNamespace(c, st, "unit-myservice-0", "", "26-juju-unit-myservice-0
.conf", *rsyslog.LogDir) |
174 s.testNamespace(c, st, "unit-myservice-0", "mynamespace", "26-juju-unit-
myservice-0.conf", *rsyslog.LogDir) | 189 s.testNamespace(c, st, "unit-myservice-0", "mynamespace", "26-juju-unit-
myservice-0.conf", *rsyslog.LogDir) |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 assertRestart(true) | 254 assertRestart(true) |
240 | 255 |
241 err = s.APIState.Client().EnvironmentSet(map[string]interface{}{"unrelat
ed": "anything"}) | 256 err = s.APIState.Client().EnvironmentSet(map[string]interface{}{"unrelat
ed": "anything"}) |
242 c.Assert(err, gc.IsNil) | 257 c.Assert(err, gc.IsNil) |
243 assertRestart(false) | 258 assertRestart(false) |
244 | 259 |
245 err = s.APIState.Client().EnvironmentSet(map[string]interface{}{"syslog-
port": 2}) | 260 err = s.APIState.Client().EnvironmentSet(map[string]interface{}{"syslog-
port": 2}) |
246 c.Assert(err, gc.IsNil) | 261 c.Assert(err, gc.IsNil) |
247 assertRestart(true) | 262 assertRestart(true) |
248 } | 263 } |
OLD | NEW |