Beispiel #1
0
func (d *NetworkDiagnostic) CollectNetworkInfo(diagsFailed bool) error {
	if diagsFailed {
		// Collect useful info from master
		l := util.LogInterface{
			Result: d.res,
			Logdir: filepath.Join(d.LogDir, util.NetworkDiagMasterLogDirPrefix),
		}
		l.LogMaster()
	}

	podList, err := d.getPodList(d.nsName1, util.NetworkDiagPodNamePrefix)
	if err != nil {
		return err
	}

	errList := []error{}
	for _, pod := range podList.Items {
		if pod.Status.Phase != kapi.PodRunning {
			continue
		}

		if diagsFailed {
			if err := d.copyNetworkPodInfo(&pod); err != nil {
				errList = append(errList, err)
			}
		}

		if err := d.deleteRemoteNodeInfo(&pod); err != nil {
			errList = append(errList, err)
		}
	}
	return kerrs.NewAggregate(errList)
}