Merge lp:~dweaver/orange-box-examples/orange-box-examples into lp:~kirkland/orange-box-examples/trunk

Proposed by Darryl Weaver
Status: Merged
Merged at revision: 17
Proposed branch: lp:~dweaver/orange-box-examples/orange-box-examples
Merge into: lp:~kirkland/orange-box-examples/trunk
Diff against target: 8764 lines (+3955/-3876)
123 files modified
usr/lib/orange-box/examples/00-bootstrap.sh (+3/-10)
usr/lib/orange-box/examples/99-cleanup.sh (+4/-0)
usr/lib/orange-box/examples/README (+9/-0)
usr/lib/orange-box/examples/app-bundles/owncloud/owncloud-bundle.yaml (+0/-47)
usr/lib/orange-box/examples/hadoop/00-bootstrap.sh (+0/-16)
usr/lib/orange-box/examples/hadoop/01-deploy.sh (+10/-0)
usr/lib/orange-box/examples/hadoop/01-get-juju-gui-info.sh (+0/-6)
usr/lib/orange-box/examples/hadoop/02-hadoop.yaml (+0/-44)
usr/lib/orange-box/examples/hadoop/02-run-terasort.sh (+2/-0)
usr/lib/orange-box/examples/hadoop/03-hive-demo.txt (+9/-0)
usr/lib/orange-box/examples/hadoop/03-run-terasort.sh (+0/-2)
usr/lib/orange-box/examples/hadoop/04-hive-demo.txt (+0/-9)
usr/lib/orange-box/examples/hadoop/README (+11/-0)
usr/lib/orange-box/examples/hadoop/demo.sh (+0/-33)
usr/lib/orange-box/examples/hadoop/hadoop.yaml (+44/-0)
usr/lib/orange-box/examples/infrastructure/precise/01-deploy.sh (+13/-0)
usr/lib/orange-box/examples/infrastructure/precise/infrastructure-bundle.yaml (+42/-0)
usr/lib/orange-box/examples/infrastructure/trusty/01-deploy.sh (+13/-0)
usr/lib/orange-box/examples/infrastructure/trusty/infrastructure-bundle.yaml (+42/-0)
usr/lib/orange-box/examples/landscape/01-deploy.sh (+20/-0)
usr/lib/orange-box/examples/landscape/README (+56/-0)
usr/lib/orange-box/examples/landscape/landscape-deployments-ob.yaml (+91/-0)
usr/lib/orange-box/examples/openstack/complex/README (+0/-26)
usr/lib/orange-box/examples/openstack/complex/bridge2.xml (+0/-11)
usr/lib/orange-box/examples/openstack/complex/havana-colo/bundle.yaml (+0/-214)
usr/lib/orange-box/examples/openstack/complex/havana-compute/03configure-cloud.sh (+0/-14)
usr/lib/orange-box/examples/openstack/complex/havana-compute/bundle.yaml (+0/-164)
usr/lib/orange-box/examples/openstack/complex/havana-swift/bundle.yaml (+0/-196)
usr/lib/orange-box/examples/openstack/complex/havana/01demo-prep.sh (+0/-13)
usr/lib/orange-box/examples/openstack/complex/havana/02deploy.sh (+0/-31)
usr/lib/orange-box/examples/openstack/complex/havana/03configure-cloud.sh (+0/-17)
usr/lib/orange-box/examples/openstack/complex/havana/04cleanup.sh (+0/-30)
usr/lib/orange-box/examples/openstack/complex/havana/README (+0/-6)
usr/lib/orange-box/examples/openstack/complex/havana/bundle.yaml (+0/-214)
usr/lib/orange-box/examples/openstack/complex/juju-config/environments.yaml (+0/-13)
usr/lib/orange-box/examples/openstack/complex/juju-config/generate-jujuenv (+0/-37)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/README (+0/-21)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure-tests (+0/-6)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure_tests.py (+0/-60)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/config.py (+0/-103)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_devstack_exercises.py (+0/-105)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/cloud.py (+0/-351)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/config.py (+0/-46)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/client.py (+0/-190)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/juju_deployer.py (+0/-186)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/all_variables (+0/-31)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack.conf (+0/-11)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/exerciserc (+0/-32)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.master (+0/-110)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_essex (+0/-100)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_folsom (+0/-110)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_havana (+0/-112)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/openstack.conf (+0/-26)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/get-cloud-images (+0/-4)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/inspect-environment (+0/-187)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare-cloud (+0/-57)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/folsom (+0/-147)
usr/lib/orange-box/examples/openstack/complex/openstack-configuration/verify-cloud (+0/-6)
usr/lib/orange-box/examples/openstack/complex/openstack-prereqs-install.sh (+0/-183)
usr/lib/orange-box/examples/openstack/complex/remove-kvms.sh (+0/-53)
usr/lib/orange-box/examples/openstack/havana/99-cleanup.sh (+0/-8)
usr/lib/orange-box/examples/openstack/icehouse/precise/00-bootstrap.sh (+0/-18)
usr/lib/orange-box/examples/openstack/icehouse/precise/01-deploy.sh (+1/-1)
usr/lib/orange-box/examples/openstack/icehouse/precise/02-configure-openstack.sh (+0/-72)
usr/lib/orange-box/examples/openstack/icehouse/precise/04-deploy-jumpserver-and-juju.sh (+0/-72)
usr/lib/orange-box/examples/openstack/icehouse/precise/99-cleanup.sh (+0/-11)
usr/lib/orange-box/examples/openstack/icehouse/precise/README (+17/-7)
usr/lib/orange-box/examples/openstack/icehouse/precise/automated-deploy.sh (+26/-0)
usr/lib/orange-box/examples/openstack/icehouse/precise/deploy-instances.sh (+40/-0)
usr/lib/orange-box/examples/openstack/icehouse/precise/icehouseOB.yaml (+95/-40)
usr/lib/orange-box/examples/openstack/icehouse/trusty/00-bootstrap.sh (+0/-18)
usr/lib/orange-box/examples/openstack/icehouse/trusty/01-deploy.sh (+1/-1)
usr/lib/orange-box/examples/openstack/icehouse/trusty/02-configure-openstack.sh (+0/-72)
usr/lib/orange-box/examples/openstack/icehouse/trusty/04-deploy-jumpserver-and-juju.sh (+0/-77)
usr/lib/orange-box/examples/openstack/icehouse/trusty/99-cleanup.sh (+0/-11)
usr/lib/orange-box/examples/openstack/icehouse/trusty/README (+15/-5)
usr/lib/orange-box/examples/openstack/icehouse/trusty/automated-deploy.sh (+26/-0)
usr/lib/orange-box/examples/openstack/icehouse/trusty/deploy-instances.sh (+40/-0)
usr/lib/orange-box/examples/openstack/icehouse/trusty/icehouseOB.yaml (+96/-41)
usr/lib/orange-box/examples/openstack/icehouse/trusty/nova.rc (+0/-8)
usr/lib/orange-box/examples/openstack/old-demos/README (+26/-0)
usr/lib/orange-box/examples/openstack/old-demos/SUPERCEDED_USE_ICEHOUSE (+2/-0)
usr/lib/orange-box/examples/openstack/old-demos/bridge2.xml (+11/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana-colo/bundle.yaml (+214/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana-compute/03configure-cloud.sh (+14/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana-compute/bundle.yaml (+164/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana-swift/bundle.yaml (+196/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/01demo-prep.sh (+13/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/02deploy.sh (+31/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/03configure-cloud.sh (+17/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/04cleanup.sh (+30/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/README (+6/-0)
usr/lib/orange-box/examples/openstack/old-demos/havana/bundle.yaml (+214/-0)
usr/lib/orange-box/examples/openstack/old-demos/juju-config/environments.yaml (+13/-0)
usr/lib/orange-box/examples/openstack/old-demos/juju-config/generate-jujuenv (+37/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/README (+21/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/configure-tests (+6/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/configure_tests.py (+60/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/config.py (+103/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/test_devstack_exercises.py (+105/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/test_utils/cloud.py (+351/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/test_utils/config.py (+46/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/test_utils/juju/client.py (+190/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/devstack/test_utils/juju/juju_deployer.py (+186/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/all_variables (+31/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack.conf (+11/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack_templates/exerciserc (+32/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack_templates/openrc.master (+110/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack_templates/openrc.stable_essex (+100/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack_templates/openrc.stable_folsom (+110/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/devstack_templates/openrc.stable_havana (+112/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/etc_master/openstack.conf (+26/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/get-cloud-images (+4/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/inspect-environment (+187/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/prepare-cloud (+57/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/prepare_cloud/folsom (+147/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-configuration/verify-cloud (+6/-0)
usr/lib/orange-box/examples/openstack/old-demos/openstack-prereqs-install.sh (+183/-0)
usr/lib/orange-box/examples/openstack/old-demos/remove-kvms.sh (+53/-0)
usr/lib/orange-box/examples/telco/00-bootstrap.sh (+0/-12)
usr/lib/orange-box/examples/telco/01-deploy.sh (+1/-1)
usr/lib/orange-box/examples/telco/99-cleanup.sh (+0/-8)
usr/lib/orange-box/examples/webdev-bundles/node-app/node-app.yaml (+3/-3)
To merge this branch: bzr merge lp:~dweaver/orange-box-examples/orange-box-examples
Reviewer Review Type Date Requested Status
Dustin Kirkland  Pending
Review via email: mp+227654@code.launchpad.net

Description of the change

Modified all bundles to fix version numbers of deployed charms.
Removed individual 00-bootstrap.sh and 99-cleanup.sh commands to use generic version.
Modified 00-bootstrap.sh to allow booting requested series (either precise or trusty).
Modified icehouse bundles to position in the GUI.
Added Landscape deployment for Landscape Installer demos.

To post a comment you must log in.
17. By Dustin Kirkland 

* === added directory usr/lib/orange-box/examples/infrastructure, ===
  added directory usr/lib/orange-box/examples/infrastructure/precise,
  === added directory usr/lib/orange-
  box/examples/infrastructure/trusty, === added directory
  usr/lib/orange-box/examples/landscape, === added directory
  usr/lib/orange-box/examples/openstack/old-demos, === added directory
  usr/lib/orange-box/examples/openstack/old-demos/havana, === added
  directory usr/lib/orange-box/examples/openstack/old-demos/havana-
  colo, === added directory usr/lib/orange-box/examples/openstack/old-
  demos/havana-compute, === added directory usr/lib/orange-
  box/examples/openstack/old-demos/havana-swift, === added directory
  usr/lib/orange-box/examples/openstack/old-demos/juju-config, ===
  added directory usr/lib/orange-box/examples/openstack/old-
  demos/openstack-configuration, === added directory usr/lib/orange-
  box/examples/openstack/old-demos/openstack-configuration/devstack,
  === added directory usr/lib/orange-box/examples/openstack/old-
  demos/openstack-configuration/devstack/test_utils, === added
  directory usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/juju, === added directory
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master, === added directory usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates, === added directory
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-colo/01demo-prep.sh, ===
  added symlink usr/lib/orange-box/examples/openstack/old-
  demos/havana-colo/02deploy.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-colo/03configure-cloud.sh,
  === added symlink usr/lib/orange-box/examples/openstack/old-
  demos/havana-colo/04cleanup.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-colo/README, === added
  symlink usr/lib/orange-box/examples/openstack/old-demos/havana-
  compute/01demo-prep.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-compute/02deploy.sh, ===
  added symlink usr/lib/orange-box/examples/openstack/old-
  demos/havana-compute/04cleanup.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-compute/README, === added
  symlink usr/lib/orange-box/examples/openstack/old-demos/havana-
  swift/01demo-prep.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-swift/02deploy.sh, === added
  symlink usr/lib/orange-box/examples/openstack/old-demos/havana-
  swift/03configure-cloud.sh, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/havana-swift/04cleanup.sh, ===
  added symlink usr/lib/orange-box/examples/openstack/old-
  demos/havana-swift/README, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud/essex, === added symlink usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud/grizzly, === added symlink
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud/havana, === added symlink
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud/icehouse, === removed directory
  usr/lib/orange-box/examples/app-bundles/owncloud, === removed
  directory usr/lib/orange-box/examples/openstack/complex, === removed
  directory usr/lib/orange-box/examples/openstack/complex/havana, ===
  removed directory usr/lib/orange-
  box/examples/openstack/complex/havana-colo, === removed directory
  usr/lib/orange-box/examples/openstack/complex/havana-compute, ===
  removed directory usr/lib/orange-
  box/examples/openstack/complex/havana-swift, === removed directory
  usr/lib/orange-box/examples/openstack/complex/juju-config, ===
  removed directory usr/lib/orange-
  box/examples/openstack/complex/openstack-configuration, === removed
  directory usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/devstack, === removed directory usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils, === removed directory
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/juju, === removed directory
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master, === removed directory usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates, === removed directory
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud, === removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-colo/01demo-prep.sh, ===
  removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-colo/02deploy.sh, === removed
  symlink usr/lib/orange-box/examples/openstack/complex/havana-
  colo/03configure-cloud.sh, === removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-colo/04cleanup.sh, === removed
  symlink usr/lib/orange-box/examples/openstack/complex/havana-
  colo/README, === removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-compute/01demo-prep.sh, ===
  removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-compute/02deploy.sh, ===
  removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-compute/04cleanup.sh, ===
  removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-compute/README, === removed
  symlink usr/lib/orange-box/examples/openstack/complex/havana-
  swift/01demo-prep.sh, === removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-swift/02deploy.sh, === removed
  symlink usr/lib/orange-box/examples/openstack/complex/havana-
  swift/03configure-cloud.sh, === removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-swift/04cleanup.sh, ===
  removed symlink usr/lib/orange-
  box/examples/openstack/complex/havana-swift/README, === removed
  symlink usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud/essex, === removed symlink
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud/grizzly, === removed symlink
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud/havana, === removed symlink
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud/icehouse, === target is ufolsom, ===
  target is ugrizzly, === target is uhavana, === target is
  u../havana/01demo-prep.sh, === target is u../havana/02deploy.sh, ===
  target is u../havana/03configure-cloud.sh, === target is
  u../havana/04cleanup.sh, === target is u../havana/README, === target
  was ufolsom, === target was ugrizzly, === target was uhavana, ===
  target was u../havana/01demo-prep.sh, === target was
  u../havana/02deploy.sh, === target was u../havana/03configure-
  cloud.sh, === target was u../havana/04cleanup.sh, === target was
  u../havana/README, usr/lib/orange-box/examples/00-bootstrap.sh,
  usr/lib/orange-box/examples/99-cleanup.sh, usr/lib/orange-
  box/examples/app-bundles/owncloud/owncloud-bundle.yaml,
  usr/lib/orange-box/examples/hadoop/00-bootstrap.sh, usr/lib/orange-
  box/examples/hadoop/01-deploy.sh, usr/lib/orange-
  box/examples/hadoop/01-get-juju-gui-info.sh, usr/lib/orange-
  box/examples/hadoop/02-hadoop.yaml, usr/lib/orange-
  box/examples/hadoop/02-run-terasort.sh, usr/lib/orange-
  box/examples/hadoop/03-hive-demo.txt, usr/lib/orange-
  box/examples/hadoop/03-run-terasort.sh, usr/lib/orange-
  box/examples/hadoop/04-hive-demo.txt, usr/lib/orange-
  box/examples/hadoop/demo.sh, usr/lib/orange-
  box/examples/hadoop/hadoop.yaml, usr/lib/orange-
  box/examples/hadoop/README, usr/lib/orange-
  box/examples/infrastructure/precise/01-deploy.sh, usr/lib/orange-
  box/examples/infrastructure/precise/infrastructure-bundle.yaml,
  usr/lib/orange-box/examples/infrastructure/trusty/01-deploy.sh,
  usr/lib/orange-box/examples/infrastructure/trusty/infrastructure-
  bundle.yaml, usr/lib/orange-box/examples/landscape/01-deploy.sh,
  usr/lib/orange-box/examples/landscape/landscape-deployments-ob.yaml,
  usr/lib/orange-box/examples/landscape/README, usr/lib/orange-
  box/examples/openstack/complex/bridge2.xml, usr/lib/orange-
  box/examples/openstack/complex/havana/01demo-prep.sh,
  usr/lib/orange-box/examples/openstack/complex/havana/02deploy.sh,
  usr/lib/orange-box/examples/openstack/complex/havana/03configure-
  cloud.sh, usr/lib/orange-
  box/examples/openstack/complex/havana/04cleanup.sh, usr/lib/orange-
  box/examples/openstack/complex/havana/bundle.yaml, usr/lib/orange-
  box/examples/openstack/complex/havana-colo/bundle.yaml,
  usr/lib/orange-box/examples/openstack/complex/havana-
  compute/03configure-cloud.sh, usr/lib/orange-
  box/examples/openstack/complex/havana-compute/bundle.yaml,
  usr/lib/orange-box/examples/openstack/complex/havana/README,
  usr/lib/orange-box/examples/openstack/complex/havana-
  swift/bundle.yaml, usr/lib/orange-
  box/examples/openstack/complex/juju-config/environments.yaml,
  usr/lib/orange-box/examples/openstack/complex/juju-config/generate-
  jujuenv, usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/configure-tests, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/configure_tests.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/config.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/__init__.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_devstack_exercises.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/cloud.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/config.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/__init__.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/juju/client.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/juju/__init__.py, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/devstack/test_utils/juju/juju_deployer.py,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/all_variables, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack.conf, usr/lib/orange-
  box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates/exerciserc,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates/openrc.master,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_essex,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_folsom,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_havana,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/etc_master/openstack.conf, usr/lib/orange-
  box/examples/openstack/complex/openstack-configuration/get-cloud-
  images, usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/inspect-environment, usr/lib/orange-
  box/examples/openstack/complex/openstack-configuration/prepare-
  cloud, usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/prepare_cloud/folsom, usr/lib/orange-
  box/examples/openstack/complex/openstack-configuration/README,
  usr/lib/orange-box/examples/openstack/complex/openstack-
  configuration/verify-cloud, usr/lib/orange-
  box/examples/openstack/complex/openstack-prereqs-install.sh,
  usr/lib/orange-box/examples/openstack/complex/README,
  usr/lib/orange-box/examples/openstack/complex/remove-kvms.sh,
  usr/lib/orange-box/examples/openstack/havana/99-cleanup.sh,
  usr/lib/orange-box/examples/openstack/icehouse/precise/00-
  bootstrap.sh, usr/lib/orange-
  box/examples/openstack/icehouse/precise/01-deploy.sh,
  usr/lib/orange-box/examples/openstack/icehouse/precise/02-configure-
  openstack.sh, usr/lib/orange-
  box/examples/openstack/icehouse/precise/04-deploy-jumpserver-and-
  juju.sh, usr/lib/orange-box/examples/openstack/icehouse/precise/99-
  cleanup.sh, usr/lib/orange-
  box/examples/openstack/icehouse/precise/automated-deploy.sh,
  usr/lib/orange-box/examples/openstack/icehouse/precise/deploy-
  instances.sh, usr/lib/orange-
  box/examples/openstack/icehouse/precise/icehouseOB.yaml,
  usr/lib/orange-box/examples/openstack/icehouse/precise/README,
  usr/lib/orange-box/examples/openstack/icehouse/trusty/00-
  bootstrap.sh, usr/lib/orange-
  box/examples/openstack/icehouse/trusty/01-deploy.sh, usr/lib/orange-
  box/examples/openstack/icehouse/trusty/02-configure-openstack.sh,
  usr/lib/orange-box/examples/openstack/icehouse/trusty/04-deploy-
  jumpserver-and-juju.sh, usr/lib/orange-
  box/examples/openstack/icehouse/trusty/99-cleanup.sh,
  usr/lib/orange-box/examples/openstack/icehouse/trusty/automated-
  deploy.sh, usr/lib/orange-
  box/examples/openstack/icehouse/trusty/deploy-instances.sh,
  usr/lib/orange-
  box/examples/openstack/icehouse/trusty/icehouseOB.yaml,
  usr/lib/orange-box/examples/openstack/icehouse/trusty/nova.rc,
  usr/lib/orange-box/examples/openstack/icehouse/trusty/README,
  usr/lib/orange-box/examples/openstack/old-demos/bridge2.xml,
  usr/lib/orange-box/examples/openstack/old-demos/havana/01demo-
  prep.sh, usr/lib/orange-box/examples/openstack/old-
  demos/havana/02deploy.sh, usr/lib/orange-box/examples/openstack/old-
  demos/havana/03configure-cloud.sh, usr/lib/orange-
  box/examples/openstack/old-demos/havana/04cleanup.sh,
  usr/lib/orange-box/examples/openstack/old-demos/havana/bundle.yaml,
  usr/lib/orange-box/examples/openstack/old-demos/havana-
  colo/bundle.yaml, usr/lib/orange-box/examples/openstack/old-
  demos/havana-compute/03configure-cloud.sh, usr/lib/orange-
  box/examples/openstack/old-demos/havana-compute/bundle.yaml,
  usr/lib/orange-box/examples/openstack/old-demos/havana/README,
  usr/lib/orange-box/examples/openstack/old-demos/havana-
  swift/bundle.yaml, usr/lib/orange-box/examples/openstack/old-
  demos/juju-config/environments.yaml, usr/lib/orange-
  box/examples/openstack/old-demos/juju-config/generate-jujuenv,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/configure-tests, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/configure_tests.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/config.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/__init__.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_devstack_exercises.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/cloud.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/config.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/__init__.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/juju/client.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/juju/__init__.py, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/devstack/test_utils/juju/juju_deployer.py,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/all_variables, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack.conf, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates/exerciserc,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates/openrc.master,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_essex,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_folsom,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/devstack_templates/openrc.stable_havana,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/etc_master/openstack.conf, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-configuration/get-cloud-
  images, usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/inspect-environment, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-configuration/prepare-
  cloud, usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/prepare_cloud/folsom, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-configuration/README,
  usr/lib/orange-box/examples/openstack/old-demos/openstack-
  configuration/verify-cloud, usr/lib/orange-
  box/examples/openstack/old-demos/openstack-prereqs-install.sh,
  usr/lib/orange-box/examples/openstack/old-demos/README,
  usr/lib/orange-box/examples/openstack/old-demos/remove-kvms.sh,
  usr/lib/orange-box/examples/openstack/old-
  demos/SUPERCEDED_USE_ICEHOUSE, usr/lib/orange-box/examples/README,
  usr/lib/orange-box/examples/telco/00-bootstrap.sh, usr/lib/orange-
  box/examples/telco/01-deploy.sh, usr/lib/orange-
  box/examples/telco/99-cleanup.sh, usr/lib/orange-
  box/examples/webdev-bundles/node-app/node-app.yaml:
  - Modified all bundles to fix version numbers of deployed charms.
  - Removed individual 00-bootstrap.sh and 99-cleanup.sh commands to
    use generic version.
  - Modified 00-bootstrap.sh to allow booting requested series
    (either precise or trusty).
  - Modified icehouse bundles to position in the GUI.
  - Added Landscape deployment for Landscape Installer demos.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'usr/lib/orange-box/examples/00-bootstrap.sh'
2--- usr/lib/orange-box/examples/00-bootstrap.sh 2014-07-16 07:31:25 +0000
3+++ usr/lib/orange-box/examples/00-bootstrap.sh 2014-07-24 01:23:40 +0000
4@@ -1,12 +1,5 @@
5 #!/bin/bash
6 #
7-# Ameet Paranjape, 2 April 2014
8-
9-set -x
10-
11-juju status && echo "Existing deployment found, exiting." && exit 0
12-juju bootstrap --constraints "tags=virtual" --show-log --upload-tools
13-juju set-constraints "tags="
14-juju deploy --to 0 --repository=/srv/charmstore/ local:precise/juju-gui
15-juju expose juju-gui
16-
17+# Darryl Weaver, 21 July 2014
18+
19+orange-box-bootstrap-juju
20
21=== added file 'usr/lib/orange-box/examples/99-cleanup.sh'
22--- usr/lib/orange-box/examples/99-cleanup.sh 1970-01-01 00:00:00 +0000
23+++ usr/lib/orange-box/examples/99-cleanup.sh 2014-07-24 01:23:40 +0000
24@@ -0,0 +1,4 @@
25+#!/bin/bash
26+
27+orange-box-destroy-juju
28+
29
30=== modified file 'usr/lib/orange-box/examples/README'
31--- usr/lib/orange-box/examples/README 2014-06-10 23:44:37 +0000
32+++ usr/lib/orange-box/examples/README 2014-07-24 01:23:40 +0000
33@@ -3,3 +3,12 @@
34 Each directory contains a demo for the micro cluster as well as a README
35 file on how to run the demo. It is highly recommended to read the
36 README before running a demo!
37+
38+To bootstrap Juju run:
39+./00-bootstrap.sh
40+
41+Then deploy a demo by reading the README and usually running:
42+cd demo-folder
43+./01-deploy.sh
44+
45+Sometimes you can deploy a bundle using the Juju-gui, but there can be problems you can't see from the GUI, so please deploy complex applications using the command line.
46
47=== removed directory 'usr/lib/orange-box/examples/app-bundles/owncloud'
48=== removed file 'usr/lib/orange-box/examples/app-bundles/owncloud/owncloud-bundle.yaml'
49--- usr/lib/orange-box/examples/app-bundles/owncloud/owncloud-bundle.yaml 2014-07-14 07:26:29 +0000
50+++ usr/lib/orange-box/examples/app-bundles/owncloud/owncloud-bundle.yaml 1970-01-01 00:00:00 +0000
51@@ -1,47 +0,0 @@
52-envExport:
53- services:
54- owncloud:
55- charm: "cs:precise/owncloud-13"
56- num_units: 1
57- options:
58- password: admin
59- user: admin
60- annotations:
61- "gui-x": "332"
62- "gui-y": "304"
63- "owncloud-mysql":
64- charm: "cs:precise/mysql-46"
65- num_units: 1
66- annotations:
67- "gui-x": "330"
68- "gui-y": "609"
69- "owncloud-phpmyadmin":
70- charm: "cs:precise/phpmyadmin-4"
71- num_units: 1
72- expose: true
73- annotations:
74- "gui-x": "722"
75- "gui-y": "607"
76- "owncloud-haproxy":
77- charm: "cs:precise/haproxy-31"
78- num_units: 1
79- expose: true
80- annotations:
81- "gui-x": "332"
82- "gui-y": "18"
83- "owncloud-nfs":
84- charm: "cs:precise/nfs-4"
85- num_units: 1
86- annotations:
87- "gui-x": "-114"
88- "gui-y": "449"
89- relations:
90- - - "owncloud:db"
91- - "owncloud-mysql:db"
92- - - "owncloud-phpmyadmin:db-admin"
93- - "owncloud-mysql:db-admin"
94- - - "owncloud-haproxy:reverseproxy"
95- - "owncloud:website"
96- - - "owncloud:shared-fs"
97- - "owncloud-nfs:nfs"
98- series: precise
99
100=== removed file 'usr/lib/orange-box/examples/hadoop/00-bootstrap.sh'
101--- usr/lib/orange-box/examples/hadoop/00-bootstrap.sh 2014-06-10 23:44:37 +0000
102+++ usr/lib/orange-box/examples/hadoop/00-bootstrap.sh 1970-01-01 00:00:00 +0000
103@@ -1,16 +0,0 @@
104-#!/bin/bash
105-
106-# Remove any stale ssh known hosts
107-rm -f ~/.ssh/known_hosts
108-
109-# Bootstrap the juju environment
110-juju bootstrap --debug
111-
112-# Deploy the juju-gui to the bootstrap node
113-juju deploy --to=0 juju-gui
114-juju expose juju-gui
115-
116-ADMIN_SECRET=`cat ~/.juju/environments/maas.jenv | grep admin-secret | awk '{ print $2 }'`
117-JUJU_GUI=`juju status juju-gui | grep public-address | awk '{ print $2 }' | xargs host | grep address | awk '{ print $4 }'`
118-echo "Admin Secret: $ADMIN_SECRET"
119-echo "juju-gui: http://$JUJU_GUI"
120
121=== added file 'usr/lib/orange-box/examples/hadoop/01-deploy.sh'
122--- usr/lib/orange-box/examples/hadoop/01-deploy.sh 1970-01-01 00:00:00 +0000
123+++ usr/lib/orange-box/examples/hadoop/01-deploy.sh 2014-07-24 01:23:40 +0000
124@@ -0,0 +1,10 @@
125+#!/bin/bash
126+
127+
128+set -e
129+
130+juju set-constraints tags=
131+juju-deployer -c hadoop.yaml
132+
133+
134+echo "Deployment finished"
135
136=== removed file 'usr/lib/orange-box/examples/hadoop/01-get-juju-gui-info.sh'
137--- usr/lib/orange-box/examples/hadoop/01-get-juju-gui-info.sh 2014-06-10 23:44:37 +0000
138+++ usr/lib/orange-box/examples/hadoop/01-get-juju-gui-info.sh 1970-01-01 00:00:00 +0000
139@@ -1,6 +0,0 @@
140-#!/bin/bash
141-ADMIN_SECRET=`cat ~/.juju/environments/maas.jenv | grep admin-secret | awk '{ print $2 }'`
142-JUJU_GUI=`juju status juju-gui | grep public-address | awk '{ print $2 }' | xargs host | grep address | awk '{ print $4 }'`
143-echo "Admin Secret: $ADMIN_SECRET"
144-echo "juju-gui: http://$JUJU_GUI"
145-
146
147=== removed file 'usr/lib/orange-box/examples/hadoop/02-hadoop.yaml'
148--- usr/lib/orange-box/examples/hadoop/02-hadoop.yaml 2014-07-16 07:31:25 +0000
149+++ usr/lib/orange-box/examples/hadoop/02-hadoop.yaml 1970-01-01 00:00:00 +0000
150@@ -1,44 +0,0 @@
151-envExport:
152- services:
153- "hadoop-master":
154- charm: "cs:trusty/hadoop-13"
155- num_units: 1
156- expose: true
157- constraints: tags=physical
158- annotations:
159- "gui-x": "914.9191466830049"
160- "gui-y": "112.84003435856067"
161- hive-metadata:
162- charm: "cs:precise/mysql-46"
163- num_units: 1
164- options:
165- "binlog-format": ROW
166- annotations:
167- "gui-x": "1424.919207718161"
168- "gui-y": "343.5067213702795"
169- hive:
170- charm: "cs:precise/hive-5"
171- num_units: 1
172- to: "hive-metadata"
173- annotations:
174- "gui-x": "1146.5858336947235"
175- "gui-y": "340.3796452663048"
176- "hadoop-slavecluster":
177- charm: "cs:trusty/hadoop-13"
178- num_units: 2
179- constraints: tags=physical
180- annotations:
181- "gui-x": "648.3332046960281"
182- "gui-y": "340.61878278661516"
183- relations:
184- - - "hive:jobtracker"
185- - "hadoop-master:resourcemanager"
186- - - "hive:namenode"
187- - "hadoop-master:namenode"
188- - - "hive:db"
189- - "hive-metadata:db"
190- - - "hadoop-master:resourcemanager"
191- - "hadoop-slavecluster:nodemanager"
192- - - "hadoop-master:namenode"
193- - "hadoop-slavecluster:datanode"
194- series: precise
195
196=== added file 'usr/lib/orange-box/examples/hadoop/02-run-terasort.sh'
197--- usr/lib/orange-box/examples/hadoop/02-run-terasort.sh 1970-01-01 00:00:00 +0000
198+++ usr/lib/orange-box/examples/hadoop/02-run-terasort.sh 2014-07-24 01:23:40 +0000
199@@ -0,0 +1,2 @@
200+#!/bin/bash
201+juju ssh hadoop-master/0 "sudo su -l ubuntu -c /home/ubuntu/hadoop/terasort.sh"
202
203=== added file 'usr/lib/orange-box/examples/hadoop/03-hive-demo.txt'
204--- usr/lib/orange-box/examples/hadoop/03-hive-demo.txt 1970-01-01 00:00:00 +0000
205+++ usr/lib/orange-box/examples/hadoop/03-hive-demo.txt 2014-07-24 01:23:40 +0000
206@@ -0,0 +1,9 @@
207+create database demo;
208+juju ssh hive/0
209+sudo su
210+su - hdfs
211+hive
212+use demo;
213+create external table demo (field1 STRING, field2 STRING) location '/user/hdfs/demo';
214+load data inpath '/user/hdfs/out_dir/part-00001' into table demo;
215+select count(field1) from demo;
216
217=== removed file 'usr/lib/orange-box/examples/hadoop/03-run-terasort.sh'
218--- usr/lib/orange-box/examples/hadoop/03-run-terasort.sh 2014-07-16 07:31:25 +0000
219+++ usr/lib/orange-box/examples/hadoop/03-run-terasort.sh 1970-01-01 00:00:00 +0000
220@@ -1,2 +0,0 @@
221-#!/bin/bash
222-juju ssh hadoop-master/0 "sudo su -l ubuntu -c /home/ubuntu/hadoop/terasort.sh"
223
224=== removed file 'usr/lib/orange-box/examples/hadoop/04-hive-demo.txt'
225--- usr/lib/orange-box/examples/hadoop/04-hive-demo.txt 2014-06-10 23:44:37 +0000
226+++ usr/lib/orange-box/examples/hadoop/04-hive-demo.txt 1970-01-01 00:00:00 +0000
227@@ -1,9 +0,0 @@
228-create database demo;
229-juju ssh hive/0
230-sudo su
231-su - hdfs
232-hive
233-use demo;
234-create external table demo (field1 STRING, field2 STRING) location '/user/hdfs/demo';
235-load data inpath '/user/hdfs/out_dir/part-00001' into table demo;
236-select count(field1) from demo;
237
238=== added file 'usr/lib/orange-box/examples/hadoop/README'
239--- usr/lib/orange-box/examples/hadoop/README 1970-01-01 00:00:00 +0000
240+++ usr/lib/orange-box/examples/hadoop/README 2014-07-24 01:23:40 +0000
241@@ -0,0 +1,11 @@
242+Run the command:
243+./01-deploy.sh to deploy hadoop.
244+./02-run-terasort.sh to run an example terasort and watch it from the hadoop web UI.
245+
246+To find out the Hadoop Web UI address run:
247+./get-hadoop-info.sh
248+
249+There are demo commands for hive in:
250+03-hive-demo.txt
251+But you must run these manually, so cat the file and then run the commands at your terminal one at a time.
252+
253
254=== removed file 'usr/lib/orange-box/examples/hadoop/demo.sh'
255--- usr/lib/orange-box/examples/hadoop/demo.sh 2014-06-10 23:44:37 +0000
256+++ usr/lib/orange-box/examples/hadoop/demo.sh 1970-01-01 00:00:00 +0000
257@@ -1,33 +0,0 @@
258-#!/bin/bash
259-
260-# Remove any stale ssh known hosts
261-rm -f ~/.ssh/known_hosts
262-
263-# Bootstrap the juju environment
264-juju bootstrap --debug
265-
266-# Deploy the juju-gui to the bootstrap node
267-juju deploy --to=0 juju-gui
268-juju expose juju-gui
269-
270-# Deploy hadoop ( with HBase enabled )
271-juju deploy hadoop hadoop-master
272-juju set hadoop-master hbase=True
273-juju deploy hadoop hadoop-slavecluster -n 3
274-juju set hadoop-slavecluster hbase=True
275-juju add-relation hadoop-master:namenode hadoop-slavecluster:datanode
276-juju add-relation hadoop-master:jobtracker hadoop-slavecluster:tasktracker
277-juju expose hadoop-master
278-
279-# Deploy hive ( with MySQL )
280-juju deploy hive -n 3
281-juju deploy mysql
282-juju set mysql binlog-format=ROW
283-juju add-relation hive:db mysql:db
284-juju add-relation hive:namenode hadoop-master:namenode
285-juju add-relation hive:jobtracker hadoop-master:jobtracker
286-
287-ADMIN_SECRET=`cat ~/.juju/environments/maas.jenv | grep admin-secret | awk '{ print $2 }'`
288-JUJU_GUI=`juju status juju-gui | grep public-address | awk '{ print $2 }' | xargs host | grep address | awk '{ print $4 }'`
289-echo "Admin Secret: $ADMIN_SECRET"
290-echo "juju-gui: http://$JUJU_GUI"
291
292=== added file 'usr/lib/orange-box/examples/hadoop/hadoop.yaml'
293--- usr/lib/orange-box/examples/hadoop/hadoop.yaml 1970-01-01 00:00:00 +0000
294+++ usr/lib/orange-box/examples/hadoop/hadoop.yaml 2014-07-24 01:23:40 +0000
295@@ -0,0 +1,44 @@
296+envExport:
297+ services:
298+ "hadoop-master":
299+ charm: "cs:trusty/hadoop-13"
300+ num_units: 1
301+ expose: true
302+ constraints: tags=physical
303+ annotations:
304+ "gui-x": "914.9191466830049"
305+ "gui-y": "112.84003435856067"
306+ hive-metadata:
307+ charm: "cs:precise/mysql-46"
308+ num_units: 1
309+ options:
310+ "binlog-format": ROW
311+ annotations:
312+ "gui-x": "1424.919207718161"
313+ "gui-y": "343.5067213702795"
314+ hive:
315+ charm: "cs:precise/hive-5"
316+ num_units: 1
317+ to: "hive-metadata"
318+ annotations:
319+ "gui-x": "1146.5858336947235"
320+ "gui-y": "340.3796452663048"
321+ "hadoop-slavecluster":
322+ charm: "cs:trusty/hadoop-13"
323+ num_units: 2
324+ constraints: tags=physical
325+ annotations:
326+ "gui-x": "648.3332046960281"
327+ "gui-y": "340.61878278661516"
328+ relations:
329+ - - "hive:jobtracker"
330+ - "hadoop-master:resourcemanager"
331+ - - "hive:namenode"
332+ - "hadoop-master:namenode"
333+ - - "hive:db"
334+ - "hive-metadata:db"
335+ - - "hadoop-master:resourcemanager"
336+ - "hadoop-slavecluster:nodemanager"
337+ - - "hadoop-master:namenode"
338+ - "hadoop-slavecluster:datanode"
339+ series: precise
340
341=== added directory 'usr/lib/orange-box/examples/infrastructure'
342=== added directory 'usr/lib/orange-box/examples/infrastructure/precise'
343=== added file 'usr/lib/orange-box/examples/infrastructure/precise/01-deploy.sh'
344--- usr/lib/orange-box/examples/infrastructure/precise/01-deploy.sh 1970-01-01 00:00:00 +0000
345+++ usr/lib/orange-box/examples/infrastructure/precise/01-deploy.sh 2014-07-24 01:23:40 +0000
346@@ -0,0 +1,13 @@
347+#!/bin/bash
348+
349+set -e
350+
351+sudo rm -f /srv/charmstore/precise/rsyslog-primary;sudo ln -s /srv/charmstore/precise/rsyslog /srv/charmstore/precise/rsyslog-primary
352+sudo rm -f /srv/charmstore/precise/rsyslog-secondary;sudo ln -s /srv/charmstore/precise/rsyslog /srv/charmstore/precise/rsyslog-secondary
353+sudo rm -f /srv/charmstore/precise/logstash-elasticsearch;sudo ln -s /srv/charmstore/precise/elasticsearch /srv/charmstore/precise/logstash-elasticsearch
354+
355+juju set-constraints tags=
356+juju-deployer -c infrastructure-bundle.yaml
357+
358+
359+echo "Deployment finished"
360
361=== added file 'usr/lib/orange-box/examples/infrastructure/precise/infrastructure-bundle.yaml'
362--- usr/lib/orange-box/examples/infrastructure/precise/infrastructure-bundle.yaml 1970-01-01 00:00:00 +0000
363+++ usr/lib/orange-box/examples/infrastructure/precise/infrastructure-bundle.yaml 2014-07-24 01:23:40 +0000
364@@ -0,0 +1,42 @@
365+envExport:
366+ services:
367+ "landscape-client":
368+ branch: "lp:charms/landscape-client"
369+ num_units: 0
370+ annotations:
371+ "gui-x": "-420"
372+ "gui-y": "545"
373+ nagios:
374+ branch: "lp:charms/nagios"
375+ num_units: 1
376+ constraints: tags=nagios
377+ expose: true
378+ annotations:
379+ "gui-x": "-680"
380+ "gui-y": "785"
381+ nrpe:
382+ branch: "lp:charms/nrpe"
383+ num_units: 0
384+ annotations:
385+ "gui-x": "-420"
386+ "gui-y": "785"
387+ ganglia:
388+ branch: "lp:charms/ganglia"
389+ num_units: 1
390+ to: lxc:nagios=0
391+ expose: true
392+ annotations:
393+ "gui-x": "-680"
394+ "gui-y": "1020"
395+ "ganglia-node":
396+ branch: "lp:charms/ganglia-node"
397+ num_units: 0
398+ annotations:
399+ "gui-x": "-420"
400+ "gui-y": "1020"
401+ relations:
402+ - - "ganglia:node"
403+ - "ganglia-node:node"
404+ - - "nagios:monitors"
405+ - "nrpe:monitors"
406+ series: precise
407
408=== added directory 'usr/lib/orange-box/examples/infrastructure/trusty'
409=== added file 'usr/lib/orange-box/examples/infrastructure/trusty/01-deploy.sh'
410--- usr/lib/orange-box/examples/infrastructure/trusty/01-deploy.sh 1970-01-01 00:00:00 +0000
411+++ usr/lib/orange-box/examples/infrastructure/trusty/01-deploy.sh 2014-07-24 01:23:40 +0000
412@@ -0,0 +1,13 @@
413+#!/bin/bash
414+
415+set -e
416+
417+sudo rm -f /srv/charmstore/trusty/rsyslog-primary;sudo ln -s /srv/charmstore/trusty/rsyslog /srv/charmstore/trusty/rsyslog-primary
418+sudo rm -f /srv/charmstore/trusty/rsyslog-secondary;sudo ln -s /srv/charmstore/trusty/rsyslog /srv/charmstore/trusty/rsyslog-secondary
419+sudo rm -f /srv/charmstore/trusty/logstash-elasticsearch;sudo ln -s /srv/charmstore/trusty/elasticsearch /srv/charmstore/trusty/logstash-elasticsearch
420+
421+juju set-constraints tags=
422+juju-deployer -c infrastructure-bundle.yaml
423+
424+
425+echo "Deployment finished"
426
427=== added file 'usr/lib/orange-box/examples/infrastructure/trusty/infrastructure-bundle.yaml'
428--- usr/lib/orange-box/examples/infrastructure/trusty/infrastructure-bundle.yaml 1970-01-01 00:00:00 +0000
429+++ usr/lib/orange-box/examples/infrastructure/trusty/infrastructure-bundle.yaml 2014-07-24 01:23:40 +0000
430@@ -0,0 +1,42 @@
431+envExport:
432+ services:
433+ "landscape-client":
434+ branch: "lp:charms/landscape-client"
435+ num_units: 0
436+ annotations:
437+ "gui-x": "-420"
438+ "gui-y": "545"
439+ nagios:
440+ branch: "lp:charms/nagios"
441+ num_units: 1
442+ constraints: tags=nagios
443+ expose: true
444+ annotations:
445+ "gui-x": "-680"
446+ "gui-y": "785"
447+ nrpe:
448+ branch: "lp:charms/nrpe"
449+ num_units: 0
450+ annotations:
451+ "gui-x": "-420"
452+ "gui-y": "785"
453+ ganglia:
454+ branch: "lp:charms/ganglia"
455+ num_units: 1
456+ to: lxc:nagios=0
457+ expose: true
458+ annotations:
459+ "gui-x": "-680"
460+ "gui-y": "1020"
461+ "ganglia-node":
462+ branch: "lp:charms/ganglia-node"
463+ num_units: 0
464+ annotations:
465+ "gui-x": "-420"
466+ "gui-y": "1020"
467+ relations:
468+ - - "ganglia:node"
469+ - "ganglia-node:node"
470+ - - "nagios:monitors"
471+ - "nrpe:monitors"
472+ series: trusty
473
474=== added directory 'usr/lib/orange-box/examples/landscape'
475=== added file 'usr/lib/orange-box/examples/landscape/01-deploy.sh'
476--- usr/lib/orange-box/examples/landscape/01-deploy.sh 1970-01-01 00:00:00 +0000
477+++ usr/lib/orange-box/examples/landscape/01-deploy.sh 2014-07-24 01:23:40 +0000
478@@ -0,0 +1,20 @@
479+#!/bin/bash
480+
481+
482+set -e
483+
484+if [ ! -f repo-file ]; then
485+ echo "repo-file not found! exiting"
486+ exit
487+fi
488+if [ ! -f license-file ]; then
489+ echo "license-file not found! exiting"
490+ exit
491+fi
492+
493+
494+juju set-constraints tags=
495+juju-deployer -c landscape-deployments-ob.yaml landscape-ob
496+
497+
498+echo "Deployment finished"
499
500=== added file 'usr/lib/orange-box/examples/landscape/README'
501--- usr/lib/orange-box/examples/landscape/README 1970-01-01 00:00:00 +0000
502+++ usr/lib/orange-box/examples/landscape/README 2014-07-24 01:23:40 +0000
503@@ -0,0 +1,56 @@
504+Landscape Installer Demo
505+
506+Prerequisites:
507+
508+At least 5 physical nodes with a second disk.
509+ You will therefore need extra USB flash drives (pref 64GB) on nodes without a second disk already (nodes 1-4).
510+
511+At least 1 node with 2 NICs, all management services will be installed here, including Neutron and Juju bootstrap.
512+ This should be on node0vm1.maas.
513+ This virtual machine must have at least 20GB of space available.
514+
515+At least 1 MAAS node with the MAAS tag "landscape", this should be node1.maas.
516+
517+You will need to create a file: "repo-file" in this directory with the URL of the Landscape repository.
518+
519+You will need to create a file: "license-file" in this directory with a valid license or trial license to use Landscape.
520+
521+Overview:
522+
523+First an initial Juju environment will be used to deploy Landscape itself onto the OB.
524+Once Landscape is installed, register the MAAS into Landscape.
525+Then use the Openstack Installer Page to install the rest of the cloud onto a new Juju environment managed by Landscape.
526+Once installed, find the details to connect to the Openstack Dashboard from Landscape.
527+Log in and start using the cloud.
528+
529+Method:
530+
531+1) Bootstrap the first Juju environment on node0vm0.maas and install Juju-gui.
532+2) Deploy Landscape on node1.maas.
533+3) Connect to Landscape Web UI and create initial admin user.
534+4) Register the MAAS server into Landscape.
535+5) Use the Landscape Cloud Installer to deploy a new Juju environment with Openstack.
536+6) When completed, get the login credentials from Landscape.
537+7) Log into the Openstack Dashboard to deploy instances.
538+
539+Commands:
540+
541+Use the normal bootstrap in ~/Examples/00-bootstrap.sh - bootstraps Juju and installs the GUI.
542+cd ~/Examples/landscape
543+./01-deploy.sh - Deploys the Landscape Bundle
544+More demo actions here, such as deploying a cloud.
545+Then destroying the cloud.
546+./99-cleanup.sh - Destroys the Landscape Juju environment.
547+
548+Troubleshooting:
549+
550+To troubleshoot the Landscape Juju environment
551+1) Connect to the landscape instance
552+ juju ssh landscape/0
553+2) sudo to the Landscape user, setting JUJU_HOME
554+ sudo -u landscape JUJU_HOME=/var/lib/landscape/juju-homes/XXX/ bash
555+Where XXX is the Juju environment number (find it from the Juju tab in Landscape UI)
556+3) Use juju commands as normal
557+ juju stat
558+ juju debug-log
559+
560
561=== added file 'usr/lib/orange-box/examples/landscape/landscape-deployments-ob.yaml'
562--- usr/lib/orange-box/examples/landscape/landscape-deployments-ob.yaml 1970-01-01 00:00:00 +0000
563+++ usr/lib/orange-box/examples/landscape/landscape-deployments-ob.yaml 2014-07-24 01:23:40 +0000
564@@ -0,0 +1,91 @@
565+_common:
566+ services:
567+ rabbitmq-server:
568+ charm: cs:precise/rabbitmq-server-28
569+ postgresql:
570+ charm: cs:precise/postgresql-73
571+ constraints: mem=2048
572+ options:
573+ extra-packages: python-apt postgresql-contrib postgresql-.*-debversion
574+ max_connections: 500
575+ haproxy:
576+ charm: cs:precise/haproxy-31
577+ options:
578+ enable_monitoring: True
579+ monitoring_allowed_cidr: "0.0.0.0/0"
580+ monitoring_password: "haproxy"
581+ default_timeouts: "queue 60000, connect 5000, client 120000, server 120000"
582+ # Don't deploy default haproxy service on port 80
583+ services: ""
584+ apache2:
585+ charm: cs:precise/apache2-24
586+ expose: True
587+ options:
588+ enable_modules: proxy proxy_http proxy_balancer rewrite expires headers ssl
589+ ssl_cert: SELFSIGNED
590+ ssl_certlocation: apache2.cert
591+ ssl_keylocation: apache2.key
592+
593+landscape:
594+ inherits: _common
595+ series: precise
596+ services:
597+ landscape:
598+ branch: lp:~landscape/landscape-charm/stable
599+ constraints: mem=2048
600+ options:
601+ service-count: "2"
602+ landscape-password: "look-a-different-password"
603+ services: static appserver pingserver combo-loader async-frontend apiserver package-upload jobhandler package-search cron juju-sync
604+ repository: include-file://repo-file
605+ license-file: include-file://license-file
606+ landscape-msg:
607+ branch: lp:~landscape/landscape-charm/stable
608+ charm: landscape
609+ constraints: mem=2048
610+ options:
611+ landscape-password: "look-a-different-password"
612+ services: msgserver
613+ repository: include-file://repo-file
614+ license-file: include-file://license-file
615+ relations:
616+ - [landscape, rabbitmq-server]
617+ - [landscape, haproxy]
618+ - ["landscape:vhost-config", "apache2:vhost-config"]
619+ - ["landscape:db-admin", "postgresql:db-admin"]
620+ - ["haproxy:website", "apache2:reverseproxy"]
621+ - [landscape-msg, rabbitmq-server]
622+ - [landscape-msg, haproxy]
623+ - ["landscape-msg:db-admin", "postgresql:db-admin"]
624+
625+landscape-dense-maas:
626+ inherits: landscape
627+ services:
628+ landscape:
629+ to: lxc:0
630+ landscape-msg:
631+ to: lxc:0
632+ postgresql:
633+ to: lxc:0
634+ rabbitmq-server:
635+ to: lxc:0
636+ apache2:
637+ to: lxc:0
638+ haproxy:
639+ to: lxc:0
640+
641+landscape-ob:
642+ inherits: landscape
643+ services:
644+ landscape:
645+ constraints: tags=landscape
646+ landscape-msg:
647+ to: lxc:landscape=0
648+ postgresql:
649+ to: lxc:landscape=0
650+ rabbitmq-server:
651+ to: lxc:landscape=0
652+ apache2:
653+ to: lxc:landscape=0
654+ haproxy:
655+ to: lxc:landscape=0
656
657=== removed directory 'usr/lib/orange-box/examples/openstack/complex'
658=== removed file 'usr/lib/orange-box/examples/openstack/complex/README'
659--- usr/lib/orange-box/examples/openstack/complex/README 2014-06-10 23:44:37 +0000
660+++ usr/lib/orange-box/examples/openstack/complex/README 1970-01-01 00:00:00 +0000
661@@ -1,26 +0,0 @@
662-*** CURRENTLY BROKEN ***
663-
664-This is the Openstack deployment demo folder.
665-
666-Step 1: Run the script:
667-./openstack-prereqs-install.sh
668-
669-Step 2: Change into a subdirectory of the deployment you want to use, use havana as default.
670-cd havana
671-
672-Step 3: Run the pre-deployment to set up Juju and the GUI
673-./01demo-prep.sh
674-
675-Step 4: Ready to run the demo!
676-./02deploy.sh
677-
678-Step 5: Configure Openstack and Juju to Use Openstack
679-./03configure-cloud.sh
680-
681-Step 6: Deploy other workloads ontop of Openstack.
682-See other demo workload folders
683-
684-Step 7: Cleanup after a demo:
685-./04cleanup.sh
686-
687-Ready to run the demo again.
688
689=== removed file 'usr/lib/orange-box/examples/openstack/complex/bridge2.xml'
690--- usr/lib/orange-box/examples/openstack/complex/bridge2.xml 2014-06-10 23:44:37 +0000
691+++ usr/lib/orange-box/examples/openstack/complex/bridge2.xml 1970-01-01 00:00:00 +0000
692@@ -1,11 +0,0 @@
693-<network>
694- <name>bridge2</name>
695- <uuid>406212bb-45f7-4af7-91b6-0edfb6e5908c</uuid>
696- <forward dev='eth0' mode='nat'>
697- <interface dev='eth0'/>
698- </forward>
699- <bridge name='virbr1' stp='on' delay='0'/>
700- <mac address='52:54:00:e7:ee:1e'/>
701- <ip address='172.16.1.1' netmask='255.255.255.0'>
702- </ip>
703-</network>
704
705=== removed directory 'usr/lib/orange-box/examples/openstack/complex/havana'
706=== removed directory 'usr/lib/orange-box/examples/openstack/complex/havana-colo'
707=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-colo/01demo-prep.sh'
708=== target was u'../havana/01demo-prep.sh'
709=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-colo/02deploy.sh'
710=== target was u'../havana/02deploy.sh'
711=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-colo/03configure-cloud.sh'
712=== target was u'../havana/03configure-cloud.sh'
713=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-colo/04cleanup.sh'
714=== target was u'../havana/04cleanup.sh'
715=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-colo/README'
716=== target was u'../havana/README'
717=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana-colo/bundle.yaml'
718--- usr/lib/orange-box/examples/openstack/complex/havana-colo/bundle.yaml 2014-06-10 23:44:37 +0000
719+++ usr/lib/orange-box/examples/openstack/complex/havana-colo/bundle.yaml 1970-01-01 00:00:00 +0000
720@@ -1,214 +0,0 @@
721-# vim :set ts=2 et:
722-openstack:
723- series: precise
724- overrides:
725- openstack-origin: cloud:precise-havana
726- source: cloud:precise-updates/havana
727- services:
728- ubuntu:
729- charm: cs:precise/ubuntu
730- constraints: tags=nuc
731- landscape-client:
732- charm: cs:precise/landscape-client
733- options:
734- origin: ppa:landscape/trunk
735- exchange-interval: 60
736- urgent-exchange-interval: 30
737- ping-interval: 10
738- script-users: ALL
739- include-manager-plugins: ScriptExecution
740- lds:
741- branch: lp:charms/lds-quickstart
742- options:
743- server_fqdn: lds.master
744- admin_email: admin@lds.master
745- admin_name: admin
746- admin_password: Password1+
747- license: include-file://license.txt
748- sample_data: False
749- constraints: tags=lds
750- mysql:
751- charm: cs:precise/mysql-29
752- options:
753- dataset-size: 50%
754- to: lxc:ubuntu=0
755- rabbitmq-server:
756- charm: cs:precise/rabbitmq-server-16
757- constraints: mem=1G
758- to: lxc:ubuntu=0
759- ceph:
760- charm: cs:precise/ceph
761- num_units: 6
762- options:
763- monitor-count: 3
764- fsid: 9e7aac42-4bf4-11e3-b4b7-5254006a039c
765- monitor-secret: AQAAvoJSOAv/NRAAgvXP8d7iXN7lWYbvDZzm2Q==
766- osd-devices: /srv
767- osd-reformat: "yes"
768- to: [nova-compute=0, nova-compute=1, nova-compute=2, nova-compute=3, nova-compute=4, nova-compute=5]
769- keystone:
770- charm: cs:precise/keystone-23
771- options:
772- admin-password: Password1+
773- admin-token: ubuntutesting
774- to: lxc:ubuntu=0
775- openstack-dashboard:
776- charm: cs:precise/openstack-dashboard-11
777- options:
778- offline-compression: "no"
779- webroot: "/"
780- to: lxc:ubuntu=0
781- nova-compute:
782- charm: cs:precise/nova-compute
783- num_units: 8
784- options:
785- config-flags: "auto_assign_floating_ip=False"
786- enable-live-migration: False
787- virt-type: kvm
788- constraints: tags=nuc
789- nova-cloud-controller:
790- charm: cs:precise/nova-cloud-controller-19
791- options:
792- network-manager: Neutron
793- quantum-security-groups: "yes"
794- to: lxc:ubuntu=0
795- neutron-gateway:
796- charm: cs:precise/quantum-gateway-12
797- options:
798- ext-port: eth0
799- constraints: tags=neutron
800- cinder:
801- charm: cs:precise/cinder-14
802- options:
803- block-device: "None"
804- to: lxc:ubuntu=0
805- glance:
806- charm: cs:precise/glance-26
807- to: lxc:ubuntu=0
808- swift-proxy:
809- charm: cs:precise/swift-proxy
810- options:
811- zone-assignment: manual
812- replicas: 2
813- use-https: 'no'
814- swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
815- to: lxc:ubuntu=0
816- swift-storage-z1:
817- charm: cs:precise/swift-storage
818- options:
819- zone: 1
820- block-device: "/srv/swift.img|30G"
821- to: nova-compute=6
822- swift-storage-z2:
823- charm: cs:precise/swift-storage
824- options:
825- zone: 2
826- block-device: "/srv/swift.img|30G"
827- to: nova-compute=7
828- ceilometer:
829- charm: cs:precise/ceilometer
830- to: lxc:ubuntu=0
831- ceilometer-agent:
832- charm: cs:precise/ceilometer-agent
833- mongodb:
834- charm: cs:precise/mongodb
835- to: lxc:ubuntu=0
836- ntp:
837- charm: cs:precise/ntp
838- relations:
839- - - keystone
840- - mysql
841- - - nova-cloud-controller
842- - mysql
843- - - nova-cloud-controller
844- - rabbitmq-server
845- - - nova-cloud-controller
846- - glance
847- - - nova-cloud-controller
848- - keystone
849- - - nova-compute
850- - nova-cloud-controller
851- - - nova-compute
852- - mysql
853- - - nova-compute
854- - rabbitmq-server:amqp
855- - - nova-compute
856- - glance
857- - - nova-compute
858- - ceph
859- - - glance
860- - mysql
861- - - glance
862- - keystone
863- - - glance
864- - ceph
865- - - glance
866- - cinder
867- - - cinder
868- - mysql
869- - - cinder
870- - rabbitmq-server
871- - - cinder
872- - nova-cloud-controller
873- - - cinder
874- - keystone
875- - - cinder
876- - ceph
877- - - neutron-gateway
878- - mysql
879- - - neutron-gateway
880- - rabbitmq-server
881- - - neutron-gateway
882- - nova-cloud-controller
883- - - openstack-dashboard
884- - keystone
885- - - swift-proxy
886- - keystone
887- - - swift-proxy
888- - swift-storage-z1
889- - - swift-proxy
890- - swift-storage-z2
891- - - ceilometer
892- - keystone
893- - - ceilometer
894- - rabbitmq-server
895- - - ceilometer
896- - mongodb
897- - - ceilometer-agent:nova-ceilometer
898- - nova-compute:nova-ceilometer
899- - - ceilometer-agent:ceilometer-service
900- - ceilometer:ceilometer-service
901- - - ntp:juju-info
902- - nova-compute:juju-info
903- - - ntp:juju-info
904- - nova-cloud-controller:juju-info
905- - - ntp:juju-info
906- - neutron-gateway:juju-info
907- - - ntp:juju-info
908- - ceph:juju-info
909- - - ntp:juju-info
910- - cinder:juju-info
911- - - ntp:juju-info
912- - keystone:juju-info
913- - - ntp:juju-info
914- - glance:juju-info
915- - - ntp:juju-info
916- - swift-proxy:juju-info
917- - - ntp:juju-info
918- - swift-storage-z1:juju-info
919- - - ntp:juju-info
920- - swift-storage-z2:juju-info
921- - - ntp:juju-info
922- - ceilometer:juju-info
923- - - ntp:juju-info
924- - mongodb:juju-info
925- - - ntp:juju-info
926- - rabbitmq-server:juju-info
927- - - ntp:juju-info
928- - mysql:juju-info
929- - - ntp:juju-info
930- - openstack-dashboard:juju-info
931- - - landscape-client:container
932- - [ lds, neutron-gateway, ubuntu, mysql, cinder, keystone, rabbitmq-server, glance, openstack-dashboard, nova-cloud-controller, ceilometer, mongodb, nova-compute, swift-proxy ]
933- - - landscape-client:registration
934- - lds
935
936=== removed directory 'usr/lib/orange-box/examples/openstack/complex/havana-compute'
937=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-compute/01demo-prep.sh'
938=== target was u'../havana/01demo-prep.sh'
939=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-compute/02deploy.sh'
940=== target was u'../havana/02deploy.sh'
941=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana-compute/03configure-cloud.sh'
942--- usr/lib/orange-box/examples/openstack/complex/havana-compute/03configure-cloud.sh 2014-06-10 23:44:37 +0000
943+++ usr/lib/orange-box/examples/openstack/complex/havana-compute/03configure-cloud.sh 1970-01-01 00:00:00 +0000
944@@ -1,14 +0,0 @@
945-#!/bin/bash
946-
947-echo "Configuring Openstack environment"
948-cd ../openstack-configuration/
949-
950-[ -f ~/images/precise-server-cloudimg-amd64-disk1.img ] || ./get-cloud-images
951-
952-./inspect-environment
953-source envrc
954-
955-./prepare-cloud havana
956-
957-echo "Skipping Juju config as no Object Storage available for Juju"
958-
959
960=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-compute/04cleanup.sh'
961=== target was u'../havana/04cleanup.sh'
962=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-compute/README'
963=== target was u'../havana/README'
964=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana-compute/bundle.yaml'
965--- usr/lib/orange-box/examples/openstack/complex/havana-compute/bundle.yaml 2014-06-10 23:44:37 +0000
966+++ usr/lib/orange-box/examples/openstack/complex/havana-compute/bundle.yaml 1970-01-01 00:00:00 +0000
967@@ -1,164 +0,0 @@
968-# vim :set ts=2 et:
969-openstack:
970- series: precise
971- overrides:
972- openstack-origin: cloud:precise-havana
973- source: cloud:precise-updates/havana
974- services:
975- ubuntu:
976- charm: cs:precise/ubuntu
977- constraints: tags=nuc
978- landscape-client:
979- charm: cs:precise/landscape-client
980- options:
981- origin: ppa:landscape/trunk
982- exchange-interval: 60
983- urgent-exchange-interval: 30
984- ping-interval: 10
985- script-users: ALL
986- include-manager-plugins: ScriptExecution
987- lds:
988- branch: lp:charms/lds-quickstart
989- options:
990- server_fqdn: lds.master
991- admin_email: admin@lds.master
992- admin_name: admin
993- admin_password: Password1+
994- license: include-file://license.txt
995- sample_data: False
996- constraints: tags=lds
997- mysql:
998- charm: cs:precise/mysql-29
999- options:
1000- dataset-size: 50%
1001- to: lxc:ubuntu=0
1002- rabbitmq-server:
1003- charm: cs:precise/rabbitmq-server-16
1004- constraints: mem=1G
1005- to: lxc:ubuntu=0
1006- keystone:
1007- charm: cs:precise/keystone-23
1008- options:
1009- admin-password: Password1+
1010- admin-token: ubuntutesting
1011- to: lxc:ubuntu=0
1012- openstack-dashboard:
1013- charm: cs:precise/openstack-dashboard-11
1014- options:
1015- offline-compression: "no"
1016- webroot: "/"
1017- to: lxc:ubuntu=0
1018- nova-compute:
1019- charm: cs:precise/nova-compute
1020- num_units: 7
1021- options:
1022- config-flags: "auto_assign_floating_ip=False"
1023- enable-live-migration: False
1024- virt-type: kvm
1025- constraints: tags=nuc
1026- nova-cloud-controller:
1027- charm: cs:precise/nova-cloud-controller-19
1028- options:
1029- network-manager: Neutron
1030- quantum-security-groups: "yes"
1031- to: lxc:ubuntu=0
1032- neutron-gateway:
1033- charm: cs:precise/quantum-gateway-12
1034- options:
1035- ext-port: eth0
1036- constraints: tags=neutron
1037- cinder:
1038- charm: cs:precise/cinder-14
1039- options:
1040- block-device: "/srv/cinder.img|40G"
1041- constraints: tags=nuc
1042- glance:
1043- charm: cs:precise/glance-26
1044- to: lxc:ubuntu=0
1045- ceilometer:
1046- charm: cs:precise/ceilometer
1047- to: lxc:ubuntu=0
1048- ceilometer-agent:
1049- charm: cs:precise/ceilometer-agent
1050- mongodb:
1051- charm: cs:precise/mongodb
1052- to: lxc:ubuntu=0
1053- ntp:
1054- charm: cs:precise/ntp
1055- relations:
1056- - - keystone
1057- - mysql
1058- - - nova-cloud-controller
1059- - mysql
1060- - - nova-cloud-controller
1061- - rabbitmq-server
1062- - - nova-cloud-controller
1063- - glance
1064- - - nova-cloud-controller
1065- - keystone
1066- - - nova-compute
1067- - nova-cloud-controller
1068- - - nova-compute
1069- - mysql
1070- - - nova-compute
1071- - rabbitmq-server:amqp
1072- - - nova-compute
1073- - glance
1074- - - glance
1075- - mysql
1076- - - glance
1077- - keystone
1078- - - glance
1079- - cinder
1080- - - cinder
1081- - mysql
1082- - - cinder
1083- - rabbitmq-server
1084- - - cinder
1085- - nova-cloud-controller
1086- - - cinder
1087- - keystone
1088- - - neutron-gateway
1089- - mysql
1090- - - neutron-gateway
1091- - rabbitmq-server
1092- - - neutron-gateway
1093- - nova-cloud-controller
1094- - - openstack-dashboard
1095- - keystone
1096- - - ceilometer
1097- - keystone
1098- - - ceilometer
1099- - rabbitmq-server
1100- - - ceilometer
1101- - mongodb
1102- - - ceilometer-agent:nova-ceilometer
1103- - nova-compute:nova-ceilometer
1104- - - ceilometer-agent:ceilometer-service
1105- - ceilometer:ceilometer-service
1106- - - ntp:juju-info
1107- - nova-compute:juju-info
1108- - - ntp:juju-info
1109- - nova-cloud-controller:juju-info
1110- - - ntp:juju-info
1111- - neutron-gateway:juju-info
1112- - - ntp:juju-info
1113- - cinder:juju-info
1114- - - ntp:juju-info
1115- - keystone:juju-info
1116- - - ntp:juju-info
1117- - glance:juju-info
1118- - - ntp:juju-info
1119- - ceilometer:juju-info
1120- - - ntp:juju-info
1121- - mongodb:juju-info
1122- - - ntp:juju-info
1123- - rabbitmq-server:juju-info
1124- - - ntp:juju-info
1125- - mysql:juju-info
1126- - - ntp:juju-info
1127- - openstack-dashboard:juju-info
1128- - - landscape-client:container
1129- - [ lds, neutron-gateway, ubuntu, mysql, cinder, keystone, rabbitmq-server, glance, openstack-dashboard, nova-cloud-controller, ceilometer, mongodb, nova-compute ]
1130- - - landscape-client:registration
1131- - lds
1132
1133=== removed directory 'usr/lib/orange-box/examples/openstack/complex/havana-swift'
1134=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-swift/01demo-prep.sh'
1135=== target was u'../havana/01demo-prep.sh'
1136=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-swift/02deploy.sh'
1137=== target was u'../havana/02deploy.sh'
1138=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-swift/03configure-cloud.sh'
1139=== target was u'../havana/03configure-cloud.sh'
1140=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-swift/04cleanup.sh'
1141=== target was u'../havana/04cleanup.sh'
1142=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/havana-swift/README'
1143=== target was u'../havana/README'
1144=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana-swift/bundle.yaml'
1145--- usr/lib/orange-box/examples/openstack/complex/havana-swift/bundle.yaml 2014-06-10 23:44:37 +0000
1146+++ usr/lib/orange-box/examples/openstack/complex/havana-swift/bundle.yaml 1970-01-01 00:00:00 +0000
1147@@ -1,196 +0,0 @@
1148-# vim :set ts=2 et:
1149-openstack:
1150- series: precise
1151- overrides:
1152- openstack-origin: cloud:precise-havana
1153- source: cloud:precise-updates/havana
1154- services:
1155- ubuntu:
1156- charm: cs:precise/ubuntu
1157- constraints: tags=nuc
1158- landscape-client:
1159- charm: cs:precise/landscape-client
1160- options:
1161- origin: ppa:landscape/trunk
1162- exchange-interval: 60
1163- urgent-exchange-interval: 30
1164- ping-interval: 10
1165- script-users: ALL
1166- include-manager-plugins: ScriptExecution
1167- lds:
1168- branch: lp:charms/lds-quickstart
1169- options:
1170- server_fqdn: lds.master
1171- admin_email: admin@lds.master
1172- admin_name: admin
1173- admin_password: Password1+
1174- license: include-file://license.txt
1175- sample_data: False
1176- constraints: tags=lds
1177- mysql:
1178- charm: cs:precise/mysql-29
1179- options:
1180- dataset-size: 50%
1181- to: lxc:ubuntu=0
1182- rabbitmq-server:
1183- charm: cs:precise/rabbitmq-server-16
1184- constraints: mem=1G
1185- to: lxc:ubuntu=0
1186- keystone:
1187- charm: cs:precise/keystone-23
1188- options:
1189- admin-password: Password1+
1190- admin-token: ubuntutesting
1191- to: lxc:ubuntu=0
1192- openstack-dashboard:
1193- charm: cs:precise/openstack-dashboard-11
1194- options:
1195- offline-compression: "no"
1196- webroot: "/"
1197- to: lxc:ubuntu=0
1198- nova-compute:
1199- charm: cs:precise/nova-compute
1200- num_units: 5
1201- options:
1202- config-flags: "auto_assign_floating_ip=False"
1203- enable-live-migration: False
1204- virt-type: kvm
1205- constraints: tags=nuc
1206- nova-cloud-controller:
1207- charm: cs:precise/nova-cloud-controller-19
1208- options:
1209- network-manager: Neutron
1210- quantum-security-groups: "yes"
1211- to: lxc:ubuntu=0
1212- neutron-gateway:
1213- charm: cs:precise/quantum-gateway-12
1214- options:
1215- ext-port: eth0
1216- constraints: tags=neutron
1217- cinder:
1218- charm: cs:precise/cinder-14
1219- options:
1220- block-device: "/srv/cinder.img|40G"
1221- constraints: tags=nuc
1222- glance:
1223- charm: cs:precise/glance-26
1224- to: lxc:ubuntu=0
1225- swift-proxy:
1226- charm: cs:precise/swift-proxy
1227- options:
1228- zone-assignment: manual
1229- replicas: 2
1230- use-https: 'no'
1231- swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
1232- to: lxc:ubuntu=0
1233- swift-storage-z1:
1234- charm: cs:precise/swift-storage
1235- options:
1236- zone: 1
1237- block-device: "/srv/swift.img|40G"
1238- constraints: tags=nuc
1239- swift-storage-z2:
1240- charm: cs:precise/swift-storage
1241- options:
1242- zone: 2
1243- block-device: "/srv/swift.img|40G"
1244- constraints: tags=nuc
1245- ceilometer:
1246- charm: cs:precise/ceilometer
1247- to: lxc:ubuntu=0
1248- ceilometer-agent:
1249- charm: cs:precise/ceilometer-agent
1250- mongodb:
1251- charm: cs:precise/mongodb
1252- to: lxc:ubuntu=0
1253- ntp:
1254- charm: cs:precise/ntp
1255- relations:
1256- - - keystone
1257- - mysql
1258- - - nova-cloud-controller
1259- - mysql
1260- - - nova-cloud-controller
1261- - rabbitmq-server
1262- - - nova-cloud-controller
1263- - glance
1264- - - nova-cloud-controller
1265- - keystone
1266- - - nova-compute
1267- - nova-cloud-controller
1268- - - nova-compute
1269- - mysql
1270- - - nova-compute
1271- - rabbitmq-server:amqp
1272- - - nova-compute
1273- - glance
1274- - - glance
1275- - mysql
1276- - - glance
1277- - keystone
1278- - - glance
1279- - cinder
1280- - - cinder
1281- - mysql
1282- - - cinder
1283- - rabbitmq-server
1284- - - cinder
1285- - nova-cloud-controller
1286- - - cinder
1287- - keystone
1288- - - neutron-gateway
1289- - mysql
1290- - - neutron-gateway
1291- - rabbitmq-server
1292- - - neutron-gateway
1293- - nova-cloud-controller
1294- - - openstack-dashboard
1295- - keystone
1296- - - swift-proxy
1297- - keystone
1298- - - swift-proxy
1299- - swift-storage-z1
1300- - - swift-proxy
1301- - swift-storage-z2
1302- - - ceilometer
1303- - keystone
1304- - - ceilometer
1305- - rabbitmq-server
1306- - - ceilometer
1307- - mongodb
1308- - - ceilometer-agent:nova-ceilometer
1309- - nova-compute:nova-ceilometer
1310- - - ceilometer-agent:ceilometer-service
1311- - ceilometer:ceilometer-service
1312- - - ntp:juju-info
1313- - nova-compute:juju-info
1314- - - ntp:juju-info
1315- - nova-cloud-controller:juju-info
1316- - - ntp:juju-info
1317- - neutron-gateway:juju-info
1318- - - ntp:juju-info
1319- - cinder:juju-info
1320- - - ntp:juju-info
1321- - keystone:juju-info
1322- - - ntp:juju-info
1323- - glance:juju-info
1324- - - ntp:juju-info
1325- - swift-proxy:juju-info
1326- - - ntp:juju-info
1327- - swift-storage-z1:juju-info
1328- - - ntp:juju-info
1329- - swift-storage-z2:juju-info
1330- - - ntp:juju-info
1331- - ceilometer:juju-info
1332- - - ntp:juju-info
1333- - mongodb:juju-info
1334- - - ntp:juju-info
1335- - rabbitmq-server:juju-info
1336- - - ntp:juju-info
1337- - mysql:juju-info
1338- - - ntp:juju-info
1339- - openstack-dashboard:juju-info
1340- - - landscape-client:container
1341- - [ lds, neutron-gateway, ubuntu, mysql, cinder, keystone, rabbitmq-server, glance, openstack-dashboard, nova-cloud-controller, ceilometer, mongodb, nova-compute, swift-proxy, swift-storage-z1, swift-storage-z2 ]
1342- - - landscape-client:registration
1343- - lds
1344
1345=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/01demo-prep.sh'
1346--- usr/lib/orange-box/examples/openstack/complex/havana/01demo-prep.sh 2014-06-10 23:44:37 +0000
1347+++ usr/lib/orange-box/examples/openstack/complex/havana/01demo-prep.sh 1970-01-01 00:00:00 +0000
1348@@ -1,13 +0,0 @@
1349-#!/bin/bash
1350-#Canonical Micro-Cluster Demo Preparation
1351-echo "checking for existing Juju environment..."
1352-juju status && echo "Existing deployment found, exiting." && exit
1353-
1354-echo "Deploying Juju Bootstrap node to Virtual machine: juju.local using tags=juju"
1355-juju bootstrap --upload-tools=true --constraints "tags=juju"
1356-
1357-echo "unset constraints"
1358-juju set-constraints tags=""
1359-echo "Deploying Juju-gui to bootstrap node"
1360-juju deploy --to 0 juju-gui
1361-
1362
1363=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/02deploy.sh'
1364--- usr/lib/orange-box/examples/openstack/complex/havana/02deploy.sh 2014-06-10 23:44:37 +0000
1365+++ usr/lib/orange-box/examples/openstack/complex/havana/02deploy.sh 1970-01-01 00:00:00 +0000
1366@@ -1,31 +0,0 @@
1367-#!/bin/bash
1368-
1369-set -ex
1370-if [ ! -d ~/landscape ]; then
1371- bzr launchpad-login || ( echo "Please set your Launchpad login: bzr launchpad-login LAUNCHPAD_ID and re-run." && false )
1372- bzr branch lp:landscape ~/landscape
1373-fi
1374-
1375-if [ ! -f ~/license.txt ]; then
1376- (echo "Need to create license.txt" && false)
1377-else
1378- cp ~/license.txt ./license.txt
1379-fi
1380-
1381-if [ ! -d precise/lds ]; then
1382- mkdir -p precise
1383- cp -r ~/landscape/dev/charms/precise/lds-quickstart precise/lds
1384- (
1385- cd precise/lds
1386- bzr init
1387- bzr add
1388- bzr commit -m "Fake lds charm"
1389- )
1390-fi
1391-
1392-juju-deployer -c bundle.yaml -d
1393-
1394-# NOTE: add relation not encompassed in bundle
1395-juju add-relation landscape-client:container juju-gui
1396-
1397-echo "Deployment finished"
1398
1399=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/03configure-cloud.sh'
1400--- usr/lib/orange-box/examples/openstack/complex/havana/03configure-cloud.sh 2014-06-10 23:44:37 +0000
1401+++ usr/lib/orange-box/examples/openstack/complex/havana/03configure-cloud.sh 1970-01-01 00:00:00 +0000
1402@@ -1,17 +0,0 @@
1403-#!/bin/bash
1404-
1405-echo "Configuring Openstack environment"
1406-cd ../openstack-configuration/
1407-
1408-[ -f ~/images/precise-server-cloudimg-amd64-disk1.img ] || ./get-cloud-images
1409-
1410-./inspect-environment
1411-source envrc
1412-
1413-./prepare-cloud havana
1414-
1415-echo "Configuring Juju environment"
1416-cd ../juju-config/
1417-./generate-jujuenv
1418-
1419-
1420
1421=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/04cleanup.sh'
1422--- usr/lib/orange-box/examples/openstack/complex/havana/04cleanup.sh 2014-06-10 23:44:37 +0000
1423+++ usr/lib/orange-box/examples/openstack/complex/havana/04cleanup.sh 1970-01-01 00:00:00 +0000
1424@@ -1,30 +0,0 @@
1425-#!/bin/bash
1426-
1427-juju destroy-environment maas
1428-
1429-#Need to remove the Juju environments
1430-rm -rf ~/.juju/
1431-
1432-#Removing known hosts as all keys will be regenerated when re-deploying.
1433-rm ~/.ssh/known_hosts
1434-
1435-#Now re-create MAAS Juju environment.
1436-mkdir ~/.juju
1437-
1438-maas_oauth=$(maas-cli list | awk '{ print $3 }')
1439-
1440-cat > ~/.juju/environments.yaml <<EOF
1441-environments:
1442- maas:
1443- type: maas
1444- admin-secret: Password1+
1445-
1446- # maas-server specifies the location of the MAAS server. It must
1447- # specify the base path.
1448- maas-server: 'http://10.14.4.1/MAAS/'
1449-
1450- # maas-oauth holds the OAuth credentials from MAAS.
1451- maas-oauth: '$maas_oauth'
1452-EOF
1453-
1454-
1455
1456=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/README'
1457--- usr/lib/orange-box/examples/openstack/complex/havana/README 2014-06-10 23:44:37 +0000
1458+++ usr/lib/orange-box/examples/openstack/complex/havana/README 1970-01-01 00:00:00 +0000
1459@@ -1,6 +0,0 @@
1460-This demo bundle deploys Openstack Havana with Ceph and Swift and Ceilometer with LDS
1461-
1462-01pre-deploy.sh - deploys Juju bootstrap and the Juju GUI
1463-02deploy.sh - deploys the Openstack Bundle
1464-03configure-cloud.sh - sets up networks and uploads an image and configures the Juju environment for Openstack as the default.
1465-04cleanup.sh - destroys the MAAS Juju environment
1466
1467=== removed file 'usr/lib/orange-box/examples/openstack/complex/havana/bundle.yaml'
1468--- usr/lib/orange-box/examples/openstack/complex/havana/bundle.yaml 2014-06-10 23:44:37 +0000
1469+++ usr/lib/orange-box/examples/openstack/complex/havana/bundle.yaml 1970-01-01 00:00:00 +0000
1470@@ -1,214 +0,0 @@
1471-# vim :set ts=2 et:
1472-openstack:
1473- series: precise
1474- overrides:
1475- openstack-origin: cloud:precise-havana
1476- source: cloud:precise-updates/havana
1477- services:
1478- ubuntu:
1479- charm: cs:precise/ubuntu
1480- constraints: tags=nuc
1481- landscape-client:
1482- charm: cs:precise/landscape-client
1483- options:
1484- origin: ppa:landscape/trunk
1485- exchange-interval: 60
1486- urgent-exchange-interval: 30
1487- ping-interval: 10
1488- script-users: ALL
1489- include-manager-plugins: ScriptExecution
1490- lds:
1491- branch: lp:charms/lds-quickstart
1492- options:
1493- server_fqdn: lds.master
1494- admin_email: admin@lds.master
1495- admin_name: admin
1496- admin_password: Password1+
1497- license: include-file://license.txt
1498- sample_data: False
1499- constraints: tags=lds
1500- mysql:
1501- charm: cs:precise/mysql-29
1502- options:
1503- dataset-size: 50%
1504- to: lxc:ubuntu=0
1505- rabbitmq-server:
1506- charm: cs:precise/rabbitmq-server-16
1507- constraints: mem=1G
1508- to: lxc:ubuntu=0
1509- ceph:
1510- charm: cs:precise/ceph
1511- num_units: 3
1512- options:
1513- monitor-count: 3
1514- fsid: 9e7aac42-4bf4-11e3-b4b7-5254006a039c
1515- monitor-secret: AQAAvoJSOAv/NRAAgvXP8d7iXN7lWYbvDZzm2Q==
1516- osd-devices: /srv
1517- osd-reformat: "yes"
1518- constraints: tags=nuc
1519- keystone:
1520- charm: cs:precise/keystone-23
1521- options:
1522- admin-password: Password1+
1523- admin-token: ubuntutesting
1524- to: lxc:ubuntu=0
1525- openstack-dashboard:
1526- charm: cs:precise/openstack-dashboard-11
1527- options:
1528- offline-compression: "no"
1529- webroot: "/"
1530- to: lxc:ubuntu=0
1531- nova-compute:
1532- charm: cs:precise/nova-compute
1533- num_units: 3
1534- options:
1535- config-flags: "auto_assign_floating_ip=False"
1536- enable-live-migration: False
1537- virt-type: kvm
1538- constraints: tags=nuc
1539- nova-cloud-controller:
1540- charm: cs:precise/nova-cloud-controller-19
1541- options:
1542- network-manager: Neutron
1543- quantum-security-groups: "yes"
1544- to: lxc:ubuntu=0
1545- neutron-gateway:
1546- charm: cs:precise/quantum-gateway-12
1547- options:
1548- ext-port: eth0
1549- constraints: tags=neutron
1550- cinder:
1551- charm: cs:precise/cinder-14
1552- options:
1553- block-device: "None"
1554- to: lxc:ubuntu=0
1555- glance:
1556- charm: cs:precise/glance-26
1557- to: lxc:ubuntu=0
1558- swift-proxy:
1559- charm: cs:precise/swift-proxy
1560- options:
1561- zone-assignment: manual
1562- replicas: 2
1563- use-https: 'no'
1564- swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
1565- to: lxc:ubuntu=0
1566- swift-storage-z1:
1567- charm: cs:precise/swift-storage
1568- options:
1569- zone: 1
1570- block-device: "/srv/swift.img|40G"
1571- constraints: tags=nuc
1572- swift-storage-z2:
1573- charm: cs:precise/swift-storage
1574- options:
1575- zone: 2
1576- block-device: "/srv/swift.img|40G"
1577- constraints: tags=nuc
1578- ceilometer:
1579- charm: cs:precise/ceilometer
1580- to: lxc:ubuntu=0
1581- ceilometer-agent:
1582- charm: cs:precise/ceilometer-agent
1583- mongodb:
1584- charm: cs:precise/mongodb
1585- to: lxc:ubuntu=0
1586- ntp:
1587- charm: cs:precise/ntp
1588- relations:
1589- - - keystone
1590- - mysql
1591- - - nova-cloud-controller
1592- - mysql
1593- - - nova-cloud-controller
1594- - rabbitmq-server
1595- - - nova-cloud-controller
1596- - glance
1597- - - nova-cloud-controller
1598- - keystone
1599- - - nova-compute
1600- - nova-cloud-controller
1601- - - nova-compute
1602- - mysql
1603- - - nova-compute
1604- - rabbitmq-server:amqp
1605- - - nova-compute
1606- - glance
1607- - - nova-compute
1608- - ceph
1609- - - glance
1610- - mysql
1611- - - glance
1612- - keystone
1613- - - glance
1614- - ceph
1615- - - glance
1616- - cinder
1617- - - cinder
1618- - mysql
1619- - - cinder
1620- - rabbitmq-server
1621- - - cinder
1622- - nova-cloud-controller
1623- - - cinder
1624- - keystone
1625- - - cinder
1626- - ceph
1627- - - neutron-gateway
1628- - mysql
1629- - - neutron-gateway
1630- - rabbitmq-server
1631- - - neutron-gateway
1632- - nova-cloud-controller
1633- - - openstack-dashboard
1634- - keystone
1635- - - swift-proxy
1636- - keystone
1637- - - swift-proxy
1638- - swift-storage-z1
1639- - - swift-proxy
1640- - swift-storage-z2
1641- - - ceilometer
1642- - keystone
1643- - - ceilometer
1644- - rabbitmq-server
1645- - - ceilometer
1646- - mongodb
1647- - - ceilometer-agent:nova-ceilometer
1648- - nova-compute:nova-ceilometer
1649- - - ceilometer-agent:ceilometer-service
1650- - ceilometer:ceilometer-service
1651- - - ntp:juju-info
1652- - nova-compute:juju-info
1653- - - ntp:juju-info
1654- - nova-cloud-controller:juju-info
1655- - - ntp:juju-info
1656- - neutron-gateway:juju-info
1657- - - ntp:juju-info
1658- - ceph:juju-info
1659- - - ntp:juju-info
1660- - cinder:juju-info
1661- - - ntp:juju-info
1662- - keystone:juju-info
1663- - - ntp:juju-info
1664- - glance:juju-info
1665- - - ntp:juju-info
1666- - swift-proxy:juju-info
1667- - - ntp:juju-info
1668- - swift-storage-z1:juju-info
1669- - - ntp:juju-info
1670- - swift-storage-z2:juju-info
1671- - - ntp:juju-info
1672- - ceilometer:juju-info
1673- - - ntp:juju-info
1674- - mongodb:juju-info
1675- - - ntp:juju-info
1676- - rabbitmq-server:juju-info
1677- - - ntp:juju-info
1678- - mysql:juju-info
1679- - - ntp:juju-info
1680- - openstack-dashboard:juju-info
1681- - - landscape-client:container
1682- - [ lds, neutron-gateway, ubuntu, mysql, cinder, keystone, rabbitmq-server, glance, openstack-dashboard, nova-cloud-controller, ceilometer, mongodb, nova-compute, ceph, swift-proxy, swift-storage-z1, swift-storage-z2 ]
1683- - - landscape-client:registration
1684- - lds
1685
1686=== removed directory 'usr/lib/orange-box/examples/openstack/complex/juju-config'
1687=== removed file 'usr/lib/orange-box/examples/openstack/complex/juju-config/environments.yaml'
1688--- usr/lib/orange-box/examples/openstack/complex/juju-config/environments.yaml 2014-06-10 23:44:37 +0000
1689+++ usr/lib/orange-box/examples/openstack/complex/juju-config/environments.yaml 1970-01-01 00:00:00 +0000
1690@@ -1,13 +0,0 @@
1691-default: openstack
1692-environments:
1693- openstack:
1694- type: openstack
1695- control-bucket: __UUID__
1696- admin-secret: Password1+
1697- auth-url: __AUTH_URL__
1698- region: RegionOne
1699- image-metadata-url: http://10.14.4.1/images/
1700- username: admin
1701- password: Password1+
1702- tenant-name: admin
1703- use-floating-ip: true
1704
1705=== removed file 'usr/lib/orange-box/examples/openstack/complex/juju-config/generate-jujuenv'
1706--- usr/lib/orange-box/examples/openstack/complex/juju-config/generate-jujuenv 2014-06-10 23:44:37 +0000
1707+++ usr/lib/orange-box/examples/openstack/complex/juju-config/generate-jujuenv 1970-01-01 00:00:00 +0000
1708@@ -1,37 +0,0 @@
1709-#!/bin/bash
1710-
1711-set -e
1712-
1713-grep openstack ~/.juju/environments.yaml && echo "Openstack already configured in ~/.juju/environments.yaml" && exit
1714-
1715-source ../openstack-configuration/envrc
1716-
1717-#Backup environments.yaml
1718-cp ~/.juju/environments.yaml ~/.juju/environments.yaml.bak
1719-
1720-sed -e "s/__UUID__/$(uuid)/g" -e "s!__AUTH_URL__!http://$KEYSTONE_HOST:5000/v2.0/!g" environments.yaml >> ~/.juju/environments.yaml
1721-
1722-echo "Default Juju environment is now: openstack"
1723-
1724-echo "Generating Juju meta-data"
1725-juju-metadata generate-image -a amd64 -u ${OS_AUTH_URL?} -i $IMAGE_UUID -r $OS_REGION_NAME -s precise
1726-
1727-echo "Copying data to web server"
1728-sudo cp -r images /var/www/html/
1729-sudo chmod -R go+r /var/www/html/images
1730-
1731-echo "Validating Juju Image Metadata"
1732-juju-metadata validate-images
1733-
1734-echo "Remove m1.tiny as it is too small for an Ubuntu Cloud Image and Juju defaults to the smallest flavor"
1735-nova flavor-list | grep m1.tiny && nova flavor-delete m1.tiny
1736-
1737-echo "Fixup DNS nameservers to point to 172.16.1.1 for Neutron subnets"
1738-#Get subnet IDs
1739-neutron subnet-update admin_net_subnet --dns_nameservers list=true 172.16.1.1
1740-neutron subnet-update ext_net_subnet --dns_nameservers list=true 172.16.1.1
1741-
1742-echo "Ready to bootstrap Juju"
1743-echo "juju bootstrap --upload-tools=true"
1744-
1745-
1746
1747=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration'
1748=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/README'
1749--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/README 2014-06-10 23:44:37 +0000
1750+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/README 1970-01-01 00:00:00 +0000
1751@@ -1,21 +0,0 @@
1752-OpenStack Cloud Setup and Test
1753-------------------------------
1754-
1755-1) Inspect the deployed cloud
1756-
1757-./inspect-environment
1758-source envrc
1759-
1760-2) Prepare the cloud
1761-
1762-./prepare-cloud havana
1763-source envrc
1764-
1765-3) Verify the cloud
1766-
1767-./verify-cloud
1768-
1769-NOTES:
1770-
1771-verify-cloud currently clones devstack from github.
1772-
1773
1774=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure-tests'
1775--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure-tests 2014-06-10 23:44:37 +0000
1776+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure-tests 1970-01-01 00:00:00 +0000
1777@@ -1,6 +0,0 @@
1778-#!/bin/bash -e
1779-
1780-base=$(dirname $0)
1781-rm -rf etc
1782-cp -r ${base}/etc_master etc
1783-${base}/configure_tests.py --configure etc
1784
1785=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure_tests.py'
1786--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure_tests.py 2014-06-10 23:44:37 +0000
1787+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/configure_tests.py 1970-01-01 00:00:00 +0000
1788@@ -1,60 +0,0 @@
1789-#!/usr/bin/python
1790-
1791-import optparse
1792-import logging
1793-import os
1794-import sys
1795-import string
1796-import subprocess
1797-import re
1798-
1799-
1800-def list_configs(conf_dir):
1801- confs = []
1802- for f in os.listdir(conf_dir):
1803- if os.path.isdir(os.path.join(conf_dir, f)):
1804- confs += list_configs(os.path.join(conf_dir, f))
1805- if f.endswith('.conf'):
1806- confs.append(os.path.join(conf_dir, f))
1807- return confs
1808-
1809-def update_test_configs(conf_dir):
1810- if not os.path.exists(conf_dir):
1811- die('Config directory does not exist at %s' % conf_dir)
1812- vars_file = os.path.join(conf_dir, 'all_variables')
1813- if not os.path.isfile(vars_file):
1814- die('Could not load all_variables from %s' % vars_file)
1815-
1816- env_vars = []
1817- for l in open(vars_file, 'r').readlines():
1818- if not l.startswith('#') and l.strip() != '':
1819- env_vars.append(l.strip())
1820-
1821- config_files = list_configs(conf_dir)
1822-
1823- for var in env_vars:
1824- if var in os.environ:
1825- val = os.environ[var]
1826- for f in config_files:
1827- sep = ","
1828- if re.search(",", val):
1829- sep = "/"
1830- cmd = 'sed -i s%(sep)s%%%(var)s%%%(sep)s%(val)s%(sep)sg %(f)s' % locals()
1831- subprocess.check_output(cmd.split(' '))
1832- else:
1833- print "[WARN] Not setting %s in config, could not find in environment."\
1834- % var
1835- print "Configured tests in %s" % conf_dir
1836-
1837-parser = optparse.OptionParser()
1838-parser.add_option('-C', '--configure', dest='configure', action='store_true',
1839- default=False,
1840- help='Configure all test configs based on enviornment.')
1841-(options, args) = parser.parse_args()
1842-
1843-if options.configure:
1844- if len(args) == 0:
1845- die('Must pass a directory as argument to --configure')
1846-
1847- conf_dir=args.pop()
1848- update_test_configs(conf_dir)
1849
1850=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack'
1851=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/__init__.py'
1852=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/config.py'
1853--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/config.py 2014-06-10 23:44:37 +0000
1854+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/config.py 1970-01-01 00:00:00 +0000
1855@@ -1,103 +0,0 @@
1856-import ConfigParser
1857-import os
1858-import subprocess
1859-import logging
1860-import jinja2
1861-
1862-from test_utils.config import CloudConfig
1863-
1864-cloud_config = CloudConfig()
1865-
1866-DEFAULT_CONFIG='etc/devstack.conf'
1867-DEFAULT_WORK_DIR=os.path.join(os.environ['HOME'], 'devstack-test')
1868-
1869-class DevstackConfig(object):
1870- def __init__(self, conf=DEFAULT_CONFIG, work_dir=DEFAULT_WORK_DIR):
1871- self.config = ConfigParser.SafeConfigParser()
1872- self.config.read(conf)
1873-
1874- self.work_dir = work_dir
1875- if not os.path.exists(self.work_dir):
1876- os.makedirs(self.work_dir)
1877-
1878- self.devstack_dir = os.path.join(self.work_dir, 'devstack')
1879- self.git_repo = self.config.get('DEFAULT', 'devstack_repo')
1880-
1881- templ_dir = self.config.get('DEFAULT', 'templates')
1882- templ_dir = os.path.join(os.getcwd(), templ_dir)
1883- if not os.path.exists(templ_dir):
1884- logging.error('Could not locate devstack template directory @ %s'\
1885- % templ_dir)
1886- raise
1887- loader = jinja2.FileSystemLoader(templ_dir)
1888- self.templates = jinja2.Environment(loader = loader)
1889- self.git_branch = self.config.get('DEFAULT', 'devstack_branch')
1890-
1891- def get(self, item, section='DEFAULT'):
1892- return self.config.get(section, item)
1893-
1894- def prepare_devstack(self):
1895- self._clone_devstack(directory=self.devstack_dir)
1896- self._write_openrc(branch=self.git_branch, directory=self.devstack_dir)
1897- self._write_exerciserc()
1898-
1899- def _clone_devstack(self, directory=None, branch=None):
1900- if not directory:
1901- directory = self.devstack_dir
1902- if not branch:
1903- branch = self.git_branch
1904- cmd = [ 'git', 'clone', self.git_repo, directory ]
1905- subprocess.check_output(cmd)
1906-
1907- if branch != 'master':
1908- os.chdir(directory)
1909- cmd = [ 'git', 'checkout', branch ]
1910- subprocess.check_output(cmd)
1911-
1912- def _write_openrc(self, branch='master', directory=None):
1913- ''' Write openrc template to specified directory.
1914- branch is definied in config.
1915- branch names are expected to be in git format.
1916- _'s will be substited for /'s in template name,
1917- ie, branch='stable/essex' -> $directory/openrc.stable_essex
1918- '''
1919- if not directory:
1920- directory = self.devstack_dir
1921- git_branch = ""
1922- for i in branch:
1923- if i == '/':
1924- git_branch += '_'
1925- else:
1926- git_branch += i
1927-
1928- openrc = os.path.join(directory, 'openrc')
1929- templ = self.templates.get_template('openrc.%s' % git_branch)
1930- context = { 'nova_host': cloud_config.get('DEFAULT', 'nova_host'),
1931- 'glance_host': cloud_config.get('DEFAULT', 'glance_host'),
1932- 'keystone_host': cloud_config.get('DEFAULT', 'keystone_host'),
1933- 'service_host': cloud_config.get('DEFAULT', 'service_host'),
1934- 'os_username': cloud_config.get('osapi', 'username'),
1935- 'os_password': cloud_config.get('osapi', 'password'),
1936- 'os_tenant_name': cloud_config.get('osapi', 'tenant_name'),
1937- 'secondary_ip_pool': self.get('secondary_ip_pool'),
1938- 'enabled_services': self.get('enabled_services')
1939- }
1940- f = open(openrc, 'w')
1941- f.write(templ.render(context))
1942- f.close()
1943-
1944- def _write_exerciserc(self, directory=None):
1945- ''' Write out the exerciserc file based on whats in config.'''
1946- if not directory:
1947- directory = self.devstack_dir
1948- exerciserc = os.path.join(directory, 'exerciserc')
1949- templ = self.templates.get_template('exerciserc')
1950- context = { 'active_timeout': self.get('active_timeout'),
1951- 'associate_timeout': self.get('associate_timeout'),
1952- 'boot_timeout': self.get('boot_timeout'),
1953- 'running_timeout': self.get('running_timeout'),
1954- 'terminate_timeout': self.get('terminate_timeout')
1955- }
1956- f = open(exerciserc, 'w')
1957- f.write(templ.render(context))
1958- f.close()
1959
1960=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_devstack_exercises.py'
1961--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_devstack_exercises.py 2014-06-10 23:44:37 +0000
1962+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_devstack_exercises.py 1970-01-01 00:00:00 +0000
1963@@ -1,105 +0,0 @@
1964-import unittest
1965-import shutil
1966-import os
1967-import nose
1968-import subprocess
1969-import sys
1970-import logging
1971-
1972-from test_utils.config import CloudConfig
1973-from config import DevstackConfig
1974-
1975-WORK_DIR='/tmp/devstack-test'
1976-
1977-cloud_config = CloudConfig()
1978-
1979-class DevstackExcercises(unittest.TestCase):
1980- @classmethod
1981- def setUpClass(self):
1982- try:
1983- self.artifacts_dir = cloud_config.get('tests', 'artifacts_dir')
1984- except:
1985- self.artifacts_dir = None
1986- if self.artifacts_dir:
1987- if os.path.isdir(self.artifacts_dir):
1988- shutil.rmtree(self.artifacts_dir)
1989- os.mkdir(self.artifacts_dir)
1990- if os.path.exists(WORK_DIR):
1991- logging.debug("Removing existing work_dir @ %s" % WORK_DIR)
1992- shutil.rmtree(WORK_DIR)
1993- self.devstack = DevstackConfig(work_dir=WORK_DIR)
1994- self.devstack.prepare_devstack()
1995-
1996-
1997- def _call_exercise(self, exercise):
1998- os.chdir(self.devstack.devstack_dir)
1999- exercise_script = './exercises/%s' % exercise
2000-
2001- if not os.path.isfile(exercise_script):
2002- # Skip exercise if it is not found (its probably hosted
2003- # in another branch of devstack)
2004- raise nose.SkipTest('Skipping %s, exercise script not found in '\
2005- ' this branch.' % exercise_script)
2006-
2007- try:
2008- archive_logs = cloud_config.get('tests', 'archive_logs')
2009- except:
2010- archive_logs = False
2011-
2012- if archive_logs in ['True', 'true']:
2013- log = os.path.join(self.artifacts_dir, 'devstack_ex_%s.log' %\
2014- exercise)
2015- log = open(log, 'wb')
2016- t_stdout = t_stderr = log
2017- else:
2018- t_stdout = t_stderr = subprocess.PIPE
2019-
2020- p = subprocess.Popen(exercise_script,
2021- stdout=t_stdout, stderr=t_stderr)
2022- p.poll()
2023- (stdout, stderr) = p.communicate()
2024- if p.returncode == 0:
2025- return True
2026- elif p.returncode == 55:
2027- # Exercises that return 55 do so because the target service is
2028- # not enabled, via ENABLED_SERVICES.
2029- raise nose.SkipTest('Service not enabled, skipping test.')
2030- else:
2031- logging.debug('--- Exercise %s failed with RC %s.'\
2032- % (exercise, p.returncode))
2033- logging.debug('Debug output:')
2034- logging.debug(stdout)
2035- logging.debug(stderr)
2036- return False
2037-
2038- def test_aggregates(self):
2039- '''test_aggregates: Test host aggregates'''
2040- self.assertTrue(self._call_exercise('aggregates.sh'))
2041-
2042- def test_client_env(self):
2043- '''test_client_env: Test OpenStack client enviroment variable handling'''
2044- self.assertTrue(self._call_exercise('client-env.sh'))
2045-
2046- def test_floating_ips(self):
2047- '''test_floating_ips: Test instance spawn + IP association via OSAPI'''
2048- self.assertTrue(self._call_exercise('floating_ips.sh'))
2049-
2050- def test_volumes(self):
2051- '''test_volumes: Test instance spawn + volume attachment via OSAPI'''
2052- self.assertTrue(self._call_exercise('volumes.sh'))
2053-
2054- def test_sec_groups(self):
2055- '''test_sec_groups: Test security groups via the command line tools'''
2056- self.assertTrue(self._call_exercise('sec_groups.sh'))
2057-
2058- def test_horizon(self):
2059- '''test_horizon: Ensure horizon displays a login page.'''
2060- self.assertTrue(self._call_exercise('horizon.sh'))
2061-
2062- def test_boot_from_volume(self):
2063- '''test_boot_from_volume: Test instance spawn from cinder volume.'''
2064- self.assertTrue(self._call_exercise('boot_from_volume.sh'))
2065-
2066- def test_swift(self):
2067- '''test_swift: Ensure swift object storage if functional.'''
2068- self.assertTrue(self._call_exercise('swift.sh'))
2069
2070=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils'
2071=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/__init__.py'
2072=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/cloud.py'
2073--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/cloud.py 2014-06-10 23:44:37 +0000
2074+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/cloud.py 1970-01-01 00:00:00 +0000
2075@@ -1,351 +0,0 @@
2076-
2077-import json
2078-import urlparse
2079-import uuid
2080-import sys
2081-import time
2082-import logging
2083-from copy import copy, deepcopy
2084-
2085-from openstack_ubuntu_testing.test_utils.config import CloudConfig
2086-
2087-from boto import exception, connect_ec2
2088-from boto.ec2.regioninfo import RegionInfo
2089-
2090-from novaclient.v1_1.client import Client as OSNovaClient
2091-from cinderclient.v1.client import Client as OSCinderClient
2092-
2093-INST_RUN_TIMEOUT = 120
2094-INST_TERMINATE_TIMEOUT=60
2095-VOL_CREATE_TIMEOUT = 30
2096-VOL_ATTACH_TIMEOUT = 30
2097-
2098-def _normalize_ec2(d):
2099- '''convert all values of dict to a string'''
2100- out = {}
2101- for k, v in out.iteritems():
2102- if 'object at' in str(v):
2103- out.pop(k)
2104- elif isinstance(v, dict):
2105- out[k] = _normalize_ec2(v)
2106- else:
2107- out[k] = str(v)
2108- return out
2109-
2110-
2111-def _normalize_osapi(d):
2112- '''
2113- 'ensure everythign in dict is a string, and remove any object references.
2114- '''
2115- out = {}
2116- # these are known to hold references to objects in memory, remove them.
2117- black_list = ['manager']
2118- for k, v in d.iteritems():
2119- if k in black_list:
2120- continue
2121- out[k] = str(v)
2122- return out
2123-
2124-
2125-
2126-_resources = {
2127- 'ec2': {
2128- 'instances': [],
2129- 'floating_ips': [],
2130- 'key_pairs': [],
2131- 'volumes': [],
2132- },
2133- 'osapi': {
2134- 'instances': [],
2135- 'floating_ips': [],
2136- 'key_pairs': [],
2137- 'volumes': [],
2138- }
2139-}
2140-
2141-class EC2CloudClient(object):
2142- def __init__(self, access_key, secret_key, endpoint):
2143- url = urlparse.urlparse(endpoint)
2144- sec = False
2145- if url.scheme == 'https':
2146- sec = True
2147- region = RegionInfo(name='nova', endpoint=url.hostname)
2148- self.api = connect_ec2(access_key, secret_key, host=url.hostname,
2149- port=url.port, path=url.path, is_secure=sec,
2150- region=region)
2151-
2152- # track IDs of created resources for tear-down.
2153- self.instances = []
2154- self.key_pairs = []
2155- self.floating_ips =[]
2156- self.volumes = []
2157-
2158- def instance_ids(self):
2159- ids = []
2160- for reservation in self.api.get_all_instances():
2161- [ids.append(i.id) for i in reservation.instances]
2162- return ids
2163-
2164- def instances_running(self, instance_ids=[]):
2165- '''given a list of instance_ids, return list of only running instances'''
2166- running = []
2167- reservations = []
2168- for id in instance_ids:
2169- try:
2170- reservations.append(self.api.get_all_instances(instance_ids=str(id)))
2171- except exception.EC2ResponseError:
2172- instance_ids.remove(id)
2173-
2174- instances = []
2175- for r in reservations:
2176- if len(r) > 0 and r[0].instances:
2177- instances.append(r[0].instances[0])
2178-
2179- for instance in instances:
2180- if instance.state == 'running':
2181- running.append(instance.id)
2182- return running
2183-
2184-
2185- def get_images(self):
2186- images = {}
2187- [images.update({i.id: _normalize_ec2(vars(i))})
2188- for i in self.api.get_all_images()]
2189- return images
2190-
2191-
2192- def get_key_pairs(self):
2193- kps = {}
2194- [kps.update({k.name: _normalize_ec2(vars(k))})
2195- for k in self.api.get_all_key_pairs()]
2196- return kps
2197-
2198-
2199- def get_instances(self):
2200- insts = {}
2201- for reservation in self.api.get_all_instances():
2202- [insts.update({i.id: _normalize_ec2(vars(i))})
2203- for i in reservation.instances]
2204- return insts
2205-
2206-
2207- def get_floating_ips(self):
2208- ips = {}
2209- [ips.update({ip.public_ip: _normalize_ec2(vars(ip))})
2210- for ip in self.api.get_all_addresses()]
2211- return ips
2212-
2213-
2214- def get_volumes(self):
2215- vols = {}
2216- [vols.update({v.id: _normalize_ec2(vars(v))})
2217- for v in self.api.get_all_volumes()]
2218- return vols
2219-
2220-
2221- def create_key_pair_and_instance(self):
2222- '''
2223- create a key_pair, launch an instance with it, wait for it
2224- to start
2225- '''
2226- kp_name = 'upgrade_key_pair_%s' % uuid.uuid1()
2227- kp = self.api.create_key_pair(key_name=kp_name)
2228- self.key_pairs.append(kp_name)
2229-
2230- imgs = self.api.get_all_images()
2231- img_id = None
2232- for img in imgs:
2233- if img.id.startswith('ami-'):
2234- img_id = img.id
2235- break
2236-
2237- res = self.api.run_instances(img_id, key_name=kp_name,
2238- instance_type='m1.tiny')
2239- time.sleep(1)
2240- instance_id = res.instances[0].id
2241- self.instances.append(instance_id)
2242-
2243- timeout = 0
2244-
2245- while instance_id not in self.instances_running([instance_id]):
2246- time.sleep(1)
2247- timeout += 1
2248- if timeout >= INST_RUN_TIMEOUT:
2249- logging.error('Timed out waiting for instance to run: %s' %\
2250- instance_id)
2251- raise Exception
2252- logging.info('Instance running: %s' % instance_id)
2253-
2254-
2255- def create_and_associate_floating_ip(self):
2256- instance_id = self.instance_ids().pop()
2257- address = self.api.allocate_address()
2258- self.floating_ips.append(address.public_ip)
2259- self.api.associate_address(instance_id, public_ip=address.public_ip)
2260-
2261-
2262- def create_and_attach_volume(self):
2263- instance_id = self.instance_ids().pop()
2264- volume = self.api.create_volume(size=1, zone='nova')
2265- self.volumes.append(volume.id)
2266- time.sleep(1)
2267- timeout = 0
2268- while timeout <= VOL_CREATE_TIMEOUT:
2269- vol = self.api.get_all_volumes(volume_ids=[volume.id])
2270- if vol and vol[0].status == 'available':
2271- break
2272- timeout += 1
2273- time.sleep(1)
2274- print 'created vol: %s' %volume.id
2275-
2276- self.api.attach_volume(volume_id=volume.id, instance_id=instance_id,
2277- device='/dev/vdb')
2278- timeout = 0
2279- while timeout <= VOL_ATTACH_TIMEOUT:
2280- vol = self.api.get_all_volumes(volume_ids=[volume.id])
2281- if vol and vol[0].status == 'in-use':
2282- break
2283- timeout += 1
2284- time.sleep(1)
2285-
2286-
2287- def teardown(self):
2288- self.api.terminate_instances(self.instances)
2289- timeout = 0
2290- while self.instances_running(self.instances):
2291- if timeout >= INST_TERMINATE_TIMEOUT:
2292- logging.error('Timeout waiting for instances terminate: %s' %\
2293- self.instances)
2294- raise Exception
2295- timeout += 1
2296- time.sleep(1)
2297- [self.api.delete_key_pair(k) for k in self.key_pairs]
2298- [self.api.release_address(ip)
2299- for ip in self.floating_ips]
2300- [self.api.delete_volume(vol) for vol in self.volumes]
2301-
2302-
2303-class OSAPICloudClient(object):
2304- def __init__(self, username, password, tenant_name, auth_url):
2305- self.compute_api = OSNovaClient(username, password,
2306- tenant_name, auth_url, no_cache=True)
2307- self.volume_api = OSCinderClient(username, password,
2308- tenant_name, auth_url)
2309- # track IDs of created resources for tear-down.
2310- self.instances = []
2311- self.key_pairs = []
2312- self.floating_ips =[]
2313- self.volumes = []
2314-
2315- def instance_ids(self):
2316- return [inst.id for inst in self.compute_api.servers.list()]
2317-
2318- def instances_running(self, instance_ids=[]):
2319- '''given a list of instance_ids, return list of only running instances'''
2320- running = []
2321- for id in instance_ids:
2322- if id in [i.id for i in self.compute_api.servers.list()]:
2323- running.append(id)
2324-
2325- for id in running:
2326- inst = self.compute_api.servers.get(id)
2327- if inst.status != 'ACTIVE':
2328- running.remove(id)
2329- return running
2330-
2331- def get_images(self):
2332- images = {}
2333- [images.update({i.id: _normalize_osapi(vars(i))})
2334- for i in self.compute_api.images.list()]
2335- return images
2336-
2337- def get_key_pairs(self):
2338- kps = {}
2339- [kps.update({k.id: _normalize_osapi(vars(k))})
2340- for k in self.compute_api.keypairs.list()]
2341- return kps
2342-
2343- def get_instances(self):
2344- insts = {}
2345- [insts.update({i.id: _normalize_osapi(vars(i))})
2346- for i in self.compute_api.servers.list()]
2347- return insts
2348-
2349- def get_floating_ips(self):
2350- ips = {}
2351- [ips.update({i.id: _normalize_osapi(vars(i))})
2352- for i in self.compute_api.floating_ips.list()]
2353- return ips
2354-
2355-
2356- def get_volumes(self):
2357- vols = {}
2358- [vols.update({v.id: _normalize_osapi(vars(v))})
2359- for v in self.volume_api.volumes.list()]
2360- return vols
2361-
2362-
2363- def create_key_pair_and_instance(self):
2364- kp_name = 'upgrade_key_pair_%s' % uuid.uuid1()
2365- inst_name = 'upgrade_instance_%s' % uuid.uuid1()
2366- image_id = self.get_images().keys().pop()
2367- kp = self.compute_api.keypairs.create(name=kp_name)
2368- instance = self.compute_api.servers.create(name=inst_name, flavor=1,
2369- image=image_id,
2370- key_name=kp_name)
2371- timeout = 0
2372- while self.compute_api.servers.get(instance.id).status != 'ACTIVE':
2373- if timeout >= INST_RUN_TIMEOUT:
2374- logging.error('Timed out waiting for instance to run: %s' %\
2375- instance.name)
2376- raise Exception
2377- timeout += 1
2378- time.sleep(1)
2379-
2380- self.instances.append(instance.id)
2381- self.key_pairs.append(kp_name)
2382-
2383-
2384- def create_and_associate_floating_ip(self):
2385- instance = self.compute_api.servers.list().pop()
2386- floating_ip = self.compute_api.floating_ips.create()
2387- self.floating_ips.append(floating_ip.ip)
2388- instance.add_floating_ip(floating_ip.ip)
2389-
2390-
2391- def create_and_attach_volume(self):
2392- instance = self.compute_api.servers.list().pop()
2393- volume = self.volume_api.volumes.create(size=1)
2394- self.volumes.append(volume.id)
2395- # TODO volume attach requires cinder.
2396-
2397-
2398- def teardown(self):
2399- for instance in self.instances:
2400- self.compute_api.servers.delete(instance)
2401-
2402- timeout = 0
2403- while self.instances_running(self.instances):
2404- if timeout >= INST_TERMINATE_TIMEOUT:
2405- logging.error('Timeout waiting for instances terminate: %s' %\
2406- self.instances)
2407- raise Exception
2408- timeout += 1
2409- time.sleep(1)
2410- [self.compute_api.keypairs.delete(kp)
2411- for kp in self.key_pairs]
2412- [self.volume_api.volumes.delete(v)
2413- for v in self.volumes]
2414-
2415-
2416-def create_snapshot(client):
2417- snapshot = {}
2418- for collection in ['images', 'key_pairs', 'instances', 'floating_ips',
2419- 'volumes']:
2420- f = 'get_%s' % collection
2421- if not hasattr(client, f):
2422- logging.warning('CloudClient (%s) does not implement %s' %\
2423- (client, f))
2424- f = getattr(client, f)
2425- snapshot[collection] = f()
2426- return snapshot
2427
2428=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/config.py'
2429--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/config.py 2014-06-10 23:44:37 +0000
2430+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/config.py 1970-01-01 00:00:00 +0000
2431@@ -1,46 +0,0 @@
2432-
2433-import ConfigParser
2434-
2435-DEFAULT_CONFIG = 'etc/openstack.conf'
2436-
2437-
2438-class CloudConfig(object):
2439- def __init__(self, conf=None):
2440- if not conf:
2441- conf = DEFAULT_CONFIG
2442- self.config = ConfigParser.SafeConfigParser()
2443- self.config.read(conf)
2444-
2445- def get(self, section=None, item=None):
2446- if not section:
2447- section = 'DEFAULT'
2448- return self.config.get(section, item)
2449-
2450- def enabled_services(self):
2451- '''translate ENABLED_SERVICES to corresponding juju OS service names.
2452- '''
2453- service_map = {
2454- 'n-api': 'nova-cloud-controller',
2455- 'n-crt': 'nova-cloud-controller',
2456- 'n-obj': 'nova-cloud-controller',
2457- 'n-sch': 'nova-cloud-controller',
2458- 'g-api': 'glance',
2459- 'g-reg': 'glance',
2460- 'key': 'keystone',
2461- 'cinder': 'cinder',
2462- 'c-api': 'cinder',
2463- 'c-vol': 'cinder',
2464- 'horizon': 'openstack-dashboard',
2465- 'n-net': 'nova-compute',
2466- 'quantum': 'quantum'
2467- }
2468- env = self.get('DEFAULT', 'enabled_services').split(',')
2469- enabled_services = []
2470- for svc in env:
2471- try:
2472- service = service_map[svc]
2473- if service not in enabled_services:
2474- enabled_services.append(service)
2475- except KeyError:
2476- pass
2477- return enabled_services
2478
2479=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju'
2480=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/__init__.py'
2481=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/client.py'
2482--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/client.py 2014-06-10 23:44:37 +0000
2483+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/client.py 1970-01-01 00:00:00 +0000
2484@@ -1,190 +0,0 @@
2485-# Some simple helpers to wrap the juju client, mostly borrowed
2486-# from Kapil's charmrunner: lp:~hazmat/+junk/charmrunner
2487-
2488-import json
2489-import subprocess
2490-import logging
2491-import time
2492-import yaml
2493-
2494-
2495-class JujuTestClientException(Exception):
2496- pass
2497-
2498-
2499-def call(juju_cmd, environment=None):
2500- cmd = ['juju']
2501- if environment:
2502- cmd += ['-e', environment]
2503- cmd += juju_cmd
2504- logging.debug('Calling: %s' % ' '.join(cmd))
2505- print 'juju client: %s' % cmd
2506- subprocess.check_output(cmd)
2507-
2508-
2509-def destroy_environment(sudo=False):
2510- logging.debug('Destroying environment.')
2511- cmd = ['juju', 'destroy-environment', '-y']
2512- if sudo:
2513- cmd = ['sudo'] + cmd
2514- p = subprocess.Popen(cmd,
2515- stdout=subprocess.PIPE, stdin=subprocess.PIPE,
2516- stderr=subprocess.PIPE)
2517- print p.communicate(input='y\n')[0]
2518-
2519-
2520-def status(environment=None, with_stderr=False, timeout=None):
2521- """Get a status dictionary.
2522- """
2523- args = ["juju", "status", "--format=json"]
2524-
2525- if timeout:
2526- args = ['timeout', str(timeout)] + args
2527-
2528- if environment:
2529- args += ['-e', environment]
2530-
2531- if with_stderr:
2532- output = subprocess.check_output(args, stderr=subprocess.STDOUT)
2533- return output
2534- else:
2535- output = subprocess.check_output(args, stderr=open("/dev/null"))
2536- return json.loads(output)
2537-
2538-
2539-def is_bootstrapped(environment=None, timeout=None):
2540- try:
2541- _status = status(environment=environment, with_stderr=False,
2542- timeout=timeout)
2543- except:
2544- return False
2545-
2546- try:
2547- return _status['machines']['0']['agent-state'] == 'started'
2548- except KeyError:
2549- return False
2550-
2551-
2552-def deploy(repo_dir, charm, environment=None, service=None, config=None,
2553- args=[]):
2554- '''
2555- Deploy a charm as a service.
2556- '''
2557- cmd = ["juju", "deploy",
2558- "--repository", repo_dir]
2559- if config:
2560- cmd += ['--config=%s' % config]
2561- if environment:
2562- cmd += ['-e', environment]
2563- [cmd.append(a) for a in args]
2564- cmd += ["local:%s" % charm]
2565- if service:
2566- cmd += [service]
2567- output = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
2568- logging.info("Deployed %s" % (service or charm))
2569- return output
2570-
2571-
2572-def get_config(service):
2573- args = ['juju', 'get', service]
2574- output = subprocess.check_output(args, stderr=open('/dev/null'))
2575- return yaml.load(output)
2576-
2577-
2578-def services(environment=None):
2579- '''yield (name, address, state) for every service deployed. this assumes
2580- a single machine unit per service'''
2581- _status = status(environment)
2582- for service, info in _status['services'].iteritems():
2583- unit = info['units'].keys()[0]
2584- m_id = str(info['units'][unit]['machine'])
2585- try:
2586- dns_name = _status['machines'][m_id]['dns-name']
2587- except KeyError:
2588- dns_name = None
2589- state = info['units'][unit]['agent-state']
2590- yield (service, dns_name, state)
2591-
2592-
2593-def get_machine_unit(service_name, environment=None):
2594- for service, address, state in services(environment):
2595- if service == service_name:
2596- return address
2597-
2598-
2599-def instance_ids():
2600- _status = status()
2601- return [_status['machines'][n]['instance-id'] for n in _status['machines']]
2602-
2603-
2604-def ensure_bootstrap(environment=None, constraints=None, timeout=180,
2605- sudo=False):
2606- '''
2607- Bootstrap and wait for a started environment within timeout specified.
2608- Bootstrapping may require sudo access (ie, local provider)
2609- '''
2610-
2611- if is_bootstrapped(environment, timeout=5):
2612- logging.info('Environment Already bootstrapped.')
2613- return True
2614-
2615- cmd = ['juju', 'bootstrap']
2616- if environment:
2617- cmd += ['-e', environment]
2618- if constraints:
2619- cmd += ['--constraints', constraints]
2620-
2621- if sudo:
2622- cmd = ['sudo'] + cmd
2623-
2624- logging.info('Boostrapping new environment')
2625- try:
2626- subprocess.check_output(cmd)
2627- except:
2628- logging.error('Calling "juju bootstrap" failed!')
2629-
2630- i = 0
2631- while not is_bootstrapped(environment, timeout=5):
2632- if i >= timeout:
2633- logging.error('Juju bootstrap timeout.')
2634- raise JujuTestClientException
2635- time.sleep(1)
2636- i += 1
2637-
2638- return True
2639-
2640-
2641-def wait_for_state(service, state, environment=None, timeout=180):
2642- logging.debug('Waiting for service %s to reach state %s.' %
2643- (service, state))
2644- i = 0
2645- while True:
2646- _status = status(environment)
2647- if service not in _status['services']:
2648- logging.error('wait_for_state: Could not find service ' + service)
2649- raise JujuTestClientException
2650- _st = list(set([_status['services'][service]['units'][u]['agent-state']
2651- for u in _status['services'][service]['units']]))
2652- if 'error' in _st:
2653- logging.error('Unit error while waiting for %s to reach state %.'
2654- % (service, state))
2655- raise JujuTestClientException
2656- if _st == [state]:
2657- return True
2658- if i >= timeout:
2659- logging.error('Timeout waiting for service %s to reach state: %s' %
2660- (service, state))
2661- raise JujuTestClientException
2662- time.sleep(1)
2663- i += 1
2664-
2665-
2666-def service_machine_units(service, environment=None):
2667- _status = status()
2668- try:
2669- _service = _status['services'][service]
2670- except KeyError:
2671- logging.error('Could not find machine units for unknown service %s' %
2672- service)
2673- raise JujuTestClientException
2674- return [_service['units'][u]['machine'] for u in _service['units']]
2675
2676=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/juju_deployer.py'
2677--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/juju_deployer.py 2014-06-10 23:44:37 +0000
2678+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/devstack/test_utils/juju/juju_deployer.py 1970-01-01 00:00:00 +0000
2679@@ -1,186 +0,0 @@
2680-import logging
2681-import os
2682-import paramiko
2683-import shutil
2684-import time
2685-import yaml
2686-
2687-from deployer.config import ConfigStack
2688-from deployer.action import importer
2689-from deployer.env import select_runtime
2690-from deployer.utils import setup_logging
2691-
2692-# SSH user for collecting log artifacts
2693-REMOTE_USER = 'ubuntu'
2694-
2695-# SSH Command to use for collecting artifacts on every node
2696-REMOTE_LOG_CMD = "sudo tar -czf /tmp/%s-%s-artifacts.tar.gz /etc /var/log"
2697-
2698-
2699-class Config(object):
2700- # what juju-deployer would typically take as argparse
2701- no_local_mods = False
2702- update_charms = False
2703- overrides = None
2704- branch_only = False
2705- timeout = 1800
2706- watch = True
2707- verbose = True
2708- debug = True
2709- rel_wait = 240
2710- bootstrap = True
2711- retry_count = None
2712- deploy_delay = 0
2713-
2714-
2715-def run_deployer(environment, configs, deployment, **kwargs):
2716- '''
2717- Uses juju-deployer to deploy a deployment from a given config(s)
2718- into an already deployed environment.
2719-
2720- Example usage:
2721- run_deployer(
2722- environment='precise',
2723- configs=['/tmp/base.cfg'],
2724- deployment='precise-grizzly',
2725- debug=True, verbose=True
2726- )
2727- '''
2728- opts = Config()
2729-
2730- setup_logging(
2731- verbose=kwargs.get('verbose', False),
2732- debug=kwargs.get('debug', False),
2733- )
2734-
2735- if 'overrides' in kwargs:
2736- opts.overrides = kwargs['overrides']
2737-
2738- for conf in configs:
2739- if not os.path.isfile(conf):
2740- e = 'Could not find deployment config @ %s.' % conf
2741- raise Exception(e)
2742-
2743- env = select_runtime(environment, opts)
2744- config = ConfigStack(configs)
2745- deploy = config.get(deployment)
2746- importer.Importer(env, deploy, options=opts).run()
2747-
2748-
2749-def reset(environment):
2750- env = select_runtime(environment, Config())
2751- env.connect()
2752- env.reset(terminate_machines=True, terminate_delay=6, watch=True,
2753- timeout=600)
2754-
2755-
2756-def locate_machine(status, machine_id):
2757- '''determine service unit assigned to machine id'''
2758- if machine_id == '0':
2759- return 'bootstrap-machine-0'
2760- services = status['services']
2761- for unit in [services[k]['units'] for k in services.iterkeys()]:
2762- if machine_id in [u['machine'] for u in unit.itervalues()]:
2763- return [k for k in unit.iterkeys()][0].replace('/', '-')
2764- return None
2765-
2766-
2767-def hosts_services(status):
2768- machines = []
2769- for id, machine in status['machines'].iteritems():
2770- if 'dns-name' not in machine:
2771- logging.error('Machine %s has no dns-name.' % id)
2772- logging.error(machine)
2773- continue
2774- m = {'id': id, 'dns-name': machine['dns-name']}
2775- machines.append(m)
2776- [m.update({'service': locate_machine(status, m['id'])})
2777- for m in machines]
2778- return machines
2779-
2780-
2781-def collect_artifacts(environment, outdir):
2782- if not os.path.exists(outdir):
2783- os.makedirs(outdir)
2784- if not os.path.isdir(outdir):
2785- raise Exception('%s exists but is not a directory.' % outdir)
2786-
2787- env = select_runtime(environment, Config())
2788-
2789- conns = {}
2790- hosts = hosts_services(env.get_cli_status())
2791-
2792- logging.info('Collecting artifacts from %s.' %
2793- [h['dns-name'] for h in hosts])
2794-
2795- for host in hosts:
2796- hn = host['dns-name']
2797-
2798- conns[hn] = {}
2799- conns[hn]['ssh'] = paramiko.SSHClient()
2800- conns[hn]['ssh'].set_missing_host_key_policy(paramiko.AutoAddPolicy())
2801-
2802- try:
2803- conns[hn]['ssh'].connect(hn, username=REMOTE_USER)
2804- conns[hn]['sftp'] = conns[hn]['ssh'].open_sftp()
2805- except Exception as e:
2806- raise Exception('Could not setup ssh connection to %s: %s' %
2807- (hn, e))
2808-
2809- for host in hosts:
2810- hn = host['dns-name']
2811- svc = host['service']
2812- cmd = REMOTE_LOG_CMD % (svc, hn)
2813- try:
2814- conns[hn]['ssh'].exec_command(cmd)
2815- except Exception as e:
2816- logging.error('Could not execute remote log cmd on '
2817- 'host %s: %s' % (hn, cmd))
2818- raise e
2819-
2820- # sleep for 5, allow all hosts to finish tarring.
2821- time.sleep(5)
2822-
2823- for host in hosts:
2824- hn = host['dns-name']
2825- svc = host['service']
2826- try:
2827- tgz = '%s-%s-artifacts.tar.gz' % (svc, hn)
2828- conns[hn]['sftp'].get(
2829- os.path.join('/tmp', tgz), os.path.join(outdir, tgz))
2830- except Exception as e:
2831- logging.error('Could not collect artifacts from %s:%s' %
2832- (hn, tgz))
2833- raise e
2834-
2835- # collect the local maas logs if they exist
2836- if os.path.isdir('/var/log/maas'):
2837- for log in ['maas.log', 'pserv.log']:
2838- l = os.path.join('/var/log/maas', log)
2839- if os.path.isfile(l):
2840- shutil.copy(l, outdir)
2841-
2842- # dump current juju status
2843- with open(os.path.join(outdir, 'juju_status.yaml'), 'w') as out:
2844- out.write(yaml.dump(env.get_cli_status()))
2845-
2846-
2847-class DeployerTest(object):
2848- def __init__(self):
2849- self.config = None
2850-
2851- def deploy(self, env=None):
2852- env = env or self.config.get('ubuntu_release')
2853- run_deployer(environment=env,
2854- configs=[self.config.get('deployment_config')],
2855- deployment=self.config.get('deployment'),
2856- overrides=self.config.get('overrides'),
2857- debug=True, verbose=True)
2858-
2859- def reset_environment(self, env=None):
2860- _env = env or self.config.get('ubuntu_release')
2861- reset(_env)
2862-
2863- def collect_artifacts(self, env, outdir):
2864- _env = env or self.config.get('ubuntu_release')
2865- collect_artifacts(_env, outdir)
2866
2867=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master'
2868=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/all_variables'
2869--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/all_variables 2014-06-10 23:44:37 +0000
2870+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/all_variables 1970-01-01 00:00:00 +0000
2871@@ -1,31 +0,0 @@
2872-# List of all place holders used in any of the test configs.
2873-# 'run_tests.py --configure' will reference this, and update
2874-# configs according to what is available in environment.
2875-# Putting this here and into run_tests.py keeps the Jenkins
2876-# jobs slim and clean.
2877-
2878-# openstack.conf
2879-NOVA_HOST
2880-GLANCE_HOST
2881-KEYSTONE_HOST
2882-CINDER_HOST
2883-QUANTUM_HOST
2884-NOVA_COMPUTE_HOST
2885-NOVA_VOLUME_HOST
2886-ADMIN_TOKEN
2887-IMAGE_UUID
2888-IMAGE_NAME
2889-EC2_ACCESS_KEY
2890-EC2_SECRET_KEY
2891-EC2_URL
2892-S3_URL
2893-EC2_AMI_ID
2894-OS_USERNAME
2895-OS_PASSWORD
2896-OS_AUTH_URL
2897-OS_TENANT_NAME
2898-HORIZON_HOST
2899-ENABLED_SERVICES
2900-
2901-# devstack.conf
2902-ENABLED_SERVICES
2903
2904=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack.conf'
2905--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack.conf 2014-06-10 23:44:37 +0000
2906+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack.conf 1970-01-01 00:00:00 +0000
2907@@ -1,11 +0,0 @@
2908-[DEFAULT]
2909-templates=etc/devstack_templates/
2910-devstack_repo=https://github.com/openstack-dev/devstack.git
2911-devstack_branch=stable/havana
2912-enabled_services=%ENABLED_SERVICES%
2913-active_timeout=60
2914-associate_timeout=60
2915-boot_timeout=60
2916-running_timeout=120
2917-terminate_timeout=60
2918-secondary_ip_pool=test_range
2919
2920=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates'
2921=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/exerciserc'
2922--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/exerciserc 2014-06-10 23:44:37 +0000
2923+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/exerciserc 1970-01-01 00:00:00 +0000
2924@@ -1,32 +0,0 @@
2925-#!/usr/bin/env bash
2926-#
2927-# source exerciserc
2928-#
2929-# Configure the DevStack exercise scripts
2930-# For best results, source this _after_ stackrc/localrc as it will set
2931-# values only if they are not already set.
2932-
2933-# Max time to wait while vm goes from build to active state
2934-export ACTIVE_TIMEOUT={{ active_timeout }}
2935-# Max time to wait for proper IP association and dis-association.
2936-export ASSOCIATE_TIMEOUT={{ associate_timeout }}
2937-
2938-# Max time till the vm is bootable
2939-export BOOT_TIMEOUT={{ boot_timeout }}
2940-
2941-# Max time from run instance command until it is running
2942-export RUNNING_TIMEOUT={{ running_timeout }}
2943-
2944-# Max time to wait for a vm to terminate
2945-export TERMINATE_TIMEOUT={{ terminate_timeout }}
2946-
2947-# Max time to wait for a euca-volume command to propogate
2948-export VOLUME_TIMEOUT=${VOLUME_TIMEOUT:-30}
2949-
2950-# Max time to wait for a euca-delete command to propogate
2951-export VOLUME_DELETE_TIMEOUT=${SNAPSHOT_DELETE_TIMEOUT:-60}
2952-
2953-# The size of the volume we want to boot from; some storage back-ends
2954-# do not allow a disk resize, so it's important that this can be tuned
2955-export DEFAULT_VOLUME_SIZE=${DEFAULT_VOLUME_SIZE:-1}
2956-
2957
2958=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.master'
2959--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.master 2014-06-10 23:44:37 +0000
2960+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.master 1970-01-01 00:00:00 +0000
2961@@ -1,110 +0,0 @@
2962-
2963-###########################
2964-# Ubuntu CI Lab Settings
2965-###########################
2966-
2967-# List of all enabled services, compiled by inspect_environment.sh
2968-# and set in etc/tests/devstack.conf
2969-ENABLED_SERVICES={{ enabled_services }}
2970-
2971-# volumes + floating_ips test checks this when determining whether
2972-# or not it should try to ping internal IPs
2973-MULTI_HOST=1
2974-
2975-# The second pool of floating ips, created during jenkins
2976-# via /var/lib/jenkins/tools/jenkins-scripts/prepare_cloud.sh
2977-TEST_FLOATING_POOL={{ secondary_ip_pool }}
2978-
2979-# Should point to keystone
2980-HOST_IP={{ keystone_host }}
2981-SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
2982-
2983-# Needed because tests use glance client directly
2984-GLANCE_HOST={{ glance_host }}
2985-
2986-PRIVATE_NETWORK_NAME="private network"
2987-
2988-# These get created by the Keystone charm during deployment.
2989-# They are set as config options to the charm
2990-export NOVA_PROJECT_ID={{ os_tenant_name }}
2991-export NOVA_USERNAME={{ os_username }}
2992-export NOVA_PASSWORD={{ os_password }}
2993-
2994-# Commit 10670d1bad6b4afd3dce9af61d22c8cd5eeded59 changed keystone token
2995-# auth so that they use OS_ env. variables, but doesn't translate
2996-# properly from existing NOVA_ ones
2997-export OS_TENANT_NAME=$NOVA_PROJECT_ID
2998-export OS_USERNAME=$NOVA_USERNAME
2999-export OS_PASSWORD=$NOVA_PASSWORD
3000-export OS_AUTH_URL="http://$HOST_IP:5000/v2.0/"
3001-
3002-# Set the ec2 url so euca2ools works
3003-export EC2_URL="http://{{ nova_host }}:8773/services/Cloud"
3004-
3005-# Also set s3 url for bundle testing
3006-export S3_URL="http://{{ nova_host }}:3333"
3007-
3008-# Specify what image to parse out of 'glance index' so we don't accidentally
3009-# try spawning the test, null AMI that the bundle test publishses.
3010-# DISABLED: setting this actually throws off devstack's regexp
3011-# and the test sometimes boots an AKI instead of AMI.
3012-#export DEFAULT_IMAGE_NAME="cirros-0.3.0-x86_64-uec-ami"
3013-
3014-# Bumped these timeouts to 60, bump higher if we decide to use
3015-# cloud images instead of ttylinux
3016-# Max time till the vm is bootable
3017-export BOOT_TIMEOUT=60
3018-# Max time to wait while vm goes from build to active state
3019-export ACTIVE_TIMEOUT=60
3020-
3021-# Timeout for instance termination
3022-export TERMINATE_TIMEOUT=30
3023-
3024-# Disable use of python-keyring during tests.
3025-export OS_NO_CACHE=1
3026-
3027-###########################
3028-# Devstack defaults
3029-###########################
3030-
3031-# With the addition of Keystone, to use an openstack cloud you should
3032-# authenticate against keystone, which returns a **Token** and **Service
3033-# Catalog**. The catalog contains the endpoint for all services the user/tenant
3034-# has access to - including nova, glance, keystone, swift, ... We currently
3035-# recommend using the 2.0 *auth api*.
3036-#
3037-# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
3038-# will use the 1.1 *compute api*
3039-export NOVA_URL=${NOVA_URL:-http://$SERVICE_HOST:5000/v2.0/}
3040-
3041-# Currently novaclient needs you to specify the *compute api* version. This
3042-# needs to match the config of your catalog returned by Keystone.
3043-export NOVA_VERSION=${NOVA_VERSION:-1.1}
3044-
3045-# FIXME - why does this need to be specified?
3046-export NOVA_REGION_NAME=${NOVA_REGION_NAME:-RegionOne}
3047-
3048-# Euca2ools Certificate stuff for uploading bundles
3049-# You can get your certs using ./tools/get_certs.sh
3050-NOVARC=$(readlink -f "${BASH_SOURCE:-${0}}" 2>/dev/null) ||
3051- NOVARC=$(python -c 'import os,sys; print os.path.abspath(os.path.realpath(sys.argv[1]))' "${BASH_SOURCE:-${0}}")
3052-NOVA_KEY_DIR=${NOVARC%/*}
3053-# Override this above, since devstack seems to use SERVICE_HOST to describe
3054-# both the nova host + keystone
3055-#export S3_URL=http://$SERVICE_HOST:3333
3056-export EC2_USER_ID=42 # nova does not use user id, but bundling requires it
3057-export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem
3058-export EC2_CERT=${NOVA_KEY_DIR}/cert.pem
3059-export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem
3060-export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set
3061-alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}"
3062-alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
3063-
3064-# set log level to DEBUG (helps debug issues)
3065-# export NOVACLIENT_DEBUG=1
3066-
3067-# Max time from run instance command until it is running
3068-export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
3069-
3070-# Max time to wait for proper IP association and dis-association.
3071-export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
3072
3073=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_essex'
3074--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_essex 2014-06-10 23:44:37 +0000
3075+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_essex 1970-01-01 00:00:00 +0000
3076@@ -1,100 +0,0 @@
3077-
3078-###########################
3079-# Ubuntu CI Lab Settings
3080-###########################
3081-# stable/essex
3082-# volumes + floating_ips test checks this when determining whether
3083-# or not it should try to ping internal IPs
3084-MULTI_HOST=1
3085-
3086-# The second pool of floating ips, created during jenkins
3087-# via /var/lib/jenkins/tools/jenkins-scripts/prepare_cloud.sh
3088-TEST_FLOATING_POOL={{ secondary_ip_pool }}
3089-
3090-# Should point to keystone
3091-HOST_IP={{ keystone_host }}
3092-SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
3093-
3094-# Needed because tests use glance client directly
3095-GLANCE_HOST={{ glance_host }}
3096-
3097-# These get created by the Keystone charm during deployment.
3098-# They are set as config options to the charm
3099-export NOVA_PROJECT_ID={{ os_tenant_name }}
3100-export NOVA_USERNAME={{ os_username }}
3101-export NOVA_PASSWORD={{ os_password }}
3102-
3103-# Commit 10670d1bad6b4afd3dce9af61d22c8cd5eeded59 changed keystone token
3104-# auth so that they use OS_ env. variables, but doesn't translate
3105-# properly from existing NOVA_ ones
3106-export OS_TENANT_NAME=$NOVA_PROJECT_ID
3107-export OS_USERNAME=$NOVA_USERNAME
3108-export OS_PASSWORD=$NOVA_PASSWORD
3109-export OS_AUTH_URL="http://$HOST_IP:5000/v2.0/"
3110-
3111-# Set the ec2 url so euca2ools works
3112-export EC2_URL="http://{{ nova_host }}:8773/services/Cloud"
3113-
3114-# Also set s3 url for bundle testing
3115-export S3_URL="http://{{ nova_host }}:3333"
3116-
3117-# Specify what image to parse out of 'glance index' so we don't accidentally
3118-# try spawning the test, null AMI that the bundle test publishses.
3119-# DISABLED: setting this actually throws off devstack's regexp
3120-# and the test sometimes boots an AKI instead of AMI.
3121-#export DEFAULT_IMAGE_NAME="cirros-0.3.0-x86_64-uec-ami"
3122-
3123-# Bumped these timeouts to 60, bump higher if we decide to use
3124-# cloud images instead of ttylinux
3125-# Max time till the vm is bootable
3126-export BOOT_TIMEOUT=60
3127-# Max time to wait while vm goes from build to active state
3128-export ACTIVE_TIMEOUT=60
3129-
3130-# Timeout for instance termination
3131-export TERMINATE_TIMEOUT=30
3132-###########################
3133-# Devstack defaults
3134-###########################
3135-
3136-# With the addition of Keystone, to use an openstack cloud you should
3137-# authenticate against keystone, which returns a **Token** and **Service
3138-# Catalog**. The catalog contains the endpoint for all services the user/tenant
3139-# has access to - including nova, glance, keystone, swift, ... We currently
3140-# recommend using the 2.0 *auth api*.
3141-#
3142-# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
3143-# will use the 1.1 *compute api*
3144-export NOVA_URL=${NOVA_URL:-http://$SERVICE_HOST:5000/v2.0/}
3145-
3146-# Currently novaclient needs you to specify the *compute api* version. This
3147-# needs to match the config of your catalog returned by Keystone.
3148-export NOVA_VERSION=${NOVA_VERSION:-1.1}
3149-
3150-# FIXME - why does this need to be specified?
3151-export NOVA_REGION_NAME=${NOVA_REGION_NAME:-RegionOne}
3152-
3153-# Euca2ools Certificate stuff for uploading bundles
3154-# You can get your certs using ./tools/get_certs.sh
3155-NOVARC=$(readlink -f "${BASH_SOURCE:-${0}}" 2>/dev/null) ||
3156- NOVARC=$(python -c 'import os,sys; print os.path.abspath(os.path.realpath(sys.argv[1]))' "${BASH_SOURCE:-${0}}")
3157-NOVA_KEY_DIR=${NOVARC%/*}
3158-# Override this above, since devstack seems to use SERVICE_HOST to describe
3159-# both the nova host + keystone
3160-#export S3_URL=http://$SERVICE_HOST:3333
3161-export EC2_USER_ID=42 # nova does not use user id, but bundling requires it
3162-export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem
3163-export EC2_CERT=${NOVA_KEY_DIR}/cert.pem
3164-export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem
3165-export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set
3166-alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}"
3167-alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
3168-
3169-# set log level to DEBUG (helps debug issues)
3170-# export NOVACLIENT_DEBUG=1
3171-
3172-# Max time from run instance command until it is running
3173-export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
3174-
3175-# Max time to wait for proper IP association and dis-association.
3176-export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
3177
3178=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_folsom'
3179--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_folsom 2014-06-10 23:44:37 +0000
3180+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_folsom 1970-01-01 00:00:00 +0000
3181@@ -1,110 +0,0 @@
3182-
3183-###########################
3184-# Ubuntu CI Lab Settings
3185-###########################
3186-
3187-# List of all enabled services, compiled by inspect_environment.sh
3188-# and set in etc/tests/devstack.conf
3189-ENABLED_SERVICES={{ enabled_services }}
3190-
3191-# volumes + floating_ips test checks this when determining whether
3192-# or not it should try to ping internal IPs
3193-MULTI_HOST=1
3194-
3195-# The second pool of floating ips, created during jenkins
3196-# via /var/lib/jenkins/tools/jenkins-scripts/prepare_cloud.sh
3197-TEST_FLOATING_POOL={{ secondary_ip_pool }}
3198-
3199-# Should point to keystone
3200-HOST_IP={{ keystone_host }}
3201-SERVICE_HOST=${SERVICE_HOST:-$HOST_IP}
3202-
3203-# Needed because tests use glance client directly
3204-GLANCE_HOST={{ glance_host }}
3205-
3206-PRIVATE_NETWORK_NAME="private network"
3207-
3208-# These get created by the Keystone charm during deployment.
3209-# They are set as config options to the charm
3210-export NOVA_PROJECT_ID={{ os_tenant_name }}
3211-export NOVA_USERNAME={{ os_username }}
3212-export NOVA_PASSWORD={{ os_password }}
3213-
3214-# Commit 10670d1bad6b4afd3dce9af61d22c8cd5eeded59 changed keystone token
3215-# auth so that they use OS_ env. variables, but doesn't translate
3216-# properly from existing NOVA_ ones
3217-export OS_TENANT_NAME=$NOVA_PROJECT_ID
3218-export OS_USERNAME=$NOVA_USERNAME
3219-export OS_PASSWORD=$NOVA_PASSWORD
3220-export OS_AUTH_URL="http://$HOST_IP:5000/v2.0/"
3221-
3222-# Set the ec2 url so euca2ools works
3223-export EC2_URL="http://{{ nova_host }}:8773/services/Cloud"
3224-
3225-# Also set s3 url for bundle testing
3226-export S3_URL="http://{{ nova_host }}:3333"
3227-
3228-# Specify what image to parse out of 'glance index' so we don't accidentally
3229-# try spawning the test, null AMI that the bundle test publishses.
3230-# DISABLED: setting this actually throws off devstack's regexp
3231-# and the test sometimes boots an AKI instead of AMI.
3232-#export DEFAULT_IMAGE_NAME="cirros-0.3.0-x86_64-uec-ami"
3233-
3234-# Bumped these timeouts to 60, bump higher if we decide to use
3235-# cloud images instead of ttylinux
3236-# Max time till the vm is bootable
3237-export BOOT_TIMEOUT=60
3238-# Max time to wait while vm goes from build to active state
3239-export ACTIVE_TIMEOUT=60
3240-
3241-# Timeout for instance termination
3242-export TERMINATE_TIMEOUT=30
3243-
3244-# Disable use of python-keyring during tests.
3245-export OS_NO_CACHE=1
3246-
3247-###########################
3248-# Devstack defaults
3249-###########################
3250-
3251-# With the addition of Keystone, to use an openstack cloud you should
3252-# authenticate against keystone, which returns a **Token** and **Service
3253-# Catalog**. The catalog contains the endpoint for all services the user/tenant
3254-# has access to - including nova, glance, keystone, swift, ... We currently
3255-# recommend using the 2.0 *auth api*.
3256-#
3257-# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
3258-# will use the 1.1 *compute api*
3259-export NOVA_URL=${NOVA_URL:-http://$SERVICE_HOST:5000/v2.0/}
3260-
3261-# Currently novaclient needs you to specify the *compute api* version. This
3262-# needs to match the config of your catalog returned by Keystone.
3263-export NOVA_VERSION=${NOVA_VERSION:-1.1}
3264-
3265-# FIXME - why does this need to be specified?
3266-export NOVA_REGION_NAME=${NOVA_REGION_NAME:-RegionOne}
3267-
3268-# Euca2ools Certificate stuff for uploading bundles
3269-# You can get your certs using ./tools/get_certs.sh
3270-NOVARC=$(readlink -f "${BASH_SOURCE:-${0}}" 2>/dev/null) ||
3271- NOVARC=$(python -c 'import os,sys; print os.path.abspath(os.path.realpath(sys.argv[1]))' "${BASH_SOURCE:-${0}}")
3272-NOVA_KEY_DIR=${NOVARC%/*}
3273-# Override this above, since devstack seems to use SERVICE_HOST to describe
3274-# both the nova host + keystone
3275-#export S3_URL=http://$SERVICE_HOST:3333
3276-export EC2_USER_ID=42 # nova does not use user id, but bundling requires it
3277-export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem
3278-export EC2_CERT=${NOVA_KEY_DIR}/cert.pem
3279-export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem
3280-export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set
3281-alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}"
3282-alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
3283-
3284-# set log level to DEBUG (helps debug issues)
3285-# export NOVACLIENT_DEBUG=1
3286-
3287-# Max time from run instance command until it is running
3288-export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
3289-
3290-# Max time to wait for proper IP association and dis-association.
3291-export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
3292
3293=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_havana'
3294--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_havana 2014-06-10 23:44:37 +0000
3295+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/devstack_templates/openrc.stable_havana 1970-01-01 00:00:00 +0000
3296@@ -1,112 +0,0 @@
3297-
3298-###########################
3299-# Ubuntu CI Lab Settings
3300-###########################
3301-
3302-# List of all enabled services, compiled by inspect_environment.sh
3303-# and set in etc/tests/devstack.conf
3304-ENABLED_SERVICES={{ enabled_services }}
3305-
3306-# volumes + floating_ips test checks this when determining whether
3307-# or not it should try to ping internal IPs
3308-MULTI_HOST=1
3309-
3310-# The second pool of floating ips, created during jenkins
3311-# via /var/lib/jenkins/tools/jenkins-scripts/prepare_cloud.sh
3312-TEST_FLOATING_POOL={{ secondary_ip_pool }}
3313-
3314-# Should point to keystone
3315-HOST_IP={{ keystone_host }}
3316-SERVICE_HOST={{ service_host }}
3317-
3318-# Needed because tests use glance client directly
3319-GLANCE_HOST={{ glance_host }}
3320-
3321-PRIVATE_NETWORK_NAME="admin_net network"
3322-DEFAULT_FLOATING_POOL="ext_net"
3323-DEFAULT_INSTANCE_TYPE="m1.small"
3324-
3325-# These get created by the Keystone charm during deployment.
3326-# They are set as config options to the charm
3327-export NOVA_PROJECT_ID={{ os_tenant_name }}
3328-export NOVA_USERNAME={{ os_username }}
3329-export NOVA_PASSWORD={{ os_password }}
3330-
3331-# Commit 10670d1bad6b4afd3dce9af61d22c8cd5eeded59 changed keystone token
3332-# auth so that they use OS_ env. variables, but doesn't translate
3333-# properly from existing NOVA_ ones
3334-export OS_TENANT_NAME=$NOVA_PROJECT_ID
3335-export OS_USERNAME=$NOVA_USERNAME
3336-export OS_PASSWORD=$NOVA_PASSWORD
3337-export OS_AUTH_URL="http://$HOST_IP:5000/v2.0/"
3338-
3339-# Set the ec2 url so euca2ools works
3340-export EC2_URL="http://{{ nova_host }}:8773/services/Cloud"
3341-
3342-# Also set s3 url for bundle testing
3343-export S3_URL="http://{{ nova_host }}:3333"
3344-
3345-# Specify what image to parse out of 'glance index' so we don't accidentally
3346-# try spawning the test, null AMI that the bundle test publishses.
3347-# DISABLED: setting this actually throws off devstack's regexp
3348-# and the test sometimes boots an AKI instead of AMI.
3349-#export DEFAULT_IMAGE_NAME="cirros-0.3.0-x86_64-uec-ami"
3350-
3351-# Bumped these timeouts to 60, bump higher if we decide to use
3352-# cloud images instead of ttylinux
3353-# Max time till the vm is bootable
3354-export BOOT_TIMEOUT=60
3355-# Max time to wait while vm goes from build to active state
3356-export ACTIVE_TIMEOUT=60
3357-
3358-# Timeout for instance termination
3359-export TERMINATE_TIMEOUT=30
3360-
3361-# Disable use of python-keyring during tests.
3362-export OS_NO_CACHE=1
3363-
3364-###########################
3365-# Devstack defaults
3366-###########################
3367-
3368-# With the addition of Keystone, to use an openstack cloud you should
3369-# authenticate against keystone, which returns a **Token** and **Service
3370-# Catalog**. The catalog contains the endpoint for all services the user/tenant
3371-# has access to - including nova, glance, keystone, swift, ... We currently
3372-# recommend using the 2.0 *auth api*.
3373-#
3374-# *NOTE*: Using the 2.0 *auth api* does not mean that compute api is 2.0. We
3375-# will use the 1.1 *compute api*
3376-export NOVA_URL=${NOVA_URL:-http://$SERVICE_HOST:5000/v2.0/}
3377-
3378-# Currently novaclient needs you to specify the *compute api* version. This
3379-# needs to match the config of your catalog returned by Keystone.
3380-export NOVA_VERSION=${NOVA_VERSION:-1.1}
3381-
3382-# FIXME - why does this need to be specified?
3383-export NOVA_REGION_NAME=${NOVA_REGION_NAME:-RegionOne}
3384-
3385-# Euca2ools Certificate stuff for uploading bundles
3386-# You can get your certs using ./tools/get_certs.sh
3387-NOVARC=$(readlink -f "${BASH_SOURCE:-${0}}" 2>/dev/null) ||
3388- NOVARC=$(python -c 'import os,sys; print os.path.abspath(os.path.realpath(sys.argv[1]))' "${BASH_SOURCE:-${0}}")
3389-NOVA_KEY_DIR=${NOVARC%/*}
3390-# Override this above, since devstack seems to use SERVICE_HOST to describe
3391-# both the nova host + keystone
3392-#export S3_URL=http://$SERVICE_HOST:3333
3393-export EC2_USER_ID=42 # nova does not use user id, but bundling requires it
3394-export EC2_PRIVATE_KEY=${NOVA_KEY_DIR}/pk.pem
3395-export EC2_CERT=${NOVA_KEY_DIR}/cert.pem
3396-export NOVA_CERT=${NOVA_KEY_DIR}/cacert.pem
3397-export EUCALYPTUS_CERT=${NOVA_CERT} # euca-bundle-image seems to require this set
3398-alias ec2-bundle-image="ec2-bundle-image --cert ${EC2_CERT} --privatekey ${EC2_PRIVATE_KEY} --user 42 --ec2cert ${NOVA_CERT}"
3399-alias ec2-upload-bundle="ec2-upload-bundle -a ${EC2_ACCESS_KEY} -s ${EC2_SECRET_KEY} --url ${S3_URL} --ec2cert ${NOVA_CERT}"
3400-
3401-# set log level to DEBUG (helps debug issues)
3402-# export NOVACLIENT_DEBUG=1
3403-
3404-# Max time from run instance command until it is running
3405-export RUNNING_TIMEOUT=${RUNNING_TIMEOUT:-$(($BOOT_TIMEOUT + $ACTIVE_TIMEOUT))}
3406-
3407-# Max time to wait for proper IP association and dis-association.
3408-export ASSOCIATE_TIMEOUT=${ASSOCIATE_TIMEOUT:-15}
3409
3410=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/openstack.conf'
3411--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/openstack.conf 2014-06-10 23:44:37 +0000
3412+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/etc_master/openstack.conf 1970-01-01 00:00:00 +0000
3413@@ -1,26 +0,0 @@
3414-[DEFAULT]
3415-nova_host=%NOVA_HOST%
3416-nova_compute_host=%NOVA_COMPUTE_HOST%
3417-nova_volume_host=%NOVA_VOLUME_HOST%
3418-glance_host=%GLANCE_HOST%
3419-keystone_host=%KEYSTONE_HOST%
3420-cinder_host=%CINDER_HOST%
3421-quantum_host=%QUANTUM_HOST%
3422-service_host=%HORIZON_HOST%
3423-glance_image_uuid=%IMAGE_UUID%
3424-glance_image_name=%IMAGE_NAME%
3425-admin_token=%ADMIN_TOKEN%
3426-enabled_services=%ENABLED_SERVICES%
3427-
3428-[ec2]
3429-access_key=%EC2_ACCESS_KEY%
3430-secret_key=%EC2_SECRET_KEY%
3431-ec2_url=%EC2_URL%
3432-s3_url=%S3_URL%
3433-ec2_ami_id=%EC2_AMI_ID%
3434-
3435-[osapi]
3436-username=%OS_USERNAME%
3437-password=%OS_PASSWORD%
3438-auth_url=%OS_AUTH_URL%
3439-tenant_name=%OS_TENANT_NAME%
3440
3441=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/get-cloud-images'
3442--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/get-cloud-images 2014-06-10 23:44:37 +0000
3443+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/get-cloud-images 1970-01-01 00:00:00 +0000
3444@@ -1,4 +0,0 @@
3445-#!/bin/bash -e
3446-
3447-mkdir -p ~/images
3448-wget -O ~/images/precise-server-cloudimg-amd64-disk1.img http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img
3449
3450=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/inspect-environment'
3451--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/inspect-environment 2014-06-10 23:44:37 +0000
3452+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/inspect-environment 1970-01-01 00:00:00 +0000
3453@@ -1,187 +0,0 @@
3454-#!/bin/bash
3455-# Generate an envrc to be sourced and used by all tests (and possibly humans).
3456-#
3457-# - Using juju-deployer, determine where all services ended up.
3458-# - With the admin credentials configured in juju's deployment configs,
3459-# generate EC2 credentials.
3460-# - Dump everything into envrc using names compatable with client tools
3461-#
3462-# Additionally dump anything else needed for test suite configurations. See
3463-# etc/tests/all_variables for a list of what should be set in envrc.
3464-#
3465-# Also collect all package version from the nodes, save in a text file.
3466-# Both envrc and versions_tested are to be used as file parameters to
3467-# Jenkins test jobs.
3468-
3469-echo "Inspecting deployed environment."
3470-# Discover where the services ended up
3471-NOVA_HOST=$(juju-deployer -f nova-cloud-controller 2>/dev/null)
3472-GLANCE_HOST=$(juju-deployer -f glance 2>/dev/null)
3473-KEYSTONE_HOST=$(juju-deployer -f keystone 2>/dev/null)
3474-NOVA_VOLUME_HOST=$(juju-deployer -f nova-volume 2>/dev/null)
3475-CINDER_HOST=$(juju-deployer -f cinder 2>/dev/null)
3476-NOVA_COMPUTE_HOST=$(juju-deployer -f nova-compute 2>/dev/null)
3477-NEUTRON_HOST=$(juju-deployer -f neutron-gateway 2>/dev/null)
3478-QUANTUM_HOST=$(juju-deployer -f quantum-gateway 2>/dev/null)
3479-HORIZON_HOST=$(juju-deployer -f openstack-dashboard 2>/dev/null)
3480-CEPH_HOST=$(juju-deployer -f ceph 2>/dev/null)
3481-SWIFT_HOST=$(juju-deployer -f swift-proxy 2>/dev/null)
3482-NOVA_VMWARE_HOST=$(juju-deployer -f nova-vmware 2>/dev/null)
3483-
3484-# Handle the quantum -> neutron rename.
3485-[[ -n "$NEUTRON_HOST" ]] && QUANTUM_HOST="$NEUTRON_HOST"
3486-
3487-# Ensure essential hosts are present, and build ENABLED_SERVICES so devstack
3488-# knows what it should be testing.
3489-ENABLED_SERVICES=""
3490-MISSING_HOSTS=""
3491-
3492-[[ ! -z "$NOVA_HOST" ]] &&
3493- ENABLED_SERVICES="n-api,n-crt,n-obj,n-sch" ||
3494- MISSING_HOSTS="$MISSING_HOSTS NOVA_HOST"
3495-[[ ! -z "$GLANCE_HOST" ]] &&
3496- ENABLED_SERVICES="${ENABLED_SERVICES},g-api,g-reg" ||
3497- MISSING_HOSTS="$MISSING_HOSTS GLANCE_HOST"
3498-[[ ! -z "$KEYSTONE_HOST" ]] &&
3499- ENABLED_SERVICES="${ENABLED_SERVICES},key" ||
3500- MISSING_HOSTS="$MISSING_HOSTS KEYSTONE_HOST"
3501-
3502-# Optional services.
3503-[[ ! -z "$NOVA_VOLUME_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,n-vol"
3504-[[ ! -z "$CEPH_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,ceph"
3505-[[ ! -z "$CINDER_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,cinder,c-api,c-vol"
3506-[[ ! -z "$HORIZON_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,horizon"
3507-[[ ! -z "$QUANTUM_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,quantum" ||
3508- ENABLED_SERVICES="$ENABLED_SERVICES,n-net"
3509-[[ ! -z "$SWIFT_HOST" ]] && ENABLED_SERVICES="$ENABLED_SERVICES,swift"
3510-
3511-# Bail if we're missing any critical services.
3512-[[ -n "$MISSING_HOSTS" ]] &&
3513- echo "Missing required host in deployment: $MISSING_HOSTS" && exit 1
3514-
3515-# These are hard-coded in charm deployment configs, for now.
3516-# They could potentially be extracted from Juju on the go, via
3517-# juju-get
3518-export OS_USERNAME='admin'
3519-export OS_PASSWORD='Password1+'
3520-export OS_TENANT_NAME='admin'
3521-export OS_AUTH_URL="http://$KEYSTONE_HOST:5000/v2.0/"
3522-export ADMIN_TOKEN='ubuntutesting'
3523-
3524-# Determine the tenant id for the configured tenant name.
3525-export TENANT_ID="$(keystone tenant-list | grep $OS_TENANT_NAME | awk '{ print $2 }')"
3526-
3527-# Floating IP settings specific to our lab. These are used in
3528-# Quantum network config from prepare_cloud.sh
3529-export QUANTUM_EXT_NET_GW=${QUANTUM_EXT_NET_GW:-172.16.1.1}
3530-export QUANTUM_EXT_NET_CIDR=${QUANTUM_EXT_NET_CIDR:-172.16.1.0/24}
3531-export QUANTUM_EXT_NET_NAME=${QUANTUM_EXT_NET_NAME:-ext_net}
3532-export QUANTUM_FLOAT_RANGE=${QUANTUM_FLOAT_RANGE:-172.16.1.2:172.16.1.254}
3533-export QUANTUM_FIXED_NET_CIDR=${QUANTUM_FIXED_NET_CIDR:-192.168.20.0/24}
3534-export QUANTUM_FIXED_NET_NAME=${QUANTUM_FIXED_NET_NAME:-admin_net}
3535-export QUANTUM_DNS=${QUANTUM_DNS:-172.16.1.1}
3536-
3537-# nova-network dhcp settings, used in prepare_cloud.sh
3538-export NOVA_NET_PRIVATE_NET_CIDR=${NOVA_NET_PRIVATE_NET_CIDR:-192.168.21.0/24}
3539-export NOVA_NET_FLOATING_POOL_RANGE=${NOVA_NET_FLOATING_POOL_RANGE:-192.168.20.224/27}
3540-export NOVA_NET_FLOATING_POOL_RANGE_2=${NOVA_NET_FLOATING_POOL_RANGE_2:-192.168.20.223/27}
3541-
3542-# Generate some EC2 creds via keystoneclient, if
3543-# its installed
3544-if which keystone >/dev/null 2>&1 ; then
3545- EC2_URL=$(keystone catalog --service ec2 | awk '/ publicURL / { print $4 }')
3546- S3_URL=$(keystone catalog --service s3 | awk '/ publicURL / { print $4 }')
3547- CREDS=$(keystone ec2-credentials-create)
3548- EC2_ACCESS_KEY=$(echo "$CREDS" | awk '/ access / { print $4 }')
3549- EC2_SECRET_KEY=$(echo "$CREDS" | awk '/ secret / { print $4 }')
3550-else
3551- echo "Couldn't find keystone client executable, skipping"\
3552- " EC2 credential generation."
3553-fi
3554-
3555-echo "Writing envrc"
3556-
3557-cat >envrc <<END
3558-export NOVA_HOST=$NOVA_HOST
3559-export GLANCE_HOST=$GLANCE_HOST
3560-export KEYSTONE_HOST=$KEYSTONE_HOST
3561-export HORIZON_HOST=$HORIZON_HOST
3562-export CINDER_HOST=$CINDER_HOST
3563-export NOVA_VOLUME_HOST=$NOVA_VOLUME_HOST
3564-export NOVA_COMPUTE_HOST=$NOVA_COMPUTE_HOST
3565-export SWIFT_HOST=$SWIFT_HOST
3566-export OS_USERNAME=$OS_USERNAME
3567-export OS_PASSWORD=$OS_PASSWORD
3568-export OS_TENANT_NAME=$OS_TENANT_NAME
3569-export TENANT_ID=$TENANT_ID
3570-export OS_AUTH_URL=$OS_AUTH_URL
3571-export OS_REGION_NAME=RegionOne
3572-export ADMIN_TOKEN=$ADMIN_TOKEN
3573-export TEMPEST_USER_1=tempest-1
3574-export TEMPEST_USER_2=tempest-2
3575-export TEMPEST_USERS_PASSWORD=ubuntu
3576-export TEMPEST_TENANT_1=tempest-tenant-1
3577-export TEMPEST_TENANT_2=tempest-tenant-2
3578-export ENABLED_SERVICES=$ENABLED_SERVICES
3579-END
3580-
3581-if [[ -n "$EC2_URL" ]] ; then
3582- cat >>envrc <<END
3583-export EC2_URL=$EC2_URL
3584-export S3_URL=$S3_URL
3585-export EC2_ACCESS_KEY=$EC2_ACCESS_KEY
3586-export EC2_SECRET_KEY=$EC2_SECRET_KEY
3587-END
3588-fi
3589-
3590-if [[ -n "$QUANTUM_HOST" ]] ; then
3591- cat >>envrc <<END
3592-export NEUTRON_AVAILABLE=true
3593-export QUANTUM_AVAILABLE=true
3594-export QUANTUM_HOST=$QUANTUM_HOST
3595-export QUANTUM_EXT_NET_GW=$QUANTUM_EXT_NET_GW
3596-export QUANTUM_EXT_NET_CIDR=$QUANTUM_EXT_NET_CIDR
3597-export QUANTUM_EXT_NET_NAME=$QUANTUM_EXT_NET_NAME
3598-export QUANTUM_FLOAT_RANGE=$QUANTUM_FLOAT_RANGE
3599-export QUANTUM_FIXED_NET_CIDR=$QUANTUM_FIXED_NET_CIDR
3600-export QUANTUM_FIXED_NET_NAME=$QUANTUM_FIXED_NET_NAME
3601-export QUANTUM_DNS=$QUANTUM_DNS
3602-END
3603-else
3604- cat >>envrc <<END
3605-export NEUTRON_AVAILABLE=false
3606-export QUANTUM_AVAILABLE=false
3607-export NOVA_NET_PRIVATE_NET_CIDR=$NOVA_NET_PRIVATE_NET_CIDR
3608-export NOVA_NET_FLOATING_POOL_RANGE=$NOVA_NET_FLOATING_POOL_RANGE
3609-export NOVA_NET_FLOATING_POOL_RANGE_2=$NOVA_NET_FLOATING_POOL_RANGE_2
3610-END
3611-fi
3612-
3613-if [[ -n "$SWIFT_HOST" ]] ; then
3614- echo "export SWIFT_AVAILABLE=false" >>envrc
3615-else
3616- echo "export SWIFT_AVAILABLE=false" >>envrc
3617-fi
3618-
3619-if [[ -n "$CEPH_HOST" ]] ; then
3620- echo "export VOLUME_BACKEND=ceph" >>envrc
3621-else
3622- echo "export VOLUME_BACKEND=iSCSI" >>envrc
3623-fi
3624-
3625-# TODO: Extend this to support detecting other computes (lxc)
3626-if [[ -n "$NOVA_COMPUTE_HOST" ]] ; then
3627- virt_type=$(python -c "
3628-import yaml
3629-import subprocess
3630-conf = yaml.load(subprocess.check_output(['juju', 'get', 'nova-compute']))
3631-if 'value' in conf['settings']['virt-type']:
3632- print conf['settings']['virt-type']['value']
3633-else:
3634- print 'kvm'
3635-")
3636- [[ -z "$virt_type" ]] && virt_type="kvm"
3637- echo "export COMPUTE_BACKEND=$virt_type" >>envrc
3638-elif [[ -n "$NOVA_VMWARE_HOST" ]] ; then
3639- echo "export COMPUTE_BACKEND=vmware" >>envrc
3640-fi
3641
3642=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare-cloud'
3643--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare-cloud 2014-06-10 23:44:37 +0000
3644+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare-cloud 1970-01-01 00:00:00 +0000
3645@@ -1,57 +0,0 @@
3646-#!/bin/bash -xe
3647-# Utility script to:
3648-# - Upload an image to glance, cirros by default.
3649-# Since our Jenkins host is cut off from the outside
3650-# world, images are hard-coded and expected to exist in
3651-# following locations locally:
3652-# $HOME/images/precise-server-cloudimg-amd64.tar.gz
3653-# $HOME/images/ttylinux-uec-i686-12.1_2.6.35-22_1.tar.gz
3654-# $HOME/images/cirros-0.3.0-x86_64-uec.tar.gz
3655-#
3656-# - Configure networks in Nova's database. Also hard-coded here
3657-# to configure:
3658-# - private instance network 10.14.4.24,
3659-# multi_host, bridge=br100, bridge_interface=eth1
3660-# - default floating ip pool 192.168.20.224/27
3661-# - secondary floating ip pool 192.168.20.223/27
3662-#
3663-# This script expects:
3664-# - Environment contains any variables needed by glance's client tools
3665-# (use inspect_environment.sh to generate envrc containing these)
3666-# - Passwordless ssh access to nova-cloud-controller, and passwordless
3667-# sudo access for the ubuntu user (to call nova-manage)
3668-
3669-cwd=`dirname $0`
3670-
3671-function error_out() {
3672- echo "* [ERROR prepare_cloud]: $@" && exit 1
3673-}
3674-
3675-function log() {
3676- echo "- [prepare_cloud]: $@"
3677-}
3678-
3679-OS_RELEASE="$1"
3680-
3681-# These hosts should have all been set in environment, via envrc
3682-missing=""
3683-[[ -z "$NOVA_HOST" ]] && missing="$missing NOVA_HOST"
3684-[[ -z "$OS_USERNAME" ]] && missing="$missing OS_USERNAME"
3685-[[ -z "$OS_PASSWORD" ]] && missing="$missing OS_PASSWORD"
3686-[[ -z "$OS_AUTH_URL" ]] && missing="$missing OS_AUTH_URL"
3687-[[ -z "$OS_TENANT_NAME" ]] && missing="$missing OS_TENANT_NAME"
3688-[[ -n "$missing" ]] && error_out "Missing from environment: $missing"
3689-
3690-export IMG_DIR=${IMG_DIR:-$HOME/images}
3691-export DEFAULT_IMAGE=${DEFAULT_IMAGE:-$IMG_DIR/precise-server-cloudimg-amd64-disk1.img}
3692-export VMWARE_IMAGE=${VMWARE_IMAGE:-$IMG_DIR/vmware/precise.vmdk}
3693-export LXC_IMAGE=${LXC_IMAGE:-$IMG_DIR/lxc/precise-server-cloudimg-amd64.img
3694-}
3695-
3696-[[ ! -e $cwd/prepare_cloud/$OS_RELEASE ]] &&
3697- error_out "Could not load prep library from $cwd/prepare_cloud/$OS_RELEASE"
3698-
3699-. $cwd/prepare_cloud/$OS_RELEASE
3700-
3701-setup_network
3702-publish_image ubuntu
3703
3704=== removed directory 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud'
3705=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/essex'
3706=== target was u'folsom'
3707=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/folsom'
3708--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/folsom 2014-06-10 23:44:37 +0000
3709+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/folsom 1970-01-01 00:00:00 +0000
3710@@ -1,147 +0,0 @@
3711-#!/bin/bash -xe
3712-# Utility script to:
3713-# - Upload an image to glance, cirros by default.
3714-# Since our Jenkins host is cut off from the outside
3715-# world, images are hard-coded and expected to exist in
3716-# following locations locally:
3717-#
3718-# $HOME/cirros-0.3.0-x86_64-disk.img
3719-# $HOME/quantal-server-cloudimg-amd64-disk1.img
3720-#
3721-# - Configure networks in Nova's database. Also hard-coded here
3722-# to configure:
3723-# - private instance network 192.168.21.0/24,
3724-# multi_host, bridge=br100, bridge_interface=eth1
3725-# - default floating ip pool 192.168.20.224/27
3726-# - secondary floating ip pool 192.168.20.223/27
3727-#
3728-# This script expects:
3729-# - Environment contains any variables needed by glance's client tools
3730-# (use inspect_environment.sh to generate envrc containing these)
3731-# - Passwordless ssh access to nova-cloud-controller, and passwordless
3732-# sudo access for the ubuntu user (to call nova-manage)
3733-
3734-
3735-function setup_nova_network() {
3736- # Conditionally create nova's instance network and 2 floating ip pools
3737- # this takes place on the cloud-controller using nova-manage
3738- log "Logging into $NOVA_HOST and creating network via nova-manage"
3739- ssh ubuntu@"$NOVA_HOST" "[[ -e ~/network-created ]] || \
3740- (sudo nova-manage network create private $NOVA_NET_PRIVATE_NET_CIDR \
3741- 1 256 --bridge=br100 --bridge_interface=eth1 --multi_host=T \
3742- && touch ~/network-created)" ||
3743- error_out "Could not create network."
3744-
3745- log "Logging into $NOVA_HOST and creating default floating IP pool"
3746- ssh ubuntu@"$NOVA_HOST" "[[ -e ~/floating-pool1-created ]] || \
3747- (sudo nova-manage floating create $NOVA_NET_FLOATING_POOL_RANGE \
3748- && touch ~/floating-pool1-created)" ||
3749- error_out "Could not create default floating pool."
3750-
3751- log "Logging into $NOVA_HOST and creating secondary floating IP pool"
3752- ssh ubuntu@"$NOVA_HOST" "[[ -e ~/floating-pool2-created ]] || \
3753- (sudo nova-manage floating create --ip_range=$NOVA_NET_FLOATING_POOL_RANGE_2 \
3754- --pool=test_range && touch ~/floating-pool2-created)" ||
3755- error_out "ERROR: Could not create secondary floatig pool."
3756-}
3757-
3758-function setup_quantum_network() {
3759- # SSHes to nova-c-c and uses the charm's quantum utility script with
3760- # creds generated by inspect_environment.sh.
3761- ssh ubuntu@"$NOVA_HOST" "\
3762- OS_USERNAME=$OS_USERNAME OS_PASSWORD=$OS_PASSWORD \
3763- OS_TENANT_NAME=$OS_TENANT_NAME OS_AUTH_URL=$OS_AUTH_URL \
3764- OS_REGION_NAME=RegionOne \
3765- quantum-ext-net -g $QUANTUM_EXT_NET_GW \
3766- -c $QUANTUM_EXT_NET_CIDR \
3767- -f $QUANTUM_FLOAT_RANGE \
3768- -t services \
3769- $QUANTUM_EXT_NET_NAME"
3770- ssh ubuntu@"$NOVA_HOST" "\
3771- OS_USERNAME=$OS_USERNAME OS_PASSWORD=$OS_PASSWORD \
3772- OS_TENANT_NAME=$OS_TENANT_NAME OS_AUTH_URL=$OS_AUTH_URL \
3773- OS_REGION_NAME=RegionOne \
3774- quantum-tenant-net -t admin -r provider-router \
3775- $QUANTUM_FIXED_NET_NAME $QUANTUM_FIXED_NET_CIDR"
3776-
3777- # save the IDs of new network to envrc for later testing.
3778- ext_net_id=$(neutron net-list | grep "$QUANTUM_EXT_NET_NAME " | \
3779- awk '{ print $2 }')
3780- fixed_net_id=$(neutron net-list | grep "$QUANTUM_FIXED_NET_NAME " | \
3781- awk '{ print $2 }')
3782- ext_net_router=$(neutron router-list | grep "$ext_net_id" | \
3783- grep provider-router | awk '{ print $2 }')
3784- [[ -e envrc ]] &&
3785- echo "export QUANTUM_EXT_NET_ID=$ext_net_id" >>envrc &&
3786- echo "export QUANTUM_FIXED_NET_ID=$fixed_net_id" >>envrc &&
3787- echo "export QUANTUM_EXT_NET_ROUTER_ID=$ext_net_router" >>envrc
3788-}
3789-
3790-function setup_network() {
3791- if (echo $ENABLED_SERVICES | grep -q quantum) ||
3792- (echo $ENABLED_SERVICES | grep -q neutron) ; then
3793- setup_quantum_network
3794- else
3795- setup_nova_network
3796- fi
3797-}
3798-
3799-
3800-function ubuntu_image() {
3801- # certain compute backends require certain image formats
3802- case "$COMPUTE_BACKEND" in
3803- "vmware") echo $VMWARE_IMAGE ;;
3804- "lxc") echo $LXC_IMAGE ;;
3805- *) echo $DEFAULT_IMAGE ;;
3806- esac
3807-}
3808-
3809-function glance_args() {
3810- # certain compute backends require images be published with special
3811- # properties
3812- # NOTE: assumes vmware images are sparse. needs to be adjusted
3813- # publishing preallocated or thin images
3814- case "$COMPUTE_BACKEND" in
3815- "vmware") echo "--disk-format=vmdk --container-format=bare " \
3816- "--is-public=true --property vmware-adaptertype=ide " \
3817- "--property vmware-ostype=ubuntuGuest " \
3818- "--property vmware_disktype=sparse" ;;
3819- "lxc") echo "--container-format=bare --disk-format=raw --property hypervisor_type=lxc" \
3820- "--is-public true" ;;
3821- *) echo "--is-public=true --container-format=ami --disk-format=ami" ;;
3822- esac
3823-}
3824-
3825-function publish_image() {
3826- # Publish a cloud img directly into glance using glance client
3827- case "$1" in
3828- "ubuntu") IMG="$(ubuntu_image)" ;;
3829- "cirros"|*) IMG="$IMG_DIR/cirros-0.3.0-x86_64-disk.img" ;;
3830- esac
3831- [[ ! -e "$IMG" ]] && error_out "Could not find IMG @ $IMG"
3832- log "Using IMG @ $IMG."
3833-
3834- # Clear out any existing images.
3835- for i in $(glance image-list | grep active | awk '{ print $2 }') ; do
3836- log "Deleting existing image from glance with id $i"
3837- glance image-delete $i
3838- done
3839-
3840- IMG_NAME=$(echo ${IMG##*/} | sed -e 's/\.img//g')
3841- args="$(glance_args)"
3842- RESP=$(glance image-create --name="$IMG_NAME-ami" $args < $IMG)
3843- IMG_UUID=$(echo "$RESP" | grep " id " | awk '{ print $4 }')
3844- log "Published AMI for $IMG_NAME with ID $IMG_UUID"
3845- log "Cleaning up $IMG_NAME..."
3846- rm -rf $IMG_NAME*
3847-
3848- # Find the correpsonding EC2 AMI ID that was assigned the the Glance image.
3849- EC2_IMG_UUID=$(euca-describe-images | grep "$IMG_NAME-ami" | awk '{ print $2 }' | head -n1)
3850-
3851- # if this is being run as part of jenkins job, its likely there is an envrc
3852- # in the pwd that we care to update with the name of the image we just published.
3853- [[ -e envrc ]] && \
3854- echo "export IMAGE_NAME=$IMG_NAME-ami" >>envrc && \
3855- echo "export IMAGE_UUID=$IMG_UUID" >>envrc
3856- echo "export EC2_IMG_UUID=$EC2_IMG_UUID" >>envrc
3857-}
3858
3859=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/grizzly'
3860=== target was u'folsom'
3861=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/havana'
3862=== target was u'grizzly'
3863=== removed symlink 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/prepare_cloud/icehouse'
3864=== target was u'havana'
3865=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-configuration/verify-cloud'
3866--- usr/lib/orange-box/examples/openstack/complex/openstack-configuration/verify-cloud 2014-06-10 23:44:37 +0000
3867+++ usr/lib/orange-box/examples/openstack/complex/openstack-configuration/verify-cloud 1970-01-01 00:00:00 +0000
3868@@ -1,6 +0,0 @@
3869-#!/bin/bash -e
3870-
3871-source envrc
3872-base=$(dirname $0)
3873-${base}/configure-tests
3874-nosetests -v
3875
3876=== removed file 'usr/lib/orange-box/examples/openstack/complex/openstack-prereqs-install.sh'
3877--- usr/lib/orange-box/examples/openstack/complex/openstack-prereqs-install.sh 2014-06-10 23:44:37 +0000
3878+++ usr/lib/orange-box/examples/openstack/complex/openstack-prereqs-install.sh 1970-01-01 00:00:00 +0000
3879@@ -1,183 +0,0 @@
3880-#!/bin/bash
3881-set -ex
3882-sudo apt-get install --yes libvirt-bin virtinst qemu-kvm juju iptables-persistent juju-deployer \
3883- python-keystoneclient python-novaclient python-cinderclient python-glanceclient python-neutronclient \
3884- python-nose git python-swiftclient uuid
3885-[ -d ~/isos ] || mkdir ~/isos
3886-[ -f ~/isos/ubuntu-12.04.3-server-amd64.iso ] || wget http://releases.ubuntu.com/precise/ubuntu-12.04.3-server-amd64.iso -O ~/isos/ubuntu-12.04.3-server-amd64.iso
3887-
3888-grep 'libvirtd.*ubuntu' /etc/group || (echo "Adding ubuntu user to libvirtd group" && sudo adduser ubuntu libvirtd && echo "Please re-login and run again" && exit 0)
3889-
3890-[ -f /home/ubuntu/.ssh/id_rsa ] || echo -e "\n\n\n" | ssh-keygen -N "" -t rsa -f /home/ubuntu/.ssh/id_rsa
3891-maas-cli admin sshkeys list | grep id || maas-cli admin sshkeys new key="$(cat ~/.ssh/id_rsa.pub)"
3892-
3893-# Make Logical Volumes for the guests
3894-echo "Skipping setup of LVMs"
3895-# sudo vgscan | grep BigDisk || sudo vgcreate BigDisk /dev/sdb1
3896-
3897-# for service in juju lds neutron; do
3898-# sudo lvdisplay | grep ${service}_disk && sudo lvremove -f BigDisk/${service}_disk
3899-# done
3900-# sudo lvcreate -L20G -n juju_disk BigDisk
3901-# sudo lvcreate -L800G -n lds_disk BigDisk
3902-# sudo lvcreate -L20G -n neutron_disk BigDisk
3903-
3904-sudo tee /etc/init/maas-pserv.override << EOF
3905-# Don't start maas-pserv until bridge has started
3906-start on net-device-up IFACE=br1
3907-EOF
3908-
3909-# Setup networking
3910-# Add to /etc/network/interfaces
3911-grep br0 /etc/network/interfaces || sudo tee /etc/network/interfaces <<EOF
3912-# This file describes the network interfaces available on your system
3913-# and how to activate them. For more information, see interfaces(5).
3914-
3915-# The loopback network interface
3916-auto lo
3917-iface lo inet loopback
3918-
3919-
3920-# USB NIC; connect to LAN.
3921-#auto em1
3922-#iface em1 inet dhcp
3923-
3924-#auto eth0
3925-#iface eth0 inet dhcp
3926-
3927-# External connectivity
3928-auto br0
3929-iface br0 inet dhcp
3930- bridge_ports eth0
3931- bridge_stp off
3932- bridge_fd 0
3933- bridge_maxwait 0
3934-
3935-# The interface to the internal network.
3936-auto br1
3937-iface br1 inet static
3938- address 10.14.4.1
3939- netmask 255.255.255.0
3940- broadcast 10.14.4.255
3941- network 10.14.4.0
3942- bridge_ports em1
3943- bridge_stp off
3944- bridge_fd 0
3945- bridge_maxwait 0
3946- dns-nameservers 10.14.4.1
3947- dns-search orangebox.org
3948-
3949-EOF
3950-
3951-sudo sed -i -e's/eth0/br0/g' /etc/iptables/rules.v4
3952-sudo sed -i -e's/em1/br1/g' /etc/iptables/rules.v4
3953-sudo service iptables-persistent restart
3954-
3955-cluster_controller_uuid=$(maas-cli admin node-groups list | grep uuid | cut -d'"' -f4)
3956-# Replace MAAS management of em1 with br1
3957-maas-cli admin node-group-interface delete ${cluster_controller_uuid} em1 && maas-cli admin node-group-interfaces new ${cluster_controller_uuid} interface=br1 ip=10.14.4.1 subnet_mask=255.255.255.0 broadcast_ip=10.14.4.255 router_ip=10.14.4.1 ip_range_low=10.14.4.20 ip_range_high=10.14.4.254 management=2 && sudo service maas-dhcp-server restart && sudo service maas-pserv restart && sudo service maas-cluster-celery restart && sudo service maas-region-celery restart
3958-
3959-sudo sed -ie 's/#prepend domain-name-servers 127.0.0.1;/prepend domain-name-servers 10.14.4.1;/' /etc/dhcp/dhclient.conf
3960-virsh net-info default && virsh net-destroy default && virsh net-undefine default
3961-
3962-# create bridge on 172.16.1.0/24 for neutron
3963-virsh net-info bridge2 || ( virsh net-define bridge2.xml && virsh net-autostart bridge2 && virsh net-start bridge2 )
3964-
3965-# cat >/tmp/maas-private.xml <<EOF
3966-# <network>
3967-# <name>maas-private</name>
3968-# <uuid>c46a86d4-3111-ddfa-1118-922b78d37600</uuid>
3969-# <bridge name='virbr1' stp='on' delay='0' />
3970-# <mac address='52:54:11:26:F2:BC'/>
3971-# </network>
3972-# EOF
3973-
3974-# cat >/tmp/maas-external.xml <<EOF
3975-# <network>
3976-# <name>maas-external</name>
3977-# <uuid>c46a86d4-3111-ddfa-1118-922b78201208</uuid>
3978-# <bridge name='virbr2' stp='on' delay='0' />
3979-# <mac address='52:54:11:26:F2:BD'/>
3980-# </network>
3981-# EOF
3982-# for net in maas-private maas-external; do
3983-# virsh net-define /tmp/$net.xml
3984-# virsh net-autostart $net
3985-# virsh net-start $net
3986-# done
3987-sudo ifup br0
3988-sudo ifup br1
3989-[ -d /home/maas ] || sudo install -d /home/maas --owner maas --group maas
3990-sudo chsh maas -s /bin/bash
3991-[ -d /home/maas/.ssh ] || echo -e "\n\n\n" | sudo -u maas ssh-keygen -N "" -t rsa -f /home/maas/.ssh/id_rsa
3992-[ -f /home/maas/.ssh/config ] || sudo -u maas tee /home/maas/.ssh/config <<EOF
3993-Host *
3994- UserKnownHostsFile /dev/null
3995- StrictHostKeyChecking no
3996-EOF
3997-grep 'maas@' ~/.ssh/authorized_keys || sudo cat /home/maas/.ssh/id_rsa.pub | tee -a /home/ubuntu/.ssh/authorized_keys
3998-# 10.14.4.1 known hosts
3999-
4000-# create the kvms, not in loop due to neutron being different
4001-echo -e "virt-install juju instance"
4002-virsh list --all --name | grep juju || sudo virt-install --name juju --ram 4096 --disk path=/mnt/juju_disk,size=20 --vcpus=2 --os-type=linux --pxe --network=bridge=br1 --boot network || true
4003-echo -e "virt-install lds instance"
4004-virsh list --all --name | grep lds || sudo virt-install --name lds --ram 4096 --disk path=/mnt/lds_disk,size=20 --vcpus=2 --os-type=linux --pxe --network=bridge=br1 --boot network || true
4005-echo -e "virt-install neutron instance"
4006-virsh list --all --name | grep neutron || sudo virt-install --name neutron --ram 4096 --disk path=/mnt/neutron_disk,size=20 --vcpus=2 --os-type=linux --pxe --network=bridge=virbr1 --network=bridge=br1 --boot network || true
4007-
4008-# loop to fixup the kvms
4009-for system in juju lds neutron; do
4010- mac=$(virsh dumpxml $system | python -c 'import sys, lxml.etree; print list(lxml.etree.parse(sys.stdin).iter("mac"))[0].get("address")')
4011- system_id=$(maas-cli admin nodes list mac_address=$mac | grep system_id | cut -d'"' -f4)
4012- # until [ $system_id ]; do
4013- # system_id=$(maas-cli admin nodes list mac_address=$mac | grep system_id | cut -d'"' -f4)
4014- # sleep 10
4015- # done
4016- maas-cli admin node update $system_id hostname=$system.master power_type=virsh power_parameters_power_address=qemu+ssh://ubuntu@10.14.4.1/system power_parameters_power_id=$system
4017- maas-cli admin tags new name=$system || true
4018- maas-cli admin tag update-nodes $system add=$system_id
4019- maas-cli admin tag update-nodes use-fastpath-installer add=$system_id
4020- maas-cli admin node commission $system_id || true
4021-done
4022-
4023-
4024-for system in juju lds neutron; do
4025- mac=$(virsh dumpxml $system | python -c 'import sys, lxml.etree; print list(lxml.etree.parse(sys.stdin).iter("mac"))[0].get("address")')
4026- system_id=$(maas-cli admin nodes list mac_address=$mac | grep system_id | cut -d'"' -f4)
4027- echo "Waiting for $system to be Ready"
4028- until maas-cli admin node read $system_id | grep status | awk {'print $2'} | grep '4,'; do echo -n '.'; sleep 5; done
4029-done
4030-
4031-
4032-# set all physical nodes to use fast installer
4033-
4034-for system in node1 node2 node3 node4 node5 node6 node7 node8 node9; do
4035- system_id=$(maas-cli admin nodes list hostname=$system.master | grep system_id | cut -d'"' -f4)
4036- maas-cli admin tag update-nodes use-fastpath-installer add=$system_id
4037-done
4038-
4039-#Add Tag NUC to identify physical nodes
4040-maas-cli admin tag new name='nuc' comment='physical nuc nodes' definition='//node[@id="core"]/product = "D53427RKE"'
4041-
4042-# DNS forwarding, /etc/bind/named.conf.options
4043-
4044-[ -d ~/.juju ] || mkdir ~/.juju
4045-
4046-maas_oauth=$(maas-cli list | awk '{ print $3 }')
4047-
4048-cat > ~/.juju/environments.yaml <<EOF
4049-environments:
4050- maas:
4051- type: maas
4052- admin-secret: Password1+
4053-
4054- # maas-server specifies the location of the MAAS server. It must
4055- # specify the base path.
4056- maas-server: 'http://10.14.4.1/MAAS/'
4057-
4058- # maas-oauth holds the OAuth credentials from MAAS.
4059- maas-oauth: '$maas_oauth'
4060-EOF
4061-
4062-echo "Install script finished"
4063
4064=== removed file 'usr/lib/orange-box/examples/openstack/complex/remove-kvms.sh'
4065--- usr/lib/orange-box/examples/openstack/complex/remove-kvms.sh 2014-06-10 23:44:37 +0000
4066+++ usr/lib/orange-box/examples/openstack/complex/remove-kvms.sh 1970-01-01 00:00:00 +0000
4067@@ -1,53 +0,0 @@
4068-#!/bin/bash
4069-#
4070-# BE FOREWARNED!
4071-#
4072-# THIS SCRIPT
4073-# TAKES NODES 1-9 BACK TO BASE READY STATE
4074-# ELIMINATES ALL KVMS FROM NODE 0
4075-# TAKES MAAS STATE BACK TO BASE LEVELS
4076-#
4077-# THIS SCRIPT WILL LEAVE ALONE
4078-# The LVM setup
4079-# The networking setup (including DNS/DHCP info)
4080-# The MAAS basic setup (including maas user/ssh,
4081-# but not juju environment/bootstrap info)
4082-#
4083-
4084-set -e
4085-echo -e "Clear juju environment with juju destroy-environment"
4086-echo -e "This will set nodes 1-9 back to Ready state in MAAS"
4087-echo -e "and delete the ~/.juju/environments dir."
4088-juju destroy-environment maas || true
4089-rm -rf ~/.juju/environments
4090-
4091-echo -e "Removing the ssh known_hosts file"
4092-rm -f ~/.ssh/known_hosts
4093-
4094-echo -e " Delete virtual nodes from MAAS state"
4095-#nodes=$(maas-cli admin tag nodes virtual | grep system_id | sed -e 's/", $//' -e 's/^.*"//')
4096-#for node in $nodes;do
4097-# echo "Deleting virtual node: $node from MAAS."
4098-# maas-cli admin node delete $node
4099-#done
4100-for nodename in juju lds neutron; do
4101- system_id=$(maas-cli admin nodes list hostname=$nodename.master | grep system_id | cut -d'"' -f4)
4102- echo -e "Deleting virtual node: $nodename == $system_id from MAAS."
4103- maas-cli admin node delete $system_id || :
4104-done
4105-
4106-echo -e "Deleting KVMs from node 0"
4107-
4108-set +e # We want to try all of these
4109-sudo virsh destroy juju
4110-sudo virsh destroy lds
4111-sudo virsh destroy neutron
4112-sudo virsh undefine juju
4113-sudo virsh undefine lds
4114-sudo virsh undefine neutron
4115-set -e
4116-
4117-echo -e "Removing virtual bridge2"
4118-sudo virsh net-destroy bridge2
4119-
4120-echo -e "Done."
4121
4122=== removed file 'usr/lib/orange-box/examples/openstack/havana/99-cleanup.sh'
4123--- usr/lib/orange-box/examples/openstack/havana/99-cleanup.sh 2014-07-16 07:31:25 +0000
4124+++ usr/lib/orange-box/examples/openstack/havana/99-cleanup.sh 1970-01-01 00:00:00 +0000
4125@@ -1,8 +0,0 @@
4126-#!/bin/bash
4127-
4128-#Destroy everything
4129-juju destroy-environment maas
4130-export AMT_PASSWORD=Password1+
4131-for i in $(seq 11 19); do
4132- yes | amttool 10.14.4.$i powerdown >/dev/null 2>&1
4133-done
4134
4135=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/precise/00-bootstrap.sh'
4136--- usr/lib/orange-box/examples/openstack/icehouse/precise/00-bootstrap.sh 2014-07-14 07:26:29 +0000
4137+++ usr/lib/orange-box/examples/openstack/icehouse/precise/00-bootstrap.sh 1970-01-01 00:00:00 +0000
4138@@ -1,18 +0,0 @@
4139-#!/bin/bash
4140-#Canonical Micro-Cluster Demo Preparation
4141-echo "checking for existing Juju environment..."
4142-juju status && echo "Existing deployment found, exiting." && exit
4143-
4144-rm ~/.ssh/known_hosts
4145-
4146-juju env maas
4147-
4148-echo "Deploying Juju Bootstrap node to Virtual machine: juju.local using tags=juju"
4149-juju bootstrap --upload-tools=true --constraints "tags=bootstrap" --show-log --series=precise,trusty
4150-
4151-echo "unset constraints"
4152-juju set-constraints tags=""
4153-echo "Deploying Juju-gui to bootstrap node"
4154-juju deploy --to 0 juju-gui
4155-juju expose juju-gui
4156-
4157
4158=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/precise/01-deploy.sh'
4159--- usr/lib/orange-box/examples/openstack/icehouse/precise/01-deploy.sh 2014-07-14 07:26:29 +0000
4160+++ usr/lib/orange-box/examples/openstack/icehouse/precise/01-deploy.sh 2014-07-24 01:23:40 +0000
4161@@ -4,7 +4,7 @@
4162 set -ex
4163
4164 juju set-constraints tags=
4165-juju-deployer -e maas -c icehouseOB.yaml
4166+juju-deployer -c icehouseOB.yaml
4167
4168
4169 echo "Deployment finished"
4170
4171=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/precise/02-configure-openstack.sh'
4172--- usr/lib/orange-box/examples/openstack/icehouse/precise/02-configure-openstack.sh 2014-07-14 07:26:29 +0000
4173+++ usr/lib/orange-box/examples/openstack/icehouse/precise/02-configure-openstack.sh 1970-01-01 00:00:00 +0000
4174@@ -1,72 +0,0 @@
4175-#!/bin/bash
4176-
4177-set -e
4178-
4179-echo "This command is run to configure an Orange-Box Openstack deployment"
4180-
4181-### assume you ran this : sudo apt-get install python-keystone python-novaclient zile python-neutron python-glanceclient
4182-unset http_proxy
4183-unset https_proxy
4184-
4185-QUANTUM_EXT_NET_GW="10.14.4.1"
4186-QUANTUM_EXT_NET_CIDR="10.14.4.0/24"
4187-QUANTUM_EXT_NET_NAME="ext_net"
4188-QUANTUM_DNS="10.14.4.1"
4189-QUANTUM_FLOAT_RANGE_START="10.14.4.20"
4190-QUANTUM_FLOAT_RANGE_END="10.14.4.49"
4191-
4192-QUANTUM_FIXED_NET_CIDR="192.168.14.0/24"
4193-QUANTUM_FIXED_NET_NAME="admin_net"
4194-
4195-keystone=$(juju status keystone | grep public-address | head -1 | awk '{print $2}')
4196-
4197-echo "export SERVICE_ENDPOINT=http://$keystone:35357/v2.0/
4198-export SERVICE_TOKEN=admin
4199-export OS_AUTH_URL=http://$keystone:35357/v2.0/
4200-export OS_USERNAME=admin
4201-export OS_PASSWORD=admin
4202-export OS_TENANT_NAME=admin
4203-export OS_REGION_NAME=RegionOne
4204-" > nova.rc
4205-
4206-source nova.rc
4207-
4208-# Determine the tenant id for the configured tenant name.
4209-export TENANT_ID="$(keystone tenant-list | grep $OS_TENANT_NAME | awk '{ print $2 }')"
4210-
4211-#create ext network with neutron for floating IPs
4212-EXTERNAL_NETWORK_ID=$(neutron net-create ext_net --tenant-id $TENANT_ID -- --router:external=True | grep " id" | awk '{print $4}')
4213-neutron subnet-create ext_net $QUANTUM_EXT_NET_CIDR --name ext_net_subnet --tenant-id $TENANT_ID \
4214---allocation-pool start=$QUANTUM_FLOAT_RANGE_START,end=$QUANTUM_FLOAT_RANGE_END \
4215---gateway $QUANTUM_EXT_NET_GW --disable-dhcp --dns_nameservers $QUANTUM_DNS list=true
4216-
4217-#Create private network for neutron for tenant VMs
4218-neutron net-create private
4219-SUBNET_ID=$(neutron subnet-create private $QUANTUM_FIXED_NET_CIDR -- --name private_subnet --dns_nameservers list=true $QUANTUM_DNS | grep " id" | awk '{print $4}')
4220-
4221-#Create router for external network and private network
4222-ROUTER_ID=$(neutron router-create --tenant-id $TENANT_ID provider-router | grep " id" | awk '{print $4}')
4223-neutron router-interface-add $ROUTER_ID $SUBNET_ID
4224-neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID
4225-
4226-#Configure the default security group to allow ICMP and SSH
4227-nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
4228-nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
4229-#for rdp
4230-nova secgroup-add-rule default tcp 3389 3389 0.0.0.0/0
4231-
4232-#Upload a default SSH key
4233-nova keypair-add --pub-key ~/.ssh/id_rsa.pub default
4234-
4235-#Remove the m1.tiny as it is too small for Ubuntu.
4236-nova flavor-delete m1.tiny
4237-
4238-#Upload images to glance
4239-glance add name="Precise x86_64" is_public=true container_format=ovf disk_format=qcow2 < /srv/data/precise-server-cloudimg-amd64-disk1.img
4240-glance add name="Trusty x86_64" is_public=true container_format=ovf disk_format=qcow2 < /srv/data/trusty-server-cloudimg-amd64-disk1.img
4241-glance add name="CentOS 6.4" is_public=true container_format=bare disk_format=qcow2 < /srv/data/centos6.4-x86_64-gold-master.img
4242-glance add name="Cirros 0.3" is_public=true container_format=bare disk_format=qcow2 < /srv/data/cirros-0.3.2-x86_64-disk.img
4243-glance add name="Windows Server 2012" is_public=true container_format=bare disk_format=qcow2 < /srv/data/windows_server_2012_r2_standard_eval_kvm_20131117.qcow2
4244-
4245-exit
4246-
4247
4248=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/precise/04-deploy-jumpserver-and-juju.sh'
4249--- usr/lib/orange-box/examples/openstack/icehouse/precise/04-deploy-jumpserver-and-juju.sh 2014-07-14 07:26:29 +0000
4250+++ usr/lib/orange-box/examples/openstack/icehouse/precise/04-deploy-jumpserver-and-juju.sh 1970-01-01 00:00:00 +0000
4251@@ -1,72 +0,0 @@
4252-#!/bin/bash
4253-
4254-set -ex
4255-
4256-echo "This command is run to launch the first instance on a new Orange box Openstack deployment"
4257-
4258-source nova.rc
4259-
4260-#Modify quotas for the tenant to allow large deployments
4261-TENANT=$(keystone tenant-list | grep $OS_TENANT_NAME | awk '{print $2}')
4262-nova quota-update --instances 50 $TENANT
4263-nova quota-update --cores 50 $TENANT
4264-nova quota-update --ram 102400 $TENANT
4265-nova quota-update --security-groups 50 $TENANT
4266-
4267-#Create a floating IP for the instance
4268-FLOAT_IP="$(nova floating-ip-create | grep ext_net | awk '{ print $2}')"
4269-
4270-#Launch an instance
4271-NET_UUID="$(nova net-list | grep private | awk '{ print $2 }')"
4272-IMAGE_UUID="$(nova image-list | grep Trusty | awk '{ print $2 }')"
4273-nova boot --flavor 2 --key_name default --image $IMAGE_UUID --nic net-id=$NET_UUID --security_group default jumpserver
4274-sleep 40
4275-
4276-#Associate the floating IP with the new instance
4277-nova floating-ip-associate jumpserver $FLOAT_IP
4278-sleep 10
4279-#SSH into the instance and install Juju
4280-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP sudo apt-get -y install juju-core juju-quickstart juju-deployer
4281-
4282-#Set up the Juju default environment
4283-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP juju init
4284-
4285-#Output a juju env file that works on this cloud
4286-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "echo 'default: openstack
4287-environments:
4288- openstack:
4289- type: openstack
4290- network: private
4291- auth-url: $OS_AUTH_URL
4292- tenant-name: $OS_TENANT_NAME
4293- region: $OS_REGION_NAME
4294- auth-mode: userpass
4295- username: $OS_USERNAME
4296- password: $OS_PASSWORD
4297- admin-secret: $OS_PASSWORD
4298- default-series: precise
4299-' > ~/.juju/environments.yaml"
4300-
4301-#Create juju metadata
4302-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju-metadata generate-image -a amd64 -u $OS_AUTH_URL -i $IMAGE_UUID -r $OS_REGION_NAME -s trusty"
4303-
4304-IMAGE_UUID="$(nova image-list | grep Precise | awk '{ print $2 }')"
4305-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju-metadata generate-image -a amd64 -u $OS_AUTH_URL -i $IMAGE_UUID -r $OS_REGION_NAME -s precise"
4306-
4307-#Bootstrap Juju
4308-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju bootstrap --metadata-source=/home/ubuntu --upload-tools=true --series=precise,trusty"
4309-
4310-#Deploy juju-gui
4311-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju deploy --to 0 juju-gui && juju expose juju-gui"
4312-
4313-#Create a new floating IP and associate with juju bootstrap instance
4314-INSTANCE_ID="$(nova list | grep juju-openstack-machine-0 | awk '{ print $2}')"
4315-FLOAT_IP2="$(nova floating-ip-create | grep ext_net | awk '{ print $2}')"
4316-nova floating-ip-associate $INSTANCE_ID $FLOAT_IP2
4317-
4318-#Print the address of Juju-gui for deployments on Openstack
4319-echo "Now connect to the Juju-GUI at: http://$FLOAT_IP2/ to continue deployments on Openstack."
4320-echo "Pass: $OS_PASSWORD"
4321-
4322-exit
4323-
4324
4325=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/precise/99-cleanup.sh'
4326--- usr/lib/orange-box/examples/openstack/icehouse/precise/99-cleanup.sh 2014-07-14 07:26:29 +0000
4327+++ usr/lib/orange-box/examples/openstack/icehouse/precise/99-cleanup.sh 1970-01-01 00:00:00 +0000
4328@@ -1,11 +0,0 @@
4329-#!/bin/bash
4330-
4331-#Destroy everything
4332-juju destroy-environment maas-trusty
4333-echo "wait a bit for maas to do his job"
4334-sleep 45
4335-export AMT_PASSWORD=Password1+
4336-for i in $(seq 11 19); do
4337- yes | amttool 10.14.4.$i powerdown >/dev/null 2>&1
4338-done
4339-
4340
4341=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/precise/README'
4342--- usr/lib/orange-box/examples/openstack/icehouse/precise/README 2014-07-14 07:26:29 +0000
4343+++ usr/lib/orange-box/examples/openstack/icehouse/precise/README 2014-07-24 01:23:40 +0000
4344@@ -1,10 +1,20 @@
4345-This demo will deploy Icehouse on 14.04
4346+This demo will deploy Icehouse on 12.04
4347 By the end of the demo you will have a working Openstack,
4348 plus a working Openstack Juju environment and GUI to deploy further workloads to.
4349-Just run each script in order:
4350-00-bootstrap.sh - This will boostrap Juju on the MAAS provider
4351-01-deploy.sh - This will deploy Openstack on the Orange Box.
4352-02-configure-openstack.sh - This will configure openstack ready to launch instances
4353-03-deploy-jumpserver-and-juju.sh - This will deploy a Jumpserver with a public IP for SSH access into the tenant private network, install Juju and create an Openstack Juju environment, bootstrap and launch the GUI and print the public IP of the GUI.
4354-99-cleanup.sh - This will destroy the Juju environment on the MAAS provider and make sure all NUC nodes are shut down.
4355+
4356+
4357+./01-deploy.sh - This will deploy Openstack on the Orange Box.
4358+orange-box-configure-openstack - This will configure openstack ready to launch instances
4359+
4360+orange-box-launch-openstack-juju - This will deploy a Jumpserver with a public IP for SSH access into the tenant private network, install Juju and create an Openstack Juju environment, bootstrap and launch the GUI and print the public IP of the GUI.
4361+
4362+OPTIONAL:
4363+./deploy-instances.sh - This will deploy a number of instances to show the cloud working.
4364+
4365+
4366+automated deployment
4367+For testing purposes or an unattended deployment, you can use the script:
4368+./automated-deployment.sh
4369+which will run the deployment scripts from bootstrap to deploying the jumpserver and juju-gui.
4370+This takes about 30 minutes.
4371
4372
4373=== added file 'usr/lib/orange-box/examples/openstack/icehouse/precise/automated-deploy.sh'
4374--- usr/lib/orange-box/examples/openstack/icehouse/precise/automated-deploy.sh 1970-01-01 00:00:00 +0000
4375+++ usr/lib/orange-box/examples/openstack/icehouse/precise/automated-deploy.sh 2014-07-24 01:23:40 +0000
4376@@ -0,0 +1,26 @@
4377+#!/bin/bash
4378+#Canonical Micro-Cluster auto-deployment bootstrap to tenant juju-gui
4379+set -e #-x for debugging output
4380+
4381+start=`date`
4382+orange-box-bootstrap-juju
4383+until (juju pprint | grep juju-gui | grep started) ; do
4384+ sleep 10
4385+ done
4386+./01-deploy.sh
4387+sleep 60
4388+orange-box-configure-openstack
4389+sleep 60
4390+source ~/nova.rc
4391+until (glance image-list | grep Precise | grep active) ; do
4392+ sleep 10
4393+ done
4394+until (glance image-list | grep Trusty | grep active) ; do
4395+ sleep 10
4396+ done
4397+orange-box-launch-openstack-juju
4398+end=`date`
4399+
4400+echo "Deployment started: $start"
4401+echo "Deployment completed: $end"
4402+
4403
4404=== added file 'usr/lib/orange-box/examples/openstack/icehouse/precise/deploy-instances.sh'
4405--- usr/lib/orange-box/examples/openstack/icehouse/precise/deploy-instances.sh 1970-01-01 00:00:00 +0000
4406+++ usr/lib/orange-box/examples/openstack/icehouse/precise/deploy-instances.sh 2014-07-24 01:23:40 +0000
4407@@ -0,0 +1,40 @@
4408+#!/bin/bash
4409+
4410+#This script expects you to already have a nova.rc file in this directory.
4411+#your nova.rc can be created manually or downlaoded from horizon dashboard.
4412+#it should look like this:
4413+#export SERVICE_ENDPOINT=http://HOST:35357/v2.0/
4414+#export SERVICE_TOKEN=admin
4415+#export OS_AUTH_URL=http://HOST:35357/v2.0/
4416+#export OS_USERNAME=admin
4417+#export OS_PASSWORD=admin
4418+#export OS_TENANT_NAME=admin
4419+#export OS_REGION_NAME=RegionOne
4420+#Where HOST is your keystone host or IP address.
4421+
4422+set -e
4423+
4424+echo "This command is run to deploy any number of instance on a new Orange box Openstack deployment"
4425+
4426+source nova.rc
4427+
4428+#How many instances to start
4429+echo "How many machines should be deployed? (Default is 0, 0-48)"
4430+read -n 2 instances
4431+if [ "$instances" = "0" ] ; then
4432+ echo "You selected 0 instances to deploy, exiting!"
4433+ exit
4434+fi
4435+
4436+#Launch an instance
4437+NET_UUID="$(nova net-list | grep private | awk '{ print $2 }')"
4438+IMAGE_UUID="$(nova image-list | grep Trusty | awk '{ print $2 }')"
4439+for (( c=1; c<=$instances; c++ ))
4440+do
4441+ echo "Deploying test instance: $c"
4442+ nova boot --flavor 2 --key_name default --image $IMAGE_UUID --nic net-id=$NET_UUID --security_group default test-instance-$c
4443+done
4444+
4445+exit
4446+
4447+
4448
4449=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/precise/icehouseOB.yaml'
4450--- usr/lib/orange-box/examples/openstack/icehouse/precise/icehouseOB.yaml 2014-07-14 07:26:29 +0000
4451+++ usr/lib/orange-box/examples/openstack/icehouse/precise/icehouseOB.yaml 2014-07-24 01:23:40 +0000
4452@@ -4,7 +4,7 @@
4453 source: "cloud:precise-updates/icehouse"
4454 services:
4455 ceph:
4456- charm: "cs:precise/ceph"
4457+ charm: "cs:precise/ceph-26"
4458 num_units: 3
4459 constraints: tags=physical
4460 options:
4461@@ -12,107 +12,134 @@
4462 "monitor-secret": AQAAvoJSOAv/NRAAgvXP8d7iXN7lWYbvDZzm2Q==
4463 "osd-devices": "/srv"
4464 "osd-reformat": "yes"
4465- "ceph-radosgw":
4466- charm: "cs:precise/ceph-radosgw"
4467- num_units: 1
4468- constraints: tags=physical
4469+ annotations:
4470+ "gui-x": "2648.6688842773438"
4471+ "gui-y": "708.3873901367188"
4472 keystone:
4473- charm: "cs:precise/keystone"
4474+ charm: "cs:precise/keystone-37"
4475 num_units: 1
4476 constraints: tags=physical
4477 options:
4478 "admin-password": "admin"
4479 "admin-token": "admin"
4480 annotations:
4481- "gui-x": "1731.1756591796875"
4482- "gui-y": "59.8729248046875"
4483+ "gui-x": "2013.905517578125"
4484+ "gui-y": "75.58013916015625"
4485 "nova-compute":
4486- charm: "cs:precise/nova-compute"
4487+ charm: "cs:precise/nova-compute-31"
4488 num_units: 3
4489 to: [ceph=0, ceph=1, ceph=2]
4490 options:
4491 "flat-interface": eth0
4492 annotations:
4493- "gui-x": "1325.8563232421875"
4494- "gui-y": "-27.374825477600098"
4495+ "gui-x": "776.1040649414062"
4496+ "gui-y": "-81.22811031341553"
4497 "neutron-gateway":
4498- charm: "cs:precise/quantum-gateway"
4499+ charm: "cs:precise/quantum-gateway-21"
4500 num_units: 1
4501 constraints: tags=neutron
4502 options:
4503 ext-port: eth1
4504 instance-mtu: 1400
4505 annotations:
4506- "gui-x": "847.3951416015625"
4507- "gui-y": "432.41436767578125"
4508+ "gui-x": "329.0572509765625"
4509+ "gui-y": "46.4658203125"
4510 "nova-cloud-controller":
4511- charm: "cs:precise/nova-cloud-controller"
4512+ charm: "cs:precise/nova-cloud-controller-41"
4513 num_units: 1
4514 constraints: tags=physical
4515 options:
4516 "network-manager": Neutron
4517 annotations:
4518- "gui-x": "1401.865234375"
4519- "gui-y": "891.737548828125"
4520+ "gui-x": "1388.40185546875"
4521+ "gui-y": "-118.01156234741211"
4522 rabbitmq:
4523- charm: "cs:precise/rabbitmq-server"
4524+ charm: "cs:precise/rabbitmq-server-28"
4525 num_units: 1
4526- to: 0
4527+ to: mysql
4528 annotations:
4529- "gui-x": "2000.339111328125"
4530- "gui-y": "420.60723876953125"
4531+ "gui-x": "633.8120727539062"
4532+ "gui-y": "862.6530151367188"
4533 glance:
4534- charm: "cs:precise/glance"
4535+ charm: "cs:precise/glance-34"
4536 num_units: 1
4537 to: nova-cloud-controller
4538 annotations:
4539- "gui-x": "1008.2059936523438"
4540- "gui-y": "734.3492889404297"
4541+ "gui-x": "1147.3269653320312"
4542+ "gui-y": "1389.5643157958984"
4543 cinder:
4544- charm: "cs:precise/cinder"
4545+ charm: "cs:precise/cinder-26"
4546 num_units: 1
4547 to: nova-cloud-controller
4548 options:
4549 "block-device": none
4550 annotations:
4551- "gui-x": "980.4285888671875"
4552- "gui-y": "154.0172348022461"
4553+ "gui-x": "1752.32568359375"
4554+ "gui-y": "1365.716194152832"
4555 "ceph-radosgw":
4556- charm: "cs:precise/ceph-radosgw"
4557+ charm: "cs:precise/ceph-radosgw-12"
4558 num_units: 1
4559 to: nova-cloud-controller
4560+ annotations:
4561+ "gui-x": "2216.68212890625"
4562+ "gui-y": "697.16796875"
4563 cinder-ceph:
4564- charm: "cs:precise/cinder-ceph"
4565+ charm: "cs:precise/cinder-ceph-1"
4566+ num_units: 0
4567+ annotations:
4568+ "gui-x": "2257.5515747070312"
4569+ "gui-y": "1231.2130126953125"
4570 "openstack-dashboard":
4571- charm: "cs:precise/openstack-dashboard"
4572+ charm: "cs:precise/openstack-dashboard-20"
4573 num_units: 1
4574 to: "keystone"
4575+ options:
4576+ webroot: "/"
4577 annotations:
4578- "gui-x": "2023.8385009765625"
4579- "gui-y": "65.05170631408691"
4580+ "gui-x": "2353.6898193359375"
4581+ "gui-y": "-94.2642593383789"
4582 mysql:
4583- charm: "cs:precise/mysql"
4584+ charm: "cs:precise/mysql-46"
4585 num_units: 1
4586- to: 0
4587+ constraints: tags=physical
4588 options:
4589 "dataset-size": "20%"
4590 annotations:
4591- "gui-x": "1912.73876953125"
4592- "gui-y": "762.34814453125"
4593+ "gui-x": "364.4567565917969"
4594+ "gui-y": "1067.5167846679688"
4595 mongodb:
4596- charm: "cs:precise/mongodb"
4597+ charm: "cs:precise/mongodb-29"
4598 num_units: 1
4599 constraints: tags=physical
4600+ annotations:
4601+ "gui-x": "-70.0399979352951"
4602+ "gui-y": "1282.8224487304688"
4603 ceilometer:
4604- charm: "cs:precise/ceilometer"
4605+ charm: "cs:precise/ceilometer-20"
4606 num_units: 1
4607 to: mongodb
4608+ annotations:
4609+ "gui-x": "-78.13333225250244"
4610+ "gui-y": "919.3128051757812"
4611 ceilometer-agent:
4612- charm: "cs:precise/ceilometer-agent"
4613+ charm: "cs:precise/ceilometer-agent-18"
4614+ num_units: 0
4615+ annotations:
4616+ "gui-x": "-90.9158582687378"
4617+ "gui-y": "562.5347595214844"
4618 heat:
4619- charm: "cs:precise/heat"
4620+ charm: "cs:precise/heat-3"
4621 num_units: 1
4622 to: mongodb
4623+ annotations:
4624+ "gui-x": "494.94012451171875"
4625+ "gui-y": "1363.6024169921875"
4626+ ntp:
4627+ charm: "cs:precise/ntp-3"
4628+ num_units: 0
4629+ annotations:
4630+ "gui-x": "-104.57728099822998"
4631+ "gui-y": "294.6641273498535"
4632 relations:
4633 - - "keystone:shared-db"
4634 - "mysql:shared-db"
4635@@ -180,5 +207,33 @@
4636 - "ceph:radosgw"
4637 - - "ceph-radosgw:identity-service"
4638 - "keystone:identity-service"
4639+ - - "ntp:juju-info"
4640+ - "neutron-gateway:juju-info"
4641+ - - "ntp:juju-info"
4642+ - "ceph:juju-info"
4643+ - - "ntp:juju-info"
4644+ - "keystone:juju-info"
4645+ - - "ntp:juju-info"
4646+ - "nova-compute:juju-info"
4647+ - - "ntp:juju-info"
4648+ - "nova-cloud-controller:juju-info"
4649+ - - "ntp:juju-info"
4650+ - "rabbitmq:juju-info"
4651+ - - "ntp:juju-info"
4652+ - "glance:juju-info"
4653+ - - "ntp:juju-info"
4654+ - "cinder:juju-info"
4655+ - - "ntp:juju-info"
4656+ - "ceph-radosgw:juju-info"
4657+ - - "ntp:juju-info"
4658+ - "openstack-dashboard:juju-info"
4659+ - - "ntp:juju-info"
4660+ - "mysql:juju-info"
4661+ - - "ntp:juju-info"
4662+ - "mongodb:juju-info"
4663+ - - "ntp:juju-info"
4664+ - "ceilometer:juju-info"
4665+ - - "ntp:juju-info"
4666+ - "heat:juju-info"
4667 series: precise
4668
4669
4670=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/00-bootstrap.sh'
4671--- usr/lib/orange-box/examples/openstack/icehouse/trusty/00-bootstrap.sh 2014-07-14 07:26:29 +0000
4672+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/00-bootstrap.sh 1970-01-01 00:00:00 +0000
4673@@ -1,18 +0,0 @@
4674-#!/bin/bash
4675-#Canonical Micro-Cluster Demo Preparation
4676-echo "checking for existing Juju environment..."
4677-juju status && echo "Existing deployment found, exiting." && exit
4678-
4679-rm ~/.ssh/known_hosts
4680-
4681-juju env maas-trusty
4682-
4683-echo "Deploying Juju Bootstrap node to Virtual machine: juju.local using tags=juju"
4684-juju bootstrap --upload-tools=true --constraints "tags=bootstrap" --show-log --series=precise,trusty
4685-
4686-echo "unset constraints"
4687-juju set-constraints tags=""
4688-echo "Deploying Juju-gui to bootstrap node"
4689-juju deploy --to 0 juju-gui
4690-juju expose juju-gui
4691-
4692
4693=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/01-deploy.sh'
4694--- usr/lib/orange-box/examples/openstack/icehouse/trusty/01-deploy.sh 2014-07-14 07:26:29 +0000
4695+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/01-deploy.sh 2014-07-24 01:23:40 +0000
4696@@ -4,7 +4,7 @@
4697 set -ex
4698
4699 juju set-constraints tags=
4700-juju-deployer -e maas-trusty -c icehouseOB.yaml
4701+juju-deployer -c icehouseOB.yaml
4702
4703
4704 echo "Deployment finished"
4705
4706=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/02-configure-openstack.sh'
4707--- usr/lib/orange-box/examples/openstack/icehouse/trusty/02-configure-openstack.sh 2014-07-14 07:26:29 +0000
4708+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/02-configure-openstack.sh 1970-01-01 00:00:00 +0000
4709@@ -1,72 +0,0 @@
4710-#!/bin/bash
4711-
4712-set -e
4713-
4714-echo "This command is run to configure an Orange-Box Openstack deployment"
4715-
4716-### assume you ran this : sudo apt-get install python-keystone python-novaclient zile python-neutron python-glanceclient
4717-unset http_proxy
4718-unset https_proxy
4719-
4720-QUANTUM_EXT_NET_GW="10.14.4.1"
4721-QUANTUM_EXT_NET_CIDR="10.14.4.0/24"
4722-QUANTUM_EXT_NET_NAME="ext_net"
4723-QUANTUM_DNS="10.14.4.1"
4724-QUANTUM_FLOAT_RANGE_START="10.14.4.20"
4725-QUANTUM_FLOAT_RANGE_END="10.14.4.49"
4726-
4727-QUANTUM_FIXED_NET_CIDR="192.168.14.0/24"
4728-QUANTUM_FIXED_NET_NAME="admin_net"
4729-
4730-keystone=$(juju status keystone | grep public-address | head -1 | awk '{print $2}')
4731-
4732-echo "export SERVICE_ENDPOINT=http://$keystone:35357/v2.0/
4733-export SERVICE_TOKEN=admin
4734-export OS_AUTH_URL=http://$keystone:35357/v2.0/
4735-export OS_USERNAME=admin
4736-export OS_PASSWORD=admin
4737-export OS_TENANT_NAME=admin
4738-export OS_REGION_NAME=RegionOne
4739-" > nova.rc
4740-
4741-source nova.rc
4742-
4743-# Determine the tenant id for the configured tenant name.
4744-export TENANT_ID="$(keystone tenant-list | grep $OS_TENANT_NAME | awk '{ print $2 }')"
4745-
4746-#create ext network with neutron for floating IPs
4747-EXTERNAL_NETWORK_ID=$(neutron net-create ext_net --tenant-id $TENANT_ID -- --router:external=True | grep " id" | awk '{print $4}')
4748-neutron subnet-create ext_net $QUANTUM_EXT_NET_CIDR --name ext_net_subnet --tenant-id $TENANT_ID \
4749---allocation-pool start=$QUANTUM_FLOAT_RANGE_START,end=$QUANTUM_FLOAT_RANGE_END \
4750---gateway $QUANTUM_EXT_NET_GW --disable-dhcp --dns_nameservers $QUANTUM_DNS list=true
4751-
4752-#Create private network for neutron for tenant VMs
4753-neutron net-create private
4754-SUBNET_ID=$(neutron subnet-create private $QUANTUM_FIXED_NET_CIDR -- --name private_subnet --dns_nameservers list=true $QUANTUM_DNS | grep " id" | awk '{print $4}')
4755-
4756-#Create router for external network and private network
4757-ROUTER_ID=$(neutron router-create --tenant-id $TENANT_ID provider-router | grep " id" | awk '{print $4}')
4758-neutron router-interface-add $ROUTER_ID $SUBNET_ID
4759-neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID
4760-
4761-#Configure the default security group to allow ICMP and SSH
4762-nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
4763-nova secgroup-add-rule default tcp 22 22 0.0.0.0/0
4764-#for rdp
4765-nova secgroup-add-rule default tcp 3389 3389 0.0.0.0/0
4766-
4767-#Upload a default SSH key
4768-nova keypair-add --pub-key ~/.ssh/id_rsa.pub default
4769-
4770-#Remove the m1.tiny as it is too small for Ubuntu.
4771-nova flavor-delete m1.tiny
4772-
4773-#Upload images to glance
4774-glance add name="Precise x86_64" is_public=true container_format=ovf disk_format=qcow2 < /srv/data/precise-server-cloudimg-amd64-disk1.img
4775-glance add name="Trusty x86_64" is_public=true container_format=ovf disk_format=qcow2 < /srv/data/trusty-server-cloudimg-amd64-disk1.img
4776-glance add name="CentOS 6.4" is_public=true container_format=bare disk_format=qcow2 < /srv/data/centos6.4-x86_64-gold-master.img
4777-glance add name="Cirros 0.3" is_public=true container_format=bare disk_format=qcow2 < /srv/data/cirros-0.3.2-x86_64-disk.img
4778-glance add name="Windows Server 2012" is_public=true container_format=bare disk_format=qcow2 < /srv/data/windows_server_2012_r2_standard_eval_kvm_20131117.qcow2
4779-
4780-exit
4781-
4782
4783=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/04-deploy-jumpserver-and-juju.sh'
4784--- usr/lib/orange-box/examples/openstack/icehouse/trusty/04-deploy-jumpserver-and-juju.sh 2014-07-14 07:26:29 +0000
4785+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/04-deploy-jumpserver-and-juju.sh 1970-01-01 00:00:00 +0000
4786@@ -1,77 +0,0 @@
4787-#!/bin/bash
4788-
4789-set -ex
4790-
4791-echo "This command is run to launch the first instance on a new Orange box Openstack deployment"
4792-
4793-source nova.rc
4794-
4795-#Modify quotas for the tenant to allow large deployments
4796-TENANT=$(keystone tenant-list | grep $OS_TENANT_NAME | awk '{print $2}')
4797-nova quota-update --instances 50 $TENANT
4798-nova quota-update --cores 50 $TENANT
4799-nova quota-update --ram 102400 $TENANT
4800-nova quota-update --security-groups 50 $TENANT
4801-
4802-#Create a floating IP for the instance
4803-FLOAT_IP="$(nova floating-ip-create | grep ext_net | awk '{ print $2}')"
4804-
4805-#Launch an instance
4806-NET_UUID="$(nova net-list | grep private | awk '{ print $2 }')"
4807-IMAGE_UUID="$(nova image-list | grep Trusty | awk '{ print $2 }')"
4808-nova boot --flavor 2 --key_name default --image $IMAGE_UUID --nic net-id=$NET_UUID --security_group default jumpserver
4809-sleep 40
4810-
4811-#Associate the floating IP with the new instance
4812-nova floating-ip-associate jumpserver $FLOAT_IP
4813-sleep 10
4814-#SSH into the instance and install Juju
4815-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP sudo apt-get -y install juju-core juju-quickstart juju-deployer
4816-
4817-#Set up the Juju default environment
4818-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP juju init
4819-
4820-#Output a juju env file that works on this cloud
4821-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "echo 'default: openstack
4822-environments:
4823- openstack:
4824- type: openstack
4825- network: private
4826- auth-url: $OS_AUTH_URL
4827- tenant-name: $OS_TENANT_NAME
4828- region: $OS_REGION_NAME
4829- auth-mode: userpass
4830- username: $OS_USERNAME
4831- password: $OS_PASSWORD
4832- admin-secret: $OS_PASSWORD
4833- default-series: trusty
4834-' > ~/.juju/environments.yaml"
4835-
4836-#Create juju metadata
4837-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju-metadata generate-image -a amd64 -u $OS_AUTH_URL -i $IMAGE_UUID -r $OS_REGION_NAME -s trusty"
4838-
4839-IMAGE_UUID="$(nova image-list | grep Precise | awk '{ print $2 }')"
4840-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju-metadata generate-image -a amd64 -u $OS_AUTH_URL -i $IMAGE_UUID -r $OS_REGION_NAME -s precise"
4841-
4842-#Bootstrap Juju
4843-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju bootstrap --metadata-source=/home/ubuntu --upload-tools=true --series=precise,trusty"
4844-
4845-#Deploy juju-gui
4846-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "juju deploy --to 0 juju-gui && juju expose juju-gui"
4847-
4848-#Install the Orange-box-examples package
4849-ssh -o StrictHostKeyChecking=no ubuntu@$FLOAT_IP "sudo apt-add-repository ppa:orange-box-examples/ppa && sudo apt-get update && sudo apt-get install -y orange-box-examples"
4850-
4851-#Create a new floating IP and associate with juju bootstrap instance
4852-INSTANCE_ID="$(nova list | grep juju-openstack-machine-0 | awk '{ print $2}')"
4853-FLOAT_IP2="$(nova floating-ip-create | grep ext_net | awk '{ print $2}')"
4854-nova floating-ip-associate $INSTANCE_ID $FLOAT_IP2
4855-
4856-#Print the address of Juju-gui for deployments on Openstack
4857-echo "Now connect to the Juju-GUI at: http://$FLOAT_IP2/ to continue deployments on Openstack."
4858-echo "Pass: $OS_PASSWORD"
4859-
4860-echo "OR Log in to openstack Jumpserver to deploy from command line"
4861-echo "ssh ubuntu@$FLOAT_IP"
4862-exit
4863-
4864
4865=== removed file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/99-cleanup.sh'
4866--- usr/lib/orange-box/examples/openstack/icehouse/trusty/99-cleanup.sh 2014-07-14 07:26:29 +0000
4867+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/99-cleanup.sh 1970-01-01 00:00:00 +0000
4868@@ -1,11 +0,0 @@
4869-#!/bin/bash
4870-
4871-#Destroy everything
4872-juju destroy-environment maas-trusty
4873-echo "wait a bit for maas to do his job"
4874-sleep 45
4875-export AMT_PASSWORD=Password1+
4876-for i in $(seq 11 19); do
4877- yes | amttool 10.14.4.$i powerdown >/dev/null 2>&1
4878-done
4879-
4880
4881=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/README'
4882--- usr/lib/orange-box/examples/openstack/icehouse/trusty/README 2014-07-14 07:26:29 +0000
4883+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/README 2014-07-24 01:23:40 +0000
4884@@ -1,10 +1,20 @@
4885 This demo will deploy Icehouse on 14.04
4886 By the end of the demo you will have a working Openstack,
4887 plus a working Openstack Juju environment and GUI to deploy further workloads to.
4888+
4889 Just run each script in order:
4890-00-bootstrap.sh - This will boostrap Juju on the MAAS provider
4891-01-deploy.sh - This will deploy Openstack on the Orange Box.
4892-02-configure-openstack.sh - This will configure openstack ready to launch instances
4893-03-deploy-jumpserver-and-juju.sh - This will deploy a Jumpserver with a public IP for SSH access into the tenant private network, install Juju and create an Openstack Juju environment, bootstrap and launch the GUI and print the public IP of the GUI.
4894-99-cleanup.sh - This will destroy the Juju environment on the MAAS provider and make sure all NUC nodes are shut down.
4895+./01-deploy.sh - This will deploy Openstack on the Orange Box.
4896+orange-box-configure-openstack - This will configure openstack ready to launch instances
4897+
4898+orange-box-launch-openstack-juju - This will deploy a Jumpserver with a public IP for SSH access into the tenant private network, install Juju and create an Openstack Juju environment, bootstrap and launch the GUI and print the public IP of the GUI.
4899+
4900+OPTIONAL:
4901+./deploy-instances.sh - This will deploy a number of instances to show the cloud working.
4902+
4903+
4904+automated deployment
4905+For testing purposes or an unattended deployment, you can use the script:
4906+./automated-deployment.sh
4907+which will run the deployment scripts from bootstrap to deploying the jumpserver and juju-gui.
4908+This takes about 30 minutes.
4909
4910
4911=== added file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/automated-deploy.sh'
4912--- usr/lib/orange-box/examples/openstack/icehouse/trusty/automated-deploy.sh 1970-01-01 00:00:00 +0000
4913+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/automated-deploy.sh 2014-07-24 01:23:40 +0000
4914@@ -0,0 +1,26 @@
4915+#!/bin/bash
4916+#Canonical Micro-Cluster auto-deployment bootstrap to tenant juju-gui
4917+set -e #-x for debugging output
4918+
4919+start=`date`
4920+orange-box-bootstrap-juju trusty
4921+until (juju pprint | grep juju-gui | grep started) ; do
4922+ sleep 10
4923+ done
4924+./01-deploy.sh
4925+sleep 60
4926+orange-box-configure-openstack
4927+sleep 60
4928+source ~/nova.rc
4929+until (glance image-list | grep Precise | grep active) ; do
4930+ sleep 10
4931+ done
4932+until (glance image-list | grep Trusty | grep active) ; do
4933+ sleep 10
4934+ done
4935+orange-box-launch-openstack-juju
4936+end=`date`
4937+
4938+echo "Deployment started: $start"
4939+echo "Deployment completed: $end"
4940+
4941
4942=== added file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/deploy-instances.sh'
4943--- usr/lib/orange-box/examples/openstack/icehouse/trusty/deploy-instances.sh 1970-01-01 00:00:00 +0000
4944+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/deploy-instances.sh 2014-07-24 01:23:40 +0000
4945@@ -0,0 +1,40 @@
4946+#!/bin/bash
4947+
4948+#This script expects you to already have a nova.rc file in this directory.
4949+#your nova.rc can be created manually or downlaoded from horizon dashboard.
4950+#it should look like this:
4951+#export SERVICE_ENDPOINT=http://HOST:35357/v2.0/
4952+#export SERVICE_TOKEN=admin
4953+#export OS_AUTH_URL=http://HOST:35357/v2.0/
4954+#export OS_USERNAME=admin
4955+#export OS_PASSWORD=admin
4956+#export OS_TENANT_NAME=admin
4957+#export OS_REGION_NAME=RegionOne
4958+#Where HOST is your keystone host or IP address.
4959+
4960+set -e
4961+
4962+echo "This command is run to deploy any number of instance on a new Orange box Openstack deployment"
4963+
4964+source nova.rc
4965+
4966+#How many instances to start
4967+echo "How many machines should be deployed?"
4968+read -n 2 instances
4969+if [ "$instances" = "0" ] ; then
4970+ echo "You selected 0 instances to deploy, exiting!"
4971+ exit
4972+fi
4973+
4974+#Launch an instance
4975+NET_UUID="$(nova net-list | grep private | awk '{ print $2 }')"
4976+IMAGE_UUID="$(nova image-list | grep Trusty | awk '{ print $2 }')"
4977+for (( c=1; c<=$instances; c++ ))
4978+do
4979+ echo "Deploying test instance: $c"
4980+ nova boot --flavor 2 --key_name default --image $IMAGE_UUID --nic net-id=$NET_UUID --security_group default test-instance-$c
4981+done
4982+
4983+exit
4984+
4985+
4986
4987=== modified file 'usr/lib/orange-box/examples/openstack/icehouse/trusty/icehouseOB.yaml'
4988--- usr/lib/orange-box/examples/openstack/icehouse/trusty/icehouseOB.yaml 2014-07-14 07:26:29 +0000
4989+++ usr/lib/orange-box/examples/openstack/icehouse/trusty/icehouseOB.yaml 2014-07-24 01:23:40 +0000
4990@@ -1,10 +1,10 @@
4991 icehouse:
4992 overrides:
4993- openstack-origin: distro
4994- source: distro
4995+ openstack-origin: "cloud:trusty-icehouse"
4996+ source: "distro"
4997 services:
4998 ceph:
4999- charm: "cs:trusty/ceph"
5000+ charm: "cs:trusty/ceph-27"
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches