My name is Ian Young and I put the great honour to be Vice-Chancellor of Australian National University. I'd like to begin by acknowledging and celebrating the first Australians off whose traditional lands we meet and paying my respects to the elders of the Ngunnawal people past and present. It gives me great pleasure to welcome you all to this 10th Sir Roland Wilson annual oration. Tonight we're joined by Sir Roland Wilson Foundation Chair Dr Ken Henry, the Board of the Wilson Foundation, secretaries from several Commonwealth departments, members of the ANU Executive and the Sir Roland Wilson Scholars. The Sir Roland Wilson Foundation was established by a gift from the Wilson family matched by the ANU to promote a significant dialogue and research interest in public policy. In 2011 the Foundation embarked on a new initiative in partnership with the Commonwealth to award PhD scholarships to senior Commonwealth public servants to pursue topics of national and enduring interest in public policy. We now have some 17 scholars in the program and the first of this cohort is due to graduate at the end of this year. Before I introduce our guest speaker I would like to take just a few minutes to profess your memory about Sir Roland Wilson. In 1932 Roland Wilson was the first economist to be appointed to a senior position in the Commonwealth Public Service. He went on to be appointed as Head of Treasury in 1951 at the age of 47 and he held that position until he resigned in 1966, the longest serving Head of Treasury. Wilson held two doctorates and as anyone involved in University Life will tell you, there's clearly one too many, but two doctorates, one from Oxford and a second from the University of Chicago where he studied with the noted economist Jacob Weiner. His thick thesis was on capital movements and their economic consequences. Sir Roland Wilson's greatest work in Treasury was in fostering a more efficient and dynamic economy. He was opposed to Australia's high rates of trade protection, often putting him at odds with his colleagues. Wilson was primarily interested in accelerating Australia's economic development and it was a period of quite remarkable growth. The Roland Wilson Foundation continues to make an important contribution to public policy and from my point of view to bring a closer relationship between the University, the Australian National University and the public service, something which is very central to the current University's mission. So with that background it's my great pleasure this evening to introduce the Honourable John Howard, Australia's 25th Prime Minister, holding the office for 11 years from 1996 to 2007. Since retiring from politics Mr Howard has released his autobiography, Lazarus Rising, and also more recently the Menzies Era, an account of the years of post-war economic prosperity and cold war anxiety over which Sir Robert Menzies presided as Prime Minister until his retirement in 1966. Tonight it gives me great pleasure to introduce the Honourable Mr John Howard, former Prime Minister of Australia, to deliver the 10th Wilson operation. Well thank you very much Vice-Chancellor, I acknowledge Dr Ken Henry, the Chairman of the Roland Wilson Foundation and many former public service advisors and councillors of mine and students of the University ladies and gentlemen. I should commend my remarks by congratulating the ANU in scoring so well in the news poll of world universities. The ratings of the ANU have held up extremely well and the University deserves congratulations for the esteem in which it is held around the academic community. It is a special honour for me to deliver to this lecture tonight. I think it's fair to say that the first time I spent much time looking at banknotes at the age of 12, the signature of Roland Wilson and AC Coons appeared on those banknotes and that reminds me of a remark that was frequently made to me at Liberal Party meetings that I began attending in the late 1950s and early 1960s and I would frequently hear esteemed members of my chosen political party say I've got one big complaint about Bob Menzies and that is he kept on those two socialists, Wilson and Coons. And as time went by and I learned a little more about Wilson and Coons, I understood that that remark was particularly inappropriate in relation to Roland Wilson as to whether it was entirely inappropriate in relation to the other gentlemen. No good question, let me put it as diplomatically as that. Roland Wilson of course was, or is rather, Australia's longest serving Treasury Secretary and he served as Secretary of the Treasury from I think April of 1951 until October or November of 1966. It was not only a very long period, it was a period of tranquility and stability in relation to the occupancy of the Treasury portfolio because for most of that time the Treasury was either the long-serving Sir Arthur Fadden or the almost equally long-serving Harold Hock and at the tail end of it after the retirement of Sir Robert Menzies, the Treasurer that Wilson served with, was William McMahon, was a very long and very tranquil stable period. By contrast, and this reminds me of the very first conversation I had in my newly amended position of Treasurer of the Commonwealth late in 1977 in rather unexpected circumstances and the then Treasury Secretary Sir Frederick Wheeler and Sir Frederick Wheeler looked me straight in the eye and he said, Treasurer, I have been Secretary of the Treasury for six years and you are the sixth Treasurer that I have served and it left me feeling rather uneasy yet given that he worked his way through so many Treasurers in that period of time but then I reflected that he was due to retire the following year and that perhaps some stability would return but in a way the stability in relation to the personnel of the Treasury portfolio was a metaphor for the stability of that period of time in Australia's economic history. I've had occasion in writing my second book, The Menzies' Era, to reflect on that period of time. It was a period of remarkable political and economic tranquility and stability. It was not, of course, an uneventful period either economically or politically and it did bring together not only Australia's longest serving Treasury Secretary but also Australia's longest serving Prime Minister because for all but I think about 14 or 15 months at the beginning of Menzies' period as Prime Minister Roland Wilson was the Secretary of the Treasury and they developed a particular partnership. They obviously had very strong regard for each other. It was an era, of course, in which the relationship between the public service and the government was different from what it would ultimately become but perhaps not as different as some of the six and some of the more obsessive commentators would now about. Certainly the role of private office advisors other than people who came straight out of the public service didn't exist and the idea that people other than deep heart mental officers would give ministers policy advice was almost abhorrent to people such as Sir John Buggy and Sir Roland Wilson. But to counter that, can I say I had an extremely successful experience as Prime Minister with a former distinguished public servant in Arthur Synodinus who was my chief advisor and a chief staff rather and a regular advisor on policy matters. Roland Wilson's period of Treasury of the Treasury was not, of course, without drama and without turbulence. In a few months of becoming Secretary of the Treasury he and the then treasurer Sir Arthur Fadden had to deal with the stabilizing economic consequences of the wall boom that arose out of the ferocious acquisition of wall stockpile by the Americans at the time of the Korean War and for a period of some 12 months I think in either 1951 or 1952 inflation rose by 23% in a period of a year but remarkably it returned to more normal and much lower levels within a period of 12 months and it was one of the number of occasions during the Menzies years and this, of course, was a period of fixed exchange rates. It was long before the flow of 1983. There were many occasions when within the coalition government there were tensions about the value of the currency and on that particular occasion there was a push by many liberal members of the coalition for a discreet appreciation of the value of the pound and that was resisted by some liberals and members of the country parties then was and ultimately what was settled upon as a device for handling the problem was to impart a special tax on wall receipts and credit that into an account to be applied against future taxation liabilities of Graziers and that resulted in returning a great deal of stability to the situation. I mentioned that to remind you and remind the audience of the fact that although it was a period of extraordinary tranquility and great economic growth and very low unemployment, rising levels of home ownership and seemingly endless period of economic stability was not without challenges and in any fair examination of that period enormous credit has to be given and not only of course to the leaders of the government of particularly Menzies and Fadden and later on John McEwan and Harold Hart also the credit had to be given to the advice received from that person so inappropriately described as a wretched socialist by, summoned by the people I met when I first joined the Liberal Party. I was fond when I was Prime Minister of saying that economic reform was like competing in a never ending foot race. The finishing line kept proceeding but if you didn't keep trying to get there others in the race would go past you and I thought that was an apt metaphor to describe the challenge that we now have. Economic reform remains a major challenge for Australia at the present time. There is a view that the process of economic reform has stalled is an argument that I want to address and contribute a couple of observations about in the remaining part of my remarks. The Menzies period of course was one of very great economic stability and growth and prosperity. It was part of good management, it was also a view to world economic circumstances and in any fair study of the economic history of that period in the early 1970s will tell us that it came very much to an end in the early 1970s with such unsettling things as the quadrupling of world oil prices the end of the Bretton Woods fixed exchange rate arrangements and much of the other economic turbulence which followed the pressures on the American economy flowing out of the way in which the Vietnam War was financed first by the Johnson administration and then by the Hawke administration, then by the Nixon administration. The Hawke period of government in Australia saw very significant economic changes. One of the benefits enjoyed by that government was the willingness of the then opposition to support most, not all, but most of the major economic initiatives of that government, such as the floating of the Australian dollar which is by far in my view the most significant economic reform that this country has experienced over the last 30 to 40 years. Also the very significant reductions in tariff protection which for a Labour government was a courageous thing to do given its association with the trade union movement. I reflect upon the fact that it's now almost 30 years since the tax sum where my successor as Treasurer Paul Keating proposed option C which was a 12.5% consumption tax and if my memory serves me correctly I think I as opposition Treasurer E. Spokesman afforded more support to Mr Keating's proposal for the 12.5% consumption tax than he received from his then Prime Minister or the then leaders of the trade union movement. Now I mentioned that just to give you an anecdote in passing to sort of make that obvious point and I also might mention as an anecdote in passing that when it came to the introduction of the goods and services tax that bipartisanship was not repaid and I think it's fair to say that just as the most important economic reform of my time in Parliament was the floating of the dollar as far as its consequences were concerned the hardest was the introduction of the GST because not only was the introduction of the GST vehemently opposed by their opposition but the GST had a far greater impact on the daily lives and the patterns of economic behaviour for the average citizen than did the float of the dollar. When you look at economic reform over the last 30 years I think it's fair to say a couple of things in assessing why it is that it does appear to have stalled at the present time. One of them is that to some degree you take yourself back 30 years there were when we reflect on it properly there were some low hanging fruit of economic reform. We did self evidently need significant changes to our taxation system. The Asprey report which was the first economic report to my knowledge to recommend the introduction of a broad based indirect tax was handed to the Whitland government in 1975 having been initiated by Willie Snedden when he was treasurer in the last months of the McMahon government. But it took a very long time 1975 until the 2000 for a GST to be finally introduced but anybody who brought serious study to the state of Australia's economy during those years of automatic knowledge that the need for taxation reform was very strong indeed. The need for the privatisation of government enterprises also falls into that category as time went by it became overwhelmingly necessary and desirable that the government relinquished ownership of such organisations as Qantas and then Australian Airlines and ultimately of course the Commonwealth Bank. The Commonwealth Bank was the last act of privatisation carried out by the Labor government prior to the election of my government in 1996 and I do remember in the afternoon of the last Keating government budget delivered by Ralph Willis I was brought by Kim Beasley the finance minister and on the other side of politics with him I always enjoyed a pleasant relationship and he said to me I remember very vividly John he is still in favour of privatising the Commonwealth the rest of the Commonwealth Bank and I said yes I am and he said well I'm going to need your vote to get it through the Senate because the Australian Democrats are opposed to it and as it turned out he did receive our vote to get it through the Senate although not before quite justifiably Peter Costello characterised Ralph Willis commitment to the public service unions that the privatisation would not take place as the equivalent of issuing a false prospectus in a floating company but I leave that to one side. When I look at the challenge of economic reform at the present time I've really got a couple of central observations to make. The first of those is that I still believe that the Australian public will accept the desirability of economic reform if two conditions are satisfied. The first of those conditions is that the public must be persuaded that it is in the national interest. Australians still do look to the national interest. I know the popular cry from many commentators and I fear also many political participants the common cry is that the public is not concerned about the national interest of course individual members of the public are rightly concerned about the well-being of themselves and their own families but they do have a capacity to look beyond it and I think providing a strong argument is made in favour of the national interest reform is still possible. I think the other condition is that it must be seen fundamentally as fair and not imposing too harsh a burden on vulnerable sections of the community and if those two conditions can be satisfied then I believe that the public will embrace economic reform and drawing on my own experience and that of my government in relation to the introduction of the GST. I recall that whenever we advanced arguments such as this is a reform whose time has come, those arguments were greeted with supreme disinterest. It sounded too much like an ideological ploy but when the argument was that it makes more sense to tax what you spend rather than tax what you earn and that introducing your GST will increase the export competitiveness of the Australian industry the public was willing to go along with that but it had to be accompanied by plenty of reassurances in relation to the structure of the tax that individual in the community, the more vulnerable section of the community could not be disabarred by that. I think it's fair to say that when an argument is addressed to the national interest the public will take notice providing the supporting arguments go to the national interest and not to some kind of ideological prejudice or some kind of sexual interest. One of the greatest challenges that those in politics face today and I think it applies to people both in government and in opposition and I assert very strongly and I have in a modest way I was able to practice it in politics that oppositions have reform responsibilities as well as governments. The idea that once you go into opposition you have no responsibility to support sensible reforms is not a proposition that I put in any way support and I think it's very important that both sides of politics in Australia understand it. We are of course now living in a far less tribal political state than what we used to live in. When I was growing up and getting engaged in politics there seemed to be in existence what was called a 40-40-20 rule. Not a 30-20 rule known to those who studied the Australian financial system of that period but a 40-40-20 rule and 40% of the public always voted Labour, 40% voted for the coalition and 20% moved around in the middle. If you think that's lacking substance can I remind you that in the 1960s the Nadia of the Labour Party's fortune has reached the 1966 election when on a two-party preferred vote Harold holds victory at that election was the greatest calculated by the two-party preferred vote of any side of politics since the end of World War II and yet the Labour Party's primary vote at that election did not fall below 40%. Yet it's primary vote of the 2013 election that fell under 33%. We have seen the fragmentation of politics on both sides. It appears as though we have at the moment a detachable flank of about 15% of the once core vote of the two sides of politics and in the case of the Labour Party that much of that goes off to the Greens and you have plenty of evidence of that particularly in the recent New South Wales election and in the case of the coalition of the 1998 election wanted off to Pauline Hanson's One Nation Party and the last election some of it wanted off to the Parliament United We are living in a less tribal political state and the binary system which brought a certain amount of unity and predictability to political outcomes has changed a great deal and one of the consequences of that change has been of course a very big change and I think it's very important and perhaps not as commonly understood and remarked upon as it should be a big change in the composition and attitude of the principal cross bench party in the Senate and therefore in Australian politics. There is an enormous difference between the Australian Democrats and the Australian Greens It was possible for the coalition government to negotiate significant economic reforms with the Australian Democrats. I would be very surprised if it's possible for the coalition government to negotiate major economic reforms with the Australian Greens. I recall of course in 1996 Peter Reath as industrial relations minister was able to negotiate most of his workplace reform missions with Cheryl Kerner who was then the leader of the Australian Democrats and those negotiations included the crucial introduction of individual workplace contracts which represented in a sense the core of the difference in the approach of the coalition and the Labour Party to the organisation of industrial relations because it was the introduction of individual contracts that took away the monopoly on the bargaining process enjoyed under the old system in which essentially has been returned as a result of the changes made by the Roland Gillard governments and then even more well remembered was the negotiations we were able to have with the Australian Democrats in relation to the introduction of the GST and although the introduction of the GST was less than what the public had voted for at the 1998 election and crucially excluded coverage of fresh food and a number of other items and that of course when the downturn after 2008 came had a very big impact on the revenues flying to the states because of the inelastic nature of demand for fresh food and those other items nonetheless the fact that we were able to achieve something like 80 to 85% of our reform package through negotiations with the Australian Democrats is very important now that has changed and that has complicated things for the current government and it is a factor that does need to be kept in mind I think the other big change that's occurred in Australian politics and this is something that afflicts both sides of politics perhaps it's a little more advanced in the case of the Labor Party and particularly a little more advanced in both parties at a state level than it is at a federal level and that is the increasing proportion of people who enter Parliament without having had any occupational experience other than in politics now I am the last person to decry active participation in a political party or the demonstration of ambition for influence within a political party but I do worry that we have perhaps a great proportion of people in politics who have not had any job other than in politics in the case of a person on the Labor side university, a period of service in a union office and then on a politician's staff and then in the Parliament in the case of the coalition member the period of service in the union office is normally skipped and the politicians directly to the politicians office and then into Parliament and when I first entered Parliament in 1974 there were a large number of former trade union officials amongst the Labor members and senators but the difference in many cases was that they had in most cases they had shorn a few sheep or fixed built a few houses or in fact had been furniture manufacturers or whatever activity that might have been involved and that is even less so now. I think it's fair to observe that we have two state premiers at the present time who come into that category and they're both newly elected, premiers of Queensland and the premiers of Victoria, they may of course turn out to be outstanding leaders and outstanding premiers and I acknowledge that and I reflect not in any personal way but I use them as examples and how is this relevant to the reform process? I think it's relevant in this sense. The people whose only preoccupation has been with what I might call the internal machinations of politics and it's been their daily job I mean it's one thing to do something during the day be a teacher or a public servant or a lawyer or a doctor and then do politics at night and at the weekends it's another thing to be working full time on somebody's staff and doing nothing else and I do think it breeds perhaps over time it breeds a different attitude. Now coming to the present situation and the circumstances that face the current government we're all of course waiting with some anticipation for the budget on Tuesday night, someone that's been talked about I understand that and different governments have different approaches to budgets. I think one of the observations I'd like to make about the general economic climate is that we are in my view living in a certain uncharted waters in an unpredictable environment in that the progressive reduction of interest rates and the circumstance where there appears to be large amounts of liquidity within the system does not appear to have had the sort of impact that it might have had on economic activity five or ten years ago. Now whatever the reason for that is it's complex but I think it is a factor to be born in mind that some of the economic circumstances in which we are now existing are different and the reactions of economies around the world and Europe is a prime example. The United States I think is different I think the United States despite the stuttering of the first quarters of statistics I think the United States is essentially recovery I am very pessimistic about the situation in Europe I think the construct of Euro is fundamentally flawed the idea that you can have a monetary union without having a fiscal union is absurd and I don't believe that Europe will ever have a fiscal union notwithstanding the pronouncements of those who believe in the unaccountable and essentially undemocratic nature of the European project I think it's unlikely in the extreme that for example the French National Assembly is ever going to give up the right to determine taxation policy to a super European body. Of course the phenomenon of what I spoke earlier of the fragmentation of politics in Australia and the breakdown of tribalism is explicitly illustrated in the United Kingdom and political tragic such as myself of course find the character election in the United Kingdom quite extraordinary and we are looking forward to spending plenty of time on Friday morning watching the results as they are counted on the cable television but there are parallels I know it's stretching perhaps the analogy a little but you can almost see in the Scottish Nationalist Party a parallel with the Australian Greens and you can see in the war of Australian Democrats who are no longer in force a parallel with the Liberal Democrats but you are seeing with both the party in the UK and the Conservative Party in the United Kingdom you can see that the once presumed level of support within the electorate is no longer there and some of the Conservative support has gone off to the United Kingdom Independence Party and the level of support appears to have gone off big time to the Scottish Nationalists in Scotland and you have other parties in the mix now this is a circumstance that all democracies have got to deal with and the reason I stressed it tonight is that of all the lessons I took out of my 33 years in Parliament was that you have to have a proper understanding of the interaction of politics and policy it is true as one of my predecessors said that good policy is good politics yes that's true but it's also true when it comes to policy it's better to be 80% pure in government than 125% pure in opposition and that it is necessary to strike a balance I think of the economic debate that I observe at the moment perhaps the thing that irritates, disillusions me more than anything else is when I hear business leaders saying to the government and saying to the political cohort whether it's government or opposition you've got to demonstrate more leadership and you've got to run the country like a business running the country is not like running a business but if you are charged with running the country you need to have a very good understanding of business and you need to have a proper interaction with business and the balance between the two is fundamentally very important and those who do successfully implement reform and have done so over the years are those who have been more successful than others in achieving the balance between those two so bringing my thoughts together can I finish on the point that I made a few moments ago is that I don't despair about the possibility of achieving further economic reform I think it stands beyond argument at some point and just how and in what manner and again to what background is a matter for current practitioners of the art of politics to resolve but it stands without argument we must return to taxation reform we must return to industrial relations reform we should address some of the deficiencies of the federation but I don't think we should get carried away with the idea that you can start from scratch from the federation maybe I've lost my sense of adventure but I think starting from scratch the federation I look at this expression of concern from Western Australia about the division of the GST I understand that but I also remember going to Lone Council meetings when they existed as treasurer when Western Australia was a Dominican state and that most of the complaints were from New South Wales and Victoria and essentially what I think is happening with Western Australia is that there is a short term issue and then the electorate in Western Australia feeling aggrieved about the short term consequences and it seems to me that if what I read in the papers is correct I still do read the papers very closely the government appears to have been addressing it against that background so I think it is possible to isolate some of the things that do need to be addressed but more generally what is important for all of us to remember and all of us who are concerned about the quality of government and the quality of reform process is to bear in mind that the Australian people are fundamentally capable and willing to embrace reform they do worry about the future of this country and I hope that is addressed to the national interest but it does need to be seen by the community as fundamentally fair and can I finish with a personal anecdote from the very first budget that I produced as treasurer in 1978 which is an awful long time ago and one of the measures in that budget was a proposal to abandon the policy of twice the yearly indexation of the pension and to index the pension annually that proposal died in the coalition party room because it was seen as fundamentally unreasonable and unfair it was an interesting experience and a reminder that there are some things that people do regard as unfair and unworkable and yet over the years not only in that and the phrase of government but of course through the experience in opposition in relation to the hawk government and our own period in government far more major and significant changes were introduced but because that proposal was seen as unfair by the Australian community it was never going to be a flyer and it ultimately died a death of a thousand cuts in the coalition party room and it was a salary free lesson to me from the very beginning of the importance of that I finish on a personal note I have enormous respect and warmth towards the current government and the current prime minister in particular he was a wonderful minister of mine in a period where in government and I remain very optimistic about his capacity to do the right thing by this country and to deliver good outcomes for the future of our economy thank you very much Mr Howard I want to thank you very much for those particularly apt remarks I was sitting there thinking how refreshing it is to hear Senator Deese spoken one shouldn't have to say that I feel like saying it and this is a time in which Senator Deese needs to be spoken you have Mr Howard agreed generously to take questions from the audience and we do have some time we have some microphones roving and so if you would like to ask Mr Howard a question here's your opportunity and I'm sure there will be questions from the audience that's one down here thank you Mr Howard can you hear me thank you for your wonderful comments about economic reform I have a three pronged question very quickly do you have any regrets that you didn't offer any apology to the Aboriginal and Torres Strait Islander people during your term as Prime Minister did you have any regrets about any ambiguity about the children overboard saga and subsequent political gain and thirdly do you have any comments about the national disability insurance scheme that wasn't even a twinkle in anyone's eye during your term thank you first question I did not think a formal apology was appropriate and one of the reasons I didn't think it was appropriate was that I did not accept the central proposition of bringing them home report that genocide has been committed against the indigenous people of this country and therefore I was not willing to embrace a formal apology having said that I accepted a formal apology has been given I accept also that many indigenous leaders that I respect feel that the giving of the apology was beneficial it's not something that you revisit but if you're asking me if I had my time over again would I have taken a different position the answer is no I would not in relation to the children overboard incident it remains my position as I stated at the time that the major thing on people's minds as they voted in 2001 on the subject of asylum seekers was the success my government had achieved in stopping votes I don't think the children overboard issue influenced many votes at all it was not deliberately stated there was clearly a breakdown in communication between sections of the defence department and other sections and also between the department and the then minister I don't think there was any attempt by the then minister but then I had an enormous regard it was Peter Wreath to mislead the Australian public you will recall there were a number of inquiries and you will also recall that the senior public servant and senior defence officer at the time Angus Houston who publicly said that he had given certain advice to Peter Wreath that went on to become chief of the defence force and somebody who was greatly regarded by my government and by subsequent governments I don't feel any embarrassment in relation to that the national disability the concept of a disability scheme I support should we have done it well I suppose you might argue that I was not as persuaded that other methods couldn't work as well I was particularly attracted to a voucher system that Mel Brough who was the final person to occupy that portfolio in my government device so I think my answer on that is that sure the national disability scheme provided it is properly funded and properly trialled will be beneficial but it does have to be paid for and I do hope that it doesn't involve too many examples of one size fitting all and that's why I was particularly attracted to the voucher system that was developing the Australian way of government has become progressively more open the role of senior public servants has become more challenging what advice can you offer for younger leaders of the public service well I think one you can offer the first advice is don't believe it's about everything I've said about Roland Wilson I mentioned and others such as Fred Wheeler who was really the one quote man of the old order that I had contact with don't believe the idea that there are no longer any frank and fearless public servants who say what they think my experience was there were plenty of public servants who said exactly what they thought and said it very directly and said it to political figures of both sides of politics I think we have become more open in exchanges of opinions between the public service and the rest of the community it was the case in the mentees period of the period for which the admiration I've written about it was the case that the public service many of them resent advice coming from other sources there was a wonderful quote that I have in my book about from John Bunging in which he talks about how tremendously importantly the role of what was the equivalent of a chief of staff could be and making sure that appointments are kept and that the minister's appearance is up to date and all that kind of stuff but of course always at a removed from policy the idea being now the truth is that we live in a world now where advice in every field is contestable and the intelligent public servants and there are so many of them that I dealt with didn't really resent other advice they did resent legitimately their advice not being considered and one of the standing requirements I had in my own office was that if the advice of the department was not to be taken there had to be proper explanation given as to why it was not to be taken and that the interaction between the department and the office had to be one of respect and professional engagement and if I can again mention my own experience with Arthur Sinodenas and Tony Nutter as my principal private secretary it helped enormously my own experience was very positive in relation to the public service and I think the most important thing is to disabuse younger public servants of the idea that they're no longer listened to and they're no longer mad at me and it's all I that was not my experience and I'd be watching down since I've been out of it for seven years shouldn't pretend that things remain the same they certainly haven't but I think the idea that the golden there was a golden age and that's gone and it's never coming back it's that age is not coming back but a different more contemporary contestable age is with us Questions yeah you talked about your comments about the 40-40-20 the boat split, the travelization of the electorate do you think this trend will continue and if so do you think that we'll see a recurrence of minority governments? Well I think the fragmentation, the certain amount of fragmentation is with us because we are just no longer as ideological as we were and in a sense this is a product of the fall of the Berlin war I know that's a stretching but we did, I mean I grew up I mean I'm a bit older than you are and hold a lot of people in this audience but we did grow up in an era where it seemed as though not only was the world divided geostrategically but it was also divided economically between the more or less capitalist world led by the United States and the command economy model and a lot of people even as late as the middle 1980s who was seriously argued the moral equivalence between the Western and the Soviet Union and people still believe that maybe the command economy model would triumph now when it all ended to oversimplify I think the world moved a bit to the right while you use that expression when it came to economics I mean I can remember in the first budget I heard introduced by Frank Prean in 1974 he actually had a paragraph in the budget in which he said that the relatively subdued conditions in the private sector make it possible to transfer more resources to the public sector in other words it was an objective of budget policy to shift resources into the public sector I never heard Wayne Swan say that at the height of the Gila particularly the right government's response to the global financial downturn so I think a certain amount of the ideology has gone and when that happens you do get a fragmentation I'm running to fewer people who now say to me my father would spit in his grave if he knew I was voting liberal or if he knew I was voting Labour but he used to hear that very commonly in the 1950s and 60s so I think it's going to go back I think fragmentation again and of course it's having an impact on both parties I think it's probably having a little more impact on the Labor Party maybe on the wrong but I think some of the reaction of the Labor Party to the success of the Greens in those two inner city state seats and Newtown and Balmain is interesting and it's obviously having quite an impact and of course you're seeing it played out in a different way but the same forces that work in the United Kingdom. Just on that Mr Howard whether you think that this breakdown in tribalism we're observing has anything at all to do with the changing nature of the media and in particular social media? I think it predated the social media social media is probably fueling it but it predated and Pauline Hansen was 1997-98 and there was no Twitter and Facebook when I was Prime Minister and not that I had any connection between the two but you know I think they haven't we had even more trouble Maybe it has made life more difficult Menzies early years as Prime Minister made good use of international experience of many senior public servants. Sorry Menzies early years as Prime Minister made good use of international experience of many senior public servants. In what ways should Prime Ministers invest in international experience of their public servants? To what extent should Prime Ministers have international experience a great deal. Although I had a long-standing interest in foreign policy and defence and something of an instinctive sympathy for our defence forces from the very beginning, I don't pretend in my pre-prime ministerial years to have had a sophisticated involvement with international affairs and I relied very heavily on public service and it could range of them. Many of them are here tonight who advised me very closely and I found their advice extremely valuable. I think it's very important in the crucial public policy areas to have as much stability as possible. I always remarked for one of the reasons why some people are kind enough to regard my government as having been stable and perhaps modestly successful was that we had the same people occupying the Prime Minister's ship, the Treasury portfolio and the Foreign Affairs portfolio for the entire period. We're in government now, not everybody within the party is necessarily happy with that arrangement. I always, he likes that. But the point I made is that you do need that and I found the advice obviously of people such as Philip Pludd and Ashton Culver and Peter Barghese here tonight and Michael Thornton, Liz could go on and Dennis Richardson, all of whom had a tremendous background in foreign affairs, extremely valuable, Rick Smith and so on. I didn't always take their advice but you don't. The important, the way it should work is you listen to the advice and if you don't take it you should indicate why but in the end if you follow that process then the system works. I think in the area of international affairs and defence the best thing my government did institutionally was to establish the National Security Committee which involved not only senior ministers but also involved at the same time as part of the body of the senior public service advisors. I found those gatherings where you could talk about national security issues with the head of foreign affairs and defence and the CDF and RNA and ASIA. I found those meetings absolutely invaluable and that forum brought forth an understanding and exchange of ideas that was certainly to me and I think to my other colleagues invaluable. We have time for one more question. Wait for the microphone. Thank you for your talk. My question relates to a comment you made in your presentation about the politician having the apprenticeship, the union movement, if you're a conservative you jump straight to a staff or in the minister's office. The question relates to the policy advice of the policy advisors to ministers and whether you see that as a problem and interfering with the work of the public service or do you see it as another source of advice noting that some of the advisors may not have a lot of world experience. Well it will vary according to people. In an ideal world you will have non-public service policy advisors who are savvy in the policy area respectful and professional in their doings with the public service but you'll also have a minister or a prime minister who has a capacity to sift information and make the right decisions. I think 90% of the pieces of paper that come across my desk as prime minister deserve immediate endorsement because they were self-evidently common sense pieces of advice. It was the 10% that you had to deliberate on and that involved working out what was the 10% because the 90% don't have flags at the top saying you know this should be it automatically endorse even that. That might be the wish of the author of the advice. And having that capacity to prioritise that's where I think extremely astute good quality private office staff are very important but it will just vary enormously. I mean if you get somebody who's on a minister's staff is essentially being just a political aberration and has no policy field at all and that person has enormous influence that can be quite bad but on the other hand if you get somebody who's who's got good policy instincts but just is at a remove from the public service stream of advice and brings another perspective and outside economic perspective and I'm embarrassing by saying when I first became treasurer John Hueson was on my staff and he was extremely valuable to me because he was a very skillful economist he brought a different perspective and but he interacted well with the public service so I think it's depends entirely upon the circumstances and the individual and particularly the frame of mind and attitude of the minister if if he is just involved in a purely political exercise all the time that's bad equally if he is completely a policy captain of his or her department that's bad as well. Okay Mr Howard I want to thank you very much on behalf of the Sir Roland Wilson Foundation which I'm honored to be chair you've given us a lot of food for thought you took us back to 1951 and you covered a lot of ground in your address you reminded us that whilst that period from 1951 to 1966 is usually seen as a period of great stability and that is largely true was nevertheless not a period without its own particular challenges and in particular the the wall price spike associated with the Korean War which turned out to be a relatively short shock if a big one and a shock that turns out to have been very well handled although of course at the time it was incredibly unpopular and I know I've had occasion to look at an editorial written in the Sydney Mining Herald at the time that basically said both the government and its advisors have lost sense it was much more colorfully written than that so this was not a period that has challenges but then of course when the oil price shocks of the 1970s hit we found that we had bigger challenges to deal with and as you said the policy apparatus found itself not at all up to the task and so the case for economic reform became increasingly obvious and by the 1980s there was a bipartisanship that had developed around the case for quite wide-ranging economic reforms you then address the question why it is that reform seems to have stalled appears to have stalled and you took us through several reasons that might explain some of what appears to be stagnation in economic reform but you gave us reason for hope and in particular you you said to us that reformers have to have a proper appreciation of the appropriate balance or getting the appropriate balance or interplay between policy and politics and in particular you left us with the important message that Australians will listen to good argument that's in the national interest provided the outcomes are seen as being fair and I think I would have to agree with that I want to thank you on behalf of everybody who is here to thank you for having been so generous with your time to have come down to this place that is as you knew before you got here can be cold and and I want to thank you also for being so open in your responses to to questions we have a little moment here for you a little a little bit from this round thank you


It is important that you manage and reduce stress in your cat as much as you can because if your cat is stressed, they can become both emotionally and physically unwell and may develop physical illnesses as well as display problem behavior. The social environment. For multiple cat households, you need to ensure there is no displacement or aggressive behavior between cats. Each cat should feel safe and meet its basic needs, including food and water access and a safe space. Hormonal changes can cause variations in the cat's social interactions, and, as a responsible multi-cat owner, you should always be observant of the cat's interaction to make sure every cat can feel safe. If you notice displacement and aggressions, separating the cats and starting with some positive socialization training will be necessary. Recognize separation anxiety. Separation anxiety is a fairly common problem in pets. If you must be away working most of the day, try leaving entertainment and interactive toys to keep your cat engaged. Do not make a big deal when leaving or when arriving back in the house. If these methods don't work, consider getting a pet sitter or a second cat to keep your lonely cat company while you are away. Use pheromone diffusers. Synthetic pheromone diffusers work by sending a feel-good signal to cats helping them calm down and feel safe and at home. Different formulations are available, depending on if you have a multiple cat household or a single cat. Pheromone diffusers might take some time to work, but they are a very effective option to help your cat feel calm, safe, and at home in a different environment. Try a cat calming spray. There are several options in the market for cat calming sprays. Some have relaxing herb blends, and others work similarly to pheromone diffusers. If you are already using the pheromone diffusers at home, the same brand spray might be very useful for on-the-go and travel situations. It can be sprayed over the blankets in the transport box, car, or hotel room and will help your cat feel calm and at home anywhere. Try some calming music. Yes, calming music works wonders for some cats suffering from anxiety. It is worth giving it a shot to provide a more cat-friendly environment to your cat prone to anxiety. Hello. This video is sponsored by Beemix Pets. Are you looking for high-quality cat collars at an affordable cost? Check out BeemixPets.com. Use coupon code Kittenlife, to get 20% off. Plan and use training and desensitization methods. Traveling can be a bit stressful for cats. Bringing your cat to voluntarily go into the travel box and having a positive association with it will go a long way in building its confidence and comfort in it. As a rule, the cat should get a reward for going into the travel box multiple times. Those rewards will help the cat feel more confident. Use calming supplements. L-Tryptophan, Alpha-Casazapine, L-Theanine, and Choline are some examples of supplements that can help your cat deal with anxiety. L-Tryptophan and Alpha-Casazapine have proven effective in reducing the cat's anxiety. Alpha-Casazapine is a bioactive peptide from the cow's milk protein casein that has an anxiolytic effect like that of benzodiazepines. L-Tryptophan is an amino acid that is important in the production of serotonin, the feel-good neurotransmitter, of the brain. L-Theanine is an amino acid found in tea leaves that has proven anti-anxiety effects in humans and animals. Choline is a precursor to the neurochemical dopamine, linked to feelings of pleasure and well-being. Try calming herbal blends. Valerian root, catnip, cat time, and licorice root are some herbal blends that have calming and feel-good effects on cats. As a sniffing toy or as a tea, this herbal compound might be just what your cat needs to calm down and deal with anxiety. We recommend using these herbs in advance if you plan to use them for a specific event, such as traveling, as you can study the effects and duration of them. Some cats do not react at all to some herbs. Speak to the vet about the possibility of anti-anxiety medications. If none of the these are enough to help your cat deal with anxiety and stress, speak to the veterinarian about the possibility of long-term or short-term anxiety medications. Depending on your cat's specific needs, the veterinarian will be able to prescribe something that helps your kitty stay calm. We recommend using this as a last resource, as most cases can be solved naturally without using these medicines. The medicines could have secondary effects and tend to be addictive. They are an effective last resource, but make sure you have exhausted all other options first. // If you enjoyed this video, kindly press the like button. Also don't forget to subscribe with notifications on, so that you don't miss out on videos like this. Thank you for watching.


Live from Las Vegas, it's theCUBE, covering AWS re-invent 2017, presented by AWS, Intel, and our ecosystem of partners. Well, we are back live here at the Sands Expo Center, we're of course in Las Vegas live at re-invent, AWS putting on quite a show here, day one of three days of coverage that we're seeing right here on theCUBE. I'm John Walls along with Justin Warren, and we're now joined by a couple of folks from Datamere, Justin Rodatis is the CEO of that company in Pusher Palin, who's the senior product manager in Christian and Pusher, thanks for being with us. Good to have you here on theCUBE. Thank you for having us. You were just, so you were cubing it just recently up in New York, Christian? Yeah, absolutely. We were seeing you guys in New York, and we had actually, we've done some work with a couple of customers, probably two weeks ago in Palo Alto, I believe. I don't know how we can afford you.  I'm happy to be here again. It is great, thanks for taking the time here. I know this is a busy week for you all. First off, let's talk about Datamere in general, just to let the audience at home know, in case they're not familiar, with what you're doing from a core competency standpoint, let's talk about what you're doing here. Absolutely. Meet Datamere was founded eight years ago, and Datamere was on the onset of the big data wave that started in the 2009 and 2010 timeframe, and Datamere was actually the first commercial platform that provided a tool set to enable our customers to consume enterprise-scale Hadoop solutions for the enterprise analytics. So we do everything from ingesting the data into the data lake, over preparing the data for consumption by analytics tools throughout the enterprise, and we just recently also launched our own visualization capabilities for sophisticated analysis against very large data sets. We also are capable of integrating machine learning solutions and preparing data for machine learning throughout the organization, and probably the biggest push is into the cloud. And we've been in the cloud for a couple of years now, but we see increased momentum from our customers in the marketplace for about 15 months now, I would say. So before we dive a little deeper here, I'm just kind of curious about your work in general. It's kind of chicken in the egg, right? You're trying to come up with new products to meet customer demand. So are you producing to give them what you think they need, or are you producing on what they're telling you that they need? How does that work as far as trying to keep up with this? I can kick this off. So it's actually interesting that you asked this because the customers that did interviews with you guys two weeks ago were part of our customer advisory council, right? So we get direct feedback from leading customers that do really sophisticated things with data mirror. They are at the forefront of developing really mind-blowing analytical applications for high-value use cases throughout their organization. They help us understanding where these trends go. And I give you an example. So I was recently meeting with the chief data office of a large global bank in London and they have kicked off 32 Hadoop projects throughout the organization. And what he told me is just these projects will lead to an expansion of the physical footprints of the data centers in the UK by 30%. So and then he said, okay, we are not in the data center business. We don't want this. We need other people to take care of this. And they launched a massive initiative with Amazon to bring a big chunk of the enterprise analytics into AWS. It sounds like you're actually really ahead of the curve in many ways, because of the explosion in machine learning and AI, that data analytics side of things. Yeah, we had big data for a little while, but it's really hitting now where people are starting to really show some of the amazing things that you can do with data and analysis. So what are you seeing from these customers? Like, what are some of the things that they're saying? Actually, this thing here, this is what we really love about Datamir and this is something that we can do here that we wouldn't be able to do in any other way. Shall I take that? Yeah, you can do that. Oh yeah, so when it comes to heart of the matter, there's like three things that Datamir hits on really well. So in terms of our user personas, we look at all of our users, our analysts and data engineers. So what we provide them with that ease of use, being able to take data from anywhere and be able to use any multiple analytic capabilities within one tool without having to jump around in all different UIs, right? So it's like ease of use, single interface. The second one that they really like about us is being able to not have to, whatever, being able to not have to switch between interfaces to be able to get something done. So if they want to ingest data from different sources, it's one place to go to. If they want to access their data, all of it is within the single file browser, they want to munch their data, prepare data, analyze data. It's all within the same interface and they don't have to use 10 different tools to be able to do that. It's a very seamless workflow. And the same token, the third thing which comes up is that collaboration, it enables collaboration across different user groups within the same organization, which means that we're totally enabling the data democratization, which all of the self-service tools are trying to promote here, making the IT's job easier. And that's what Datamir enables. So it's kind of like a win-win situation between our users and the IT. And the third thing that I'm going to talk about, which is the IT making their lives easier, but at the same time not letting them go off, leaving the leash alone, enabling governance. And that's a key challenge, which is where Datamir comes into picture to be able to provide enterprise-ready governance to be able to deploy it across the board in the organization. Yeah, that's something that AWS has certainly led in, is that democratization of access to things so that you can, as individual developers, or individual users, go and make use of some of these cloud resources. And seeing here at the show, and we've been talking about that today, about this is becoming a much more enterprise-type issue. So being able to do that, have that self-service, but also have some of those enterprise-level controls, we're starting to see a lot of focus on that from enterprises who want to use cloud, but they really want to make sure that they do it properly and they do it securely. So what are some of the things that Datamir is doing that helps customers keep that kind of enterprise-level control, but without getting in the way of people being able to just use the cloud services to do what they want to do? So could you give us some examples of that maybe? You know, I'd like to check comment on the specifics on how we deploy in AWS for other cloud solutions for that matter. But what you see with on-premise data lakes, customers are struggling with it, right? So the stack has become outrageously complicated. So they try to stitch all these various solutions together. The open-source community, I believe now, supports 27 different technology platforms, right? And then there's dozens over dozens of commercial tools that they play into that, right? And what they want, they actually just want this thing to work, right? They want to deploy what they used from the enterprise IT. Scalability, security, seamlessness across the platforms, appropriate service-level agreements with the end-user communities and so on and so forth, right? So they really struggle to make this happen on-premise. The cloud addresses a lot of these issues and takes a lot of that burden away. And it becomes way more flexible, scalable, and adjustable to whatever they need, right? And when it comes to the specific deployments and how we do this and how we give them enterprise-grade solutions that make sense for them, Pooja, maybe you can comment on that. Sure, absolutely. And more specific to cloud, I would love to talk about this. So in the recent times, one of our very first financial services customers went on cloud and that pretty much brings us over here, being even more excited about it. And trust me, even before elasticity, their number one requirement is security, right? And as part of security, it's not just like one, two, three, Amazon takes care of it, it's sorted. We have security as part of data mirror. It's been deployed before it's sorted. It's not enough. So when it comes to security, it's security at multiple levels. It's security about data in motion. It's security about data at rest, right? So encryption across the board. And then specifically, right now while we're at the Amazon conference, we were talking about enabling key management services, being able to have server-side encryption that Amazon enables, being able to support that. And then besides that, there's a lot of other custom requirements, specifically around how do you, because it's more of a hybrid architecture, they do have applications on prem, right? They do have like a deployed cloud infrastructure to do compute in the cloud as and when needed for any kind of burst workloads. So as part of that, when data moves between, you know, within their land to the cloud, within that VPC, you know, that itself, those connectivity has to be secured. And they want to make sure that all of those, you know, user passwords, all of that authentication is also, you know, kind of secure.  Even before they go. Financial services, I mean, you mentioned that, both of you are talking about it. That's a pretty big target market for you, right? I mean, you've really made it a point of emphasis. Are there concerns, I get it, we'll obviously understand how treasured that data can be. But do you provide anything different for them? I mean, as a data point, a point of point is a point as opposed to another business. You just protect it the same way, or do you have unique processes and procedures and treatments in place that give them maybe whatever that additional oomph of comfort is that needs? So that's a good question, right? So in principle, we service a couple of industries that are very demanding. So it's financial services, it's telecommunications and media, it's government agencies, insurance companies. And when you look at the complexities of the stack that I've described, it's very challenging to make security, scalability, and these things really happen, right? You cannot inherit security protocols throughout the stack, right? So you stack a data prep piece together with a BI accelerator, with an InChest tool, right? These things don't make sense. So the big advantage of Datamere is it's an end-to-end tool, right? We do everything from InChest data preparation to enterprise scale analytics and provide this out of the box in a seamless fashion to our customers. Right. Yeah, it is fascinating how the whole ecosystem has sort of changed in what feels like only a couple of years and how much customers are taking some of these things and putting them together to create some of the amazing new products and new ways of doing things. So can you give us a bit of an idea of, you were saying earlier that Cloud was sort of, it was about two years ago, three years ago, what was it that finally tipped you over and said, you know what, we've got to do this? We're hearing a lot of talk about people wanting hybrid solutions, wanting to be able to do bursting. What was it really that drove you from the customer perspective to say, you know what, we have to do this and we have to go into AWS? Did you catch the entire question? Just repeat the last one. What drove it to the cloud? What drove you to the cloud? What pushed you over the top? I mean, so this is a very interesting question because DataMirror was always innovating ahead of the curve. Right, so this is probably a big piece to the story. And if you look back, I think the first cloud solutions with Microsoft Azure, so first I think we did our own cloud solution and we moved to Microsoft Azure and this was already maybe two and a half years ago, right? Or even longer. So we were ahead of the curve. Then I would say it was even too early, right? You saw some adoptions in Microsoft Azure, so there's some good adoption but now you see this accelerating, right? And it's related to the complexity of the stack, to the multiple points of failure of on-premise solutions, to the fact that people want, really they want elasticity. They want flexibility in rolling this out. The primary, interestingly enough, the primary motivator is actually not cost, right? It's really a breathable solution that allows them to spin up clusters, to manage certain workloads that come for a compliance report every quarter, right? They need another 50 nodes, spin them up, run them for a week or two and spin them down again, right? So it's really the customers are buying elasticity, they're buying elasticity from a technology perspective, they're buying elasticity from a commercial perspective. Yeah, we certainly, customers really like that flexibility, yeah. And I think we are now at a tipping point where customers see that they can actually do this in a highly secure and governed way, so especially our demanding customers and that it really makes sense from a commercial and elasticity perspective, right? Well, as you were saying, that's what they're buying, but they're buying what you're selling. So congratulations on that, obviously it's working. So good luck, continued success down the road and thanks for the time here today, we appreciate it. Thanks for having us. Always good to have you on the queue. It's cocktail time, thanks for having us. It's just five o'clock somewhere here right now. Back with more live coverage and re-event. We'll be back here for Las Vegas Live in just a bit.


here. All right everybody thank you for coming to our talk under the trench coat neutron agent extensions. My name is Nate Johnston I work for Comcast. This is my colleague Margaret Francis who also works for Comcast and David Shaughnessy who works for Intel. A little bit about who we are you can read this later when you download the slides but we were both or all three of us are neutron contributors. Margaret and I have contributed to neutron firewalls of service as well. So I'd like to start by talking about the history of neutron agent extensions. Neutron agent extensions have their origins in the quality of service effort in the keel and Liberty Cycles. It took a lot of engineering to do took a while. They are implemented in a separate feature branch the QoS or quality of service feature branch in Neutron by these folks who I want to give credit to. Mosha Levy, Irini Berezovsky, Miguel Angel Ajo Playa and Ihera Hrashishka. The problems that agent extensions were intended to solve were whenever a new feature needed to be implemented in Neutron they required some agent side implementation code. That code was getting just you know put into the Neutron agent in general which led to some bloat in the agent and that was not a sustainable path over the long term. Also advanced services or external projects like advanced services were unable to extend agent functionality without overriding the agent. By that I mean taking the agent the main agent class subclassing it and with you know a subclass that implemented some additional service specific logic and then have that be the main execution point for the agent. We saw this especially in the L3 agent but there was some instance of it in the L2 agent as well. And then even with that inheritance base extending of the agent when you had more than one external service it became extremely difficult to have those work at the same time. For example I think at some point somebody got firewall as a service and VPN as a service working simultaneously with the L3 agent but a required cartwheels on the code and that's not the way you want it want to build a general framework. So Neutron agent extensions arose to meet those challenges. The extension manager is a new class that was implemented subclass from stevedores named extension manager in a pattern that was proven to work well with the Neutron plugins and the ML2 mechanism drivers. It kept with that same pattern and the agent sends messages to the extension manager which then forwards them to all extensions. As I said the first implementation of this was in quality of service which is an L2 concept that extends the idea of the network port by adding regulation of data flows. So the way this was implemented a new cost policy object to specify the configuration of the quality of service was added to the port as an attribute of the port. So any updates to the port data would go over RPC would include the relevant cost policy information. So if I update the port then the cost policy gets sent to the agent. But what if I just update the cost policy? Because we took something new, the cost policy and added it to something existing, the port, we needed a method to synthesize port update just in the case that the cost policy was updated. And so a cost notification driver which is part of the cost plugin in Neutron server was created to make sure that those events would be properly synthesized and sent down the wire. So that was the first version of agent extensions which worked well for the first feature we implemented in cost which was bandwidth limiting. Second feature we implemented with cost we discovered we needed a little bit more sophistication in the mechanism. That was the DSCP feature. DSCP manages a tagging of traffic using OVS flow entries. OVS flow entries are managed in the Neutron OVS L2 agent using cookies to make sure that say if the agent restarts it can identify flows that correspond to the previous iteration and clear those out. So the only flows that are there are the ones that it is inserted. So what we did is we added an agent extension API, a programming API, not an inter process communication API. And basically that's an object that has visibility into this information that's in the agent, but that object is transmitted to the agent extensions. So they have visibility into this piece of data that only exists in the agent process. At the beginning of the Newton cycle we attacked the problem of the L3 agent which was suffering some of the same issues that the L2 agent did. And so the pattern of agent extensions looked like it would solve the problems that we were having. So what we did is we took the agent extension code, made it generic, moving it out of the L2, partially out of the L2 tree into a series of abstract classes. So we adjusted the L2 agent extensions to inherit from those. But then we could also set up a parallel L3 agent extension that would serve the layer three needs. The difference between them really comes down to the layer two agent is concerned with port events. So that's the information it forwards on. When it receives a port update or whatever, it forwards that to its extensions. The layer three agent is concerned with router events. So when a router create, delete, update is received over our PC, that's what it forwards to the agent extensions. So the second implementation that we work with with agent extensions is firewalls as a service. Firewalls as a service had a complicated inheritance based relationship where it was overriding the, or hijacking the neutron agent at the start of Newton, but that was just too complicated and that relationship was severed. So we turned the firewalls service agent into a layer three extension using this framework. It drove the creation of an agent API similar to the L2 one, except instead of OBS cookie, what it's allowing agent extensions to have visibility into is the router info. In the case of firewalls as a service, it needs router info to associate routers to name spaces so they can take action in the correct name space. So that's where that's where agent extensions came from. To go into a deep dive, I'm going to pass it to my colleague, Margaret.  It's off. Hello. Great. I did that. Here comes this guy. Okay, I have things that I can say without the screen. So as I was thinking about what I wanted to say in these slides, I was imagining myself in the audience and imagining myself what I would want to get out of this talk and what I would want to get out of this talk, thank you, is information that would enable me to write an agent extension. And so it was with that in mind that I wrote what I wrote. And what I'm covering specifically is the architectural details that I think somebody would need to know in order to write their own agent extension in a later section of the talk, we'll get into more of the weeds and talk about details. Maybe I'll give this whole thing without slides, which brings me to my next point, which is that this is the first presentation that I've done. And I'm nervous. A colleague of mine told me that I should just come out and say this. But you needn't worry as long as these come back because my colleague, Nate, is prepared if I faint to step over me and continue with section two. I have one more thing I can say before I need the slides, which is that, again, thinking about myself in the audience, thank you, what is it that I did that... Another thing that I was thinking about imagining myself in the audience if I hadn't yet contributed to Neutron, is what would it be like psychologically? So my own story is that I'm relatively new to Neutron and to OpenStack. And actually, I'm relatively new to networking too, at least at the L2, L3 layer. But the core and other frequent reviewers in Neutron, in addition to being super smart, and like one of the core, it's just left and he couldn't hear me say this. But in addition to being super smart, they're also unbelievably helpful to new people. And most importantly to me, they're really nice. And so for those reasons, I was able to come up to speed, I think pretty quickly. And in fact, you know, work on some of the things that you saw in that earlier slide, for instance, the generalization of the L2, L3 agent extension code.  Okay, now, if I don't mess this up, I can talk about actual content. So as Nate mentioned, earlier agent extension implementations highlighted some issues that we need to be concerned about. And they are that, you know, in addition to having to wanting to run multiple extensions simultaneously, we also want to be able to implement an extension and change it, extend it, refactor it without touching the agent. We want to be able to load an agent extension without affecting the agent. And most important, I think most important, we want to be able to give the extension access to agent resources. And these concerns are seemingly in tension with one another. It seems like the natural way to address the last issue anyway is to, is by some sort of subclassing in one direction or the other. But if you subclass it in such that in such a way that the agent is a subclass of the extension, then you have thereby touched the agent. And if you go the other direction and the extension subclasses the agent, well, then it becomes really difficult, as Nate mentioned, not impossible but very, very difficult to run more than one extension at a time. So we have these two tools in our toolkit that were recently pulled out in order to address all of these concerns. And they are the stevedore packages named extension manager and the Neutrons agent API implementation. So we'll start with the stevedore package. So there are three components of the framework, three classes really that have specific responsibilities in order to enable agents extensions, at least the new form of them. So the agent needs to instantiate the manager, create one, and it needs to send the manager messages that are ultimately intended for the extensions to the manager. The extension manager is going to load the extensions, of course, and it's going to broadcast agent requests to the extension. There's an abstract base class that's used to provide the interface for the extensions. If you're writing an extension, what it needs to do is it needs to implement that interface. And then you, the person, needs to create an entry point and register it with the caller, I'll show you an example of that, and define a unique name space for the collection of extensions where your extension will live. And we're going to see an example of what I just talked about momentarily. So the named extension manager handles several, but not all of the concerns that I talked about earlier in this section. It, you know, enables you to load extensions, multiple extensions at runtime, and it enables you to implement an extension without touching the agent. So we have this last concern remaining, which is that we want to make sure that the extension gets access to agent resources. And to do that, we've implemented this notion of the agent API. I'm resurrecting this diagram from Nate's portion of the talk, because I think it really captures quite well what's happening with the agent API. In this case, we're looking at an L3 scenario. We have this router info that is the piece of agent information that we want to make accessible to the extensions. What we do with the agent API is that we have a single copy of this router info, which is what you would want, that's made accessible, it's made visible to the agent extensions. You see these windows that intercede between the extensions and the router info, and that sort of indicates, it should indicate that it's a read-only access. We really don't want the extensions to modify this agent information in any way. Okay, so now we're looking at this framework again, except augmented, and the additional pieces are the additional pieces required to bring about this agent API feature. The first addition is the agent API itself. That class is going to be instantiated by the agent, and the agent is going to provide to that instance the agent data that it wants the extensions to have ultimately. The agent API also defines several methods that the extensions will call in order to access the agent information. Now, in addition to having to instantiate the manager, the agent needs to instantiate the agent API, of course giving it the data that it needs to give it, and it sends this loaded up API to the manager. An additional task or responsibility of the manager is to forward that received agent API along to the extensions so they can use it, and then the abstract base class has two additional responsibilities, which are to define a consume API method and an initialize method, and I'll get to those in just a minute. Okay, so the interface for the extension has changed with the introduction of the agent API concept, and it now needs to implement these further two methods. The consume API method does what you would think it does. It enables the extension to receive and keep the agent API. It's not keeping the agent information, it's keeping a mechanism by which it can access the agent information, and then it needs to implement this initialize method, which will allow it, well, to do anything it wants, actually, but often what it's doing is it's doing something with the agent API. So now I'm going to show you some code specifically first on the L3 side, and I'm going to be looking at firewall as a service. It's a service that I recently did some work in, and in particular, it's on the L3 side, there's both L2 and L3 sides of firewall as a service, and I'm going to be showing you some code from the V2 version of it, which specifically applies firewalls to router ports. So I wanted to show you in the Neutron code base the aspects of this new architecture, where they lie, where these different components live in the tree. And I've also shown you here where in the Neutron foie's code base the extension in question that I'm going to show you lives. This is the L3 agent extension API. And this is real code. All of these are real code, except that anything that is extraneous, anything that doesn't have to do with this talk has been removed. So nothing runs, really, and it's not necessarily pet bait compliant. So don't look to be testing this out directly. But you can see that in it's a knit, the API takes a hold of the agent API and assigns it to self, but as a private variable. And then these other methods expose certain parts of the router info to, did I say agent API? Okay, it assigns the incoming router info as a private variable to itself. Then these other methods are going to be called by the extensions. And they enable the extensions to access the appropriate parts of the router info. The agent. So you know, the agent needs to now do several things, right? It needs to instantiate the manager. It needs to instantiate the agent API. It needs to send that agent API to the manager. And here is a representative method on the agent where a router gets added, the agent gets notified, ignoring that this is a private method. And in turn, the agent is going to notify the manager that the router has been added. And then the manager, as you might expect, is going to notify the extensions. So the extensions manager, as Nate mentioned, has both a general and a specific L3 or L2 specific side. So the general side is is to define, excuse me, is to load the extensions. It's going to load the extensions using a list of extensions taken from a config file. This is the, you know, run time loading of extensions. And it's going to, you know, tell its super class, here's the namespace for these extensions. The initialized method is going to tell each of its extensions. I want you to consume this API, this agent API, and now do, you know, do some initialization with it, whatever that might be. You'll notice that consume API comes before initialize, and that's important that that happened, because on the extension side, the initialized method and other methods as well may and will really assume that the agent API is accessible at that point. So this consume API method really needs to be just about the first thing that happens to the extension. And then a subclass of this generalized class is the L3 specific part of this, and that handles router specific behavior. And when I said that I'm showing you code and I've removed stuff that's extraneous to this talk, I should have also said that I have not included everything that's relevant to this talk. So there's more than just add router. In case you're wondering. And here is the agent API. There's, again, both a general and an L3 specific set of classes. The general defines these two methods that I've been talking about. And the specific one defines these router specific methods. Now both of these classes are an ABC abstract class. And some but not all of the methods in them are ABC abstract methods. What this means is that any subclass that implements one of these classes must implement the abstract methods. And if there's a subclass that doesn't implement all of the abstract methods designated as such with this decorator, then there will be a runtime error, which is nice. You'll see here that consume API probably the most critical method in this game is not designated an ABC abstract method as such. And that's intentional. The reason for that is that by the time this architecture came into place, there were already extensions in play that did not have that method defined. And we didn't want to break them. And it turns out that, well, they don't need it yet. Or maybe at all. So that's so it's a historical reason. Here's the extension. And you know, it kind of does exactly what you would expect at this point, right? It implements the interface. It takes in the agent API and assigns that to self. It implements these router specific methods. And then elsewhere in the code, you'll see that it's calling methods of the agent API in order to get to receive information about router info that object. And finally, I promise that I'd show you how to set up an entry point. And here it is. You've got to create it in your setup config. And then you've got to tell the agent that it's there.  You'll have to figure it out. Okay. So you can see that with the combination of these two things that we've satisfied all these concerns, right? I'm not going to read them over again, but we are good to go. And I'm going to talk now very briefly about the L2 side of things. And the reason I'm going to talk only briefly about it is because David has really great things to say, but also because the patterns that you would see, you do see on the L2 side match exactly what we've seen on L3 with with some exceptions that I'm going to call out now. Again, here's information about where these different components live in their respect in well, it's all in neutron in the tree. I want to point out the agent side of things because you know on on L3, there's not just a single monolithic excuse me L2. There's not a single agent. There's multiple OVS Linux Bridge and SRIOV. And they live pretty deeply buried in the neutron code. That first path name you see took me a long time to find that and now I've saved you some time if you've been looking. And the the cross agent, sorry, the OVS agents, the sorry, the cross agent extension is the extension that I'm going to be talking about briefly here using an OVS driver and the location of the files that are relevant are in the space listed there. Okay, there's one difference between the L2 and the L3 agent APIs. And that is that on the L3 side we have a single class that constitutes the API. And here we have two and you'll you have to remember that this is specific to the OVS agent. The the OVS agent has a special demand, which is that any flow entries and flow tables need to be designated as essentially owned by that agent or agent extension. And to do that, Nate described the cookie mechanism that that performs that role. And so we need to allow the agent to provide a cookie to the agent extension actually to the driver itself. And so we have two classes here that perform that work in conjunction. I'm going to skip through this and the next couple of slides to get to yep, to get to the extension. And I just want to briefly point out that you'll see in its initialized method, it's in turn calling both a consume API method and an initialized method on the driver. And that's because the driver is the thing that needs to access agent information, namely by getting the cookie. The those method names, the common method names between the extension on the one hand and the driver on the other hand are incidental in the sense that they they don't need to be the same.  But it's incidental. And I guess I'm done and handing it over to David. Thank you very much. Okay. Next slide. There we go. So just in section three, I'll be running over the use cases for the agent extension as well as talking about some of the future work that's currently in progress. So there we go. So the use case for the L2 extensions include Quas, TAP and firewalls. So the L2 extension updates every time the ports updated. So that makes it very good for Quas where you could put limits on the bandwidth for each port, TAP where you can mirror traffic from ports to an external port just so you can debug traffic coming from those ports. So I'll just move on quickly to the L3 ones. So the use cases for the L3 extensions include the firewalls service, load balancing and VPNs. So the L3 updates on the router update so it'll send you all the gateway information for the routers. So that makes it very good for firewalls of service if you want to kind of do access control lists on the traffic coming in and out of the gateways. So for example, maybe you want to restrict traffic coming into this particular subnet from another subnet. So that'll be a good use case for that. Load balancing so you can just distribute traffic as it comes into different VMs to stop the VMs basically getting overloaded with traffic. So just for the future work as well. So the work we have planned so far for agent extensions, one is the L2 OVS Flow Manager. So the L2 OVS Flow Manager tackles a problem that came up when the Consume API was introduced to the L2 OVS agent. So what basically happens is that the Consume API was provided to allow extensions access to the open flow table. But because this is a shared resource between all the extensions and the extensions don't know what other extensions are loaded, they shouldn't either. This basically means that there's contention on how it can be used. So if you have multiple extensions on the same, working on the same flow table, there's no guarantee they'll put their flows on so that they don't interfere with each other's operations. So the other one then is the Neutron Common Classification Framework. This is the Neutron Common Classifier. So basically this is about introducing a common framework for Neutron and extensions to define traffic classifications within Neutron. This is to stop every extension defining their own classification framework and effectively having a horrifically inconsistent API across all of Neutron. So the next thing is the bonus round, so making your own agent extension. So I'm just going to go over some parts of it as quickly as I can to leave time for questions. So these are kind of some of the key parts with the last two being optional parts but I think it's very important to know if you want to try and develop one yourself. So the first one is the agent descriptor. So this kind of defines the abstract plugin, gives it the names, the aliances, the description updated and you see it gets the plugin interface. So what that does is it returns an abstract class for your service plugin. So it defines your REST API effectively. So the next one is the resource attribute map. So what this does is it lets you define custom types. So for example with QoS that would be QoS policies and QoS rules. So it allows you to kind of create your own commands and apply them selectively to ports. So this is the service plugin. So this is actually what would extend the REST API. What I have here is actually the service plugin base for the aptly named skeleton port plugin base. This isn't exactly what you'd use for a plugin base. I've actually included some things you would use in the actual plugin just to show that they're necessary. But as you can see on the left hand side of the screen as well there's a very, very tiny font. The setup CFG file and the entry point defined right there for how to get the service plugin loaded. So you can see it just says neutron.service underscore plugins equal to and then skeleton port the name of the extension equal to and then the pathway to where this class is actually defined. So that pathway is to where the actual plugin is defined. This is just the abstract one. So next. Next. L3 agent plugin. So this is the actual plugin then to the agent. So the last one attaches to QService for your REST API. This one's the actual plugin to the L3 agent in this case. So this is the bare minimum. So on setup.cfg you define another entry point which is the neutron.agent.l3.extensions. This was the name space that was described earlier as well earlier in the talk by Margaret. So and you can see there this is for the L3 one. So it's called the skeleton router which is the name of the extension and it equals to the pathway to where you would find this extension inside the skeleton extension project that is out of tree to neutron. So if you just look to the actual code on the right hand side of the screen you'll see that it just prints log information every time one of the methods is called. So you can just see as well there's a QSOOM API. So it'll absorb that and then you have add router update router and delete router. So without a without a service plugin or an RPC endpoint this will be called every time a router is being updated. So you'd have if you wanted to update it for example when you get when you have your service plugin what you'd need to do is create RPC endpoints on either one. So on the service plugin to let the other agents know hey your special variable has been updated and another endpoint here that'll listen to it to actually trigger all the all the calls once that particular RPC topic has been called. So I'll just move on to the L2 extension. This is very counterintuitive if you pull back to go forward and forward to go back. But yes, so the L2 agent plugin so it's loaded by the Neutrons agent Q agent so the CL21 same thing you define an entry point in the setup.cfg and this one has more information on that. So with the L2 agent it doesn't have add update and delete port instead what it has is handle port and delete port. So just what I put in here was a bit of fluff that basically it keeps an internal list of the ports that come in. And if one isn't in the list it'll call the create driver and if one is in the list it'll call the update driver and then it'll pop it when it's deleted. Yes, so you'd define the RPC endpoint as well if you were tracking your own custom variables and data types in here as well. So the next thing is the L2 agent drivers. So this isn't as important for the L3 because there's only one backend at the moment but with the L2 you have the OVS, the Linux bridge, SRIV just to name a few. And what's important then is that when your extension is called that it has the right backend because using the Linux bridge one when you're using OVS isn't the best. So as you can see at the top I've defined entry points for the OVS, Linux bridge and SRIV and these all have pathways to different drivers that are inside the custom out of tree extension. As you can see on the left that's the initialize from the previous driver and the first call after the log is to assign the skeleton port driver and as you can see it makes a call to the new Tron manager. It'll use the driver type to associate that with a driver backend and then it'll put that there and on the right then I've defined the abstract class for the driver. So as you can see it's all ABC so if you don't implement one of these it'll throw an exception at runtime but as you can see here as well I haven't put that on the consume API and the reason for that is there is no agent API for Linux bridge and SRIV. So yes also actually if you have any errors as well inside the driver or trying to load the driver it won't actually tell you what it is it'll just say it failed to load the driver so just something to keep in mind when you're trying to debug any problems you might have trying to load backend drivers. So the next one is extending the new Tron command line. So the new Tron command line is deprecated by felt this was important just for debugging purposes if you wanted to make sure everything was set up right. So you define the entry point as well in the setup.scfg and then to the right you can see you kind of just define a typical new Tron command file and then as a yeah and just link it with the extension name. So the last thing I just wanted to cover was a DevStack plugin so to create a DevStack plugin for an out of tree project all you do is create a DevStack directory and then you put inside a settings file and a plugin.sh file. So the settings file what you can do is you assign variables and these can be overridden inside your local.conf when you're stacking and in the plugin.sh file it's a script that'll run at the different stages of DevStack as it passes in the different arguments. So for example you see here there's two for when it's stacking and when it's installing and when it's stacking and when it's in post config. So for example when it's installing it'll just put it in the Neutron Skeleton extension directory that you assign or you don't which case it defaults to the destination with Neutron Skeleton extension or post config where it actually writes in the different agent parts into the different it writes in sorry it writes in the extension names onto all the agent extension fields at the end of it. So these are just some resources that we think were very useful in writing and making this talk and just some legal notes and disclaimers and logos, logos. And here are some QR codes. So the one on the left is for a repo to this actual agent extension if you want to have a further look at it and just see if there's anything of interest in there. The one on the right is for this talk. So if you want to look at this later or get the references from the talk you're very welcome to do that. And yes, are there any questions for any of us? Were we good? Good. Thank you very much. Thank you very much.