1+ // Package ipsm focus on ip set operation
12// Copyright 2018 Microsoft. All rights reserved.
23// MIT License
34package ipsm
@@ -95,7 +96,7 @@ func (ipsMgr *IpsetManager) CreateList(listName string) error {
9596 }
9697 log .Logf ("Creating List: %+v" , entry )
9798 if errCode , err := ipsMgr .Run (entry ); err != nil && errCode != 1 {
98- log . Errorf ( "Error: failed to create ipset list %s." , listName )
99+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to create ipset list %s." , listName )
99100 return err
100101 }
101102
@@ -116,7 +117,7 @@ func (ipsMgr *IpsetManager) DeleteList(listName string) error {
116117 return nil
117118 }
118119
119- log . Errorf ( "Error: failed to delete ipset %s %+v" , listName , entry )
120+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to delete ipset %s %+v" , listName , entry )
120121 return err
121122 }
122123
@@ -146,7 +147,7 @@ func (ipsMgr *IpsetManager) AddToList(listName string, setName string) error {
146147 }
147148
148149 if errCode , err := ipsMgr .Run (entry ); err != nil && errCode != 1 {
149- log . Errorf ( "Error: failed to create ipset rules. rule: %+v" , entry )
150+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to create ipset rules. rule: %+v" , entry )
150151 return err
151152 }
152153
@@ -158,7 +159,7 @@ func (ipsMgr *IpsetManager) AddToList(listName string, setName string) error {
158159// DeleteFromList removes an ipset to an ipset list.
159160func (ipsMgr * IpsetManager ) DeleteFromList (listName string , setName string ) error {
160161 if _ , exists := ipsMgr .listMap [listName ]; ! exists {
161- log . Logf ( "ipset list with name %s not found" , listName )
162+ metrics . SendErrorMetric ( util . IpsmID , "ipset list with name %s not found" , listName )
162163 return nil
163164 }
164165
@@ -170,7 +171,7 @@ func (ipsMgr *IpsetManager) DeleteFromList(listName string, setName string) erro
170171 }
171172
172173 if _ , err := ipsMgr .Run (entry ); err != nil {
173- log . Errorf ( "Error: failed to delete ipset entry. %+v" , entry )
174+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to delete ipset entry. %+v" , entry )
174175 return err
175176 }
176177
@@ -181,7 +182,7 @@ func (ipsMgr *IpsetManager) DeleteFromList(listName string, setName string) erro
181182
182183 if len (ipsMgr .listMap [listName ].elements ) == 0 {
183184 if err := ipsMgr .DeleteList (listName ); err != nil {
184- log . Errorf ( "Error: failed to delete ipset list %s." , listName )
185+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to delete ipset list %s." , listName )
185186 return err
186187 }
187188 }
@@ -206,7 +207,7 @@ func (ipsMgr *IpsetManager) CreateSet(setName string, spec []string) error {
206207 }
207208 log .Logf ("Creating Set: %+v" , entry )
208209 if errCode , err := ipsMgr .Run (entry ); err != nil && errCode != 1 {
209- log . Errorf ( "Error: failed to create ipset." )
210+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to create ipset." )
210211 return err
211212 }
212213
@@ -222,7 +223,7 @@ func (ipsMgr *IpsetManager) CreateSet(setName string, spec []string) error {
222223// DeleteSet removes a set from ipset.
223224func (ipsMgr * IpsetManager ) DeleteSet (setName string ) error {
224225 if _ , exists := ipsMgr .setMap [setName ]; ! exists {
225- log . Logf ( "ipset with name %s not found" , setName )
226+ metrics . SendErrorMetric ( util . IpsmID , "ipset with name %s not found" , setName )
226227 return nil
227228 }
228229
@@ -236,7 +237,7 @@ func (ipsMgr *IpsetManager) DeleteSet(setName string) error {
236237 return nil
237238 }
238239
239- log . Errorf ( "Error: failed to delete ipset %s. Entry: %+v" , setName , entry )
240+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to delete ipset %s. Entry: %+v" , setName , entry )
240241 return err
241242 }
242243
@@ -285,7 +286,7 @@ func (ipsMgr *IpsetManager) AddToSet(setName, ip, spec, podUid string) error {
285286 }
286287
287288 if errCode , err := ipsMgr .Run (entry ); err != nil && errCode != 1 {
288- log . Logf ( "Error: failed to create ipset rules. %+v" , entry )
289+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to create ipset rules. %+v" , entry )
289290 return err
290291 }
291292
@@ -329,7 +330,7 @@ func (ipsMgr *IpsetManager) DeleteFromSet(setName, ip, podUid string) error {
329330 return nil
330331 }
331332
332- log . Errorf ( "Error: failed to delete ipset entry. Entry: %+v" , entry )
333+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to delete ipset entry. Entry: %+v" , entry )
333334 return err
334335 }
335336
@@ -354,7 +355,7 @@ func (ipsMgr *IpsetManager) Clean() error {
354355 }
355356
356357 if err := ipsMgr .DeleteSet (setName ); err != nil {
357- log . Errorf ( "Error: failed to clean ipset" )
358+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to clean ipset" )
358359 return err
359360 }
360361 }
@@ -365,7 +366,7 @@ func (ipsMgr *IpsetManager) Clean() error {
365366 }
366367
367368 if err := ipsMgr .DeleteList (listName ); err != nil {
368- log . Errorf ( "Error: failed to clean ipset list" )
369+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to clean ipset list" )
369370 return err
370371 }
371372 }
@@ -379,13 +380,13 @@ func (ipsMgr *IpsetManager) Destroy() error {
379380 operationFlag : util .IpsetFlushFlag ,
380381 }
381382 if _ , err := ipsMgr .Run (entry ); err != nil {
382- log . Errorf ( "Error: failed to flush ipset" )
383+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to flush ipset" )
383384 return err
384385 }
385386
386387 entry .operationFlag = util .IpsetDestroyFlag
387388 if _ , err := ipsMgr .Run (entry ); err != nil {
388- log . Errorf ( "Error: failed to destroy ipset" )
389+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to destroy ipset" )
389390 return err
390391 }
391392
@@ -405,7 +406,7 @@ func (ipsMgr *IpsetManager) Run(entry *ipsEntry) (int, error) {
405406 if msg , failed := err .(* exec.ExitError ); failed {
406407 errCode := msg .Sys ().(syscall.WaitStatus ).ExitStatus ()
407408 if errCode > 0 {
408- log . Errorf ( "Error: There was an error running command: [%s %v] Stderr: [%v, %s]" , cmdName , strings .Join (cmdArgs , " " ), err , strings .TrimSuffix (string (msg .Stderr ), "\n " ))
409+ metrics . SendErrorMetric ( util . IpsmID , "Error: There was an error running command: [%s %v] Stderr: [%v, %s]" , cmdName , strings .Join (cmdArgs , " " ), err , strings .TrimSuffix (string (msg .Stderr ), "\n " ))
409410 }
410411
411412 return errCode , err
@@ -422,7 +423,7 @@ func (ipsMgr *IpsetManager) Save(configFile string) error {
422423
423424 cmd := exec .Command (util .Ipset , util .IpsetSaveFlag , util .IpsetFileFlag , configFile )
424425 if err := cmd .Start (); err != nil {
425- log . Errorf ( "Error: failed to save ipset to file." )
426+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to save ipset to file." )
426427 return err
427428 }
428429 cmd .Wait ()
@@ -438,7 +439,7 @@ func (ipsMgr *IpsetManager) Restore(configFile string) error {
438439
439440 f , err := os .Stat (configFile )
440441 if err != nil {
441- log . Errorf ( "Error: failed to get file %s stat from ipsm.Restore" , configFile )
442+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to get file %s stat from ipsm.Restore" , configFile )
442443 return err
443444 }
444445
@@ -450,12 +451,12 @@ func (ipsMgr *IpsetManager) Restore(configFile string) error {
450451
451452 cmd := exec .Command (util .Ipset , util .IpsetRestoreFlag , util .IpsetFileFlag , configFile )
452453 if err := cmd .Start (); err != nil {
453- log . Errorf ( "Error: failed to restore ipset from file." )
454+ metrics . SendErrorMetric ( util . IpsmID , "Error: failed to to restore ipset from file." )
454455 return err
455456 }
456457 cmd .Wait ()
457458
458459 //TODO based on the set name and number of entries in the config file, update IPSetInventory
459460
460461 return nil
461- }
462+ }
0 commit comments