Is there a reason some are prefixed with 'Xs' and others are prefixed with
'XenServer'?
On May 25, 2016 9:41 PM, "Will Stevens" <williamstev...@gmail.com> wrote:

> Ya. I didn't know either and made the same mistake. :)
> On May 25, 2016 9:40 PM, "Syed Mushtaq" <syed1.mush...@gmail.com> wrote:
>
>> Aah I did not know that. Thanks Will .. here is the link
>> http://i.imgur.com/5B55XMB.png
>>
>> On Wed, May 25, 2016 at 6:37 PM, Will Stevens <williamstev...@gmail.com>
>> wrote:
>>
>> > Attachments don't work. You will have to host it publicly and then post
>> a
>> > link to it.
>> > On May 25, 2016 4:28 PM, "Syed Ahmed" <sah...@cloudops.com> wrote:
>> >
>> > > Forgot to attach screenshot
>> > >
>> > > On Wed, May 25, 2016 at 4:09 PM, Syed Ahmed <sah...@cloudops.com>
>> wrote:
>> > >
>> > >> Thanks Rafael,
>> > >>
>> > >> Here is how I am doing. You can see the tree in the screenshot
>> attached.
>> > >> I have started with storage and extracted the storage commands out of
>> > >> CitrixResourceBase (I've renamed it to XenServerResourceBase). This
>> is
>> > the
>> > >> file for refrence. Let me know what you think.
>> > >>
>> > >>
>> > >>
>> >
>> https://github.com/syed/cloudstack/blob/ca2d1469f991727515d9b71a790411d36eb60fdc/plugins/hypervisors/xenserver/src/com/cloud/hypervisor/xenserver/resource/storage/XenServerStorageResource.java
>> > >>
>> > >> It is a non-trivial refactor so may take some time but I think the
>> end
>> > >> result would be very good for everyone.
>> > >>
>> > >>
>> > >>
>> > >> On Wed, May 25, 2016 at 11:22 AM, Rafael Weingärtner <
>> > >> rafaelweingart...@gmail.com> wrote:
>> > >>
>> > >>> Hi Syed,
>> > >>> That is a great job.
>> > >>> I would only suggest breaking the commons a little bit more between
>> > >>> “monitoring” and “common”. On the monitoring side, we could have
>> host
>> > >>> monitoring, VMs monitoring, VMs' status checks (running, stopped,
>> and
>> > >>> others) and maybe other tasks that aim to monitor/check a resource
>> > >>> state/information.
>> > >>>
>> > >>> About the singletons you extracted, I do not see a need for an
>> > interface
>> > >>> right now (maybe I am overlooking the need); in the future if the
>> need
>> > >>> for
>> > >>> interfaces appears, we can create some interfaces and use them into
>> the
>> > >>> singletons you created.
>> > >>>
>> > >>>
>> > >>> On Wed, May 25, 2016 at 12:10 PM, Syed Mushtaq <
>> > syed1.mush...@gmail.com>
>> > >>> wrote:
>> > >>>
>> > >>> > Hey Guys,
>> > >>> >
>> > >>> > To give you an update, I've identified and categorized the
>> functions
>> > in
>> > >>> > CitrixResourceBase into 4 categories
>> > >>> >
>> > >>> > 1) common: These deal with the host as a whole (example
>> getHostInfo,
>> > >>> > callPlugin, connection pool  etc)
>> > >>> > 2) compute: Dealing with operations on VMs (start,stop, reboot,
>> > update
>> > >>> etc)
>> > >>> > 3) storage: Dealing with storage operations (creating VDI,
>> attaching
>> > >>> to VM,
>> > >>> > SR operations)
>> > >>> > 4) network: OVS / PIF / VIF operations
>> > >>> >
>> > >>> > I've created singleton classes for each and slowly moving the
>> > >>> functionality
>> > >>> > there. These singletons don't have a base class nor do they
>> implement
>> > >>> an
>> > >>> > interface. I don't know what the best practice is. One question
>> that
>> > I
>> > >>> have
>> > >>> > is, should I create an interface for them or use some existing
>> > >>> interface?
>> > >>> >
>> > >>> > Thanks,
>> > >>> > -Syed
>> > >>> >
>> > >>> >
>> > >>> > On Fri, May 20, 2016 at 9:58 AM, Syed Mushtaq <
>> > syed1.mush...@gmail.com
>> > >>> >
>> > >>> > wrote:
>> > >>> >
>> > >>> > > Thanks guys for the Ideas. I will open a JIRA ticket and start
>> > >>> working on
>> > >>> > > it.
>> > >>> > >
>> > >>> > > -Syed
>> > >>> > >
>> > >>> > >
>> > >>> > > On Thu, May 19, 2016 at 7:57 PM, Rafael Weingärtner <
>> > >>> > > rafaelweingart...@gmail.com> wrote:
>> > >>> > >
>> > >>> > >> Hi Syed,
>> > >>> > >> That is a great idea; however, it is a very hard task.
>> > >>> > >> The idea of Tim is great; actually, we already have some sort
>> of
>> > >>> > hierarchy
>> > >>> > >> that is used in “CitrixResourceBase.java”.
>> > >>> > >> I would suggest you first removing the unused code, unused
>> > >>> variable, and
>> > >>> > >> duplicate methods; that would be one PR. You can use a tool
>> called
>> > >>> > >> UCdetector to find unused code. To find duplicated code you can
>> > use
>> > >>> PMD.
>> > >>> > >>
>> > >>> > >> One very good example of code duplicity are the methods called
>> > >>> > >>
>> > >>> > >>
>> > >>> >
>> > >>>
>> >
>> “com.cloud.hypervisor.xenserver.resource.CitrixResourceBase.callHostPluginAsync(…)”.
>> > >>> > >>
>> > >>> > >> After you have cleaned the class, I suggest you analyzing where
>> > each
>> > >>> > >> remaining method is used and then look for the proper place to
>> put
>> > >>> them.
>> > >>> > >> It might be a good idea on separating between singletons that
>> are
>> > >>> > >> responsible for well-defined tasks such as managing storage,
>> > >>> networking,
>> > >>> > >> VMs creating and deletion, VMs monitoring and others.
>> > >>> > >>
>> > >>> > >> If you need any help, please do not hesitate on asking for our
>> > help.
>> > >>> > >>
>> > >>> > >>
>> > >>> > >> On Thu, May 19, 2016 at 4:50 PM, Daan Hoogland <
>> > >>> daan.hoogl...@gmail.com
>> > >>> > >
>> > >>> > >> wrote:
>> > >>> > >>
>> > >>> > >> > Syed,
>> > >>> > >> >
>> > >>> > >> > gogogo. actually it has shrunk to 5k lines since 2012 ;)
>> > >>> > >> >
>> > >>> > >> > I like your initiative and initial direction. A lot of small
>> > >>> steps to
>> > >>> > >> > improve the blob have been taken and I would sugest to keep
>> > going
>> > >>> in
>> > >>> > >> small
>> > >>> > >> > steps.
>> > >>> > >> >
>> > >>> > >> > On Thu, May 19, 2016 at 9:44 PM, Tim Mackey <
>> tmac...@gmail.com>
>> > >>> > wrote:
>> > >>> > >> >
>> > >>> > >> > > +1
>> > >>> > >> > >
>> > >>> > >> > > When I went through this last time, not only was it hard to
>> > >>> > understand
>> > >>> > >> > the
>> > >>> > >> > > flows, but the XenServer version management was a pain.
>> Would
>> > >>> > suggest
>> > >>> > >> > > creating a base class which always works (i.e. is
>> independent
>> > of
>> > >>> > >> > XenServer
>> > >>> > >> > > version) for core functions. Then add in that which exists
>> > for a
>> > >>> > >> specific
>> > >>> > >> > > version. Should help greatly with testing IMO.
>> > >>> > >> > >
>> > >>> > >> > > -tim
>> > >>> > >> > >
>> > >>> > >> > > On Thu, May 19, 2016 at 2:37 PM, Syed Mushtaq <
>> > >>> > >> syed1.mush...@gmail.com>
>> > >>> > >> > > wrote:
>> > >>> > >> > >
>> > >>> > >> > > > Hi All,
>> > >>> > >> > > >
>> > >>> > >> > > > I would like to refactor CitrixResourceBase class which
>> is
>> > >>> > >> responsible
>> > >>> > >> > > for
>> > >>> > >> > > > communicating with Xenserver. It has grown too long (>5K
>> > >>> lines)
>> > >>> > and
>> > >>> > >> has
>> > >>> > >> > > > absolutely no testing.
>> > >>> > >> > > >
>> > >>> > >> > > > In my first pass I want to separate out the functionality
>> > buy
>> > >>> the
>> > >>> > >> > > subsystem
>> > >>> > >> > > > it targets (compute, storage, network etc) and will go on
>> > from
>> > >>> > >> there.
>> > >>> > >> > > What
>> > >>> > >> > > > do you think? Is anyone working on this currently?
>> > >>> > >> > > >
>> > >>> > >> > > > Thanks,
>> > >>> > >> > > > -Syed
>> > >>> > >> > > >
>> > >>> > >> > >
>> > >>> > >> >
>> > >>> > >> >
>> > >>> > >> >
>> > >>> > >> > --
>> > >>> > >> > Daan
>> > >>> > >> >
>> > >>> > >>
>> > >>> > >>
>> > >>> > >>
>> > >>> > >> --
>> > >>> > >> Rafael Weingärtner
>> > >>> > >>
>> > >>> > >
>> > >>> > >
>> > >>> >
>> > >>>
>> > >>>
>> > >>>
>> > >>> --
>> > >>> Rafael Weingärtner
>> > >>>
>> > >>
>> > >>
>> > >
>> >
>>
>

Reply via email to