Novell blogs on the move

I decided to move my Corporate Blogs from Novell Cool Blogs to Novell Cool Solutions.

Novell Cool Solutions

I announced this in October; this month I started the move.

Why move?

Mainly the volume of postings and the amount of traffic at Cool Blogs compared with Cool Solutions.

Cool Blogs started as the first open, unfiltered blog from Novell almost two years ago. Since then I’ve made over 25% of the posts to the blog. That’s too much. I’ve slowed my blogging on Cool Blogs and moved a lot to this site; but still the proportion of posts that are my ZENworks posts is too high.

By posting on Cool Solutions I hope that my posts get a wider readership and I don’t take a too large proportion of the postings.

Windows 2003 services on a stressed VMware workstation; aka fixing the ZCM Utopia services startup

Novell has a fantastic demo suite known as Utopia – listen to this Novell Open Audio Podcast for details.

One issue that was reported by the field was that running Windows 2003 server on VMware workstation with ZENworks Configuration Management would sometimes cause the ZENworks services not to start.

I’ve never really seen this issue; I saw one VM that was broken – but only saw that everything was slow.

For the sales kickoff I built a set of VMs and was testing them. Moving from ESX to VMware Workstation on SLED running on a Thinkpad T42p laptop I saw the issue.

In short the workstation service was being slow to start; the server was stressed – and the service timed out. The dominos started to fall; Net Logon failed etc etc etc.

My fix is simple. Make the workstation service dependant on something that is relatively benign but that will start with some reliability. I chose the DNS service (it’s a single server) – because that ultimately provides the DDNS underpinning to Active Directory and other services.

Here’s how:

sc config lanmanworkstation depend= dns

That simple. Reboot and you should now have a working ZCM Utopia demo.

For the internal Novell people – did this fix your problem?

ZENworks Configuration Management – building a custom agent deployment package

A long title for a short post.

The default agent deployment packages created during Primary Server installation are hard coded to the Fully Qualified DNS Name and the static IP address of your server. All well and good for a single server; but what about:

  • DNS round robin
  • servers behind static NAT
  • etc

Here’s how to build a custom agent deployment package with either no server details (add them via registration at deployment time) or with a single DNS name.

Continue reading “ZENworks Configuration Management – building a custom agent deployment package”

ZCM agent debugging

More how-to guides. This one is turning on ZCM agent-side debugging.

First set the zmd logging to be at debug level; there are two ‘true’ settings in the conf file:


    <!–Appender to log event to console–>
    <appender name=”ConsoleAppender” type=”log4net.Appender.ConsoleAppender”>
    <param name=”Threshold” value=”DEBUG” />
    <layout type=”Novell.Zenworks.Logger.SimpleLayout, Novell.Zenworks.Logger”></layout>

    <!–This section is used to enable or disable the above configured appenders –>
    <logger name=”ZEN_LOGGER” additivity = “true“>
        <level value=”DEBUG”/>
        <appender-ref ref=”ConsoleAppender” />

    <!– This section is used to Enable component Logging –>
        <logger name = “ZEN_LOGGER.TestLogger” additivity =”true”>
                   <level value=”DEBUG”/>

    <!– This section is used to turn on/off the Global Debug Flag –>
    <param name=”FileDebug” type=”Boolean” value =”true” />

Next restart the ZENworks agent

net stop “novell zenworks agent service”

The Novell ZENworks Agent Service service is stopping.
The Novell ZENworks Agent Service service was stopped successfully.

net start “novell zenworks agent service”

The Novell ZENworks Agent Service service is starting..
The Novell ZENworks Agent Service service was started successfully.

The log file for the agent is in %ZENWORKS_HOME%logsLocalStorezmd-messages.log

The log rolls – so you might need to collect the zip as well.

Dilbert and real life

Scott Adams wrote:

Yesterday I was creating a Dilbert comic that will run in August. In the first panel, Dogbert needed to describe his job as VP of marketing. How do you do that in the fewest words? Here was my solution.

Feel free to leave your own comments..

Want to be a ZENworks Product Manager?

We’re growing!

There are a few open opportunities within the ZENworks Business Unit for Product Managers.

Ideally we are looking for people who can ‘hit the ground running’.

If you need any additional information – or if you want to apply – get in touch via the Novell email address.

[Edit – the role would probably be based at one of our ZENworks Development Centres – namely Provo, UT, Boston, MA or Bangalore, India]

On engineering, PM and compromise

Someone will get upset at this… Ah well.

Here’s my collection of stuff for an email I’m writing later. Just examples of ‘crap and bloated’.

First – one of my favourite examples from last year; Moishe Lettvin on the Vista Shutdown button:

The whole blog post was mentioned on Joel on Software (a great read; even for a non-coder)

.. here’s how the design process worked: approximately every 4 weeks, at our weekly meeting, our PM would say, “the shell team disagrees with how this looks/feels/works” and/or “the kernel team has decided to include/not include some functionality which lets us/prevents us from doing this particular thing”. And then in our weekly meeting we’d spent approximately 90 minutes discussing how our feature — er, menu — should look based on this “new” information. Then at our next weekly meeting we’d spend another 90 minutes arguing about the design, then at the next weekly meeting we’d do the same, and at the next weekly meeting we’d agree on something… just in time to get some other missing piece of information from the shell or kernel team, and start the whole process again.

I’d also like to sketch out how actual coding works on the Windows team.
In small programming projects, there’s a central repository of code. Builds are produced, generally daily, from this central repository. Programmers add their changes to this central repository as they go, so the daily build is a pretty good snapshot of the current state of the product.

The end result of all this is what finally shipped: the lowest common denominator, the simplest and least controversial option.

Next – a quote that I heard last week again:

“a camel is a horse designed by committee” – Sir Alec Issigonis

Wikipedia is especially complementary about Design by Committee:

Design by committee is a wry, pejorative term referring to a style of design and its resultant output when a group of entities comes together to produce something (often the design of technological systems or standards), particularly in the presence of poor and incompetent leadership. The defining characteristics of “design by committee” are needless complexity, internal inconsistency, logical flaws, banality, and the lack of a unifying vision. Design and style much more relate to intuition and aesthetics than science or politics.

Forcing zman to English

ZENworks Configuration Management is currently in beta – one of the new pieces of the product is the ability to control and configure the client and the server environment wholly from the command line.

By default the command line tool – zman – picks up the server locale. In some cases it is useful to be able to force zman to use a specific language.

Here’s how in beta 3. This may change for the released product.

Edit the file:

%ZENWORKS_HOME%/novell/zenworks/bin/zman.bat (ZENWORKS_HOME is the installation point chosen for the server components)

Modify the line:

“%JAVA_PATH%java” -classpath %MYCP% -Dfile.encoding=%OUTPUT_CODEPAGE% -XX:+UseConcMarkSweepGC -XX:+UseParNewGC com.novell.zenworks.zman.ZManLoader %*

to be

“%JAVA_PATH%java” -classpath %MYCP% -Dfile.encoding=cp850 -Duser.language=en_us -XX:+UseConcMarkSweepGC -XX:+UseParNewGC com.novell.zenworks.zman.ZManLoader %*

Note – all on a single line; differences highlighted.

ZENworks Training

I’m in Provo sitting in on the first round of formal training for the two new products ZENworks Orchestration Server and ZENworks Configuration Management.

The training looks fantastic; right now each track has 2.5 days of deep dive hands on labs.