Air Canada's unionised flight attendants have reached an agreement with the country's largest carrier on Tuesday, ending the first strike by its cabin crew in 40 years that had upended travel plans for hundreds of thousands of passengers.