$platform::proxy::config::ssl_port_start
I tried this:
$platform::proxy::config::ssl_port_start =
$platform::proxy::config::ssl_port_start + 1
but then puppet complains:
"Cannot assign to variables in other namespaces at..."
.... and since I have to qualify the original variable.... ugh.... how
can I do this?
Doug
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To post to this group, send email to puppet...@googlegroups.com.
To unsubscribe from this group, send email to puppet-users...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.
I hope that's not the only way. What I'm trying to do here isn't that
unusual. I have an several instances of an application running, each
with different port numbers. The definition sets the values for the
instance, but rather than listing the port numbers, which can cause
copy and paste errors, I wanted to have the port numbers auto
incremented from a base value.
Doug.
Yeah, this is *totally* not a sane thing to do. Really not sane.
Find a better way to solve your problem.
That said, you can also use defined types recursively in Puppet:
define foo() {
if ($name == 0) {
notice("done")
}
else
{
notice("bar is $name")
$bar = $name - 1
foo { $bar: }
}
}
foo { "4": }
Daniel
--
⎋ Puppet Labs Developer – http://puppetlabs.com
♲ Made with 100 percent post-consumer electrons
Taking that one step further, I tried:
define platform::proxy::instance ( $ssl_port ) {
if ( $name == 0 ) {
} else {
$bar = $name - 1
$ssl_port = $ssl_port + 1
platform::proxy::instance { $bar: ssl_port => $ssl_port }
}
}
platform::proxy::instance { 16: ssl_port => 8557; }
However, this gives the error:
Cannot reassign variable ssl_port at...
*sigh*
Doug.
On Tue, 27 Sep 2011, Douglas Garstang wrote:
> I hope that's not the only way. What I'm trying to do here isn't that
> unusual. I have an several instances of an application running, each
> with different port numbers. The definition sets the values for the
> instance, but rather than listing the port numbers, which can cause
> copy and paste errors, I wanted to have the port numbers auto
> incremented from a base value.
Call me crazy, but I'm not sure I see the "common use case" here. Puppet
does not process a manifest top down (Well at least not in a way that you
expect).
At best I would expect these port numbers to change at every addition. At
worst, I can see them changing every run. I presume you're going to use
these numbers elsewhere to configure some front end. I'm not sure you'd
want it reloading your apache, etc all the time as the port numbers bounce
around.
If you REALLY wanted to do something like this, I might suggest you
create a type, and define the namevar in such a way as to ensure you
cannot have overlap.
Jason
--
Jason Slagle - RHCE5, VCP4
/"\ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
\ / ASCII Ribbon Campaign .
X - NO HTML/RTF in e-mail .
/ \ - NO Word docs in e-mail .
How's that relevant? I'm not declaring various resource types. I'm
either calling definitions (in which case I'm pretty sure it does them
in a top-down order), or doing it programatically.
>
> At best I would expect these port numbers to change at every addition. At
> worst, I can see them changing every run. I presume you're going to use
> these numbers elsewhere to configure some front end. I'm not sure you'd
> want it reloading your apache, etc all the time as the port numbers bounce
> around.
I don't follow you. Why would the port numbers change around if they
where programatically generated? Not that I can do that anyway, as
you'll see in a followup post, as I cant reassign variables.
Doug.
Got it...
define platform::proxy::instance ( $ssl_port ) {
if ( $name == 0 ) {
} else {
$bar = $name - 1
$ssl_port_in = $ssl_port + 1
notice ("ssl_port = $ssl_port_in")
platform::proxy::instance { $bar: ssl_port => $ssl_port_in }
}
}