'Start controller and switches.'

def start(self):

    if (not self.built):
        self.build()
    info('***    Starting    controller\n')
    for controller in self.controllers:
        info((controller.name + '    '))
        controller.start()
    info('\n')
    info(('***    Starting    %s    switches\n' % len(self.switches)))
    for switch in self.switches:
        info((switch.name + '    '))
        switch.start(self.controllers)
    started = {}
    for (swclass, switches) in groupby(sorted(self.switches, key=type), type):
        switches = tuple(switches)
        if hasattr(swclass, 'batchStartup'):
            success = swclass.batchStartup(switches)
            started.update({s: s for s in success})
    info('\n')
    if self.waitConn:
        self.waitConnected()
