Merge lp:~dweaver/orange-box-examples/orange-box-examples into lp:~kirkland/orange-box-examples/trunk
- orange-box-examples
- Merge into trunk
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Dustin Kirkland | Pending | ||
Review via email: mp+227654@code.launchpad.net |
Commit message
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.
- 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/03configur e-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
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" |