mirror of
https://github.com/clearlinux/WALinuxAgent.git
synced 2026-04-28 11:03:36 +00:00
Support old extensions
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -57,3 +57,6 @@ waagentc
|
||||
*.pyproj
|
||||
*.sln
|
||||
*.suo
|
||||
|
||||
waagentc
|
||||
bin/waagent2.0c
|
||||
|
||||
@@ -17,5 +17,4 @@
|
||||
|
||||
import azurelinuxagent.agent as agent
|
||||
|
||||
print "hehe"
|
||||
agent.main()
|
||||
|
||||
19
bin/waagent
19
bin/waagent
@@ -23,10 +23,27 @@
|
||||
# http://msdn.microsoft.com/en-us/library/cc227259%28PROT.13%29.aspx
|
||||
#
|
||||
|
||||
import os
|
||||
import imp
|
||||
import sys
|
||||
import azurelinuxagent.agent as agent
|
||||
|
||||
if __name__ == '__main__' :
|
||||
"""
|
||||
Invoke main method of agent
|
||||
"""
|
||||
agent.main()
|
||||
sys.exit()
|
||||
|
||||
if __name__ == 'waagent':
|
||||
"""
|
||||
Load waagent2.0 to support old version of extensions
|
||||
"""
|
||||
if sys.version_info[0] == 3:
|
||||
raise ImportError("waagent2.0 doesn't support python3")
|
||||
bin_path = os.path.dirname(os.path.abspath(__file__))
|
||||
agent20_path = os.path.join(bin_path, "waagent2.0")
|
||||
if not os.path.isfile(agent20_path):
|
||||
raise ImportError("Can't load waagent")
|
||||
agent20 = imp.load_source('waagent', agent20_path)
|
||||
__all__ = dir(agent20)
|
||||
|
||||
|
||||
6068
bin/waagent2.0
Executable file
6068
bin/waagent2.0
Executable file
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ ConditionPathExists=/etc/waagent.conf
|
||||
|
||||
[Service]
|
||||
Type=simple
|
||||
ExecStart=/usr/sbin/waagent -daemon
|
||||
ExecStart=python3 /usr/sbin/waagent -daemon
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
|
||||
2
setup.py
2
setup.py
@@ -39,7 +39,7 @@ def get_data_files(name, version, fullname):
|
||||
|
||||
#Script file
|
||||
script_dest = '/usr/sbin'
|
||||
script_src = ['bin/waagent']
|
||||
script_src = ['bin/waagent', 'bin/waagent2.0']
|
||||
if name == 'coreos':
|
||||
script_dest = '/usr/share/oem/bin'
|
||||
data_files.append((script_dest, script_src))
|
||||
|
||||
40
tests/test_import_waagent.py
Normal file
40
tests/test_import_waagent.py
Normal file
@@ -0,0 +1,40 @@
|
||||
# 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.
|
||||
#
|
||||
# Requires Python 2.4+ and Openssl 1.0+
|
||||
#
|
||||
# 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 tests.env
|
||||
import tests.tools as tools
|
||||
import os
|
||||
import imp
|
||||
import sys
|
||||
import uuid
|
||||
import unittest
|
||||
|
||||
class TestImportWAAgent(unittest.TestCase):
|
||||
def test_import_waagent(self):
|
||||
agent_path = os.path.join(tools.parent, 'bin/waagent')
|
||||
if sys.version_info[0] == 2:
|
||||
waagent = imp.load_source('waagent', agent_path)
|
||||
self.assertNotEquals(None, waagent.LoggerInit)
|
||||
else:
|
||||
self.assertRaises(ImportError, imp.load_source, 'waagent',
|
||||
agent_path)
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
Reference in New Issue
Block a user