~jujudocs/clouddocs/trunk

« back to all changes in this revision

Viewing changes to Install/Installing-OpenStack.md

  • Committer: Nick Veitch
  • Date: 2014-04-30 18:40:40 UTC
  • Revision ID: nick.veitch@canonical.com-20140430184040-ft71p6mi800yqlu4
added offline capabilities

Show diffs side-by-side

added added

removed removed

Lines of Context:
478
478
Now we should be able to ssh the VM test-server1 from a server with the private
479
479
key we created above and see that vdb appears in /proc/partitions
480
480
 
 
481
##APPENDIX I - Economic Deployment
 
482
 
 
483
Although the above installation has indicated the ideal case for installing 
 
484
OpenStack, there are often reasons for making more economic use of hardware at 
 
485
the expense of robustness and failover capabilities. MAAS and Juju have several 
 
486
capabilities to make this easier.
 
487
 
 
488
#### Deploying to specific nodes
 
489
 
 
490
It may be the case that your hardware is not identical. Some nodes may have more 
 
491
compute power, some may have the additional NICs to run services which require 
 
492
them and so on.
 
493
 
 
494
In this case it is possible to target services to be deployed on a certain type
 
495
of node. This requires that the nodes be [tagged in MAAS][MAAS_tags] beforehand. 
 
496
The services can then be deployed specifically to that type of node using a Juju
 
497
feature called 'constraints'. For example, if you had a number of nodes which 
 
498
were tagged 'compute', you could use constraints to tell Juju to only deploy 
 
499
a service to a node with that tag:
 
500
 
 
501
```
 
502
juju deploy --constraints "tags=compute" nova-compute -n 2
 
503
```
 
504
 
 
505
#### Deploying multiple services to a single node
 
506
 
 
507
Juju can deploy multiple services to the same physical node by use of the '--to'
 
508
option. This can be useful for combining many services with light requirements 
 
509
onto the same physical node.
 
510
This only requires that you know the machine number of the node you wish to
 
511
deploy to (as returned by the `juju status` command). For example, assume we
 
512
have already deployed `nova compute`:
 
513
 
 
514
```
 
515
juju deploy nova-cloud-controller
 
516
```
 
517
 
 
518
Now we run a `juju status` command and find amongst the output:
 
519
 
 
520
```
 
521
  nova-cloud-controller:
 
522
    charm: cs:trusty/nova-cloud-controller-36
 
523
    exposed: false
 
524
    relations:
 
525
      cluster:
 
526
      - nova-cloud-controller
 
527
    units:
 
528
      nova-cloud-controller/0:
 
529
        agent-state: pending
 
530
        machine: "3"
 
531
 
 
532
```
 
533
 
 
534
...which indicates that machine "3" has been used for the deployment. We could 
 
535
then deploy other services to the same node like this:
 
536
 
 
537
```
 
538
juju deploy --to 3 openstack-dashboard
 
539
juju deploy --to 3 glance 
 
540
```
 
541
 
 
542
It is also possible to containerise these deployments with LXC, to provide a more robust separation of services: 
 
543
 
 
544
```
 
545
juju deploy --to lxc:3 cinder
 
546
```
 
547
 
 
548
#### Example - an OpenStack control node
 
549
 
 
550
An example OpenStack control node could be a machine running the following
 
551
services:
 
552
 
 
553
- Nova Cloud Controller
 
554
- Cinder API
 
555
- Glance API 
 
556
- Keystone
 
557
- OpenStack Dashboard
 
558
- Ceph RADOS Gateway
 
559
 
 
560
The recommended specs for the this node would be:
 
561
 
 
562
| Node Attribute       | Specification                     |
 
563
|----------------------|-----------------------------------|
 
564
| Number of CPUs       | 4                                 |
 
565
| Memory               | 16 GB                             |
 
566
| Number of  NIC ports | 2 (PCE Management and VM Network) |
 
567
| Disk                 | 20 GB                             |
 
568
 
481
569
 
482
570
 
483
571
[oog]: http://docs.openstack.org/ops/