mirror of
https://github.com/clearlinux/WALinuxAgent.git
synced 2026-09-06 13:51:29 +00:00
Add repartition logic
This commit is contained in:
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#!/usr/bin/env python
|
||||
#
|
||||
# Windows Azure Linux Agent
|
||||
#
|
||||
# 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 urllib2
|
||||
import shutil
|
||||
import imp
|
||||
|
||||
if __name__ == '__main__':
|
||||
account = 'yuezh'
|
||||
agentUri = ('https://raw.githubusercontent.com/{0}/'
|
||||
'WALinuxAgent/2.0/waagent').format(account)
|
||||
response = urllib2.urlopen(agentUri)
|
||||
html = response.read()
|
||||
with open("waagent") as F:
|
||||
F.write(html)
|
||||
os.chmod("waagent", 544)
|
||||
shutil.copyfile("waagent", "/usr/sbin/waagent")
|
||||
waagent=imp.load_source('waagent','/usr/sbin/waagent')
|
||||
waagent.MyDistro=waagent.GetMyDistro()
|
||||
waagent.MyDistro.stopAgentService()
|
||||
waagent.MyDistro.startAgentService()
|
||||
@@ -478,14 +478,15 @@ class AbstractDistro(object):
|
||||
|
||||
#Check partition type
|
||||
ret = RunGetOutput("sfdisk -q -c " + device + " 1", chk_err=False)[1].rstrip()
|
||||
|
||||
partition = device + "1"
|
||||
if "GPT" in ret and fs != "ntfs":
|
||||
#GPT(Guid Partition Table) is used.
|
||||
if ("GPT" in ret or "ee" == ret) and fs != "ntfs":
|
||||
#In Ubuntu the previous command returns 'ee'
|
||||
#GPT(Guid Partition Table) is used.
|
||||
#The 1st partition is Windows reserved partition.
|
||||
#Use the 2nd partition as resource disk
|
||||
partition = device + "2"
|
||||
Run("mkfs." + fs + " " + partition)
|
||||
Run("parted {0} rm 1".format(device))
|
||||
Run("parted {0} rm 2".format(device))
|
||||
Run("parted {0} mkpart primary 0% 100%".format(device))
|
||||
Run("mkfs." + fs + " " + partition + " -F")
|
||||
elif ret == "7" and fs != "ntfs":
|
||||
Run("sfdisk -c " + device + " 1 83")
|
||||
Run("mkfs." + fs + " " + partition)
|
||||
|
||||
Reference in New Issue
Block a user