summaryrefslogtreecommitdiff
path: root/get-agent.py
diff options
context:
space:
mode:
authorBen Howard <ben.howard@ubuntu.com>2015-03-25 11:04:05 -0600
committerusd-importer <ubuntu-server@lists.ubuntu.com>2015-04-10 23:48:27 +0000
commit84a3d292f81a5fa2c827eca3b31501f2c3d973e5 (patch)
tree165d3033645468cfa6b852e88f8377c2d3408967 /get-agent.py
parent2761a00bd67c512b1e47619f6f945ba2e4c7f83c (diff)
parent5b26ef33dbffbb2cebbfb996f8799d131dc842ae (diff)
downloadvyos-walinuxagent-84a3d292f81a5fa2c827eca3b31501f2c3d973e5.tar.gz
vyos-walinuxagent-84a3d292f81a5fa2c827eca3b31501f2c3d973e5.zip
Import patches-applied version 2.0.12-0ubuntu1 to applied/ubuntu/vivid-proposed
Imported using git-ubuntu import. Changelog parent: 2761a00bd67c512b1e47619f6f945ba2e4c7f83c Unapplied parent: 5b26ef33dbffbb2cebbfb996f8799d131dc842ae New changelog entries: * New upstream release. * Added debian/watch for easier maintenance. * Fix regression of missing dataloss warning by adding systemd unit file.
Diffstat (limited to 'get-agent.py')
-rwxr-xr-xget-agent.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/get-agent.py b/get-agent.py
new file mode 100755
index 0000000..8f82a23
--- /dev/null
+++ b/get-agent.py
@@ -0,0 +1,69 @@
+#!/usr/bin/env python
+#
+# Copyright 2014 Microsoft Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Implements parts of RFC 2131, 1541, 1497 and
+# http://msdn.microsoft.com/en-us/library/cc227282%28PROT.10%29.aspx
+# http://msdn.microsoft.com/en-us/library/cc227259%28PROT.13%29.aspx
+#
+
+import sys
+import os
+import shutil
+import imp
+import subprocess
+import time
+import re
+import platform
+
+def upgrade(account='Azure', ref='2.0'):
+ #Define variables
+ agentUri = ('https://raw.githubusercontent.com/{0}/'
+ 'WALinuxAgent/{1}/waagent').format(account, ref)
+ distro = platform.linux_distribution()
+ cmd = ['service', 'waagent', 'restart']
+ agent_file="/usr/sbin/waagent"
+
+ if "Ubuntu" in distro[0]:
+ cmd[1]='walinuxagent'
+ if "CoreOS" in distro[0]:
+ cmd = ['systemctl', 'restart', 'waagent']
+ agent_file = "/usr/share/oem/bin/waagent"
+
+ if os.path.isfile('waagent'):
+ os.remove('waagent')
+ print "Download WAAgent from: {0}".format(agentUri)
+ try:
+ import urllib2
+ response = urllib2.urlopen(agentUri)
+ html = response.read()
+ with open("waagent", "w+") as F:
+ F.write(html)
+ except:
+ subprocess.call(['wget', agentUri])
+
+ print "Upgrade WAAgent"
+
+ shutil.copyfile("waagent", agent_file)
+ os.chmod(agent_file, 0700)
+
+ job = subprocess.Popen(cmd)
+ job.wait()
+
+if __name__ == '__main__':
+ if len(sys.argv) == 3:
+ upgrade(sys.argv[1], sys.argv[2])
+ else:
+ upgrade()