lp:~hazmat/juju-core/fast-manual-provider

Created by Kapil Thangavelu and last modified
Get this branch:
bzr branch lp:~hazmat/juju-core/fast-manual-provider
Only Kapil Thangavelu can upload to this branch. If you are Kapil Thangavelu please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Kapil Thangavelu
Project:
juju-core
Status:
Development

Recent revisions

2103. By Kapil Thangavelu

fast manual provisioning tweaks (no reverse lookups, or mandatory apt upgrade/update)

2102. By Ian Booth

[r=rogpeppe] worker/provisioner: safe mode

A new environ setting provisioner-safe-mode is
introduced (default = false). If true, then the
environ provisioner will not stop instances that
it does not know about. I had to muck about a
little with the logic to handle dead machines
to get the starts to align.

See bug 1254729

This proposal is a continuation of https://codereview.appspot.com/32710043/
as originally proposed by Ian.

https://codereview.appspot.com/34050043/

2101. By John A Meinel

[r=jameinel] cmd/juju/destroymachine: compatibility with 1.16

Merges the fix for bug #1253643 from 1.16 into trunk.

This updates "juju destroy-machine" so that if the API is not available, we fall back to the old 1.16 code path (directly accessing the database).

https://codereview.appspot.com/33780043

2100. By Kapil Thangavelu

[r=hazmat],[bug=1254629],[bug=1254642] Removes need for valid dns entries for manually provisioned machines, ip addresses suffice. Also addresses typo that was incorrectly seeding db addresses as api server
addresses and preventing non-state server agents from connecting.

2099. By Curtis Hovey

[r=jameinel] tweak: just merge the 1.16 branch into trunk

This assumes that all changes currently in 1.16 are already in trunk
(which seems to be a safe assumption). I did audit a few of the
changes to make sure everything looked sane.

I'm going to be doing some more 1.16 work, and if we can land on 1.16
and just merge into trunk then it will be easier, so this is a minor
prereq.

The only actual change that wasn't merged before was updating
setup.iss which this includes.

https://codereview.appspot.com/32720046/

2098. By Tim Penhey

[r=thumper] Implement a container manager factory method.

In order for the local provider to support kvm
containers, we need a generic way to create container
managers.

https://codereview.appspot.com/30240043/

2097. By Tim Penhey

[r=thumper] Implement kvm start, stop and list.

The implementation here uses a mix of:
 * uvt-simplestream-libvirt
 * uvt-kvm
 * virsh

These are provided by the uvtool package and the
dependencies. The implementation of the low level
calls out to the shell are in container/kvm/libvirt.go

These low level calls are then used by the container
factory and container instances in container/kvm.

These are used by the container manager instance.

There are some live tests for the kvm calls.
  cd container/kvm
  sudo -E go test
This will take quite some time the first time it is
run on any particular machine as it is syncing the
kvm machine instances. But it does work \o/
The machines won't actually boot functional juju
machines in the test because the tools location is
fake.

https://codereview.appspot.com/30020044/

2096. By Tim Penhey

[r=thumper] local provider uses rsyslog and all-machines.log

For local providers, we now write out rsyslog configuration which is
namespaced, so multiple local environments don't step on each other's
toes.

The syslog config has been simplified slightly. The first $InputFileStateFile
has been removed because the value was overridden later on at the bottom
of the block. Also, now we have just one template format that is used
both for local and remote logs. Appropriate values in the config file
are namespaced.

The other big change here is that all-machines.log now instead of just
having %HOSTNAME%, it uses the tag of the agent sending the log messages,
so now we have 'machine-0' and 'unit-ubuntu-0' etc.

We have to define our own long tag format for the udp sending in order
to have tags longer than 32 characters go through. This is needed for
the above agent names.

I have considered the situation on upgrades. Newer machines will be started
with the newer long tag forwarder template, but this makes no difference
as the current host is ignoring that and will continue to write out
the hostname.

https://codereview.appspot.com/30060045/

2095. By Tim Penhey

[r=thumper] Make the syslog udp port configurable.

Instead of having the syslog port hard-coded to 514 it makes
sense to make this configurable.

Any existing config that doesn't specify one will get the default,
which is 514.

This config port is passed through the cloud init machine config
structure so the syslog config that is written out forwards to the
correct port. This syslog port is needed, so a number of tests had
to be updated to make this work.

The (rather generic) 'suite' test in environs/config_test was updated
to use the LoggingSuite base to silence the logging that was leaked
out when running just the package tests.

The port number is now a template param in the rsyslog config.

The only other place where this was needed was with the deployer.
It was making multiple calls to get the state and api addresses.
Instead of adding another call, we now make one call to the api
to get the address information we need.

https://codereview.appspot.com/29990045/

2094. By Ian Booth

[r=jameinel] Refactor and improve machine supported containers

Change the machine supported containers api to set containers
rather than adding. In addition, add functionality to iterate
any existing containers, and if they are not supported, set
their status to error.

https://codereview.appspot.com/28790043/

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~go-bot/juju-core/trunk
This branch contains Public information 
Everyone can see this information.

Subscribers