Ohad Basan has posted comments on this change.

Change subject: ovirt-live: migrate ovirt live plugin to otopi
......................................................................


Patch Set 2: (27 inline comments)

....................................................
File fedora/kickstart/ovirt.ks
Line 129
Line 130
Line 131
Line 132
Line 133
we had a chat about that once and you offered an images directory
your all


Line 141
Line 142
Line 143
Line 144
Line 145
Done


Line 154
Line 155
Line 156
Line 157
Line 158
Done


....................................................
File 
fedora/oVirtLiveFiles/root/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/olive/core.py
Line 1: #
Done
Line 2: # ovirt-engine-setup -- ovirt engine setup
Line 3: # Copyright (C) 2013 Red Hat, Inc.
Line 4: #
Line 5: # Licensed under the Apache License, Version 2.0 (the "License");


Line 29: 
Line 30: from otopi import util
Line 31: from otopi import plugin
Line 32: from otopi import filetransaction
Line 33: from otopi import constants as otopicons
Done
Line 34: 
Line 35: import oliveconst
Line 36: 
Line 37: from ovirt_engine_setup import constants as osetupcons


Line 31: from otopi import plugin
Line 32: from otopi import filetransaction
Line 33: from otopi import constants as otopicons
Line 34: 
Line 35: import oliveconst
Done
Line 36: 
Line 37: from ovirt_engine_setup import constants as osetupcons
Line 38: from ovirt_engine_setup import dialog
Line 39: 


Line 36: 
Line 37: from ovirt_engine_setup import constants as osetupcons
Line 38: from ovirt_engine_setup import dialog
Line 39: 
Line 40: 
Done
Line 41: 
Line 42: @util.export
Line 43: class Plugin(plugin.PluginBase):
Line 44:     """


Line 70:     @plugin.event(
Line 71:         stage=plugin.Stages.CLOSEUP,
Line 72:         condition=lambda self: self._enabled,
Line 73:         name=oliveconst.Stages.OL_CONFIG_STORAGE,
Line 74:         before=[
Done
Line 75:             oliveconst.Stages.OL_COPY_ISO
Line 76:         ],
Line 77:         after=[osetupcons.Stages.AIO_CONFIG_VDSM]
Line 78:     )


Line 73:         name=oliveconst.Stages.OL_CONFIG_STORAGE,
Line 74:         before=[
Line 75:             oliveconst.Stages.OL_COPY_ISO
Line 76:         ],
Line 77:         after=[osetupcons.Stages.AIO_CONFIG_VDSM]
Done
Line 78:     )
Line 79:     def _createstorage(self):
Line 80:         import ovirtsdk.api
Line 81:         from ovirtsdk.xml import params


Line 75:             oliveconst.Stages.OL_COPY_ISO
Line 76:         ],
Line 77:         after=[osetupcons.Stages.AIO_CONFIG_VDSM]
Line 78:     )
Line 79:     def _createstorage(self):
we need a local data domain
afaik in the new all in one only dc, cluster and host are being created
Line 80:         import ovirtsdk.api
Line 81:         from ovirtsdk.xml import params
Line 82: 
Line 83:         self._ovirtsdk_api = ovirtsdk.api


Line 84:         self._ovirtsdk_xml = ovirtsdk.xml
Line 85:         engine_api = self._ovirtsdk_api.API(
Line 86:             url='https://{fqdn}:{port}/api'.format(
Line 87:                 fqdn=self.environment[oliveconst.ConfigEnv.FQDN],
Line 88:                 port=self.environment[oliveconst.ConfigEnv.HTTPS_PORT],
Done
Line 89:             ),
Line 90:             username='{user}@{domain}'.format(
Line 91:                 user=oliveconst.Const.USER_ADMIN,
Line 92:                 domain=oliveconst.Const.DOMAIN_INTERNAL,


Line 100:         )
Line 101:         self.logger.debug('Creating the local data storage domain')
Line 102: 
Line 103:         stParams = params.Storage(path='/localdata')
Line 104:         stParams.set_type('localfs')
I don't know. Im not familiar with the sdk.
i've used existing code snippets.I will check that
Line 105: 
Line 106:         sdParams = params.StorageDomain(name='local_storage',
Line 107:                                          
data_center=engine_api.datacenters.get(self.environment[oliveconst.ConfigEnv.DEFAULT_LOCAL_DATA_CENTER]),
Line 108:                                          storage_format='v3',


Line 107:                                          
data_center=engine_api.datacenters.get(self.environment[oliveconst.ConfigEnv.DEFAULT_LOCAL_DATA_CENTER]),
Line 108:                                          storage_format='v3',
Line 109:                                          
host=engine_api.hosts.get('local_host'),
Line 110:                                          storage=stParams,
Line 111:                                          type='data')
Done
Line 112: 
Line 113:         engine_api.storagedomains.add(sdParams)
Line 114: 
Line 115:         
engine_api.datacenters.get(self.environment[oliveconst.ConfigEnv.DEFAULT_LOCAL_DATA_CENTER]).storagedomains.add(engine_api.self.environment[oliveconst.ConfigEnv.DEFAULT_ISO_NAME])


Line 111:                                          type='data')
Line 112: 
Line 113:         engine_api.storagedomains.add(sdParams)
Line 114: 
Line 115:         
engine_api.datacenters.get(self.environment[oliveconst.ConfigEnv.DEFAULT_LOCAL_DATA_CENTER]).storagedomains.add(engine_api.self.environment[oliveconst.ConfigEnv.DEFAULT_ISO_NAME])
Done
Line 116: 
Line 117:     @plugin.event(
Line 118:         stage=plugin.Stages.CLOSEUP,
Line 119:         condition=lambda self: self._enabled,


Line 117:     @plugin.event(
Line 118:         stage=plugin.Stages.CLOSEUP,
Line 119:         condition=lambda self: self._enabled,
Line 120:         name=oliveconst.Stages.OL_COPY_ISO,
Line 121:         before=[
Done
Line 122:             oliveconst.Stages.OL_CREATE_VM,
Line 123:         ],
Line 124:     )
Line 125: 


Line 121:         before=[
Line 122:             oliveconst.Stages.OL_CREATE_VM,
Line 123:         ],
Line 124:     )
Line 125: 
Done
Line 126:     def _copyiso(self):
Line 127:         self.logger.debug('Copying Iso Files')
Line 128:         isoPattern = "/home/oVirtuser/oVirtLiveFiles/iso/*.iso"
Line 129:         fileList = glob.glob(isoPattern)


Line 122:             oliveconst.Stages.OL_CREATE_VM,
Line 123:         ],
Line 124:     )
Line 125: 
Line 126:     def _copyiso(self):
This can be done
Line 127:         self.logger.debug('Copying Iso Files')
Line 128:         isoPattern = "/home/oVirtuser/oVirtLiveFiles/iso/*.iso"
Line 129:         fileList = glob.glob(isoPattern)
Line 130:         targetPath = 
os.path.join(self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_DEFAULT_NFS_MOUNT_POINT],
 self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_SD_UUID], "images", 
"11111111-1111-1111-1111-111111111111")


Line 125: 
Line 126:     def _copyiso(self):
Line 127:         self.logger.debug('Copying Iso Files')
Line 128:         isoPattern = "/home/oVirtuser/oVirtLiveFiles/iso/*.iso"
Line 129:         fileList = glob.glob(isoPattern)
Done
Line 130:         targetPath = 
os.path.join(self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_DEFAULT_NFS_MOUNT_POINT],
 self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_SD_UUID], "images", 
"11111111-1111-1111-1111-111111111111")
Line 131:         for filename in fileList:
Line 132:             shutil.move(filename, targetPath)
Line 133:             file = os.path.join(targetPath,filename)


Line 126:     def _copyiso(self):
Line 127:         self.logger.debug('Copying Iso Files')
Line 128:         isoPattern = "/home/oVirtuser/oVirtLiveFiles/iso/*.iso"
Line 129:         fileList = glob.glob(isoPattern)
Line 130:         targetPath = 
os.path.join(self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_DEFAULT_NFS_MOUNT_POINT],
 self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_SD_UUID], "images", 
"11111111-1111-1111-1111-111111111111")
Done
Line 131:         for filename in fileList:
Line 132:             shutil.move(filename, targetPath)
Line 133:             file = os.path.join(targetPath,filename)
Line 134:             os.chown(file,36,36)


Line 129:         fileList = glob.glob(isoPattern)
Line 130:         targetPath = 
os.path.join(self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_DEFAULT_NFS_MOUNT_POINT],
 self.environment[osetupcons.ConfigEnv.ISO_DOMAIN_SD_UUID], "images", 
"11111111-1111-1111-1111-111111111111")
Line 131:         for filename in fileList:
Line 132:             shutil.move(filename, targetPath)
Line 133:             file = os.path.join(targetPath,filename)
Done
Line 134:             os.chown(file,36,36)
Line 135: 
Line 136:     @plugin.event(
Line 137:         stage=plugin.Stages.CLOSEUP,


Line 136:     @plugin.event(
Line 137:         stage=plugin.Stages.CLOSEUP,
Line 138:         condition=lambda self: self._enabled,
Line 139:         name=oliveconst.Stages.OL_CREATE_VM,
Line 140:         after=[
Done
Line 141:             oliveconst.Stages.OL_COPY_ISO,
Line 142:         ],
Line 143:     )
Line 144: 


Line 148: 
Line 149:         engine_api = self._ovirtsdk_api.API(
Line 150:             url='https://{fqdn}:{port}/api'.format(
Line 151:                 fqdn=self.environment[osetupcons.ConfigEnv.FQDN],
Line 152:                 
port=self.environment[osetupcons.ConfigEnv.DEFAULT_NETWORK_HTTPS_PORT],
that's what I saw in the constants file.
where does it get save if it's being overridden?
Line 153:             ),
Line 154:             username='{user}@{domain}'.format(
Line 155:                 user=osetupcons.Const.USER_ADMIN,
Line 156:                 domain=osetupcons.Const.DOMAIN_INTERNAL,


Line 164:         )
Line 165: 
Line 166: 
Line 167:         # Defins OS param for the boot option
Line 168:         os=params.OperatingSystem(type_='unassigned', 
boot=[params.Boot(dev='cdrom'), params.Boot(dev='hd')])
Done
Line 169: 
Line 170:         # Create VM
Line 171:         engine_api.vms.add(params.VM(name='local_vm', 
memory='1024MB', os=os, cluster=engine_api.clusters.get('local_cluster'), 
template=engine_api.templates.get('Blank')))
Line 172: 


Line 173:         # Create NIC
Line 174:         
engine_api.vms.get('local_vm').nics.add(params.NIC(name='eth0', 
network=params.Network(name='ovirtmgmt'), interface='virtio'))
Line 175: 
Line 176:         sd = engine_api.storagedomains.get('local_storage')
Line 177:         diskParam = 
params.Disk(storage_domains=params.StorageDomains(storage_domain=[sd]),
Done
Line 178:                          size='6000MB',
Line 179:                          type_='data',
Line 180:                          interface='virtio',
Line 181:                          format='cow',


....................................................
File 
fedora/oVirtLiveFiles/root/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/olive/__init__.py
Line 28: 
Line 29: @util.export
Line 30: def createPlugins(context):
Line 31:     core.Plugin(context=context)
Line 32: 
Done


....................................................
File 
fedora/oVirtLiveFiles/root/usr/share/ovirt-engine/setup/plugins/ovirt-engine-setup/olive/oliveconst.py
Line 1: #!/bin/python
Done
Line 2: 
Line 3: #OVIRT LIVE
Line 4: 
Line 5: @util.export


Line 15: class OLEnv(object):
Line 16:     ENABLE = 'OVESETUP_OL/enable'
Line 17: 
Line 18:     def CONFIGURE(self):
Line 19:         return 'OVESETUP_OL/configure'
Done
Line 20: 
Line 21:     @osetupattrs(
Line 22:         answerfile=True,
Line 23:         summary=False,


-- 
To view, visit http://gerrit.ovirt.org/17518
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I703f64dc1183a6fe176d9d0352f93de381d906bb
Gerrit-PatchSet: 2
Gerrit-Project: ovirt-live
Gerrit-Branch: master
Gerrit-Owner: Ohad Basan <oba...@redhat.com>
Gerrit-Reviewer: Alex Lourie <alou...@redhat.com>
Gerrit-Reviewer: Alon Bar-Lev <alo...@redhat.com>
Gerrit-Reviewer: David Caro <dcaro...@redhat.com>
Gerrit-Reviewer: Eyal Edri <ee...@redhat.com>
Gerrit-Reviewer: Itamar Heim <ih...@redhat.com>
Gerrit-Reviewer: Moran Goldboim <mgold...@redhat.com>
Gerrit-Reviewer: Ohad Basan <oba...@redhat.com>
Gerrit-Reviewer: Sandro Bonazzola <sbona...@redhat.com>
Gerrit-Reviewer: Yedidyah Bar David <d...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to